{"version":3,"file":"npm.jss-plugin-nested.js","mappings":"4QAGIA,gBAAkB,WAClBC,aAAe,KACfC,UAAY,cA2GhB,sBAnGA,SAASC,YAEP,SAASC,cAAcC,UAAWC,OAChC,OAAO,SAAUC,MAAOC,KACtB,IAAIC,KAAOJ,UAAUK,QAAQF,MAAQF,OAASA,MAAMI,QAAQF,KAE5D,OAAIC,MACFA,KAAOA,MACKE,SAIPH,KAIX,SAASI,kBAAkBC,WAAYC,YAKrC,IAJA,IAAIC,gBAAkBD,WAAWE,MAAMhB,iBACnCiB,gBAAkBJ,WAAWG,MAAMhB,iBACnCkB,OAAS,GAEJC,EAAI,EAAGA,EAAIJ,gBAAgBK,OAAQD,IAG1C,IAFA,IAAIE,OAASN,gBAAgBI,GAEpBG,EAAI,EAAGA,EAAIL,gBAAgBG,OAAQE,IAAK,CAC/C,IAAIC,OAASN,gBAAgBK,GACzBJ,SAAQA,QAAU,MAEtBA,SAAmC,IAAzBK,OAAOC,QAAQ,KAAcD,OAAOE,QAAQxB,aAAcoB,QAAUA,OAAS,IAAME,OAIjG,OAAOL,OAGT,SAASQ,WAAWjB,KAAMJ,UAAWsB,aAEnC,GAAIA,YAAa,OAAO,qEAAS,GAAIA,YAAa,CAChDC,MAAOD,YAAYC,MAAQ,IAG7B,IAAIC,aAAepB,KAAKqB,QAAQD,aAChCA,aAAeA,eAAiBE,UAAY,EAAIF,aAAe,EAE/D,IAAIC,SAAU,qEAAS,GAAIrB,KAAKqB,QAAS,CACvCD,aAAcA,aACdD,MAAOvB,UAAUmB,QAAQf,MAAQ,IAKnC,cADOqB,QAAQE,KACRF,QA2CT,MAAO,CACLG,eAzCF,SAASA,eAAeC,MAAOzB,KAAMH,OACnC,GAAkB,UAAdG,KAAK0B,KAAkB,OAAOD,MAClC,IAEIJ,QACAM,WAHAC,UAAY5B,KACZJ,UAAYgC,UAAUP,QAAQT,OAIlC,IAAK,IAAIiB,QAAQJ,MAAO,CACtB,IAAIK,UAAkC,IAAvBD,KAAKd,QAAQ,KACxBgB,oBAAkC,MAAZF,KAAK,GAC/B,GAAKC,UAAaC,oBAAlB,CAGA,GAFAV,QAAUJ,WAAWW,UAAWhC,UAAWyB,SAEvCS,SAAU,CACZ,IAAI5B,SAAWC,kBAAkB0B,KAAMD,UAAU1B,UAG5CyB,aAAYA,WAAahC,cAAcC,UAAWC,QAEvDK,SAAWA,SAASc,QAAQvB,UAAWkC,YACvC/B,UAAUoC,QAAQ9B,SAAUuB,MAAMI,OAAO,qEAAS,GAAIR,QAAS,CAC7DnB,SAAUA,iBAEH6B,qBAETnC,UAAUoC,QAAQH,KAAM,GAAIR,SAI3BW,QAAQJ,UAAU7B,IAAK0B,MAAMI,MAAO,CACnC3B,SAAU0B,UAAU1B,kBAIjBuB,MAAMI,OAGf,OAAOJ","sources":["webpack://giveeasy.cloud/./node_modules/jss-plugin-nested/dist/jss-plugin-nested.esm.js"],"sourcesContent":["import _extends from '@babel/runtime/helpers/esm/extends';\nimport warning from 'tiny-warning';\n\nvar separatorRegExp = /\\s*,\\s*/g;\nvar parentRegExp = /&/g;\nvar refRegExp = /\\$([\\w-]+)/g;\n/**\n * Convert nested rules to separate, remove them from original styles.\n *\n * @param {Rule} rule\n * @api public\n */\n\nfunction jssNested() {\n // Get a function to be used for $ref replacement.\n function getReplaceRef(container, sheet) {\n return function (match, key) {\n var rule = container.getRule(key) || sheet && sheet.getRule(key);\n\n if (rule) {\n rule = rule;\n return rule.selector;\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Could not find the referenced rule \\\"\" + key + \"\\\" in \\\"\" + (container.options.meta || container.toString()) + \"\\\".\") : void 0;\n return key;\n };\n }\n\n function replaceParentRefs(nestedProp, parentProp) {\n var parentSelectors = parentProp.split(separatorRegExp);\n var nestedSelectors = nestedProp.split(separatorRegExp);\n var result = '';\n\n for (var i = 0; i < parentSelectors.length; i++) {\n var parent = parentSelectors[i];\n\n for (var j = 0; j < nestedSelectors.length; j++) {\n var nested = nestedSelectors[j];\n if (result) result += ', '; // Replace all & by the parent or prefix & with the parent.\n\n result += nested.indexOf('&') !== -1 ? nested.replace(parentRegExp, parent) : parent + \" \" + nested;\n }\n }\n\n return result;\n }\n\n function getOptions(rule, container, prevOptions) {\n // Options has been already created, now we only increase index.\n if (prevOptions) return _extends({}, prevOptions, {\n index: prevOptions.index + 1 // $FlowFixMe[prop-missing]\n\n });\n var nestingLevel = rule.options.nestingLevel;\n nestingLevel = nestingLevel === undefined ? 1 : nestingLevel + 1;\n\n var options = _extends({}, rule.options, {\n nestingLevel: nestingLevel,\n index: container.indexOf(rule) + 1 // We don't need the parent name to be set options for chlid.\n\n });\n\n delete options.name;\n return options;\n }\n\n function onProcessStyle(style, rule, sheet) {\n if (rule.type !== 'style') return style;\n var styleRule = rule;\n var container = styleRule.options.parent;\n var options;\n var replaceRef;\n\n for (var prop in style) {\n var isNested = prop.indexOf('&') !== -1;\n var isNestedConditional = prop[0] === '@';\n if (!isNested && !isNestedConditional) continue;\n options = getOptions(styleRule, container, options);\n\n if (isNested) {\n var selector = replaceParentRefs(prop, styleRule.selector); // Lazily create the ref replacer function just once for\n // all nested rules within the sheet.\n\n if (!replaceRef) replaceRef = getReplaceRef(container, sheet); // Replace all $refs.\n\n selector = selector.replace(refRegExp, replaceRef);\n container.addRule(selector, style[prop], _extends({}, options, {\n selector: selector\n }));\n } else if (isNestedConditional) {\n // Place conditional right after the parent rule to ensure right ordering.\n container.addRule(prop, {}, options) // Flow expects more options but they aren't required\n // And flow doesn't know this will always be a StyleRule which has the addRule method\n // $FlowFixMe[incompatible-use]\n // $FlowFixMe[prop-missing]\n .addRule(styleRule.key, style[prop], {\n selector: styleRule.selector\n });\n }\n\n delete style[prop];\n }\n\n return style;\n }\n\n return {\n onProcessStyle: onProcessStyle\n };\n}\n\nexport default jssNested;\n"],"names":["separatorRegExp","parentRegExp","refRegExp","jssNested","getReplaceRef","container","sheet","match","key","rule","getRule","selector","replaceParentRefs","nestedProp","parentProp","parentSelectors","split","nestedSelectors","result","i","length","parent","j","nested","indexOf","replace","getOptions","prevOptions","index","nestingLevel","options","undefined","name","onProcessStyle","style","type","replaceRef","styleRule","prop","isNested","isNestedConditional","addRule"],"sourceRoot":""}