securityos/node_modules/styled-components/dist/styled-components.min.js.map

1 line
138 KiB
Plaintext

{"version":3,"file":"styled-components.min.js","sources":["../src/utils/isStyledComponent.js","../src/utils/interleave.js","../src/utils/isPlainObject.js","../src/utils/empties.js","../src/utils/isFunction.js","../src/constants.js","../src/utils/error.js","../src/sheet/GroupedTag.js","../src/sheet/GroupIDAllocator.js","../src/sheet/Rehydration.js","../src/utils/nonce.js","../src/sheet/dom.js","../src/sheet/Tag.js","../src/sheet/Sheet.js","../src/utils/generateAlphabeticName.js","../src/utils/hash.js","../src/utils/isStaticRules.js","../src/models/ComponentStyle.js","../../../node_modules/@emotion/stylis/dist/stylis.esm.js","../src/utils/stylis.js","../src/utils/stylisPluginInsertRule.js","../src/models/StyleSheetManager.js","../../../node_modules/shallowequal/index.js","../src/models/Keyframes.js","../src/utils/hyphenateStyleName.js","../../../node_modules/@emotion/unitless/dist/unitless.esm.js","../src/utils/flatten.js","../src/utils/isStatelessFunction.js","../src/utils/addUnitIfNeeded.js","../src/constructors/css.js","../src/models/GlobalStyle.js","../src/models/ThemeProvider.js","../src/utils/determineTheme.js","../src/utils/generateComponentId.js","../src/models/ServerStyleSheet.js","../../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../src/secretInternals.js","../src/constructors/createGlobalStyle.js","../src/constructors/keyframes.js","../src/hooks/useTheme.js","../src/hoc/withTheme.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../src/utils/escape.js","../src/utils/isTag.js","../src/utils/mixinDeep.js","../src/models/StyledComponent.js","../src/utils/generateDisplayName.js","../src/utils/joinStrings.js","../src/constructors/styled.js","../src/constructors/constructWithOptions.js","../src/index-standalone.js","../src/utils/domElements.js"],"sourcesContent":["// @flow\nexport default function isStyledComponent(target: any): boolean %checks {\n return target && typeof target.styledComponentId === 'string';\n}\n","// @flow\nimport type { Interpolation } from '../types';\n\nexport default (\n strings: Array<string>,\n interpolations: Array<Interpolation>\n): Array<Interpolation> => {\n const result = [strings[0]];\n\n for (let i = 0, len = interpolations.length; i < len; i += 1) {\n result.push(interpolations[i], strings[i + 1]);\n }\n\n return result;\n};\n","// @flow\nimport { typeOf } from 'react-is';\n\nexport default (x: any): boolean =>\n x !== null &&\n typeof x === 'object' &&\n (x.toString ? x.toString() : Object.prototype.toString.call(x)) === '[object Object]' &&\n !typeOf(x);\n","// @flow\nexport const EMPTY_ARRAY = Object.freeze([]);\nexport const EMPTY_OBJECT = Object.freeze({});\n","// @flow\nexport default function isFunction(test: any): boolean %checks {\n return typeof test === 'function';\n}\n","// @flow\n\ndeclare var SC_DISABLE_SPEEDY: ?boolean;\ndeclare var __VERSION__: string;\n\nexport const SC_ATTR: string =\n (typeof process !== 'undefined' &&\n typeof process.env !== 'undefined' &&\n (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR)) ||\n 'data-styled';\n\nexport const SC_ATTR_ACTIVE = 'active';\nexport const SC_ATTR_VERSION = 'data-styled-version';\nexport const SC_VERSION = __VERSION__;\nexport const SPLITTER = '/*!sc*/\\n';\n\nexport const IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window;\n\nexport const DISABLE_SPEEDY = Boolean(\n typeof SC_DISABLE_SPEEDY === 'boolean'\n ? SC_DISABLE_SPEEDY\n : typeof process !== 'undefined' && typeof process.env !== 'undefined'\n ? typeof process.env.REACT_APP_SC_DISABLE_SPEEDY !== 'undefined' &&\n process.env.REACT_APP_SC_DISABLE_SPEEDY !== ''\n ? process.env.REACT_APP_SC_DISABLE_SPEEDY === 'false'\n ? false\n : process.env.REACT_APP_SC_DISABLE_SPEEDY\n : typeof process.env.SC_DISABLE_SPEEDY !== 'undefined' && process.env.SC_DISABLE_SPEEDY !== ''\n ? process.env.SC_DISABLE_SPEEDY === 'false'\n ? false\n : process.env.SC_DISABLE_SPEEDY\n : process.env.NODE_ENV !== 'production'\n : false\n);\n\n// Shared empty execution context when generating static styles\nexport const STATIC_EXECUTION_CONTEXT = {};\n","// @flow\nimport errorMap from './errors';\n\nconst ERRORS = process.env.NODE_ENV !== 'production' ? errorMap : {};\n\n/**\n * super basic version of sprintf\n */\nfunction format(...args) {\n let a = args[0];\n const b = [];\n\n for (let c = 1, len = args.length; c < len; c += 1) {\n b.push(args[c]);\n }\n\n b.forEach(d => {\n a = a.replace(/%[a-z]/, d);\n });\n\n return a;\n}\n\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n */\nexport default function throwStyledComponentsError(\n code: string | number,\n ...interpolations: Array<any>\n) {\n if (process.env.NODE_ENV === 'production') {\n throw new Error(\n `An error occurred. See https://git.io/JUIaE#${code} for more information.${\n interpolations.length > 0 ? ` Args: ${interpolations.join(', ')}` : ''\n }`\n );\n } else {\n throw new Error(format(ERRORS[code], ...interpolations).trim());\n }\n}\n","// @flow\n/* eslint-disable no-use-before-define */\n\nimport type { GroupedTag, Tag } from './types';\nimport { SPLITTER } from '../constants';\nimport throwStyledError from '../utils/error';\n\n/** Create a GroupedTag with an underlying Tag implementation */\nexport const makeGroupedTag = (tag: Tag): GroupedTag => {\n return new DefaultGroupedTag(tag);\n};\n\nconst BASE_SIZE = 1 << 9;\n\nclass DefaultGroupedTag implements GroupedTag {\n groupSizes: Uint32Array;\n\n length: number;\n\n tag: Tag;\n\n constructor(tag: Tag) {\n this.groupSizes = new Uint32Array(BASE_SIZE);\n this.length = BASE_SIZE;\n this.tag = tag;\n }\n\n indexOfGroup(group: number): number {\n let index = 0;\n for (let i = 0; i < group; i++) {\n index += this.groupSizes[i];\n }\n\n return index;\n }\n\n insertRules(group: number, rules: string[]): void {\n if (group >= this.groupSizes.length) {\n const oldBuffer = this.groupSizes;\n const oldSize = oldBuffer.length;\n\n let newSize = oldSize;\n while (group >= newSize) {\n newSize <<= 1;\n if (newSize < 0) {\n throwStyledError(16, `${group}`);\n }\n }\n\n this.groupSizes = new Uint32Array(newSize);\n this.groupSizes.set(oldBuffer);\n this.length = newSize;\n\n for (let i = oldSize; i < newSize; i++) {\n this.groupSizes[i] = 0;\n }\n }\n\n let ruleIndex = this.indexOfGroup(group + 1);\n for (let i = 0, l = rules.length; i < l; i++) {\n if (this.tag.insertRule(ruleIndex, rules[i])) {\n this.groupSizes[group]++;\n ruleIndex++;\n }\n }\n }\n\n clearGroup(group: number): void {\n if (group < this.length) {\n const length = this.groupSizes[group];\n const startIndex = this.indexOfGroup(group);\n const endIndex = startIndex + length;\n\n this.groupSizes[group] = 0;\n\n for (let i = startIndex; i < endIndex; i++) {\n this.tag.deleteRule(startIndex);\n }\n }\n }\n\n getGroup(group: number): string {\n let css = '';\n if (group >= this.length || this.groupSizes[group] === 0) {\n return css;\n }\n\n const length = this.groupSizes[group];\n const startIndex = this.indexOfGroup(group);\n const endIndex = startIndex + length;\n\n for (let i = startIndex; i < endIndex; i++) {\n css += `${this.tag.getRule(i)}${SPLITTER}`;\n }\n\n return css;\n }\n}\n","// @flow\n\nimport throwStyledError from '../utils/error';\n\nconst MAX_SMI = 1 << 31 - 1;\n\nlet groupIDRegister: Map<string, number> = new Map();\nlet reverseRegister: Map<number, string> = new Map();\nlet nextFreeGroup = 1;\n\nexport const resetGroupIds = () => {\n groupIDRegister = new Map();\n reverseRegister = new Map();\n nextFreeGroup = 1;\n};\n\nexport const getGroupForId = (id: string): number => {\n if (groupIDRegister.has(id)) {\n return (groupIDRegister.get(id): any);\n }\n\n while (reverseRegister.has(nextFreeGroup)) {\n nextFreeGroup++;\n }\n\n const group = nextFreeGroup++;\n\n if (\n process.env.NODE_ENV !== 'production' &&\n ((group | 0) < 0 || group > MAX_SMI)\n ) {\n throwStyledError(16, `${group}`);\n }\n\n groupIDRegister.set(id, group);\n reverseRegister.set(group, id);\n return group;\n};\n\nexport const getIdForGroup = (group: number): void | string => {\n return reverseRegister.get(group);\n};\n\nexport const setGroupForId = (id: string, group: number) => {\n if (group >= nextFreeGroup) {\n nextFreeGroup = group + 1;\n }\n\n groupIDRegister.set(id, group);\n reverseRegister.set(group, id);\n};\n","// @flow\n\nimport { SPLITTER, SC_ATTR, SC_ATTR_ACTIVE, SC_ATTR_VERSION, SC_VERSION } from '../constants';\nimport { getIdForGroup, setGroupForId } from './GroupIDAllocator';\nimport type { Sheet } from './types';\n\nconst SELECTOR = `style[${SC_ATTR}][${SC_ATTR_VERSION}=\"${SC_VERSION}\"]`;\nconst MARKER_RE = new RegExp(`^${SC_ATTR}\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)`);\n\nexport const outputSheet = (sheet: Sheet) => {\n const tag = sheet.getTag();\n const { length } = tag;\n\n let css = '';\n for (let group = 0; group < length; group++) {\n const id = getIdForGroup(group);\n if (id === undefined) continue;\n\n const names = sheet.names.get(id);\n const rules = tag.getGroup(group);\n if (!names || !rules || !names.size) continue;\n\n const selector = `${SC_ATTR}.g${group}[id=\"${id}\"]`;\n\n let content = '';\n if (names !== undefined) {\n names.forEach(name => {\n if (name.length > 0) {\n content += `${name},`;\n }\n });\n }\n\n // NOTE: It's easier to collect rules and have the marker\n // after the actual rules to simplify the rehydration\n css += `${rules}${selector}{content:\"${content}\"}${SPLITTER}`;\n }\n\n return css;\n};\n\nconst rehydrateNamesFromContent = (sheet: Sheet, id: string, content: string) => {\n const names = content.split(',');\n let name;\n\n for (let i = 0, l = names.length; i < l; i++) {\n // eslint-disable-next-line\n if ((name = names[i])) {\n sheet.registerName(id, name);\n }\n }\n};\n\nconst rehydrateSheetFromTag = (sheet: Sheet, style: HTMLStyleElement) => {\n const parts = (style.textContent || '').split(SPLITTER);\n const rules: string[] = [];\n\n for (let i = 0, l = parts.length; i < l; i++) {\n const part = parts[i].trim();\n if (!part) continue;\n\n const marker = part.match(MARKER_RE);\n\n if (marker) {\n const group = parseInt(marker[1], 10) | 0;\n const id = marker[2];\n\n if (group !== 0) {\n // Rehydrate componentId to group index mapping\n setGroupForId(id, group);\n // Rehydrate names and rules\n // looks like: data-styled.g11[id=\"idA\"]{content:\"nameA,\"}\n rehydrateNamesFromContent(sheet, id, marker[3]);\n sheet.getTag().insertRules(group, rules);\n }\n\n rules.length = 0;\n } else {\n rules.push(part);\n }\n }\n};\n\nexport const rehydrateSheet = (sheet: Sheet) => {\n const nodes = document.querySelectorAll(SELECTOR);\n\n for (let i = 0, l = nodes.length; i < l; i++) {\n const node = ((nodes[i]: any): HTMLStyleElement);\n if (node && node.getAttribute(SC_ATTR) !== SC_ATTR_ACTIVE) {\n rehydrateSheetFromTag(sheet, node);\n\n if (node.parentNode) {\n node.parentNode.removeChild(node);\n }\n }\n }\n};\n","// @flow\n/* eslint-disable camelcase, no-undef */\n\ndeclare var __webpack_nonce__: string;\n\nconst getNonce = () => {\n return typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n};\n\nexport default getNonce;\n","// @flow\n\nimport { SC_ATTR, SC_ATTR_ACTIVE, SC_ATTR_VERSION, SC_VERSION } from '../constants';\nimport getNonce from '../utils/nonce';\nimport throwStyledError from '../utils/error';\n\nconst ELEMENT_TYPE = 1; /* Node.ELEMENT_TYPE */\n\n/** Find last style element if any inside target */\nconst findLastStyleTag = (target: HTMLElement): void | HTMLStyleElement => {\n const { childNodes } = target;\n\n for (let i = childNodes.length; i >= 0; i--) {\n const child = ((childNodes[i]: any): ?HTMLElement);\n if (child && child.nodeType === ELEMENT_TYPE && child.hasAttribute(SC_ATTR)) {\n return ((child: any): HTMLStyleElement);\n }\n }\n\n return undefined;\n};\n\n/** Create a style element inside `target` or <head> after the last */\nexport const makeStyleTag = (target?: HTMLElement): HTMLStyleElement => {\n const head = ((document.head: any): HTMLElement);\n const parent = target || head;\n const style = document.createElement('style');\n const prevStyle = findLastStyleTag(parent);\n const nextSibling = prevStyle !== undefined ? prevStyle.nextSibling : null;\n\n style.setAttribute(SC_ATTR, SC_ATTR_ACTIVE);\n style.setAttribute(SC_ATTR_VERSION, SC_VERSION);\n\n const nonce = getNonce();\n\n if (nonce) style.setAttribute('nonce', nonce);\n\n parent.insertBefore(style, nextSibling);\n\n return style;\n};\n\n/** Get the CSSStyleSheet instance for a given style element */\nexport const getSheet = (tag: HTMLStyleElement): CSSStyleSheet => {\n if (tag.sheet) {\n return ((tag.sheet: any): CSSStyleSheet);\n }\n\n // Avoid Firefox quirk where the style element might not have a sheet property\n const { styleSheets } = document;\n for (let i = 0, l = styleSheets.length; i < l; i++) {\n const sheet = styleSheets[i];\n if (sheet.ownerNode === tag) {\n return ((sheet: any): CSSStyleSheet);\n }\n }\n\n throwStyledError(17);\n return (undefined: any);\n};\n","// @flow\n/* eslint-disable no-use-before-define */\n\nimport { makeStyleTag, getSheet } from './dom';\nimport type { SheetOptions, Tag } from './types';\n\n/** Create a CSSStyleSheet-like tag depending on the environment */\nexport const makeTag = ({ isServer, useCSSOMInjection, target }: SheetOptions): Tag => {\n if (isServer) {\n return new VirtualTag(target);\n } else if (useCSSOMInjection) {\n return new CSSOMTag(target);\n } else {\n return new TextTag(target);\n }\n};\n\nexport class CSSOMTag implements Tag {\n element: HTMLStyleElement;\n\n sheet: CSSStyleSheet;\n\n length: number;\n\n constructor(target?: HTMLElement) {\n const element = (this.element = makeStyleTag(target));\n\n // Avoid Edge bug where empty style elements don't create sheets\n element.appendChild(document.createTextNode(''));\n\n this.sheet = getSheet(element);\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n try {\n this.sheet.insertRule(rule, index);\n this.length++;\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.sheet.deleteRule(index);\n this.length--;\n }\n\n getRule(index: number): string {\n const rule = this.sheet.cssRules[index];\n // Avoid IE11 quirk where cssText is inaccessible on some invalid rules\n if (rule !== undefined && typeof rule.cssText === 'string') {\n return rule.cssText;\n } else {\n return '';\n }\n }\n}\n\n/** A Tag that emulates the CSSStyleSheet API but uses text nodes */\nexport class TextTag implements Tag {\n element: HTMLStyleElement;\n\n nodes: NodeList<Node>;\n\n length: number;\n\n constructor(target?: HTMLElement) {\n const element = (this.element = makeStyleTag(target));\n this.nodes = element.childNodes;\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n if (index <= this.length && index >= 0) {\n const node = document.createTextNode(rule);\n const refNode = this.nodes[index];\n this.element.insertBefore(node, refNode || null);\n this.length++;\n return true;\n } else {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.element.removeChild(this.nodes[index]);\n this.length--;\n }\n\n getRule(index: number): string {\n if (index < this.length) {\n return this.nodes[index].textContent;\n } else {\n return '';\n }\n }\n}\n\n/** A completely virtual (server-side) Tag that doesn't manipulate the DOM */\nexport class VirtualTag implements Tag {\n rules: string[];\n\n length: number;\n\n constructor(_target?: HTMLElement) {\n this.rules = [];\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n if (index <= this.length) {\n this.rules.splice(index, 0, rule);\n this.length++;\n return true;\n } else {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.rules.splice(index, 1);\n this.length--;\n }\n\n getRule(index: number): string {\n if (index < this.length) {\n return this.rules[index];\n } else {\n return '';\n }\n }\n}\n","// @flow\nimport { DISABLE_SPEEDY, IS_BROWSER } from '../constants';\nimport { EMPTY_OBJECT } from '../utils/empties';\nimport { makeGroupedTag } from './GroupedTag';\nimport { getGroupForId } from './GroupIDAllocator';\nimport { outputSheet, rehydrateSheet } from './Rehydration';\nimport { makeTag } from './Tag';\nimport type { GroupedTag, Sheet, SheetOptions } from './types';\n\nlet SHOULD_REHYDRATE = IS_BROWSER;\n\ntype SheetConstructorArgs = {\n isServer?: boolean,\n useCSSOMInjection?: boolean,\n target?: HTMLElement,\n};\n\ntype GlobalStylesAllocationMap = { [key: string]: number };\ntype NamesAllocationMap = Map<string, Set<string>>;\n\nconst defaultOptions: SheetOptions = {\n isServer: !IS_BROWSER,\n useCSSOMInjection: !DISABLE_SPEEDY,\n};\n\n/** Contains the main stylesheet logic for stringification and caching */\nexport default class StyleSheet implements Sheet {\n gs: GlobalStylesAllocationMap;\n\n names: NamesAllocationMap;\n\n options: SheetOptions;\n\n server: boolean;\n\n tag: void | GroupedTag;\n\n /** Register a group ID to give it an index */\n static registerId(id: string): number {\n return getGroupForId(id);\n }\n\n constructor(\n options: SheetConstructorArgs = EMPTY_OBJECT,\n globalStyles?: GlobalStylesAllocationMap = {},\n names?: NamesAllocationMap\n ) {\n this.options = {\n ...defaultOptions,\n ...options,\n };\n\n this.gs = globalStyles;\n this.names = new Map(names);\n this.server = !!options.isServer;\n\n // We rehydrate only once and use the sheet that is created first\n if (!this.server && IS_BROWSER && SHOULD_REHYDRATE) {\n SHOULD_REHYDRATE = false;\n rehydrateSheet(this);\n }\n }\n\n reconstructWithOptions(options: SheetConstructorArgs, withNames?: boolean = true) {\n return new StyleSheet(\n { ...this.options, ...options },\n this.gs,\n (withNames && this.names) || undefined\n );\n }\n\n allocateGSInstance(id: string) {\n return (this.gs[id] = (this.gs[id] || 0) + 1);\n }\n\n /** Lazily initialises a GroupedTag for when it's actually needed */\n getTag(): GroupedTag {\n return this.tag || (this.tag = makeGroupedTag(makeTag(this.options)));\n }\n\n /** Check whether a name is known for caching */\n hasNameForId(id: string, name: string): boolean {\n return this.names.has(id) && (this.names.get(id): any).has(name);\n }\n\n /** Mark a group's name as known for caching */\n registerName(id: string, name: string) {\n getGroupForId(id);\n\n if (!this.names.has(id)) {\n const groupNames = new Set();\n groupNames.add(name);\n this.names.set(id, groupNames);\n } else {\n (this.names.get(id): any).add(name);\n }\n }\n\n /** Insert new rules which also marks the name as known */\n insertRules(id: string, name: string, rules: string[]) {\n this.registerName(id, name);\n this.getTag().insertRules(getGroupForId(id), rules);\n }\n\n /** Clears all cached names for a given group ID */\n clearNames(id: string) {\n if (this.names.has(id)) {\n (this.names.get(id): any).clear();\n }\n }\n\n /** Clears all rules for a given group ID */\n clearRules(id: string) {\n this.getTag().clearGroup(getGroupForId(id));\n this.clearNames(id);\n }\n\n /** Clears the entire tag which deletes all rules but not its names */\n clearTag() {\n // NOTE: This does not clear the names, since it's only used during SSR\n // so that we can continuously output only new rules\n this.tag = undefined;\n }\n\n /** Outputs the current sheet as a CSS string with markers for SSR */\n toString(): string {\n return outputSheet(this);\n }\n}\n","// @flow\n/* eslint-disable no-bitwise */\n\nconst AD_REPLACER_R = /(a)(d)/gi;\n\n/* This is the \"capacity\" of our alphabet i.e. 2x26 for all letters plus their capitalised\n * counterparts */\nconst charsLength = 52;\n\n/* start at 75 for 'a' until 'z' (25) and then start at 65 for capitalised letters */\nconst getAlphabeticChar = (code: number): string =>\n String.fromCharCode(code + (code > 25 ? 39 : 97));\n\n/* input a number, usually a hash and convert it to base-52 */\nexport default function generateAlphabeticName(code: number): string {\n let name = '';\n let x;\n\n /* get a char and divide by alphabet-length */\n for (x = Math.abs(code); x > charsLength; x = (x / charsLength) | 0) {\n name = getAlphabeticChar(x % charsLength) + name;\n }\n\n return (getAlphabeticChar(x % charsLength) + name).replace(AD_REPLACER_R, '$1-$2');\n}\n","// @flow\n/* eslint-disable */\n\nexport const SEED = 5381;\n\n// When we have separate strings it's useful to run a progressive\n// version of djb2 where we pretend that we're still looping over\n// the same string\nexport const phash = (h: number, x: string): number => {\n let i = x.length;\n\n while (i) {\n h = (h * 33) ^ x.charCodeAt(--i);\n }\n\n return h;\n};\n\n// This is a djb2 hashing function\nexport const hash = (x: string): number => {\n return phash(SEED, x);\n};\n","// @flow\nimport isFunction from './isFunction';\nimport isStyledComponent from './isStyledComponent';\nimport type { RuleSet } from '../types';\n\nexport default function isStaticRules(rules: RuleSet): boolean {\n for (let i = 0; i < rules.length; i += 1) {\n const rule = rules[i];\n\n if (isFunction(rule) && !isStyledComponent(rule)) {\n // functions are allowed to be static if they're just being\n // used to get the classname of a nested styled component\n return false;\n }\n }\n\n return true;\n}\n","// @flow\nimport { SC_VERSION } from '../constants';\nimport StyleSheet from '../sheet';\nimport type { RuleSet, Stringifier } from '../types';\nimport flatten from '../utils/flatten';\nimport generateName from '../utils/generateAlphabeticName';\nimport { hash, phash } from '../utils/hash';\nimport isStaticRules from '../utils/isStaticRules';\n\nconst SEED = hash(SC_VERSION);\n\n/**\n * ComponentStyle is all the CSS-specific stuff, not the React-specific stuff.\n */\nexport default class ComponentStyle {\n baseHash: number;\n\n baseStyle: ?ComponentStyle;\n\n componentId: string;\n\n isStatic: boolean;\n\n rules: RuleSet;\n\n staticRulesId: string;\n\n constructor(rules: RuleSet, componentId: string, baseStyle?: ComponentStyle) {\n this.rules = rules;\n this.staticRulesId = '';\n this.isStatic = process.env.NODE_ENV === 'production' &&\n (baseStyle === undefined || baseStyle.isStatic) &&\n isStaticRules(rules);\n this.componentId = componentId;\n\n // SC_VERSION gives us isolation between multiple runtimes on the page at once\n // this is improved further with use of the babel plugin \"namespace\" feature\n this.baseHash = phash(SEED, componentId);\n\n this.baseStyle = baseStyle;\n\n // NOTE: This registers the componentId, which ensures a consistent order\n // for this component's styles compared to others\n StyleSheet.registerId(componentId);\n }\n\n /*\n * Flattens a rule set into valid CSS\n * Hashes it, wraps the whole chunk in a .hash1234 {}\n * Returns the hash to be injected on render()\n * */\n generateAndInjectStyles(executionContext: Object, styleSheet: StyleSheet, stylis: Stringifier) {\n const { componentId } = this;\n\n const names = [];\n\n if (this.baseStyle) {\n names.push(this.baseStyle.generateAndInjectStyles(executionContext, styleSheet, stylis));\n }\n\n // force dynamic classnames if user-supplied stylis plugins are in use\n if (this.isStatic && !stylis.hash) {\n if (this.staticRulesId && styleSheet.hasNameForId(componentId, this.staticRulesId)) {\n names.push(this.staticRulesId);\n } else {\n const cssStatic = flatten(this.rules, executionContext, styleSheet, stylis).join('');\n const name = generateName(phash(this.baseHash, cssStatic) >>> 0);\n\n if (!styleSheet.hasNameForId(componentId, name)) {\n const cssStaticFormatted = stylis(cssStatic, `.${name}`, undefined, componentId);\n\n styleSheet.insertRules(componentId, name, cssStaticFormatted);\n }\n\n names.push(name);\n this.staticRulesId = name;\n }\n } else {\n const { length } = this.rules;\n let dynamicHash = phash(this.baseHash, stylis.hash);\n let css = '';\n\n for (let i = 0; i < length; i++) {\n const partRule = this.rules[i];\n\n if (typeof partRule === 'string') {\n css += partRule;\n\n if (process.env.NODE_ENV !== 'production') dynamicHash = phash(dynamicHash, partRule + i);\n } else if (partRule) {\n const partChunk = flatten(partRule, executionContext, styleSheet, stylis);\n const partString = Array.isArray(partChunk) ? partChunk.join('') : partChunk;\n dynamicHash = phash(dynamicHash, partString + i);\n css += partString;\n }\n }\n\n if (css) {\n const name = generateName(dynamicHash >>> 0);\n\n if (!styleSheet.hasNameForId(componentId, name)) {\n const cssFormatted = stylis(css, `.${name}`, undefined, componentId);\n styleSheet.insertRules(componentId, name, cssFormatted);\n }\n\n names.push(name);\n }\n }\n\n return names.join(' ');\n }\n}\n","function stylis_min (W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {\n }\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;\n","import Stylis from '@emotion/stylis';\nimport { type Stringifier } from '../types';\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from './empties';\nimport throwStyledError from './error';\nimport { phash, SEED } from './hash';\nimport insertRulePlugin from './stylisPluginInsertRule';\n\nconst COMMENT_REGEX = /^\\s*\\/\\/.*$/gm;\nconst COMPLEX_SELECTOR_PREFIX = [':', '[', '.', '#'];\n\ntype StylisInstanceConstructorArgs = {\n options?: Object,\n plugins?: Array<Function>,\n};\n\nexport default function createStylisInstance({\n options = EMPTY_OBJECT,\n plugins = EMPTY_ARRAY,\n}: StylisInstanceConstructorArgs = EMPTY_OBJECT) {\n const stylis = new Stylis(options);\n\n // Wrap `insertRulePlugin to build a list of rules,\n // and then make our own plugin to return the rules. This\n // makes it easier to hook into the existing SSR architecture\n\n let parsingRules = [];\n\n // eslint-disable-next-line consistent-return\n const returnRulesPlugin = context => {\n if (context === -2) {\n const parsedRules = parsingRules;\n parsingRules = [];\n return parsedRules;\n }\n };\n\n const parseRulesPlugin = insertRulePlugin(rule => {\n parsingRules.push(rule);\n });\n\n let _componentId: string;\n let _selector: string;\n let _selectorRegexp: RegExp;\n let _consecutiveSelfRefRegExp: RegExp;\n\n const selfReferenceReplacer = (match, offset, string) => {\n if (\n // do not replace the first occurrence if it is complex (has a modifier)\n (offset === 0 ? COMPLEX_SELECTOR_PREFIX.indexOf(string[_selector.length]) === -1 : true) &&\n // no consecutive self refs (.b.b); that is a precedence boost and treated differently\n !string.match(_consecutiveSelfRefRegExp)\n ) {\n return `.${_componentId}`;\n }\n\n return match;\n };\n\n /**\n * When writing a style like\n *\n * & + & {\n * color: red;\n * }\n *\n * The second ampersand should be a reference to the static component class. stylis\n * has no knowledge of static class so we have to intelligently replace the base selector.\n *\n * https://github.com/thysultan/stylis.js/tree/v3.5.4#plugins <- more info about the context phase values\n * \"2\" means this plugin is taking effect at the very end after all other processing is complete\n */\n const selfReferenceReplacementPlugin = (context, _, selectors) => {\n if (context === 2 && selectors.length && selectors[0].lastIndexOf(_selector) > 0) {\n // eslint-disable-next-line no-param-reassign\n selectors[0] = selectors[0].replace(_selectorRegexp, selfReferenceReplacer);\n }\n };\n\n stylis.use([...plugins, selfReferenceReplacementPlugin, parseRulesPlugin, returnRulesPlugin]);\n\n function stringifyRules(css, selector, prefix, componentId = '&'): Stringifier {\n const flatCSS = css.replace(COMMENT_REGEX, '');\n const cssStr = selector && prefix ? `${prefix} ${selector} { ${flatCSS} }` : flatCSS;\n\n // stylis has no concept of state to be passed to plugins\n // but since JS is single-threaded, we can rely on that to ensure\n // these properties stay in sync with the current stylis run\n _componentId = componentId;\n _selector = selector;\n _selectorRegexp = new RegExp(`\\\\${_selector}\\\\b`, 'g');\n _consecutiveSelfRefRegExp = new RegExp(`(\\\\${_selector}\\\\b){2,}`);\n\n return stylis(prefix || !selector ? '' : selector, cssStr);\n }\n\n stringifyRules.hash = plugins.length\n ? plugins\n .reduce((acc, plugin) => {\n if (!plugin.name) {\n throwStyledError(15);\n }\n\n return phash(acc, plugin.name);\n }, SEED)\n .toString()\n : '';\n\n return stringifyRules;\n}\n","/**\n * MIT License\n *\n * Copyright (c) 2016 Sultan Tarimo\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n * OR IMPLIED INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\n * IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/* eslint-disable */\n\nexport default function(insertRule) {\n const delimiter = '/*|*/';\n const needle = `${delimiter}}`;\n\n function toSheet(block) {\n if (block) {\n try {\n insertRule(`${block}}`);\n } catch (e) {}\n }\n }\n\n return function ruleSheet(\n context,\n content,\n selectors,\n parents,\n line,\n column,\n length,\n ns,\n depth,\n at\n ) {\n switch (context) {\n // property\n case 1:\n // @import\n if (depth === 0 && content.charCodeAt(0) === 64) return insertRule(`${content};`), '';\n break;\n // selector\n case 2:\n if (ns === 0) return content + delimiter;\n break;\n // at-rule\n case 3:\n switch (ns) {\n // @font-face, @page\n case 102:\n case 112:\n return insertRule(selectors[0] + content), '';\n default:\n return content + (at === 0 ? delimiter : '');\n }\n case -2:\n content.split(needle).forEach(toSheet);\n }\n };\n}\n","// @flow\nimport React, { type Context, type Node, useContext, useEffect, useMemo, useState } from 'react';\nimport shallowequal from 'shallowequal';\nimport StyleSheet from '../sheet';\nimport type { Stringifier } from '../types';\nimport createStylisInstance from '../utils/stylis';\n\ntype Props = {\n children?: Node,\n disableCSSOMInjection?: boolean,\n disableVendorPrefixes?: boolean,\n sheet?: StyleSheet,\n stylisPlugins?: Array<Function>,\n target?: HTMLElement,\n};\n\nexport const StyleSheetContext: Context<StyleSheet | void> = React.createContext();\nexport const StyleSheetConsumer = StyleSheetContext.Consumer;\nexport const StylisContext: Context<Stringifier | void> = React.createContext();\nexport const StylisConsumer = StylisContext.Consumer;\n\nexport const masterSheet: StyleSheet = new StyleSheet();\nexport const masterStylis: Stringifier = createStylisInstance();\n\nexport function useStyleSheet(): StyleSheet {\n return useContext(StyleSheetContext) || masterSheet;\n}\n\nexport function useStylis(): Stringifier {\n return useContext(StylisContext) || masterStylis;\n}\n\nexport default function StyleSheetManager(props: Props) {\n const [plugins, setPlugins] = useState(props.stylisPlugins);\n const contextStyleSheet = useStyleSheet();\n\n const styleSheet = useMemo(() => {\n let sheet = contextStyleSheet;\n\n if (props.sheet) {\n // eslint-disable-next-line prefer-destructuring\n sheet = props.sheet;\n } else if (props.target) {\n sheet = sheet.reconstructWithOptions({ target: props.target }, false);\n }\n\n if (props.disableCSSOMInjection) {\n sheet = sheet.reconstructWithOptions({ useCSSOMInjection: false });\n }\n\n return sheet;\n }, [props.disableCSSOMInjection, props.sheet, props.target]);\n\n const stylis = useMemo(\n () =>\n createStylisInstance({\n options: { prefix: !props.disableVendorPrefixes },\n plugins,\n }),\n [props.disableVendorPrefixes, plugins]\n );\n\n useEffect(() => {\n if (!shallowequal(plugins, props.stylisPlugins)) setPlugins(props.stylisPlugins);\n }, [props.stylisPlugins]);\n\n return (\n <StyleSheetContext.Provider value={styleSheet}>\n <StylisContext.Provider value={stylis}>\n {process.env.NODE_ENV !== 'production'\n ? React.Children.only(props.children)\n : props.children}\n </StylisContext.Provider>\n </StyleSheetContext.Provider>\n );\n}\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","// @flow\nimport StyleSheet from '../sheet';\nimport { type Stringifier } from '../types';\nimport throwStyledError from '../utils/error';\nimport { masterStylis } from './StyleSheetManager';\n\nexport default class Keyframes {\n id: string;\n\n name: string;\n\n rules: string;\n\n constructor(name: string, rules: string) {\n this.name = name;\n this.id = `sc-keyframes-${name}`;\n this.rules = rules;\n }\n\n inject = (styleSheet: StyleSheet, stylisInstance: Stringifier = masterStylis) => {\n const resolvedName = this.name + stylisInstance.hash;\n\n if (!styleSheet.hasNameForId(this.id, resolvedName)) {\n styleSheet.insertRules(\n this.id,\n resolvedName,\n stylisInstance(this.rules, resolvedName, '@keyframes')\n );\n }\n };\n\n toString = () => {\n return throwStyledError(12, String(this.name));\n };\n\n getName(stylisInstance: Stringifier = masterStylis) {\n return this.name + stylisInstance.hash;\n }\n}\n","// @flow\n\n/**\n * inlined version of\n * https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/hyphenateStyleName.js\n */\n\nconst uppercaseCheck = /([A-Z])/;\nconst uppercasePattern = /([A-Z])/g;\nconst msPattern = /^ms-/;\nconst prefixAndLowerCase = (char: string): string => `-${char.toLowerCase()}`;\n\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n * > hyphenateStyleName('backgroundColor')\n * < \"background-color\"\n * > hyphenateStyleName('MozTransition')\n * < \"-moz-transition\"\n * > hyphenateStyleName('msTransition')\n * < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n *\n * @param {string} string\n * @return {string}\n */\nexport default function hyphenateStyleName(string: string): string {\n return uppercaseCheck.test(string)\n ? string\n .replace(uppercasePattern, prefixAndLowerCase)\n .replace(msPattern, '-ms-')\n : string;\n}\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","// @flow\nimport { isElement } from 'react-is';\nimport getComponentName from './getComponentName';\nimport isFunction from './isFunction';\nimport isStatelessFunction from './isStatelessFunction';\nimport isPlainObject from './isPlainObject';\nimport isStyledComponent from './isStyledComponent';\nimport Keyframes from '../models/Keyframes';\nimport hyphenate from './hyphenateStyleName';\nimport addUnitIfNeeded from './addUnitIfNeeded';\nimport { type Stringifier } from '../types';\n\n/**\n * It's falsish not falsy because 0 is allowed.\n */\nconst isFalsish = chunk => chunk === undefined || chunk === null || chunk === false || chunk === '';\n\nexport const objToCssArray = (obj: Object, prevKey?: string): Array<string | Function> => {\n const rules = [];\n\n for (const key in obj) {\n if (!obj.hasOwnProperty(key) || isFalsish(obj[key])) continue;\n\n if ((Array.isArray(obj[key]) && obj[key].isCss) || isFunction(obj[key])) {\n rules.push(`${hyphenate(key)}:`, obj[key], ';');\n } else if (isPlainObject(obj[key])) {\n rules.push(...objToCssArray(obj[key], key));\n } else {\n rules.push(`${hyphenate(key)}: ${addUnitIfNeeded(key, obj[key])};`);\n }\n }\n\n return prevKey ? [`${prevKey} {`, ...rules, '}'] : rules;\n};\n\nexport default function flatten(\n chunk: any,\n executionContext: ?Object,\n styleSheet: ?Object,\n stylisInstance: ?Stringifier\n): any {\n if (Array.isArray(chunk)) {\n const ruleSet = [];\n\n for (let i = 0, len = chunk.length, result; i < len; i += 1) {\n result = flatten(chunk[i], executionContext, styleSheet, stylisInstance);\n\n if (result === '') continue;\n else if (Array.isArray(result)) ruleSet.push(...result);\n else ruleSet.push(result);\n }\n\n return ruleSet;\n }\n\n if (isFalsish(chunk)) {\n return '';\n }\n\n /* Handle other components */\n if (isStyledComponent(chunk)) {\n return `.${chunk.styledComponentId}`;\n }\n\n /* Either execute or defer the function */\n if (isFunction(chunk)) {\n if (isStatelessFunction(chunk) && executionContext) {\n const result = chunk(executionContext);\n\n if (process.env.NODE_ENV !== 'production' && isElement(result)) {\n // eslint-disable-next-line no-console\n console.warn(\n `${getComponentName(\n chunk\n )} is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.`\n );\n }\n\n return flatten(result, executionContext, styleSheet, stylisInstance);\n } else return chunk;\n }\n\n if (chunk instanceof Keyframes) {\n if (styleSheet) {\n chunk.inject(styleSheet, stylisInstance);\n return chunk.getName(stylisInstance);\n } else return chunk;\n }\n\n /* Handle objects */\n return isPlainObject(chunk) ? objToCssArray(chunk) : chunk.toString();\n}\n","// @flow\nexport default function isStatelessFunction(test: any): boolean {\n return (\n typeof test === 'function'\n && !(\n test.prototype\n && test.prototype.isReactComponent\n )\n );\n}\n","// @flow\nimport unitless from '@emotion/unitless';\n\n// Taken from https://github.com/facebook/react/blob/b87aabdfe1b7461e7331abb3601d9e6bb27544bc/packages/react-dom/src/shared/dangerousStyleValue.js\nexport default function addUnitIfNeeded(name: string, value: any): any {\n // https://github.com/amilajack/eslint-plugin-flowtype-errors/issues/133\n // $FlowFixMe\n if (value == null || typeof value === 'boolean' || value === '') {\n return '';\n }\n\n if (typeof value === 'number' && value !== 0 && !(name in unitless) && !name.startsWith('--')) {\n return `${value}px`; // Presumes implicit 'px' suffix for unitless numbers except for CSS variables\n }\n\n return String(value).trim();\n}\n","// @flow\nimport interleave from '../utils/interleave';\nimport isPlainObject from '../utils/isPlainObject';\nimport { EMPTY_ARRAY } from '../utils/empties';\nimport isFunction from '../utils/isFunction';\nimport flatten from '../utils/flatten';\nimport type { Interpolation, RuleSet, Styles } from '../types';\n\n/**\n * Used when flattening object styles to determine if we should\n * expand an array of styles.\n */\nconst addTag = arg => {\n if (Array.isArray(arg)) {\n // eslint-disable-next-line no-param-reassign\n arg.isCss = true;\n }\n return arg;\n};\n\nexport default function css(styles: Styles, ...interpolations: Array<Interpolation>): RuleSet {\n if (isFunction(styles) || isPlainObject(styles)) {\n // $FlowFixMe\n return addTag(flatten(interleave(EMPTY_ARRAY, [styles, ...interpolations])));\n }\n\n if (interpolations.length === 0 && styles.length === 1 && typeof styles[0] === 'string') {\n // $FlowFixMe\n return styles;\n }\n\n // $FlowFixMe\n return addTag(flatten(interleave(styles, interpolations)));\n}\n","// @flow\nimport StyleSheet from '../sheet';\nimport type { RuleSet, Stringifier } from '../types';\nimport flatten from '../utils/flatten';\nimport isStaticRules from '../utils/isStaticRules';\n\nexport default class GlobalStyle {\n componentId: string;\n\n isStatic: boolean;\n\n rules: RuleSet;\n\n constructor(rules: RuleSet, componentId: string) {\n this.rules = rules;\n this.componentId = componentId;\n this.isStatic = isStaticRules(rules);\n\n // pre-register the first instance to ensure global styles\n // load before component ones\n StyleSheet.registerId(this.componentId + 1);\n }\n\n createStyles(\n instance: number,\n executionContext: Object,\n styleSheet: StyleSheet,\n stylis: Stringifier\n ) {\n const flatCSS = flatten(this.rules, executionContext, styleSheet, stylis);\n const css = stylis(flatCSS.join(''), '');\n const id = this.componentId + instance;\n\n // NOTE: We use the id as a name as well, since these rules never change\n styleSheet.insertRules(id, id, css);\n }\n\n removeStyles(instance: number, styleSheet: StyleSheet) {\n styleSheet.clearRules(this.componentId + instance);\n }\n\n renderStyles(\n instance: number,\n executionContext: Object,\n styleSheet: StyleSheet,\n stylis: Stringifier\n ) {\n if (instance > 2) StyleSheet.registerId(this.componentId + instance);\n\n // NOTE: Remove old styles, then inject the new ones\n this.removeStyles(instance, styleSheet);\n this.createStyles(instance, executionContext, styleSheet, stylis);\n }\n}\n","// @flow\nimport React, { useContext, useMemo, type Element, type Context } from 'react';\nimport throwStyledError from '../utils/error';\nimport isFunction from '../utils/isFunction';\n\nexport type Theme = { [key: string]: mixed };\n\ntype ThemeArgument = Theme | ((outerTheme?: Theme) => Theme);\n\ntype Props = {\n children?: Element<any>,\n theme: ThemeArgument,\n};\n\nexport const ThemeContext: Context<Theme | void> = React.createContext();\n\nexport const ThemeConsumer = ThemeContext.Consumer;\n\nfunction mergeTheme(theme: ThemeArgument, outerTheme?: Theme): Theme {\n if (!theme) {\n return throwStyledError(14);\n }\n\n if (isFunction(theme)) {\n const mergedTheme = theme(outerTheme);\n\n if (\n process.env.NODE_ENV !== 'production' &&\n (mergedTheme === null || Array.isArray(mergedTheme) || typeof mergedTheme !== 'object')\n ) {\n return throwStyledError(7);\n }\n\n return mergedTheme;\n }\n\n if (Array.isArray(theme) || typeof theme !== 'object') {\n return throwStyledError(8);\n }\n\n return outerTheme ? { ...outerTheme, ...theme } : theme;\n}\n\n/**\n * Provide a theme to an entire react component tree via context\n */\nexport default function ThemeProvider(props: Props) {\n const outerTheme = useContext(ThemeContext);\n const themeContext = useMemo(() => mergeTheme(props.theme, outerTheme), [\n props.theme,\n outerTheme,\n ]);\n\n if (!props.children) {\n return null;\n }\n\n return <ThemeContext.Provider value={themeContext}>{props.children}</ThemeContext.Provider>;\n}\n","// @flow\nimport { EMPTY_OBJECT } from './empties';\n\ntype Props = {\n theme?: any,\n};\n\nexport default (props: Props, providedTheme: any, defaultProps: any = EMPTY_OBJECT) => {\n return (props.theme !== defaultProps.theme && props.theme) || providedTheme || defaultProps.theme;\n};\n","// @flow\n/* eslint-disable */\nimport generateAlphabeticName from './generateAlphabeticName';\nimport { hash } from './hash';\n\nexport default (str: string): string => {\n return generateAlphabeticName(hash(str) >>> 0);\n};\n","// @flow\n/* eslint-disable no-underscore-dangle */\nimport React from 'react';\nimport { IS_BROWSER, SC_ATTR, SC_ATTR_VERSION, SC_VERSION } from '../constants';\nimport throwStyledError from '../utils/error';\nimport getNonce from '../utils/nonce';\nimport StyleSheet from '../sheet';\nimport StyleSheetManager from './StyleSheetManager';\n\ndeclare var __SERVER__: boolean;\n\nconst CLOSING_TAG_R = /^\\s*<\\/[a-z]/i;\n\nexport default class ServerStyleSheet {\n isStreaming: boolean;\n\n instance: StyleSheet;\n\n sealed: boolean;\n\n constructor() {\n this.instance = new StyleSheet({ isServer: true });\n this.sealed = false;\n }\n\n _emitSheetCSS = (): string => {\n const css = this.instance.toString();\n if (!css) return '';\n\n const nonce = getNonce();\n const attrs = [nonce && `nonce=\"${nonce}\"`, `${SC_ATTR}=\"true\"`, `${SC_ATTR_VERSION}=\"${SC_VERSION}\"`];\n const htmlAttr = attrs.filter(Boolean).join(' ');\n\n return `<style ${htmlAttr}>${css}</style>`;\n };\n\n collectStyles(children: any) {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n return <StyleSheetManager sheet={this.instance}>{children}</StyleSheetManager>;\n }\n\n getStyleTags = (): string => {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n return this._emitSheetCSS();\n };\n\n getStyleElement = () => {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n const props = {\n [SC_ATTR]: '',\n [SC_ATTR_VERSION]: SC_VERSION,\n dangerouslySetInnerHTML: {\n __html: this.instance.toString(),\n },\n };\n\n const nonce = getNonce();\n if (nonce) {\n (props: any).nonce = nonce;\n }\n\n // v4 returned an array for this fn, so we'll do the same for v5 for backward compat\n return [<style {...props} key=\"sc-0-0\" />];\n };\n\n // eslint-disable-next-line consistent-return\n interleaveWithNodeStream(input: any) {\n if (!__SERVER__ || IS_BROWSER) {\n return throwStyledError(3);\n } else if (this.sealed) {\n return throwStyledError(2);\n }\n\n if (__SERVER__) {\n this.seal();\n\n // eslint-disable-next-line global-require\n const { Readable, Transform } = require('stream');\n\n const readableStream: Readable = input;\n const { instance: sheet, _emitSheetCSS } = this;\n\n const transformer = new Transform({\n transform: function appendStyleChunks(chunk, /* encoding */ _, callback) {\n // Get the chunk and retrieve the sheet's CSS as an HTML chunk,\n // then reset its rules so we get only new ones for the next chunk\n const renderedHtml = chunk.toString();\n const html = _emitSheetCSS();\n\n sheet.clearTag();\n\n // prepend style html to chunk, unless the start of the chunk is a\n // closing tag in which case append right after that\n if (CLOSING_TAG_R.test(renderedHtml)) {\n const endOfClosingTag = renderedHtml.indexOf('>') + 1;\n const before = renderedHtml.slice(0, endOfClosingTag);\n const after = renderedHtml.slice(endOfClosingTag);\n\n this.push(before + html + after);\n } else {\n this.push(html + renderedHtml);\n }\n\n callback();\n },\n });\n\n readableStream.on('error', err => {\n // forward the error to the transform stream\n transformer.emit('error', err);\n });\n\n return readableStream.pipe(transformer);\n }\n }\n\n seal = () => {\n this.sealed = true;\n };\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","// @flow\n/* eslint-disable */\n\nimport StyleSheet from './sheet';\nimport { masterSheet } from './models/StyleSheetManager';\n\nexport const __PRIVATE__ = {\n StyleSheet,\n masterSheet,\n};\n","// @flow\nimport React, { useContext, useLayoutEffect, useRef } from 'react';\nimport { STATIC_EXECUTION_CONTEXT } from '../constants';\nimport GlobalStyle from '../models/GlobalStyle';\nimport { useStyleSheet, useStylis } from '../models/StyleSheetManager';\nimport { ThemeContext } from '../models/ThemeProvider';\nimport type { Interpolation } from '../types';\nimport { checkDynamicCreation } from '../utils/checkDynamicCreation';\nimport determineTheme from '../utils/determineTheme';\nimport generateComponentId from '../utils/generateComponentId';\nimport css from './css';\n\ndeclare var __SERVER__: boolean;\n\ntype GlobalStyleComponentPropsType = Object;\n\nexport default function createGlobalStyle(\n strings: Array<string>,\n ...interpolations: Array<Interpolation>\n) {\n const rules = css(strings, ...interpolations);\n const styledComponentId = `sc-global-${generateComponentId(JSON.stringify(rules))}`;\n const globalStyle = new GlobalStyle(rules, styledComponentId);\n\n if (process.env.NODE_ENV !== 'production') {\n checkDynamicCreation(styledComponentId);\n }\n\n function GlobalStyleComponent(props: GlobalStyleComponentPropsType) {\n const styleSheet = useStyleSheet();\n const stylis = useStylis();\n const theme = useContext(ThemeContext);\n const instanceRef = useRef(styleSheet.allocateGSInstance(styledComponentId));\n\n const instance = instanceRef.current;\n\n if (process.env.NODE_ENV !== 'production' && React.Children.count(props.children)) {\n // eslint-disable-next-line no-console\n console.warn(\n `The global style component ${styledComponentId} was given child JSX. createGlobalStyle does not render children.`\n );\n }\n\n if (\n process.env.NODE_ENV !== 'production' &&\n rules.some(rule => typeof rule === 'string' && rule.indexOf('@import') !== -1)\n ) {\n // eslint-disable-next-line no-console\n console.warn(\n `Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical <link> meta tag to the stylesheet, or simply embedding it manually in your index.html <head> section for a simpler app.`\n );\n }\n\n if (styleSheet.server) {\n renderStyles(instance, props, styleSheet, theme, stylis);\n }\n\n if (!__SERVER__) {\n // this conditional is fine because it is compiled away for the relevant builds during minification,\n // resulting in a single unguarded hook call\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useLayoutEffect(() => {\n if (!styleSheet.server) {\n renderStyles(instance, props, styleSheet, theme, stylis);\n return () => globalStyle.removeStyles(instance, styleSheet);\n }\n }, [instance, props, styleSheet, theme, stylis]);\n }\n\n return null;\n }\n\n function renderStyles(instance, props, styleSheet, theme, stylis) {\n if (globalStyle.isStatic) {\n globalStyle.renderStyles(instance, STATIC_EXECUTION_CONTEXT, styleSheet, stylis);\n } else {\n const context = {\n ...props,\n theme: determineTheme(props, theme, GlobalStyleComponent.defaultProps),\n };\n\n globalStyle.renderStyles(instance, context, styleSheet, stylis);\n }\n }\n\n // $FlowFixMe\n return React.memo(GlobalStyleComponent);\n}\n","// @flow\n\nimport css from './css';\nimport generateComponentId from '../utils/generateComponentId';\nimport Keyframes from '../models/Keyframes';\n\nimport type { Interpolation, Styles } from '../types';\n\nexport default function keyframes(\n strings: Styles,\n ...interpolations: Array<Interpolation>\n): Keyframes {\n /* Warning if you've used keyframes on React Native */\n if (\n process.env.NODE_ENV !== 'production' &&\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative'\n ) {\n // eslint-disable-next-line no-console\n console.warn(\n '`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.'\n );\n }\n\n const rules = css(strings, ...interpolations).join('');\n const name = generateComponentId(rules);\n return new Keyframes(name, rules);\n}\n","// @flow\nimport { useContext } from 'react';\nimport { ThemeContext } from '../models/ThemeProvider';\n\nconst useTheme = () => useContext(ThemeContext);\n\nexport default useTheme;\n","// @flow\nimport React, { useContext, type AbstractComponent } from 'react';\nimport hoistStatics from 'hoist-non-react-statics';\nimport { ThemeContext } from '../models/ThemeProvider';\nimport determineTheme from '../utils/determineTheme';\nimport getComponentName from '../utils/getComponentName';\n\n// NOTE: this would be the correct signature:\n// export default <Config: { theme?: any }, Instance>(\n// Component: AbstractComponent<Config, Instance>\n// ): AbstractComponent<$Diff<Config, { theme?: any }> & { theme?: any }, Instance>\n//\n// but the old build system tooling doesn't support the syntax\n\nexport default (Component: AbstractComponent<*, *>) => {\n // $FlowFixMe This should be React.forwardRef<Config, Instance>\n const WithTheme = React.forwardRef((props, ref) => {\n const theme = useContext(ThemeContext);\n // $FlowFixMe defaultProps isn't declared so it can be inferrable\n const { defaultProps } = Component;\n const themeProp = determineTheme(props, theme, defaultProps);\n\n if (process.env.NODE_ENV !== 'production' && themeProp === undefined) {\n // eslint-disable-next-line no-console\n console.warn(\n `[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \"${getComponentName(\n Component\n )}\"`\n );\n }\n\n return <Component {...props} theme={themeProp} ref={ref} />;\n });\n\n hoistStatics(WithTheme, Component);\n\n WithTheme.displayName = `WithTheme(${getComponentName(Component)})`;\n\n return WithTheme;\n};\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default isPropValid;\n","// @flow\n\n// Source: https://www.w3.org/TR/cssom-1/#serialize-an-identifier\n// Control characters and non-letter first symbols are not supported\nconst escapeRegex = /[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g;\n\nconst dashesAtEnds = /(^-|-$)/g;\n\n/**\n * TODO: Explore using CSS.escape when it becomes more available\n * in evergreen browsers.\n */\nexport default function escape(str: string): string {\n return (\n str\n // Replace all possible CSS selectors\n .replace(escapeRegex, '-')\n\n // Remove extraneous hyphens at the start and end\n .replace(dashesAtEnds, '')\n );\n}\n","// @flow\nimport type { IStyledComponent } from '../types';\n\nexport default function isTag(target: $PropertyType<IStyledComponent, 'target'>): boolean %checks {\n return (\n typeof target === 'string' &&\n (process.env.NODE_ENV !== 'production'\n ? target.charAt(0) === target.charAt(0).toLowerCase()\n : true)\n );\n}\n","/* eslint-disable */\n/**\n mixin-deep; https://github.com/jonschlinkert/mixin-deep\n Inlined such that it will be consistently transpiled to an IE-compatible syntax.\n\n The MIT License (MIT)\n\n Copyright (c) 2014-present, Jon Schlinkert.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n*/\n\nconst isObject = val => {\n return (\n typeof val === 'function' || (typeof val === 'object' && val !== null && !Array.isArray(val))\n );\n};\n\nconst isValidKey = key => {\n return key !== '__proto__' && key !== 'constructor' && key !== 'prototype';\n};\n\nfunction mixin(target, val, key) {\n const obj = target[key];\n if (isObject(val) && isObject(obj)) {\n mixinDeep(obj, val);\n } else {\n target[key] = val;\n }\n}\n\nexport default function mixinDeep(target, ...rest) {\n for (const obj of rest) {\n if (isObject(obj)) {\n for (const key in obj) {\n if (isValidKey(key)) {\n mixin(target, obj[key], key);\n }\n }\n }\n }\n\n return target;\n}\n","// @flow\nimport validAttr from '@emotion/is-prop-valid';\nimport hoist from 'hoist-non-react-statics';\nimport React, { createElement, type Ref, useContext } from 'react';\nimport { SC_VERSION } from '../constants';\nimport type {\n Attrs,\n IStyledComponent,\n IStyledStatics,\n RuleSet,\n ShouldForwardProp,\n Target,\n} from '../types';\nimport { checkDynamicCreation } from '../utils/checkDynamicCreation';\nimport createWarnTooManyClasses from '../utils/createWarnTooManyClasses';\nimport determineTheme from '../utils/determineTheme';\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from '../utils/empties';\nimport escape from '../utils/escape';\nimport generateComponentId from '../utils/generateComponentId';\nimport generateDisplayName from '../utils/generateDisplayName';\nimport getComponentName from '../utils/getComponentName';\nimport isFunction from '../utils/isFunction';\nimport isStyledComponent from '../utils/isStyledComponent';\nimport isTag from '../utils/isTag';\nimport joinStrings from '../utils/joinStrings';\nimport merge from '../utils/mixinDeep';\nimport ComponentStyle from './ComponentStyle';\nimport { useStyleSheet, useStylis } from './StyleSheetManager';\nimport { ThemeContext } from './ThemeProvider';\n\nconst identifiers = {};\n\n/* We depend on components having unique IDs */\nfunction generateId(displayName?: string, parentComponentId?: string) {\n const name = typeof displayName !== 'string' ? 'sc' : escape(displayName);\n // Ensure that no displayName can lead to duplicate componentIds\n identifiers[name] = (identifiers[name] || 0) + 1;\n\n const componentId = `${name}-${generateComponentId(\n // SC_VERSION gives us isolation between multiple runtimes on the page at once\n // this is improved further with use of the babel plugin \"namespace\" feature\n SC_VERSION + name + identifiers[name]\n )}`;\n\n return parentComponentId ? `${parentComponentId}-${componentId}` : componentId;\n}\n\nfunction useResolvedAttrs<Config>(theme: any = EMPTY_OBJECT, props: Config, attrs: Attrs) {\n // NOTE: can't memoize this\n // returns [context, resolvedAttrs]\n // where resolvedAttrs is only the things injected by the attrs themselves\n const context = { ...props, theme };\n const resolvedAttrs = {};\n\n attrs.forEach(attrDef => {\n let resolvedAttrDef = attrDef;\n let key;\n\n if (isFunction(resolvedAttrDef)) {\n resolvedAttrDef = resolvedAttrDef(context);\n }\n\n /* eslint-disable guard-for-in */\n for (key in resolvedAttrDef) {\n context[key] = resolvedAttrs[key] =\n key === 'className'\n ? joinStrings(resolvedAttrs[key], resolvedAttrDef[key])\n : resolvedAttrDef[key];\n }\n /* eslint-enable guard-for-in */\n });\n\n return [context, resolvedAttrs];\n}\n\nfunction useInjectedStyle<T>(\n componentStyle: ComponentStyle,\n isStatic: boolean,\n resolvedAttrs: T,\n warnTooManyClasses?: $Call<typeof createWarnTooManyClasses, string, string>\n) {\n const styleSheet = useStyleSheet();\n const stylis = useStylis();\n\n const className = isStatic\n ? componentStyle.generateAndInjectStyles(EMPTY_OBJECT, styleSheet, stylis)\n : componentStyle.generateAndInjectStyles(resolvedAttrs, styleSheet, stylis);\n\n if (process.env.NODE_ENV !== 'production' && !isStatic && warnTooManyClasses) {\n warnTooManyClasses(className);\n }\n\n return className;\n}\n\nfunction useStyledComponentImpl(\n forwardedComponent: IStyledComponent,\n props: Object,\n forwardedRef: Ref<any>,\n isStatic: boolean\n) {\n const {\n attrs: componentAttrs,\n componentStyle,\n defaultProps,\n foldedComponentIds,\n shouldForwardProp,\n styledComponentId,\n target,\n } = forwardedComponent;\n\n // NOTE: the non-hooks version only subscribes to this when !componentStyle.isStatic,\n // but that'd be against the rules-of-hooks. We could be naughty and do it anyway as it\n // should be an immutable value, but behave for now.\n const theme = determineTheme(props, useContext(ThemeContext), defaultProps);\n\n const [context, attrs] = useResolvedAttrs(theme || EMPTY_OBJECT, props, componentAttrs);\n\n const generatedClassName = useInjectedStyle(\n componentStyle,\n isStatic,\n context,\n process.env.NODE_ENV !== 'production' ? forwardedComponent.warnTooManyClasses : undefined\n );\n\n const refToForward = forwardedRef;\n\n const elementToBeCreated: Target = attrs.$as || props.$as || attrs.as || props.as || target;\n\n const isTargetTag = isTag(elementToBeCreated);\n const computedProps = attrs !== props ? { ...props, ...attrs } : props;\n const propsForElement = {};\n\n // eslint-disable-next-line guard-for-in\n for (const key in computedProps) {\n if (key[0] === '$' || key === 'as') continue;\n else if (key === 'forwardedAs') {\n propsForElement.as = computedProps[key];\n } else if (\n shouldForwardProp\n ? shouldForwardProp(key, validAttr, elementToBeCreated)\n : isTargetTag\n ? validAttr(key)\n : true\n ) {\n // Don't pass through non HTML tags through to HTML elements\n propsForElement[key] = computedProps[key];\n }\n }\n\n if (props.style && attrs.style !== props.style) {\n propsForElement.style = { ...props.style, ...attrs.style };\n }\n\n propsForElement.className = Array.prototype\n .concat(\n foldedComponentIds,\n styledComponentId,\n generatedClassName !== styledComponentId ? generatedClassName : null,\n props.className,\n attrs.className\n )\n .filter(Boolean)\n .join(' ');\n\n propsForElement.ref = refToForward;\n\n return createElement(elementToBeCreated, propsForElement);\n}\n\nexport default function createStyledComponent(\n target: $PropertyType<IStyledComponent, 'target'>,\n options: {\n attrs?: Attrs,\n componentId: string,\n displayName?: string,\n parentComponentId?: string,\n shouldForwardProp?: ShouldForwardProp,\n },\n rules: RuleSet\n) {\n const isTargetStyledComp = isStyledComponent(target);\n const isCompositeComponent = !isTag(target);\n\n const {\n attrs = EMPTY_ARRAY,\n componentId = generateId(options.displayName, options.parentComponentId),\n displayName = generateDisplayName(target),\n } = options;\n\n const styledComponentId =\n options.displayName && options.componentId\n ? `${escape(options.displayName)}-${options.componentId}`\n : options.componentId || componentId;\n\n // fold the underlying StyledComponent attrs up (implicit extend)\n const finalAttrs =\n isTargetStyledComp && ((target: any): IStyledComponent).attrs\n ? Array.prototype.concat(((target: any): IStyledComponent).attrs, attrs).filter(Boolean)\n : attrs;\n\n // eslint-disable-next-line prefer-destructuring\n let shouldForwardProp = options.shouldForwardProp;\n\n if (isTargetStyledComp && target.shouldForwardProp) {\n if (options.shouldForwardProp) {\n // compose nested shouldForwardProp calls\n shouldForwardProp = (prop, filterFn, elementToBeCreated) =>\n ((((target: any): IStyledComponent).shouldForwardProp: any): ShouldForwardProp)(\n prop,\n filterFn,\n elementToBeCreated\n ) &&\n ((options.shouldForwardProp: any): ShouldForwardProp)(prop, filterFn, elementToBeCreated);\n } else {\n // eslint-disable-next-line prefer-destructuring\n shouldForwardProp = ((target: any): IStyledComponent).shouldForwardProp;\n }\n }\n\n const componentStyle = new ComponentStyle(\n rules,\n styledComponentId,\n isTargetStyledComp ? ((target: Object).componentStyle: ComponentStyle) : undefined\n );\n\n // statically styled-components don't need to build an execution context object,\n // and shouldn't be increasing the number of class names\n const isStatic = componentStyle.isStatic && attrs.length === 0;\n\n /**\n * forwardRef creates a new interim component, which we'll take advantage of\n * instead of extending ParentComponent to create _another_ interim class\n */\n let WrappedStyledComponent: IStyledComponent;\n\n const forwardRef = (props, ref) =>\n // eslint-disable-next-line\n useStyledComponentImpl(WrappedStyledComponent, props, ref, isStatic);\n\n forwardRef.displayName = displayName;\n\n WrappedStyledComponent = ((React.forwardRef(forwardRef): any): IStyledComponent);\n WrappedStyledComponent.attrs = finalAttrs;\n WrappedStyledComponent.componentStyle = componentStyle;\n WrappedStyledComponent.displayName = displayName;\n WrappedStyledComponent.shouldForwardProp = shouldForwardProp;\n\n // this static is used to preserve the cascade of static classes for component selector\n // purposes; this is especially important with usage of the css prop\n WrappedStyledComponent.foldedComponentIds = isTargetStyledComp\n ? Array.prototype.concat(\n ((target: any): IStyledComponent).foldedComponentIds,\n ((target: any): IStyledComponent).styledComponentId\n )\n : EMPTY_ARRAY;\n\n WrappedStyledComponent.styledComponentId = styledComponentId;\n\n // fold the underlying StyledComponent target up since we folded the styles\n WrappedStyledComponent.target = isTargetStyledComp\n ? ((target: any): IStyledComponent).target\n : target;\n\n WrappedStyledComponent.withComponent = function withComponent(tag: Target) {\n const { componentId: previousComponentId, ...optionsToCopy } = options;\n\n const newComponentId =\n previousComponentId &&\n `${previousComponentId}-${isTag(tag) ? tag : escape(getComponentName(tag))}`;\n\n const newOptions = {\n ...optionsToCopy,\n attrs: finalAttrs,\n componentId: newComponentId,\n };\n\n return createStyledComponent(tag, newOptions, rules);\n };\n\n Object.defineProperty(WrappedStyledComponent, 'defaultProps', {\n get() {\n return this._foldedDefaultProps;\n },\n\n set(obj) {\n this._foldedDefaultProps = isTargetStyledComp\n ? merge({}, ((target: any): IStyledComponent).defaultProps, obj)\n : obj;\n },\n });\n\n if (process.env.NODE_ENV !== 'production') {\n checkDynamicCreation(displayName, styledComponentId);\n\n WrappedStyledComponent.warnTooManyClasses = createWarnTooManyClasses(\n displayName,\n styledComponentId\n );\n }\n\n // If the Object prototype is frozen, the \"toString\" property is non-writable. This means that any objects which inherit this property\n // cannot have the property changed using an assignment. If using strict mode, attempting that will cause an error. If not using strict\n // mode, attempting that will be silently ignored.\n // However, we can still explicitly shadow the prototype's \"toString\" property by defining a new \"toString\" property on this object.\n Object.defineProperty(WrappedStyledComponent, 'toString', { value: () => `.${WrappedStyledComponent.styledComponentId}` });\n\n if (isCompositeComponent) {\n hoist<\n IStyledStatics,\n $PropertyType<IStyledComponent, 'target'>,\n { [key: $Keys<IStyledStatics>]: true }\n >(WrappedStyledComponent, ((target: any): $PropertyType<IStyledComponent, 'target'>), {\n // all SC-specific things should not be hoisted\n attrs: true,\n componentStyle: true,\n displayName: true,\n foldedComponentIds: true,\n shouldForwardProp: true,\n styledComponentId: true,\n target: true,\n withComponent: true,\n });\n }\n\n return WrappedStyledComponent;\n}\n","// @flow\nimport type { IStyledComponent } from '../types';\nimport getComponentName from './getComponentName';\nimport isTag from './isTag';\n\nexport default function generateDisplayName(\n target: $PropertyType<IStyledComponent, 'target'>\n): string {\n return isTag(target) ? `styled.${target}` : `Styled(${getComponentName(target)})`;\n}\n","/**\n * Convenience function for joining strings to form className chains\n */\nexport default function joinStrings(a: ?String, b: ?String): ?String {\n return a && b ? `${a} ${b}` : a || b;\n}\n","// @flow\nimport constructWithOptions from './constructWithOptions';\nimport StyledComponent from '../models/StyledComponent';\nimport domElements from '../utils/domElements';\n\nimport type { Target } from '../types';\n\nconst styled = (tag: Target) => constructWithOptions(StyledComponent, tag);\n\n// Shorthands for all valid HTML Elements\ndomElements.forEach(domElement => {\n styled[domElement] = styled(domElement);\n});\n\nexport default styled;\n","// @flow\nimport { isValidElementType } from 'react-is';\nimport css from './css';\nimport throwStyledError from '../utils/error';\nimport { EMPTY_OBJECT } from '../utils/empties';\n\nimport type { Target } from '../types';\n\nexport default function constructWithOptions(\n componentConstructor: Function,\n tag: Target,\n options: Object = EMPTY_OBJECT\n) {\n if (!isValidElementType(tag)) {\n return throwStyledError(1, String(tag));\n }\n\n /* This is callable directly as a template function */\n // $FlowFixMe: Not typed to avoid destructuring arguments\n const templateFunction = (...args) => componentConstructor(tag, options, css(...args));\n\n /* If config methods are called, wrap up a new template function and merge options */\n templateFunction.withConfig = config =>\n constructWithOptions(componentConstructor, tag, { ...options, ...config });\n\n /* Modify/inject new props at runtime */\n templateFunction.attrs = attrs =>\n constructWithOptions(componentConstructor, tag, {\n ...options,\n attrs: Array.prototype.concat(options.attrs, attrs).filter(Boolean),\n });\n\n return templateFunction;\n}\n","// @flow\nimport * as secondary from './base';\n\n/* Import singleton constructors */\nimport styled from './constructors/styled';\n\n/**\n * eliminates the need to do styled.default since the other APIs\n * are directly assigned as properties to the main function\n * */\n// eslint-disable-next-line guard-for-in\nfor (const key in secondary) {\n styled[key] = secondary[key];\n}\n\nexport default styled;\n","// @flow\n// Thanks to ReactDOMFactories for this handy list!\n\nexport default [\n 'a',\n 'abbr',\n 'address',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'base',\n 'bdi',\n 'bdo',\n 'big',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'data',\n 'datalist',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'embed',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hgroup',\n 'hr',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'keygen',\n 'label',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'map',\n 'mark',\n 'marquee',\n 'menu',\n 'menuitem',\n 'meta',\n 'meter',\n 'nav',\n 'noscript',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'param',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n 'script',\n 'section',\n 'select',\n 'small',\n 'source',\n 'span',\n 'strong',\n 'style',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'title',\n 'tr',\n 'track',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n\n // SVG\n 'circle',\n 'clipPath',\n 'defs',\n 'ellipse',\n 'foreignObject',\n 'g',\n 'image',\n 'line',\n 'linearGradient',\n 'marker',\n 'mask',\n 'path',\n 'pattern',\n 'polygon',\n 'polyline',\n 'radialGradient',\n 'rect',\n 'stop',\n 'svg',\n 'text',\n 'textPath',\n 'tspan',\n];\n"],"names":["isStyledComponent","target","styledComponentId","strings","interpolations","result","i","len","length","push","x","toString","Object","prototype","call","typeOf","EMPTY_ARRAY","freeze","EMPTY_OBJECT","isFunction","test","SC_ATTR","process","env","REACT_APP_SC_ATTR","IS_BROWSER","window","DISABLE_SPEEDY","Boolean","SC_DISABLE_SPEEDY","REACT_APP_SC_DISABLE_SPEEDY","STATIC_EXECUTION_CONTEXT","throwStyledComponentsError","code","Error","join","DefaultGroupedTag","tag","groupSizes","Uint32Array","indexOfGroup","group","index","this","insertRules","rules","oldBuffer","oldSize","newSize","throwStyledError","set","ruleIndex","l","insertRule","clearGroup","startIndex","endIndex","deleteRule","getGroup","css","getRule","groupIDRegister","Map","reverseRegister","nextFreeGroup","getGroupForId","id","has","get","getIdForGroup","setGroupForId","SELECTOR","MARKER_RE","RegExp","rehydrateNamesFromContent","sheet","content","name","names","split","registerName","rehydrateSheetFromTag","style","parts","textContent","part","trim","marker","match","parseInt","getTag","getNonce","__webpack_nonce__","makeStyleTag","head","document","parent","createElement","prevStyle","childNodes","child","nodeType","hasAttribute","findLastStyleTag","nextSibling","undefined","setAttribute","__VERSION__","nonce","insertBefore","CSSOMTag","element","appendChild","createTextNode","styleSheets","ownerNode","getSheet","rule","_error","cssRules","cssText","TextTag","nodes","node","refNode","removeChild","VirtualTag","_target","splice","SHOULD_REHYDRATE","defaultOptions","isServer","useCSSOMInjection","StyleSheet","options","globalStyles","gs","server","querySelectorAll","getAttribute","parentNode","rehydrateSheet","registerId","reconstructWithOptions","withNames","allocateGSInstance","hasNameForId","add","groupNames","Set","clearNames","clear","clearRules","clearTag","size","selector","forEach","outputSheet","AD_REPLACER_R","getAlphabeticChar","String","fromCharCode","generateAlphabeticName","Math","abs","replace","phash","h","charCodeAt","hash","isStaticRules","SEED","ComponentStyle","componentId","baseStyle","staticRulesId","isStatic","baseHash","generateAndInjectStyles","executionContext","styleSheet","stylis","cssStatic","flatten","generateName","cssStaticFormatted","dynamicHash","partRule","partChunk","partString","Array","isArray","cssFormatted","stylis_min","W","X","d","c","e","ia","a","m","b","Z","v","n","F","indexOf","P","substring","w","L","ja","ka","aa","G","ba","la","ma","R","na","ea","oa","H","q","g","A","S","B","U","prefix","D","z","M","k","y","C","K","u","r","I","t","J","f","p","N","charAt","ca","O","da","fa","Y","E","ha","Q","use","T","COMMENT_REGEX","COMPLEX_SELECTOR_PREFIX","createStylisInstance","_componentId","_selector","_selectorRegexp","_consecutiveSelfRefRegExp","plugins","Stylis","parsingRules","parseRulesPlugin","toSheet","block","context","selectors","parents","line","column","ns","depth","at","delimiter","insertRulePlugin","selfReferenceReplacer","offset","string","stringifyRules","flatCSS","cssStr","_","lastIndexOf","parsedRules","reduce","acc","plugin","StyleSheetContext","React","createContext","StyleSheetConsumer","Consumer","StylisContext","masterSheet","masterStylis","useStyleSheet","useContext","useStylis","StyleSheetManager","props","useState","stylisPlugins","setPlugins","contextStyleSheet","useMemo","disableCSSOMInjection","disableVendorPrefixes","useEffect","objA","objB","compare","compareContext","ret","keysA","keys","keysB","bHasOwnProperty","hasOwnProperty","bind","idx","key","valueA","valueB","shallowequal","Provider","value","children","Keyframes","inject","stylisInstance","resolvedName","_this","getName","uppercaseCheck","uppercasePattern","msPattern","prefixAndLowerCase","char","toLowerCase","hyphenateStyleName","unitlessKeys","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","fontWeight","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","isFalsish","chunk","ruleSet","isReactComponent","isPlainObject","objToCssArray","obj","prevKey","isCss","hyphenate","unitless","startsWith","addTag","arg","styles","interleave","GlobalStyle","createStyles","instance","removeStyles","renderStyles","ThemeContext","ThemeConsumer","providedTheme","defaultProps","theme","str","ServerStyleSheet","_emitSheetCSS","SC_ATTR_VERSION","filter","getStyleTags","sealed","getStyleElement","dangerouslySetInnerHTML","__html","seal","collectStyles","interleaveWithNodeStream","input","REACT_STATICS","childContextTypes","contextType","contextTypes","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","type","KNOWN_STATICS","caller","callee","arguments","arity","MEMO_STATICS","$$typeof","TYPE_STATICS","getStatics","component","reactIs","isMemo","ForwardRef","render","Memo","defineProperty","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","concat","targetStatics","sourceStatics","descriptor","__PRIVATE__","generateComponentId","JSON","stringify","globalStyle","GlobalStyleComponent","useRef","current","useLayoutEffect","determineTheme","memo","outerTheme","themeContext","mergeTheme","Component","WithTheme","forwardRef","ref","themeProp","hoistStatics","memoize","fn","cache","create","reactPropsRegex","isPropValid","prop","escapeRegex","dashesAtEnds","escape","isTag","isObject","val","isValidKey","mixin","mixinDeep","rest","identifiers","createStyledComponent","isTargetStyledComp","isCompositeComponent","attrs","parentComponentId","generateId","generateDisplayName","finalAttrs","shouldForwardProp","filterFn","elementToBeCreated","WrappedStyledComponent","componentStyle","forwardedComponent","forwardedRef","componentAttrs","foldedComponentIds","resolvedAttrs","attrDef","resolvedAttrDef","useResolvedAttrs","generatedClassName","warnTooManyClasses","useInjectedStyle","refToForward","$as","as","isTargetTag","computedProps","propsForElement","validAttr","className","withComponent","previousComponentId","optionsToCopy","newComponentId","getComponentName","_foldedDefaultProps","merge","hoist","styled","constructWithOptions","componentConstructor","isValidElementType","templateFunction","withConfig","config","StyledComponent","domElement","secondary"],"mappings":"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YAAaoX,IAG+Bpf,IAGhDjC,OAAO6b,eAAegE,EAAwB,eAAgB,CAC5Drc,sBACSzB,KAAKwf,qBAGdjf,aAAI2V,QACGsJ,oBAAsBpC,EACvBqC,GAAM,GAAMniB,EAAgC8Z,aAAclB,GAC1DA,KAiBRjY,OAAO6b,eAAegE,EAAwB,WAAY,CAAE/L,MAAO,qBAAU+L,EAAuBvgB,qBAEhG8f,GACFqC,GAIE5B,EAA0BxgB,EAA0D,CAEpFggB,OAAO,EACPS,gBAAgB,EAChBvF,aAAa,EACb2F,oBAAoB,EACpBR,mBAAmB,EACnBpgB,mBAAmB,EACnBD,QAAQ,EACR6hB,eAAe,IAIZrB,MG9TH6B,GAAS,SAACjgB,UCCD,SAASkgB,EACtBC,EACAngB,EACAiG,eAAAA,IAAAA,EAAkBpH,IAEbuhB,qBAAmBpgB,UACfY,EAAiB,EAAG+G,OAAO3H,QAK9BqgB,EAAmB,kBAAaF,EAAqBngB,EAAKiG,EAAS3E,oCAGzE+e,EAAiBC,WAAa,SAAAC,UAC5BL,EAAqBC,EAAsBngB,OAAUiG,KAAYsa,KAGnEF,EAAiBzC,MAAQ,SAAAA,UACvBsC,EAAqBC,EAAsBngB,OACtCiG,GACH2X,MAAOnU,MAAMjL,UAAUuc,OAAO9U,EAAQ2X,MAAOA,GAAO5F,OAAOzY,aAGxD8gB,EDzBuBH,CAAqBM,GAAiBxgB,IEItE,IAAK,IAAMgS,KCRI,CACb,IACA,OACA,UACA,OACA,UACA,QACA,QACA,IACA,OACA,MACA,MACA,MACA,aACA,OACA,KACA,SACA,SACA,UACA,OACA,OACA,MACA,WACA,OACA,WACA,KACA,MACA,UACA,MACA,SACA,MACA,KACA,KACA,KACA,QACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,SACA,QACA,SACA,KACA,OACA,OACA,MACA,OACA,UACA,OACA,WACA,OACA,QACA,MACA,WACA,SACA,KACA,WACA,SACA,SACA,IACA,QACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,SACA,UACA,SACA,QACA,SACA,OACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,QACA,KACA,QACA,IACA,KACA,MACA,QACA,MAGA,SACA,WACA,OACA,UACA,gBACA,IACA,QACA,OACA,iBACA,SACA,OACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,MACA,OACA,WACA,SHnIUzK,SAAQ,SAAAkZ,GAClBR,GAAOQ,GAAcR,GAAOQ,MEAZC,GAChBT,GAAOjO,IAAO0O,GAAU1O"}