mirror of
https://github.com/idanoo/GoScrobble.git
synced 2024-11-25 09:55:15 +00:00
1 line
12 KiB
JSON
1 line
12 KiB
JSON
{"ast":null,"code":"/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n function StyleSheet(options) {\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n var _tag = createStyleElement(this);\n\n var before;\n\n if (this.tags.length === 0) {\n before = this.before;\n } else {\n before = this.tags[this.tags.length - 1].nextSibling;\n }\n\n this.container.insertBefore(_tag, before);\n this.tags.push(_tag);\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is a really hot path\n // we check the second character first because having \"i\"\n // as the second character will happen less often than\n // having \"@\" as the first character\n var isImportRule = rule.charCodeAt(1) === 105 && rule.charCodeAt(0) === 64; // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n\n sheet.insertRule(rule, // we need to insert @import rules before anything else\n // otherwise there will be an error\n // technically this means that the @import rules will\n // _usually_(not always since there could be multiple style tags)\n // be the first ones in prod and generally later in dev\n // this shouldn't really matter in the real world though\n // @import is generally only used for font faces from google fonts and etc.\n // so while this could be technically correct then it would be slower and larger\n // for a tiny bit of correctness that won't matter in the real world\n isImportRule ? 0 : sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };","map":{"version":3,"sources":["/app/node_modules/@emotion/sheet/dist/sheet.browser.esm.js"],"names":["sheetForTag","tag","sheet","i","document","styleSheets","length","ownerNode","createStyleElement","options","createElement","setAttribute","key","nonce","undefined","appendChild","createTextNode","StyleSheet","isSpeedy","speedy","process","env","NODE_ENV","tags","ctr","container","before","_proto","prototype","insert","rule","_tag","nextSibling","insertBefore","push","isImportRule","charCodeAt","insertRule","cssRules","e","console","warn","flush","forEach","parentNode","removeChild"],"mappings":"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","sourcesContent":["/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n return tag;\n}\n\nvar StyleSheet =\n/*#__PURE__*/\nfunction () {\n function StyleSheet(options) {\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n var _tag = createStyleElement(this);\n\n var before;\n\n if (this.tags.length === 0) {\n before = this.before;\n } else {\n before = this.tags[this.tags.length - 1].nextSibling;\n }\n\n this.container.insertBefore(_tag, before);\n this.tags.push(_tag);\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is a really hot path\n // we check the second character first because having \"i\"\n // as the second character will happen less often than\n // having \"@\" as the first character\n var isImportRule = rule.charCodeAt(1) === 105 && rule.charCodeAt(0) === 64; // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n\n sheet.insertRule(rule, // we need to insert @import rules before anything else\n // otherwise there will be an error\n // technically this means that the @import rules will\n // _usually_(not always since there could be multiple style tags)\n // be the first ones in prod and generally later in dev\n // this shouldn't really matter in the real world though\n // @import is generally only used for font faces from google fonts and etc.\n // so while this could be technically correct then it would be slower and larger\n // for a tiny bit of correctness that won't matter in the real world\n isImportRule ? 0 : sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n"]},"metadata":{},"sourceType":"module"} |