UNPKG

tpa-style-webpack-plugin

Version:

A Webpack plugin that handles wix tpa styles, it separates static css file that injects dynamic style at runtime.

59 lines 2.64 kB
var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; import { generateTPAParams } from './generateTPAParams'; import { getProcessor } from './processor'; import { cssFunctions } from './cssFunctions'; import { Plugins } from './plugins'; function escapeRegExp(str) { return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&'); } var plugins = new Plugins(); Object.keys(cssFunctions).forEach(function (funcName) { return plugins.addCssFunction(funcName, cssFunctions[funcName]); }); var defaultOptions = { isRTL: false, strictMode: true, }; export function getProcessedCssWithConfig(processedCssConfig, _a, options) { var siteColors = _a.siteColors, siteTextPresets = _a.siteTextPresets, styleParams = _a.styleParams; options = __assign(__assign({}, defaultOptions), (options || {})); if (!processedCssConfig.css) { return ''; } var prefixedCss = processedCssConfig.css.replace(new RegExp(processedCssConfig.compilationHash, 'g'), options.prefixSelector ? "" + options.prefixSelector : ''); var tpaParams = generateTPAParams(siteColors, siteTextPresets, styleParams, options); var processor = getProcessor({ cssVars: processedCssConfig.cssVars, plugins: plugins }); return processedCssConfig.customSyntaxStrs.reduce(function (processedContent, part) { var newValue; try { newValue = processor.process({ part: part, tpaParams: tpaParams }); } catch (e) { if (options.strictMode) { throw e; } else { newValue = ''; } } return processedContent.replace(new RegExp(escapeRegExp(part), 'g'), newValue); }, prefixedCss); } export function getStaticCssWithConfig(staticCssConfig, _a) { var prefixSelector = (_a === void 0 ? { prefixSelector: '' } : _a).prefixSelector; var prefixedCss = (staticCssConfig.staticCss || '').replace(new RegExp(staticCssConfig.compilationHash, 'g'), prefixSelector); return prefixedCss; } export function getBuildTimeStaticCss(staticCssConfig) { var prefixedCss = (staticCssConfig.staticCss || '').replace(new RegExp(staticCssConfig.compilationHash, 'g'), ''); return { css: prefixedCss, hash: staticCssConfig.staticCssHash }; } //# sourceMappingURL=standalone.js.map