UNPKG

babel-plugin-transform-jsx-stylesheet

Version:

Transform stylesheet selector to style in JSX Elements.

21 lines 3.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getStyleFunctionString = exports.getClassNameFunctionString = exports.mergeStylesFunctionString = exports.setStyleSheetName = exports.cssSuffixs = exports.NAME_SUFFIX = exports.GET_CLS_NAME_FUNC_NAME = exports.MERGE_STYLES_FUNC_NAME = exports.GET_STYLE_FUNC_NAME = exports.styleSheetName = void 0; // Maybe modified. exports.styleSheetName = '_styleSheet'; exports.GET_STYLE_FUNC_NAME = '_getStyle'; exports.MERGE_STYLES_FUNC_NAME = '_mergeStyles'; exports.GET_CLS_NAME_FUNC_NAME = '_getClassName'; exports.NAME_SUFFIX = 'StyleSheet'; exports.cssSuffixs = ['.css', '.scss', '.sass', '.less', '.styl']; function setStyleSheetName(name) { exports.styleSheetName = name; } exports.setStyleSheetName = setStyleSheetName; var mergeStylesFunctionString = function () { return "function ".concat(exports.MERGE_STYLES_FUNC_NAME, "() {\n var newTarget = {};\n\n for (var index = 0; index < arguments.length; index++) {\n var target = arguments[index];\n\n for (var key in target) {\n newTarget[key] = Object.assign(newTarget[key] || {}, target[key]);\n }\n }\n\n return newTarget;\n}"); }; exports.mergeStylesFunctionString = mergeStylesFunctionString; var getClassNameFunctionString = function () { return "function ".concat(exports.GET_CLS_NAME_FUNC_NAME, "() {\n var className = [];\n var args = arguments[0];\n var type = Object.prototype.toString.call(args).slice(8, -1).toLowerCase();\n\n if (type === 'string') {\n args = args.trim();\n args && className.push(args);\n } else if (type === 'array') {\n args.forEach(function (cls) {\n cls = ").concat(exports.GET_CLS_NAME_FUNC_NAME, "(cls).trim();\n cls && className.push(cls);\n });\n } else if (type === 'object') {\n for (var k in args) {\n k = k.trim();\n\n if (k && args.hasOwnProperty(k) && args[k]) {\n className.push(k);\n }\n }\n }\n\n return className.join(' ').trim();\n}"); }; exports.getClassNameFunctionString = getClassNameFunctionString; var getStyleFunctionString = function () { return "function ".concat(exports.GET_STYLE_FUNC_NAME, "(classNameExpression) {\n var cache = ").concat(exports.styleSheetName, ".__cache || (").concat(exports.styleSheetName, ".__cache = {});\n\n var className = ").concat(exports.GET_CLS_NAME_FUNC_NAME, "(classNameExpression);\n\n var classNameArr = className.split(/\\s+/);\n var style = cache[className];\n\n if (!style) {\n style = {};\n\n if (classNameArr.length === 1) {\n style = ").concat(exports.styleSheetName, "[classNameArr[0].trim()];\n } else {\n classNameArr.forEach(function (cls) {\n var value = ").concat(exports.styleSheetName, "[cls.trim()];\n\n if (typeof value === 'object') {\n style = Object.assign(style, ").concat(exports.styleSheetName, "[cls.trim()]);\n }\n });\n }\n\n cache[className] = style;\n }\n\n return style;\n}"); }; exports.getStyleFunctionString = getStyleFunctionString; //# sourceMappingURL=constants.js.map