|
- import './icon-grid.scss';
- import {createElement} from "../../_global/scripts/helpers";
-
- export const extractGlyphClassNames = (scssSource, prefix) => {
- const pattern = new RegExp(`\\.(${prefix}-[a-zA-Z0-9_-]+):before`, 'g');
- const names = [];
- const seen = new Set();
- let match;
- while ((match = pattern.exec(scssSource)) !== null) {
- if (!seen.has(match[1])) {
- seen.add(match[1]);
- names.push(match[1]);
- }
- }
- return names;
- };
-
- export const createIconGrid = ({classNames = [], variant = 'pictograms'} = {}) => {
- const grid = createElement('div', ['icon-grid', `icon-grid--${variant}`]);
-
- classNames.forEach((className) => {
- const item = createElement('div', ['icon-grid__item'], null, grid);
- createElement('span', ['icon-grid__glyph', className], null, item);
- createElement('code', ['icon-grid__label'], className, item);
- });
-
- return grid;
- };
|