{"version":3,"sources":["webpack:///./node_modules/jss-plugin-global/dist/jss-plugin-global.esm.js"],"names":["at","GlobalContainerRule","key","styles","options","selector","this","type","rules","isProcessed","parent","add","process","_proto","prototype","getRule","name","get","addRule","style","rule","jss","plugins","onProcessRule","indexOf","toString","GlobalPrefixedRule","substr","length","createRule","separatorRegExp","addScope","scope","parts","split","scoped","i","trim","onCreateRule","sheet","handleNestedGlobalContainerRule","prop","handlePrefixedGlobalRule"],"mappings":"2FAAA,mBAGIA,EAAK,UAGLC,EAEJ,WACE,SAASA,EAAoBC,EAAKC,EAAQC,GAaxC,IAAK,IAAIC,KAZTC,KAAKC,KAAO,SACZD,KAAKN,GAAKA,EACVM,KAAKE,WAAQ,EACbF,KAAKF,aAAU,EACfE,KAAKJ,SAAM,EACXI,KAAKG,aAAc,EACnBH,KAAKJ,IAAMA,EACXI,KAAKF,QAAUA,EACfE,KAAKE,MAAQ,IAAI,IAAS,YAAS,GAAIJ,EAAS,CAC9CM,OAAQJ,QAGWH,EACnBG,KAAKE,MAAMG,IAAIN,EAAUF,EAAOE,IAGlCC,KAAKE,MAAMI,UAOb,IAAIC,EAASZ,EAAoBa,UAgCjC,OA9BAD,EAAOE,QAAU,SAAiBC,GAChC,OAAOV,KAAKE,MAAMS,IAAID,IAOxBH,EAAOK,QAAU,SAAiBF,EAAMG,EAAOf,GAC7C,IAAIgB,EAAOd,KAAKE,MAAMG,IAAIK,EAAMG,EAAOf,GAEvC,OADIgB,GAAMd,KAAKF,QAAQiB,IAAIC,QAAQC,cAAcH,GAC1CA,GAOTP,EAAOW,QAAU,SAAiBJ,GAChC,OAAOd,KAAKE,MAAMgB,QAAQJ,IAO5BP,EAAOY,SAAW,WAChB,OAAOnB,KAAKE,MAAMiB,YAGbxB,EAzDT,GA4DIyB,EAEJ,WACE,SAASA,EAAmBxB,EAAKiB,EAAOf,GACtCE,KAAKC,KAAO,SACZD,KAAKN,GAAKA,EACVM,KAAKF,aAAU,EACfE,KAAKc,UAAO,EACZd,KAAKG,aAAc,EACnBH,KAAKJ,SAAM,EACXI,KAAKJ,IAAMA,EACXI,KAAKF,QAAUA,EACf,IAAIC,EAAWH,EAAIyB,OA5ER,WA4EwBC,QACnCtB,KAAKc,KAAOhB,EAAQiB,IAAIQ,WAAWxB,EAAUc,EAAO,YAAS,GAAIf,EAAS,CACxEM,OAAQJ,QAUZ,OANcoB,EAAmBZ,UAEzBW,SAAW,SAAkBrB,GACnC,OAAOE,KAAKc,KAAOd,KAAKc,KAAKK,SAASrB,GAAW,IAG5CsB,EAtBT,GAyBII,EAAkB,WAEtB,SAASC,EAAS1B,EAAU2B,GAI1B,IAHA,IAAIC,EAAQ5B,EAAS6B,MAAMJ,GACvBK,EAAS,GAEJC,EAAI,EAAGA,EAAIH,EAAML,OAAQQ,IAChCD,GAAUH,EAAQ,IAAMC,EAAMG,GAAGC,OAC7BJ,EAAMG,EAAI,KAAID,GAAU,MAG9B,OAAOA,EA8EM,IAvCf,WAiCE,MAAO,CACLG,aAjCF,SAAsBtB,EAAMb,EAAQC,GAClC,IAAKY,EAAM,OAAO,KAElB,GAAIA,IAAShB,EACX,OAAO,IAAIC,EAAoBe,EAAMb,EAAQC,GAG/C,GAAgB,MAAZY,EAAK,IArJE,aAqJYA,EAAKW,OAAO,EArJxB,WAqJoCC,QAC7C,OAAO,IAAIF,EAAmBV,EAAMb,EAAQC,GAG9C,IAAIM,EAASN,EAAQM,OAYrB,OAVIA,IACkB,WAAhBA,EAAOH,MAAqBG,EAAON,QAAQM,QAAyC,WAA/BA,EAAON,QAAQM,OAAOH,QAC7EH,EAAQ+B,QAAS,IAIE,IAAnB/B,EAAQ+B,SACV/B,EAAQC,SAAWW,GAGd,MAWPO,cARF,SAAuBH,EAAMmB,GACT,UAAdnB,EAAKb,MAAqBgC,IAhElC,SAAyCnB,EAAMmB,GAC7C,IAAInC,EAAUgB,EAAKhB,QACfe,EAAQC,EAAKD,MACbX,EAAQW,EAAQA,EAAMnB,GAAM,KAChC,GAAKQ,EAAL,CAEA,IAAK,IAAIQ,KAAQR,EACf+B,EAAMrB,QAAQF,EAAMR,EAAMQ,GAAO,YAAS,GAAIZ,EAAS,CACrDC,SAAU0B,EAASf,EAAMI,EAAKf,oBAI3Bc,EAAMnB,IAqDXwC,CAAgCpB,EAAMmB,GAlD1C,SAAkCnB,EAAMmB,GACtC,IAAInC,EAAUgB,EAAKhB,QACfe,EAAQC,EAAKD,MAEjB,IAAK,IAAIsB,KAAQtB,EACf,GAAgB,MAAZsB,EAAK,IAAcA,EAAKd,OAAO,EAAG3B,EAAG4B,UAAY5B,EAArD,CACA,IAAIK,EAAW0B,EAASU,EAAKd,OAAO3B,EAAG4B,QAASR,EAAKf,UACrDkC,EAAMrB,QAAQb,EAAUc,EAAMsB,GAAO,YAAS,GAAIrC,EAAS,CACzDC,SAAUA,YAELc,EAAMsB,IAyCbC,CAAyBtB,EAAMmB","file":"yarn.jss-plugin-global.becc34fe6fa559c58c21.js","sourcesContent":["import _extends from '@babel/runtime/helpers/esm/extends';\nimport { RuleList } from 'jss';\n\nvar at = '@global';\nvar atPrefix = '@global ';\n\nvar GlobalContainerRule =\n/*#__PURE__*/\nfunction () {\n function GlobalContainerRule(key, styles, options) {\n this.type = 'global';\n this.at = at;\n this.rules = void 0;\n this.options = void 0;\n this.key = void 0;\n this.isProcessed = false;\n this.key = key;\n this.options = options;\n this.rules = new RuleList(_extends({}, options, {\n parent: this\n }));\n\n for (var selector in styles) {\n this.rules.add(selector, styles[selector]);\n }\n\n this.rules.process();\n }\n /**\n * Get a rule.\n */\n\n\n var _proto = GlobalContainerRule.prototype;\n\n _proto.getRule = function getRule(name) {\n return this.rules.get(name);\n }\n /**\n * Create and register rule, run plugins.\n */\n ;\n\n _proto.addRule = function addRule(name, style, options) {\n var rule = this.rules.add(name, style, options);\n if (rule) this.options.jss.plugins.onProcessRule(rule);\n return rule;\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n /**\n * Generates a CSS string.\n */\n ;\n\n _proto.toString = function toString() {\n return this.rules.toString();\n };\n\n return GlobalContainerRule;\n}();\n\nvar GlobalPrefixedRule =\n/*#__PURE__*/\nfunction () {\n function GlobalPrefixedRule(key, style, options) {\n this.type = 'global';\n this.at = at;\n this.options = void 0;\n this.rule = void 0;\n this.isProcessed = false;\n this.key = void 0;\n this.key = key;\n this.options = options;\n var selector = key.substr(atPrefix.length);\n this.rule = options.jss.createRule(selector, style, _extends({}, options, {\n parent: this\n }));\n }\n\n var _proto2 = GlobalPrefixedRule.prototype;\n\n _proto2.toString = function toString(options) {\n return this.rule ? this.rule.toString(options) : '';\n };\n\n return GlobalPrefixedRule;\n}();\n\nvar separatorRegExp = /\\s*,\\s*/g;\n\nfunction addScope(selector, scope) {\n var parts = selector.split(separatorRegExp);\n var scoped = '';\n\n for (var i = 0; i < parts.length; i++) {\n scoped += scope + \" \" + parts[i].trim();\n if (parts[i + 1]) scoped += ', ';\n }\n\n return scoped;\n}\n\nfunction handleNestedGlobalContainerRule(rule, sheet) {\n var options = rule.options,\n style = rule.style;\n var rules = style ? style[at] : null;\n if (!rules) return;\n\n for (var name in rules) {\n sheet.addRule(name, rules[name], _extends({}, options, {\n selector: addScope(name, rule.selector)\n }));\n }\n\n delete style[at];\n}\n\nfunction handlePrefixedGlobalRule(rule, sheet) {\n var options = rule.options,\n style = rule.style;\n\n for (var prop in style) {\n if (prop[0] !== '@' || prop.substr(0, at.length) !== at) continue;\n var selector = addScope(prop.substr(at.length), rule.selector);\n sheet.addRule(selector, style[prop], _extends({}, options, {\n selector: selector\n }));\n delete style[prop];\n }\n}\n/**\n * Convert nested rules to separate, remove them from original styles.\n *\n * @param {Rule} rule\n * @api public\n */\n\n\nfunction jssGlobal() {\n function onCreateRule(name, styles, options) {\n if (!name) return null;\n\n if (name === at) {\n return new GlobalContainerRule(name, styles, options);\n }\n\n if (name[0] === '@' && name.substr(0, atPrefix.length) === atPrefix) {\n return new GlobalPrefixedRule(name, styles, options);\n }\n\n var parent = options.parent;\n\n if (parent) {\n if (parent.type === 'global' || parent.options.parent && parent.options.parent.type === 'global') {\n options.scoped = false;\n }\n }\n\n if (options.scoped === false) {\n options.selector = name;\n }\n\n return null;\n }\n\n function onProcessRule(rule, sheet) {\n if (rule.type !== 'style' || !sheet) return;\n handleNestedGlobalContainerRule(rule, sheet);\n handlePrefixedGlobalRule(rule, sheet);\n }\n\n return {\n onCreateRule: onCreateRule,\n onProcessRule: onProcessRule\n };\n}\n\nexport default jssGlobal;\n"],"sourceRoot":""}