{"version":3,"sources":["webpack:///./node_modules/@ionic/core/dist/esm-es5/shadow-css-4889ae62-23996f3f.js"],"names":["safeSelector","selector","content","placeholders","index","replace","_","keep","replaceBy","push","pseudo","exp","ss","restoreSafeSelector","_polyfillHost","_polyfillSlotted","_polyfillHostContext","_parenSuffix","_cssColonHostRe","RegExp","_cssColonHostContextRe","_cssColonSlottedRe","_polyfillHostNoCombinator","_polyfillHostNoCombinatorRe","_shadowDOMSelectorsRe","_selectorReSuffix","_polyfillHostRe","_colonHostRe","_colonSlottedRe","_colonHostContextRe","_commentRe","stripComments","input","_commentWithHashRe","extractCommentsWithHash","match","_ruleRe","_curlyRe","OPEN_CURLY","CLOSE_CURLY","BLOCK_PLACEHOLDER","processRules","ruleCallback","inputWithEscapedBlocks","escapeBlocks","nextBlockIndex","escapedString","m","_i","arguments","length","suffix","contentPrefix","startsWith","blocks","substring","cssRule","rule","inputParts","split","resultParts","escapedBlocks","bracketCount","currentBlockParts","partIndex","part","join","strEscapedBlocks","insertPolyfillHostInCssText","convertColonRule","cssText","regExp","partReplacer","parts","r","i","p","trim","colonHostPartReplacer","host","convertColonHost","colonHostContextPartReplacer","indexOf","convertColonSlotted","slotAttr","compound","sel","convertColonHostContext","convertShadowDOMSelectors","reduce","result","pattern","makeScopeMatcher","scopeSelector","lre","rre","selectorNeedsScoping","re","test","applySimpleSelectorScope","hostSelector","lastIndex","replaceBy_1","before","colon","after","applyStrictSelectorScope","isRe","className","_scopeSelectorPart","scopedP","t","matches","safeContent","res","scopedSelector","startIndex","sep","hasHost","shouldScope","exec","separator","part_1","slice","scopedPart","scopeSelectorText","slotSelector","map","shallowPart","scopeSelectors","commentOriginalSelector","scopeCssText","scopeId","hostScopeId","slotScopeId","scopeCss","commentsWithHash","orgSelectors","processCommentedSelector_1","placeholder","comment","scopedCssText","forEach","_a"],"mappings":"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","file":"js/chunk-2d0aef65.c41d44d2.js","sourcesContent":["import { __spreadArrays } from \"tslib\";\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n *\n * This file is a port of shadowCSS from webcomponents.js to TypeScript.\n * https://github.com/webcomponents/webcomponentsjs/blob/4efecd7e0e/src/ShadowCSS/ShadowCSS.js\n * https://github.com/angular/angular/blob/master/packages/compiler/src/shadow_css.ts\n */\nvar safeSelector = function (selector) {\n var placeholders = [];\n var index = 0;\n var content;\n // Replaces attribute selectors with placeholders.\n // The WS in [attr=\"va lue\"] would otherwise be interpreted as a selector separator.\n selector = selector.replace(/(\\[[^\\]]*\\])/g, function (_, keep) {\n var replaceBy = \"__ph-\" + index + \"__\";\n placeholders.push(keep);\n index++;\n return replaceBy;\n });\n // Replaces the expression in `:nth-child(2n + 1)` with a placeholder.\n // WS and \"+\" would otherwise be interpreted as selector separators.\n content = selector.replace(/(:nth-[-\\w]+)(\\([^)]+\\))/g, function (_, pseudo, exp) {\n var replaceBy = \"__ph-\" + index + \"__\";\n placeholders.push(exp);\n index++;\n return pseudo + replaceBy;\n });\n var ss = {\n content: content,\n placeholders: placeholders,\n };\n return ss;\n};\nvar restoreSafeSelector = function (placeholders, content) {\n return content.replace(/__ph-(\\d+)__/g, function (_, index) { return placeholders[+index]; });\n};\nvar _polyfillHost = '-shadowcsshost';\nvar _polyfillSlotted = '-shadowcssslotted';\n// note: :host-context pre-processed to -shadowcsshostcontext.\nvar _polyfillHostContext = '-shadowcsscontext';\nvar _parenSuffix = ')(?:\\\\((' +\n '(?:\\\\([^)(]*\\\\)|[^)(]*)+?' +\n ')\\\\))?([^,{]*)';\nvar _cssColonHostRe = new RegExp('(' + _polyfillHost + _parenSuffix, 'gim');\nvar _cssColonHostContextRe = new RegExp('(' + _polyfillHostContext + _parenSuffix, 'gim');\nvar _cssColonSlottedRe = new RegExp('(' + _polyfillSlotted + _parenSuffix, 'gim');\nvar _polyfillHostNoCombinator = _polyfillHost + '-no-combinator';\nvar _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\\s]*)/;\nvar _shadowDOMSelectorsRe = [\n /::shadow/g,\n /::content/g\n];\nvar _selectorReSuffix = '([>\\\\s~+\\[.,{:][\\\\s\\\\S]*)?$';\nvar _polyfillHostRe = /-shadowcsshost/gim;\nvar _colonHostRe = /:host/gim;\nvar _colonSlottedRe = /::slotted/gim;\nvar _colonHostContextRe = /:host-context/gim;\nvar _commentRe = /\\/\\*\\s*[\\s\\S]*?\\*\\//g;\nvar stripComments = function (input) {\n return input.replace(_commentRe, '');\n};\nvar _commentWithHashRe = /\\/\\*\\s*#\\s*source(Mapping)?URL=[\\s\\S]+?\\*\\//g;\nvar extractCommentsWithHash = function (input) {\n return input.match(_commentWithHashRe) || [];\n};\nvar _ruleRe = /(\\s*)([^;\\{\\}]+?)(\\s*)((?:{%BLOCK%}?\\s*;?)|(?:\\s*;))/g;\nvar _curlyRe = /([{}])/g;\nvar OPEN_CURLY = '{';\nvar CLOSE_CURLY = '}';\nvar BLOCK_PLACEHOLDER = '%BLOCK%';\nvar processRules = function (input, ruleCallback) {\n var inputWithEscapedBlocks = escapeBlocks(input);\n var nextBlockIndex = 0;\n return inputWithEscapedBlocks.escapedString.replace(_ruleRe, function () {\n var m = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n m[_i] = arguments[_i];\n }\n var selector = m[2];\n var content = '';\n var suffix = m[4];\n var contentPrefix = '';\n if (suffix && suffix.startsWith('{' + BLOCK_PLACEHOLDER)) {\n content = inputWithEscapedBlocks.blocks[nextBlockIndex++];\n suffix = suffix.substring(BLOCK_PLACEHOLDER.length + 1);\n contentPrefix = '{';\n }\n var cssRule = {\n selector: selector,\n content: content\n };\n var rule = ruleCallback(cssRule);\n return \"\" + m[1] + rule.selector + m[3] + contentPrefix + rule.content + suffix;\n });\n};\nvar escapeBlocks = function (input) {\n var inputParts = input.split(_curlyRe);\n var resultParts = [];\n var escapedBlocks = [];\n var bracketCount = 0;\n var currentBlockParts = [];\n for (var partIndex = 0; partIndex < inputParts.length; partIndex++) {\n var part = inputParts[partIndex];\n if (part === CLOSE_CURLY) {\n bracketCount--;\n }\n if (bracketCount > 0) {\n currentBlockParts.push(part);\n }\n else {\n if (currentBlockParts.length > 0) {\n escapedBlocks.push(currentBlockParts.join(''));\n resultParts.push(BLOCK_PLACEHOLDER);\n currentBlockParts = [];\n }\n resultParts.push(part);\n }\n if (part === OPEN_CURLY) {\n bracketCount++;\n }\n }\n if (currentBlockParts.length > 0) {\n escapedBlocks.push(currentBlockParts.join(''));\n resultParts.push(BLOCK_PLACEHOLDER);\n }\n var strEscapedBlocks = {\n escapedString: resultParts.join(''),\n blocks: escapedBlocks\n };\n return strEscapedBlocks;\n};\nvar insertPolyfillHostInCssText = function (selector) {\n selector = selector\n .replace(_colonHostContextRe, _polyfillHostContext)\n .replace(_colonHostRe, _polyfillHost)\n .replace(_colonSlottedRe, _polyfillSlotted);\n return selector;\n};\nvar convertColonRule = function (cssText, regExp, partReplacer) {\n // m[1] = :host(-context), m[2] = contents of (), m[3] rest of rule\n return cssText.replace(regExp, function () {\n var m = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n m[_i] = arguments[_i];\n }\n if (m[2]) {\n var parts = m[2].split(',');\n var r = [];\n for (var i = 0; i < parts.length; i++) {\n var p = parts[i].trim();\n if (!p)\n break;\n r.push(partReplacer(_polyfillHostNoCombinator, p, m[3]));\n }\n return r.join(',');\n }\n else {\n return _polyfillHostNoCombinator + m[3];\n }\n });\n};\nvar colonHostPartReplacer = function (host, part, suffix) {\n return host + part.replace(_polyfillHost, '') + suffix;\n};\nvar convertColonHost = function (cssText) {\n return convertColonRule(cssText, _cssColonHostRe, colonHostPartReplacer);\n};\nvar colonHostContextPartReplacer = function (host, part, suffix) {\n if (part.indexOf(_polyfillHost) > -1) {\n return colonHostPartReplacer(host, part, suffix);\n }\n else {\n return host + part + suffix + ', ' + part + ' ' + host + suffix;\n }\n};\nvar convertColonSlotted = function (cssText, slotAttr) {\n var regExp = _cssColonSlottedRe;\n return cssText.replace(regExp, function () {\n var m = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n m[_i] = arguments[_i];\n }\n if (m[2]) {\n var compound = m[2].trim();\n var suffix = m[3];\n var sel = '.' + slotAttr + ' > ' + compound + suffix;\n return sel;\n }\n else {\n return _polyfillHostNoCombinator + m[3];\n }\n });\n};\nvar convertColonHostContext = function (cssText) {\n return convertColonRule(cssText, _cssColonHostContextRe, colonHostContextPartReplacer);\n};\nvar convertShadowDOMSelectors = function (cssText) {\n return _shadowDOMSelectorsRe.reduce(function (result, pattern) { return result.replace(pattern, ' '); }, cssText);\n};\nvar makeScopeMatcher = function (scopeSelector) {\n var lre = /\\[/g;\n var rre = /\\]/g;\n scopeSelector = scopeSelector.replace(lre, '\\\\[').replace(rre, '\\\\]');\n return new RegExp('^(' + scopeSelector + ')' + _selectorReSuffix, 'm');\n};\nvar selectorNeedsScoping = function (selector, scopeSelector) {\n var re = makeScopeMatcher(scopeSelector);\n return !re.test(selector);\n};\nvar applySimpleSelectorScope = function (selector, scopeSelector, hostSelector) {\n // In Android browser, the lastIndex is not reset when the regex is used in String.replace()\n _polyfillHostRe.lastIndex = 0;\n if (_polyfillHostRe.test(selector)) {\n var replaceBy_1 = \".\" + hostSelector;\n return selector\n .replace(_polyfillHostNoCombinatorRe, function (_, selector) {\n return selector.replace(/([^:]*)(:*)(.*)/, function (_, before, colon, after) {\n return before + replaceBy_1 + colon + after;\n });\n })\n .replace(_polyfillHostRe, replaceBy_1 + ' ');\n }\n return scopeSelector + ' ' + selector;\n};\nvar applyStrictSelectorScope = function (selector, scopeSelector, hostSelector) {\n var isRe = /\\[is=([^\\]]*)\\]/g;\n scopeSelector = scopeSelector.replace(isRe, function (_) {\n var parts = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n parts[_i - 1] = arguments[_i];\n }\n return parts[0];\n });\n var className = '.' + scopeSelector;\n var _scopeSelectorPart = function (p) {\n var scopedP = p.trim();\n if (!scopedP) {\n return '';\n }\n if (p.indexOf(_polyfillHostNoCombinator) > -1) {\n scopedP = applySimpleSelectorScope(p, scopeSelector, hostSelector);\n }\n else {\n // remove :host since it should be unnecessary\n var t = p.replace(_polyfillHostRe, '');\n if (t.length > 0) {\n var matches = t.match(/([^:]*)(:*)(.*)/);\n if (matches) {\n scopedP = matches[1] + className + matches[2] + matches[3];\n }\n }\n }\n return scopedP;\n };\n var safeContent = safeSelector(selector);\n selector = safeContent.content;\n var scopedSelector = '';\n var startIndex = 0;\n var res;\n var sep = /( |>|\\+|~(?!=))\\s*/g;\n // If a selector appears before :host it should not be shimmed as it\n // matches on ancestor elements and not on elements in the host's shadow\n // `:host-context(div)` is transformed to\n // `-shadowcsshost-no-combinatordiv, div -shadowcsshost-no-combinator`\n // the `div` is not part of the component in the 2nd selectors and should not be scoped.\n // Historically `component-tag:host` was matching the component so we also want to preserve\n // this behavior to avoid breaking legacy apps (it should not match).\n // The behavior should be:\n // - `tag:host` -> `tag[h]` (this is to avoid breaking legacy apps, should not match anything)\n // - `tag :host` -> `tag [h]` (`tag` is not scoped because it's considered part of a\n // `:host-context(tag)`)\n var hasHost = selector.indexOf(_polyfillHostNoCombinator) > -1;\n // Only scope parts after the first `-shadowcsshost-no-combinator` when it is present\n var shouldScope = !hasHost;\n while ((res = sep.exec(selector)) !== null) {\n var separator = res[1];\n var part_1 = selector.slice(startIndex, res.index).trim();\n shouldScope = shouldScope || part_1.indexOf(_polyfillHostNoCombinator) > -1;\n var scopedPart = shouldScope ? _scopeSelectorPart(part_1) : part_1;\n scopedSelector += scopedPart + \" \" + separator + \" \";\n startIndex = sep.lastIndex;\n }\n var part = selector.substring(startIndex);\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;\n scopedSelector += shouldScope ? _scopeSelectorPart(part) : part;\n // replace the placeholders with their original values\n return restoreSafeSelector(safeContent.placeholders, scopedSelector);\n};\nvar scopeSelector = function (selector, scopeSelectorText, hostSelector, slotSelector) {\n return selector.split(',')\n .map(function (shallowPart) {\n if (slotSelector && shallowPart.indexOf('.' + slotSelector) > -1) {\n return shallowPart.trim();\n }\n if (selectorNeedsScoping(shallowPart, scopeSelectorText)) {\n return applyStrictSelectorScope(shallowPart, scopeSelectorText, hostSelector).trim();\n }\n else {\n return shallowPart.trim();\n }\n })\n .join(', ');\n};\nvar scopeSelectors = function (cssText, scopeSelectorText, hostSelector, slotSelector, commentOriginalSelector) {\n return processRules(cssText, function (rule) {\n var selector = rule.selector;\n var content = rule.content;\n if (rule.selector[0] !== '@') {\n selector = scopeSelector(rule.selector, scopeSelectorText, hostSelector, slotSelector);\n }\n else if (rule.selector.startsWith('@media') || rule.selector.startsWith('@supports') ||\n rule.selector.startsWith('@page') || rule.selector.startsWith('@document')) {\n content = scopeSelectors(rule.content, scopeSelectorText, hostSelector, slotSelector);\n }\n var cssRule = {\n selector: selector.replace(/\\s{2,}/g, ' ').trim(),\n content: content\n };\n return cssRule;\n });\n};\nvar scopeCssText = function (cssText, scopeId, hostScopeId, slotScopeId, commentOriginalSelector) {\n cssText = insertPolyfillHostInCssText(cssText);\n cssText = convertColonHost(cssText);\n cssText = convertColonHostContext(cssText);\n cssText = convertColonSlotted(cssText, slotScopeId);\n cssText = convertShadowDOMSelectors(cssText);\n if (scopeId) {\n cssText = scopeSelectors(cssText, scopeId, hostScopeId, slotScopeId);\n }\n cssText = cssText.replace(/-shadowcsshost-no-combinator/g, \".\" + hostScopeId);\n cssText = cssText.replace(/>\\s*\\*\\s+([^{, ]+)/gm, ' $1 ');\n return cssText.trim();\n};\nvar scopeCss = function (cssText, scopeId, commentOriginalSelector) {\n var hostScopeId = scopeId + '-h';\n var slotScopeId = scopeId + '-s';\n var commentsWithHash = extractCommentsWithHash(cssText);\n cssText = stripComments(cssText);\n var orgSelectors = [];\n if (commentOriginalSelector) {\n var processCommentedSelector_1 = function (rule) {\n var placeholder = \"/*!@___\" + orgSelectors.length + \"___*/\";\n var comment = \"/*!@\" + rule.selector + \"*/\";\n orgSelectors.push({ placeholder: placeholder, comment: comment });\n rule.selector = placeholder + rule.selector;\n return rule;\n };\n cssText = processRules(cssText, function (rule) {\n if (rule.selector[0] !== '@') {\n return processCommentedSelector_1(rule);\n }\n else if (rule.selector.startsWith('@media') || rule.selector.startsWith('@supports') ||\n rule.selector.startsWith('@page') || rule.selector.startsWith('@document')) {\n rule.content = processRules(rule.content, processCommentedSelector_1);\n return rule;\n }\n return rule;\n });\n }\n var scopedCssText = scopeCssText(cssText, scopeId, hostScopeId, slotScopeId);\n cssText = __spreadArrays([scopedCssText], commentsWithHash).join('\\n');\n if (commentOriginalSelector) {\n orgSelectors.forEach(function (_a) {\n var placeholder = _a.placeholder, comment = _a.comment;\n cssText = cssText.replace(placeholder, comment);\n });\n }\n return cssText;\n};\nexport { scopeCss };\n"],"sourceRoot":""}