# blockenberg/2.0.11/blocks/icon-list/frontend.js

Blockenberg — 600+ Advanced Gutenberg Blocks &amp; AI Agent for WordPress Block Editor, version 2.0.11. 157 lines.

- Page: https://pluginprobe.com/plugins/blockenberg/2.0.11/code/blocks/icon-list/frontend.js
- Raw: https://pluginprobe.com/plugins/blockenberg/2.0.11/raw/blocks/icon-list/frontend.js
- Modified: 2026-07-22T02:13:48+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/blockenberg/2.0.11/code/blocks/icon-list/frontend.js#L10-L20`.

```javascript
wp.domReady(function () {
    var typoMap = [
        ['family','font-family'],['weight','font-weight'],['style','font-style'],
        ['decoration','text-decoration'],['transform','text-transform'],
        ['sizeDesktop','font-size-d'],['sizeTablet','font-size-t'],['sizeMobile','font-size-m'],
        ['lineHeightDesktop','line-height-d'],['lineHeightTablet','line-height-t'],['lineHeightMobile','line-height-m'],
        ['letterSpacingDesktop','letter-spacing-d'],['letterSpacingTablet','letter-spacing-t'],['letterSpacingMobile','letter-spacing-m'],
        ['wordSpacingDesktop','word-spacing-d'],['wordSpacingTablet','word-spacing-t'],['wordSpacingMobile','word-spacing-m']
    ];
    function typoCssVarsForEl(typo, prefix, el) {
        if (!typo || typeof typo !== 'object') return;
        for (var i = 0; i < typoMap.length; i++) {
            var v = typo[typoMap[i][0]];
            if (v !== undefined && v !== '' && v !== null) el.style.setProperty(prefix + typoMap[i][1], String(v));
        }
    }

    document.querySelectorAll('.bkbg-icon-list-app').forEach(function (app) {
        var opts = {};
        try { opts = JSON.parse(app.getAttribute('data-opts') || '{}'); } catch (e) {}

        var bgColor      = opts.bgColor      || '#ffffff';
        var itemBg       = opts.itemBg       || '#f9fafb';
        var borderColor  = opts.borderColor  || '#e5e7eb';
        var headingColor = opts.headingColor || '#111827';
        var subtextColor = opts.subtextColor || '#6b7280';
        var titleColor   = opts.titleColor   || '#111827';
        var descColor    = opts.descColor    || '#6b7280';
        var iconColor    = opts.iconColor    || '#7c3aed';
        var badgeBg      = opts.badgeBg      || '#ede9fe';
        var badgeColor   = opts.badgeColor   || '#7c3aed';
        var dividerColor = opts.dividerColor || '#e5e7eb';
        var layout       = opts.layout       || 'list';
        var columns      = opts.columns      || 2;
        var itemStyle    = opts.itemStyle    || 'boxed';
        var showBadge    = opts.showBadge !== false;
        var showDesc     = opts.showDesc  !== false;
        var showDivider  = opts.showDivider === true;
        var gap          = opts.gap          !== undefined ? opts.gap : 16;
        var radius       = (opts.borderRadius !== undefined ? opts.borderRadius : 10) + 'px';
        var items        = Array.isArray(opts.items) ? opts.items : [];

        var wrap = document.createElement('div');
        wrap.className = 'bkbg-il-wrap';
        wrap.style.background    = bgColor;
        wrap.style.paddingTop    = (opts.paddingTop    || 64) + 'px';
        wrap.style.paddingBottom = (opts.paddingBottom || 64) + 'px';
        wrap.style.setProperty('--bkbg-il-heading-sz', (opts.headingSize || 32) + 'px');
        wrap.style.setProperty('--bkbg-il-title-sz', (opts.titleSize || 17) + 'px');
        wrap.style.setProperty('--bkbg-il-desc-sz', (opts.descSize || 14) + 'px');
        typoCssVarsForEl(opts.headingTypo, '--bkbg-il-hd-', wrap);
        typoCssVarsForEl(opts.titleTypo, '--bkbg-il-tt-', wrap);
        typoCssVarsForEl(opts.descTypo, '--bkbg-il-ds-', wrap);

        var inner = document.createElement('div');
        inner.className = 'bkbg-il-inner';
        inner.style.maxWidth = (opts.maxWidth || 900) + 'px';

        if (opts.showHeading && opts.heading) {
            var h = document.createElement('h2');
            h.className = 'bkbg-il-heading';
            h.style.color = headingColor;
            h.innerHTML = opts.heading;
            inner.appendChild(h);
        }

        if (opts.showSubtext && opts.subtext) {
            var sub = document.createElement('p');
            sub.className = 'bkbg-il-subtext';
            sub.style.fontSize = '16px';
            sub.style.color = subtextColor;
            sub.innerHTML = opts.subtext;
            inner.appendChild(sub);
        }

        var list = document.createElement('div');
        list.className = layout === 'grid' ? 'bkbg-il-grid' : 'bkbg-il-list';
        list.style.gap = gap + 'px';
        if (layout === 'grid') {
            list.style.gridTemplateColumns = 'repeat(' + columns + ', 1fr)';
        }

        items.forEach(function (item, i) {
            var div = document.createElement('div');
            div.className = 'bkbg-il-item bkbg-il-item--' + itemStyle;
            div.style.gap = '14px';

            if (itemStyle === 'boxed') {
                div.style.padding     = '16px 20px';
                div.style.background  = itemBg;
                div.style.border      = '1px solid ' + borderColor;
                div.style.borderRadius = radius;
            } else if (itemStyle === 'bordered') {
                div.style.padding     = '16px 20px';
                div.style.border      = '1px solid ' + borderColor;
                div.style.borderRadius = radius;
            } else {
                div.style.padding = '8px 0';
                if (showDivider && layout !== 'grid' && i < items.length - 1) {
                    div.style.borderBottom = '1px solid ' + dividerColor;
                    div.style.paddingBottom = '16px';
                }
            }

            var iconEl = document.createElement('span');
            iconEl.className = 'bkbg-il-icon';
            iconEl.style.fontSize = (opts.iconSize || 28) + 'px';
            iconEl.style.color    = item.iconColor || iconColor;
            var _IP = window.bkbgIconPicker;
            var _iType = item.iconType || 'custom-char';
            if (_IP && _iType !== 'custom-char') {
                var _in = _IP.buildFrontendIcon(_iType, item.icon, item.iconDashicon, item.iconImageUrl, item.iconDashiconColor);
                if (_in) iconEl.appendChild(_in); else iconEl.textContent = item.icon || '•';
            } else { iconEl.textContent = item.icon || '•'; }
            div.appendChild(iconEl);

            var body = document.createElement('div');
            body.className = 'bkbg-il-body';

            var top = document.createElement('div');
            top.className = 'bkbg-il-top';

            var title = document.createElement('span');
            title.className = 'bkbg-il-title';
            title.style.color    = titleColor;
            title.innerHTML = item.title || '';
            top.appendChild(title);

            if (showBadge && item.badge) {
                var badge = document.createElement('span');
                badge.className = 'bkbg-il-badge';
                badge.style.background = badgeBg;
                badge.style.color      = badgeColor;
                badge.textContent = item.badge;
                top.appendChild(badge);
            }

            body.appendChild(top);

            if (showDesc && item.description) {
                var desc = document.createElement('p');
                desc.className = 'bkbg-il-desc';
                desc.style.color    = descColor;
                desc.innerHTML = item.description;
                body.appendChild(desc);
            }

            div.appendChild(body);
            list.appendChild(div);
        });

        inner.appendChild(list);
        wrap.appendChild(inner);
        app.parentNode.replaceChild(wrap, app);
    });
});

```
