UNPKG

pretty-lights

Version:
30 lines (24 loc) 1.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.replaceClassNames = void 0; function defaultClassNameReplacer(className, index) { return "lights-".concat(index); } var componentSelectorClassNamePattern = /^e[a-zA-Z0-9]+[0-9]+$/; // eslint-disable-next-line import/prefer-default-export var replaceClassNames = function replaceClassNames(classNames, styles, code, keys) { var classNameReplacer = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : defaultClassNameReplacer; var index = 0; var keyPattern = new RegExp("^(".concat(keys.join('|'), ")-")); return classNames.reduce(function (acc, className) { if (keyPattern.test(className) || componentSelectorClassNamePattern.test(className)) { var escapedRegex = new RegExp(className.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'), 'g'); var returnVal = acc.replace(escapedRegex, classNameReplacer(className, index)); index += 1; return returnVal; } return acc; }, "".concat(styles).concat(styles ? '\n\n' : '').concat(code)); }; exports.replaceClassNames = replaceClassNames;