{"version":3,"file":"styled-components.native.esm.js","sources":["../../src/utils/empties.ts","../../src/utils/error.ts","../../src/utils/errors.ts","../../src/utils/setToString.ts","../../src/constants.ts","../../src/sheet/GroupedTag.ts","../../src/sheet/GroupIDAllocator.ts","../../src/sheet/Rehydration.ts","../../src/sheet/dom.ts","../../src/utils/nonce.ts","../../src/sheet/Tag.ts","../../src/sheet/Sheet.ts","../../src/utils/hash.ts","../../src/utils/stylis.ts","../../src/models/StyleSheetManager.tsx","../../src/models/Keyframes.ts","../../src/utils/getComponentName.ts","../../src/utils/hyphenateStyleName.ts","../../src/utils/isFunction.ts","../../src/utils/isPlainObject.ts","../../src/utils/isStyledComponent.ts","../../src/utils/flatten.ts","../../src/utils/addUnitIfNeeded.ts","../../src/utils/isStatelessFunction.ts","../../src/utils/interleave.ts","../../src/constructors/css.ts","../../src/constructors/constructWithOptions.ts","../../src/models/ThemeProvider.tsx","../../src/utils/determineTheme.ts","../../src/utils/hoist.ts","../../src/hoc/withTheme.tsx","../../src/utils/generateAlphabeticName.ts","../../src/utils/joinStrings.ts","../../src/models/InlineStyle.ts","../../src/utils/mixinDeep.ts","../../src/models/StyledNativeComponent.ts","../../src/native/index.ts","../../src/utils/generateComponentId.ts","../../src/utils/generateDisplayName.ts","../../src/utils/isTag.ts"],"sourcesContent":["import { Dict } from '../types';\n\nexport const EMPTY_ARRAY = Object.freeze([]) as Readonly;\nexport const EMPTY_OBJECT = Object.freeze({}) as Readonly>;\n","import { Dict } from '../types';\nimport errorMap from './errors';\n\nconst ERRORS: Dict = process.env.NODE_ENV !== 'production' ? errorMap : {};\n\n/**\n * super basic version of sprintf\n */\nfunction format(...args: [string, ...any]) {\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: any[]\n) {\n if (process.env.NODE_ENV === 'production') {\n return new Error(\n `An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#${code} for more information.${\n interpolations.length > 0 ? ` Args: ${interpolations.join(', ')}` : ''\n }`\n );\n } else {\n return new Error(format(ERRORS[code], ...interpolations).trim());\n }\n}\n","export default {\n '1': 'Cannot create styled-component for component: %s.\\n\\n',\n '2': \"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n- Are you trying to reuse it across renders?\\n- Are you accidentally calling collectStyles twice?\\n\\n\",\n '3': 'Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n',\n '4': 'The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n- Does this error occur on the client and is your target falsy?\\n- Does this error occur on the server and is the sheet falsy?\\n\\n',\n '5': 'The clone method cannot be used on the client!\\n\\n- Are you running in a client-like environment on the server?\\n- Are you trying to run SSR on the client?\\n\\n',\n '6': \"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n- Are you using a custom target that isn't mounted?\\n- Does your document not have a valid head element?\\n- Have you accidentally removed a style tag manually?\\n\\n\",\n '7': 'ThemeProvider: Please return an object from your \"theme\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n',\n '8': 'ThemeProvider: Please make your \"theme\" prop an object.\\n\\n',\n '9': 'Missing document ``\\n\\n',\n '10': 'Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n',\n '11': '_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n',\n '12': 'It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n',\n '13': '%s 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 '14': 'ThemeProvider: \"theme\" prop is required.\\n\\n',\n '15': \"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to ``, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",\n '16': \"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",\n '17': \"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\",\n '18': 'ThemeProvider: Please make sure your useTheme hook is within a ``',\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 a \"=\" assignment operator. If using strict mode, attempting that will cause an error. If not using\n * strict mode, attempting that will be silently ignored.\n *\n * If the Object prototype is frozen, inherited non-writable properties can still be shadowed using one of two mechanisms:\n *\n * 1. ES6 class methods: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes#methods\n * 2. Using the `Object.defineProperty()` static method:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty\n *\n * However, this project uses Babel to transpile ES6 classes, and transforms ES6 class methods to use the assignment operator instead:\n * https://babeljs.io/docs/babel-plugin-transform-class-properties#options\n *\n * Therefore, the most compatible way to shadow the prototype's \"toString\" property is to define a new \"toString\" property on this object.\n */\nexport function setToString(object: object, toStringFn: () => string) {\n Object.defineProperty(object, 'toString', { value: toStringFn });\n}\n","declare let SC_DISABLE_SPEEDY: boolean | null | undefined;\ndeclare let __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' &&\n 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 !== 'undefined' &&\n typeof process.env !== 'undefined' &&\n typeof process.env.SC_DISABLE_SPEEDY !== 'undefined' &&\n 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);\n\n// Shared empty execution context when generating static styles\nexport const STATIC_EXECUTION_CONTEXT = {};\n","import { SPLITTER } from '../constants';\nimport styledError from '../utils/error';\nimport { GroupedTag, Tag } from './types';\n\n/** Create a GroupedTag with an underlying Tag implementation */\nexport const makeGroupedTag = (tag: Tag) => {\n return new DefaultGroupedTag(tag);\n};\n\nconst BASE_SIZE = 1 << 9;\n\nconst DefaultGroupedTag = class DefaultGroupedTag implements GroupedTag {\n groupSizes: Uint32Array;\n length: number;\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) {\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[]) {\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 throw styledError(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\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) {\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) {\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","import styledError from '../utils/error';\n\nconst MAX_SMI = 1 << (31 - 1);\n\nlet groupIDRegister: Map = new Map();\nlet reverseRegister: Map = 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) as any;\n }\n\n while (reverseRegister.has(nextFreeGroup)) {\n nextFreeGroup++;\n }\n\n const group = nextFreeGroup++;\n\n if (process.env.NODE_ENV !== 'production' && ((group | 0) < 0 || group > MAX_SMI)) {\n throw styledError(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 groupIDRegister.set(id, group);\n reverseRegister.set(group, id);\n};\n","import { SC_ATTR, SC_ATTR_ACTIVE, SC_ATTR_VERSION, SC_VERSION, SPLITTER } from '../constants';\nimport { getIdForGroup, setGroupForId } from './GroupIDAllocator';\nimport { 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 === undefined || rules.length === 0) 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 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] as any as 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","import { SC_ATTR, SC_ATTR_ACTIVE, SC_ATTR_VERSION, SC_VERSION } from '../constants';\nimport styledError from '../utils/error';\nimport getNonce from '../utils/nonce';\n\n/** Find last style element if any inside target */\nconst findLastStyleTag = (target: HTMLElement): void | HTMLStyleElement => {\n const arr = Array.from(target.querySelectorAll(`style[${SC_ATTR}]`));\n\n return arr[arr.length - 1];\n};\n\n/** Create a style element inside `target` or after the last */\nexport const makeStyleTag = (target?: HTMLElement | undefined): HTMLStyleElement => {\n const head = document.head;\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 as any as 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 as any as CSSStyleSheet;\n }\n }\n\n throw styledError(17);\n};\n","declare let __webpack_nonce__: string;\n\nexport default function getNonce() {\n return typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n}\n","import { getSheet, makeStyleTag } from './dom';\nimport { SheetOptions, Tag } from './types';\n\n/** Create a CSSStyleSheet-like tag depending on the environment */\nexport const makeTag = ({ isServer, useCSSOMInjection, target }: SheetOptions) => {\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 const CSSOMTag = class CSSOMTag implements Tag {\n element: HTMLStyleElement;\n\n sheet: CSSStyleSheet;\n\n length: number;\n\n constructor(target?: HTMLElement | undefined) {\n this.element = makeStyleTag(target);\n\n // Avoid Edge bug where empty style elements don't create sheets\n this.element.appendChild(document.createTextNode(''));\n\n this.sheet = getSheet(this.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\n // Avoid IE11 quirk where cssText is inaccessible on some invalid rules\n if (rule && rule.cssText) {\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 const TextTag = class TextTag implements Tag {\n element: HTMLStyleElement;\n nodes: NodeListOf;\n length: number;\n\n constructor(target?: HTMLElement | undefined) {\n this.element = makeStyleTag(target);\n this.nodes = this.element.childNodes;\n this.length = 0;\n }\n\n insertRule(index: number, rule: string) {\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) {\n this.element.removeChild(this.nodes[index]);\n this.length--;\n }\n\n getRule(index: number) {\n if (index < this.length) {\n return this.nodes[index].textContent as string;\n } else {\n return '';\n }\n }\n};\n\n/** A completely virtual (server-side) Tag that doesn't manipulate the DOM */\nexport const VirtualTag = class VirtualTag implements Tag {\n rules: string[];\n\n length: number;\n\n constructor(_target?: HTMLElement | undefined) {\n this.rules = [];\n this.length = 0;\n }\n\n insertRule(index: number, rule: string) {\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) {\n this.rules.splice(index, 1);\n this.length--;\n }\n\n getRule(index: number) {\n if (index < this.length) {\n return this.rules[index];\n } else {\n return '';\n }\n }\n};\n","import { DISABLE_SPEEDY, IS_BROWSER } from '../constants';\nimport { EMPTY_OBJECT } from '../utils/empties';\nimport { setToString } from '../utils/setToString';\nimport { makeGroupedTag } from './GroupedTag';\nimport { getGroupForId } from './GroupIDAllocator';\nimport { outputSheet, rehydrateSheet } from './Rehydration';\nimport { makeTag } from './Tag';\nimport { GroupedTag, Sheet, SheetOptions } from './types';\n\nlet SHOULD_REHYDRATE = IS_BROWSER;\n\ntype SheetConstructorArgs = {\n isServer?: boolean;\n useCSSOMInjection?: boolean;\n target?: HTMLElement | undefined;\n};\n\ntype GlobalStylesAllocationMap = {\n [key: string]: number;\n};\ntype NamesAllocationMap = Map>;\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 names: NamesAllocationMap;\n options: SheetOptions;\n server: boolean;\n tag?: GroupedTag | undefined;\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 as Object,\n globalStyles: GlobalStylesAllocationMap = {},\n names?: NamesAllocationMap | undefined\n ) {\n this.options = {\n ...defaultOptions,\n ...options,\n };\n\n this.gs = globalStyles;\n this.names = new Map(names as NamesAllocationMap);\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 setToString(this, () => outputSheet(this));\n }\n\n reconstructWithOptions(options: SheetConstructorArgs, withNames = 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() {\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) as 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) as 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 | 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) as 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","export 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) => {\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) => {\n return phash(SEED, x);\n};\n","import * as stylis from 'stylis';\nimport { Stringifier } from '../types';\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from './empties';\nimport throwStyledError from './error';\nimport { phash, SEED } from './hash';\n\nconst AMP_REGEX = /&/g;\nconst COMMENT_REGEX = /^\\s*\\/\\/.*$/gm;\n\nexport type ICreateStylisInstance = {\n options?: { namespace?: string | undefined; prefix?: boolean | undefined } | undefined;\n plugins?: stylis.Middleware[] | undefined;\n};\n\n/**\n * Takes an element and recurses through it's rules added the namespace to the start of each selector.\n * Takes into account media queries by recursing through child rules if they are present.\n */\nfunction recursivelySetNamepace(compiled: stylis.Element[], namespace: String): stylis.Element[] {\n return compiled.map(rule => {\n if (rule.type === 'rule') {\n // add the namespace to the start\n rule.value = `${namespace} ${rule.value}`;\n // add the namespace after each comma for subsequent selectors.\n // @ts-expect-error we target modern browsers but intentionally transpile to ES5 for speed\n rule.value = rule.value.replaceAll(',', `,${namespace} `);\n rule.props = (rule.props as string[]).map(prop => {\n return `${namespace} ${prop}`;\n });\n }\n\n if (Array.isArray(rule.children) && rule.type !== '@keyframes') {\n rule.children = recursivelySetNamepace(rule.children, namespace);\n }\n return rule;\n });\n}\n\nexport default function createStylisInstance(\n {\n options = EMPTY_OBJECT as object,\n plugins = EMPTY_ARRAY as unknown as stylis.Middleware[],\n }: ICreateStylisInstance = EMPTY_OBJECT as object\n) {\n let _componentId: string;\n let _selector: string;\n let _selectorRegexp: RegExp;\n\n const selfReferenceReplacer: Parameters[1] = (match, offset, string) => {\n if (\n /**\n * We only want to refer to the static class directly in the following scenarios:\n *\n * 1. The selector is alone on the line `& { color: red; }`\n * 2. The selector is part of a self-reference selector `& + & { color: red; }`\n */\n string === _selector ||\n (string.startsWith(_selector) &&\n string.endsWith(_selector) &&\n string.replaceAll(_selector, '').length > 0)\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/v4.0.2#abstract-syntax-structure\n */\n const selfReferenceReplacementPlugin: stylis.Middleware = element => {\n if (element.type === stylis.RULESET && element.value.includes('&')) {\n (element.props as string[])[0] = element.props[0]\n // catch any hanging references that stylis missed\n .replace(AMP_REGEX, _selector)\n .replace(_selectorRegexp, selfReferenceReplacer);\n }\n };\n\n const middlewares = plugins.slice();\n\n middlewares.push(selfReferenceReplacementPlugin);\n\n /**\n * Enables automatic vendor-prefixing for styles.\n */\n if (options.prefix) {\n middlewares.push(stylis.prefixer);\n }\n\n middlewares.push(stylis.stringify);\n\n const stringifyRules: Stringifier = (\n css: string,\n selector = '',\n /**\n * This \"prefix\" referes to a _selector_ prefix.\n */\n prefix = '',\n componentId = '&'\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\n const flatCSS = css.replace(COMMENT_REGEX, '');\n let compiled = stylis.compile(\n prefix || selector ? `${prefix} ${selector} { ${flatCSS} }` : flatCSS\n );\n\n if (options.namespace) {\n compiled = recursivelySetNamepace(compiled, options.namespace);\n }\n\n const stack: string[] = [];\n\n stylis.serialize(\n compiled,\n stylis.middleware(middlewares.concat(stylis.rulesheet(value => stack.push(value))))\n );\n\n return stack;\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","import React, { useContext, useEffect, useMemo, useState } from 'react';\nimport shallowequal from 'shallowequal';\nimport type stylis from 'stylis';\nimport StyleSheet from '../sheet';\nimport { ShouldForwardProp, Stringifier } from '../types';\nimport createStylisInstance from '../utils/stylis';\n\nexport const mainSheet: StyleSheet = new StyleSheet();\nexport const mainStylis: Stringifier = createStylisInstance();\n\nexport type IStyleSheetContext = {\n shouldForwardProp?: ShouldForwardProp<'web'> | undefined;\n styleSheet: StyleSheet;\n stylis: Stringifier;\n};\n\nexport const StyleSheetContext = React.createContext({\n shouldForwardProp: undefined,\n styleSheet: mainSheet,\n stylis: mainStylis,\n});\n\nexport const StyleSheetConsumer = StyleSheetContext.Consumer;\n\nexport type IStylisContext = Stringifier | void;\nexport const StylisContext = React.createContext(undefined);\nexport const StylisConsumer = StylisContext.Consumer;\n\nexport function useStyleSheetContext() {\n return useContext(StyleSheetContext);\n}\n\nexport type IStyleSheetManager = React.PropsWithChildren<{\n /**\n * If desired, you can pass this prop to disable \"speedy\" insertion mode, which\n * uses the browser [CSSOM APIs](https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet).\n * When disabled, rules are inserted as simple text into style blocks.\n */\n disableCSSOMInjection?: undefined | boolean;\n /**\n * If you are working exclusively with modern browsers, vendor prefixes can often be omitted\n * to reduce the weight of CSS on the page.\n */\n enableVendorPrefixes?: undefined | boolean;\n /**\n * Provide an optional selector to be prepended to all generated style rules.\n */\n namespace?: undefined | string;\n /**\n * Create and provide your own `StyleSheet` if necessary for advanced SSR scenarios.\n */\n sheet?: undefined | StyleSheet;\n /**\n * Starting in v6, styled-components no longer does its own prop validation\n * and recommends use of transient props \"$prop\" to pass style-only props to\n * components. If for some reason you are not able to use transient props, a\n * prop validation function can be provided via `StyleSheetManager`, such as\n * `@emotion/is-prop-valid`.\n *\n * When the return value is `true`, props will be forwarded to the DOM/underlying\n * component. If return value is `false`, the prop will be discarded after styles\n * are calculated.\n *\n * Manually composing `styled.{element}.withConfig({shouldForwardProp})` will\n * override this default.\n */\n shouldForwardProp?: undefined | IStyleSheetContext['shouldForwardProp'];\n /**\n * An array of plugins to be run by stylis (style processor) during compilation.\n * Check out [what's available on npm*](https://www.npmjs.com/search?q=keywords%3Astylis).\n *\n * \\* The plugin(s) must be compatible with stylis v4 or above.\n */\n stylisPlugins?: undefined | stylis.Middleware[];\n /**\n * Provide an alternate DOM node to host generated styles; useful for iframes.\n */\n target?: undefined | HTMLElement;\n}>;\n\nexport function StyleSheetManager(props: IStyleSheetManager): JSX.Element {\n const [plugins, setPlugins] = useState(props.stylisPlugins);\n const { styleSheet } = useStyleSheetContext();\n\n const resolvedStyleSheet = useMemo(() => {\n let sheet = styleSheet;\n\n if (props.sheet) {\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, styleSheet]);\n\n const stylis = useMemo(\n () =>\n createStylisInstance({\n options: { namespace: props.namespace, prefix: props.enableVendorPrefixes },\n plugins,\n }),\n [props.enableVendorPrefixes, props.namespace, plugins]\n );\n\n useEffect(() => {\n if (!shallowequal(plugins, props.stylisPlugins)) setPlugins(props.stylisPlugins);\n }, [props.stylisPlugins]);\n\n const styleSheetContextValue = useMemo(\n () => ({\n shouldForwardProp: props.shouldForwardProp,\n styleSheet: resolvedStyleSheet,\n stylis,\n }),\n [props.shouldForwardProp, resolvedStyleSheet, stylis]\n );\n\n return (\n \n {props.children}\n \n );\n}\n","import StyleSheet from '../sheet';\nimport { Keyframes as KeyframesType, Stringifier } from '../types';\nimport styledError from '../utils/error';\nimport { setToString } from '../utils/setToString';\nimport { mainStylis } from './StyleSheetManager';\n\nexport default class Keyframes implements KeyframesType {\n id: string;\n name: string;\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 setToString(this, () => {\n throw styledError(12, String(this.name));\n });\n }\n\n inject = (styleSheet: StyleSheet, stylisInstance: Stringifier = mainStylis): void => {\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 getName(stylisInstance: Stringifier = mainStylis): string {\n return this.name + stylisInstance.hash;\n }\n}\n","import { StyledTarget } from '../types';\n\nexport default function getComponentName(target: StyledTarget) {\n return (\n (process.env.NODE_ENV !== 'production' ? typeof target === 'string' && target : false) ||\n (target as Exclude, string>).displayName ||\n (target as Function).name ||\n 'Component'\n );\n}\n","const isUpper = (c: string) => c >= 'A' && c <= 'Z';\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 */\nexport default function hyphenateStyleName(string: string): string {\n let output = '';\n\n for (let i = 0; i < string.length; i++) {\n const c = string[i];\n // Check for CSS variable prefix\n if (i === 1 && c === '-' && string[0] === '-') {\n return string;\n }\n\n if (isUpper(c)) {\n output += '-' + c.toLowerCase();\n } else {\n output += c;\n }\n }\n\n return output.startsWith('ms-') ? '-' + output : output;\n}\n","export default function isFunction(test: any): test is Function {\n return typeof test === 'function';\n}\n","export default function isPlainObject(x: any): x is Record {\n return (\n x !== null &&\n typeof x === 'object' &&\n x.constructor.name === Object.name &&\n /* check for reasonable markers that the object isn't an element for react & preact/compat */\n !('props' in x && x.$$typeof)\n );\n}\n","import { StyledComponentBrand } from '../types';\n\nexport default function isStyledComponent(target: any): target is StyledComponentBrand {\n return typeof target === 'object' && 'styledComponentId' in target;\n}\n","import Keyframes from '../models/Keyframes';\nimport StyleSheet from '../sheet';\nimport {\n AnyComponent,\n Dict,\n ExecutionContext,\n Interpolation,\n IStyledComponent,\n RuleSet,\n Stringifier,\n StyledObject,\n} from '../types';\nimport addUnitIfNeeded from './addUnitIfNeeded';\nimport { EMPTY_ARRAY } from './empties';\nimport getComponentName from './getComponentName';\nimport hyphenate from './hyphenateStyleName';\nimport isFunction from './isFunction';\nimport isPlainObject from './isPlainObject';\nimport isStatelessFunction from './isStatelessFunction';\nimport isStyledComponent from './isStyledComponent';\n\n/**\n * It's falsish not falsy because 0 is allowed.\n */\nconst isFalsish = (chunk: any): chunk is undefined | null | false | '' =>\n chunk === undefined || chunk === null || chunk === false || chunk === '';\n\nexport const objToCssArray = (obj: Dict): string[] => {\n const rules = [];\n\n for (const key in obj) {\n const val = obj[key];\n if (!obj.hasOwnProperty(key) || isFalsish(val)) continue;\n\n // @ts-expect-error Property 'isCss' does not exist on type 'any[]'\n if ((Array.isArray(val) && val.isCss) || isFunction(val)) {\n rules.push(`${hyphenate(key)}:`, val, ';');\n } else if (isPlainObject(val)) {\n rules.push(`${key} {`, ...objToCssArray(val), '}');\n } else {\n rules.push(`${hyphenate(key)}: ${addUnitIfNeeded(key, val)};`);\n }\n }\n\n return rules;\n};\n\nexport default function flatten(\n chunk: Interpolation,\n executionContext?: (ExecutionContext & Props) | undefined,\n styleSheet?: StyleSheet | undefined,\n stylisInstance?: Stringifier | undefined\n): RuleSet {\n if (isFalsish(chunk)) {\n return [];\n }\n\n /* Handle other components */\n if (isStyledComponent(chunk)) {\n return [`.${(chunk as unknown as IStyledComponent<'web', any>).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 (\n process.env.NODE_ENV !== 'production' &&\n typeof result === 'object' &&\n !Array.isArray(result) &&\n !(result instanceof Keyframes) &&\n !isPlainObject(result) &&\n result !== null\n ) {\n console.error(\n `${getComponentName(\n chunk as AnyComponent\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 {\n return [chunk as unknown as IStyledComponent<'web'>];\n }\n }\n\n if (chunk instanceof Keyframes) {\n if (styleSheet) {\n chunk.inject(styleSheet, stylisInstance);\n return [chunk.getName(stylisInstance)];\n } else {\n return [chunk];\n }\n }\n\n /* Handle objects */\n if (isPlainObject(chunk)) {\n return objToCssArray(chunk as StyledObject);\n }\n\n if (!Array.isArray(chunk)) {\n return [chunk.toString()];\n }\n\n return flatMap(chunk, chunklet =>\n flatten(chunklet, executionContext, styleSheet, stylisInstance)\n );\n}\n\nfunction flatMap(array: T[], transform: (value: T, index: number, array: T[]) => U[]): U[] {\n return Array.prototype.concat.apply(EMPTY_ARRAY, array.map(transform));\n}\n","import 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) {\n // https://github.com/amilajack/eslint-plugin-flowtype-errors/issues/133\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","import isFunction from './isFunction';\n\nexport default function isStatelessFunction(test: any): test is Function {\n return isFunction(test) && !(test.prototype && test.prototype.isReactComponent);\n}\n","import { Interpolation } from '../types';\n\nexport default function interleave(\n strings: readonly string[],\n interpolations: Interpolation[]\n): Interpolation[] {\n const result: Interpolation[] = [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","import {\n BaseObject,\n Interpolation,\n NoInfer,\n RuleSet,\n StyledObject,\n StyleFunction,\n Styles,\n} from '../types';\nimport { EMPTY_ARRAY } from '../utils/empties';\nimport flatten from '../utils/flatten';\nimport interleave from '../utils/interleave';\nimport isFunction from '../utils/isFunction';\nimport isPlainObject from '../utils/isPlainObject';\n\n/**\n * Used when flattening object styles to determine if we should\n * expand an array of styles.\n */\nconst addTag = >(arg: T): T & { isCss: true } =>\n Object.assign(arg, { isCss: true } as const);\n\nfunction css(styles: Styles, ...interpolations: Interpolation[]): RuleSet;\nfunction css(\n styles: Styles>,\n ...interpolations: Interpolation>[]\n): RuleSet>;\nfunction css(\n styles: Styles>,\n ...interpolations: Interpolation>[]\n): RuleSet> {\n if (isFunction(styles) || isPlainObject(styles)) {\n const styleFunctionOrObject = styles as StyleFunction | StyledObject;\n\n return addTag(\n flatten(\n interleave(EMPTY_ARRAY, [\n styleFunctionOrObject,\n ...interpolations,\n ]) as Interpolation\n )\n );\n }\n\n const styleStringArray = styles as TemplateStringsArray;\n\n if (\n interpolations.length === 0 &&\n styleStringArray.length === 1 &&\n typeof styleStringArray[0] === 'string'\n ) {\n return flatten(styleStringArray);\n }\n\n return addTag(\n flatten(interleave(styleStringArray, interpolations) as Interpolation)\n );\n}\n\nexport default css;\n","import {\n Attrs,\n BaseObject,\n ExecutionProps,\n Interpolation,\n IStyledComponent,\n IStyledComponentFactory,\n KnownTarget,\n NoInfer,\n Runtime,\n StyledOptions,\n StyledTarget,\n Styles,\n Substitute,\n} from '../types';\nimport { EMPTY_OBJECT } from '../utils/empties';\nimport styledError from '../utils/error';\nimport css from './css';\n\ntype AttrsResult> = T extends (...args: any) => infer P\n ? P extends object\n ? P\n : never\n : T extends object\n ? T\n : never;\n\n/**\n * Based on Attrs being a simple object or function that returns\n * a prop object, inspect the attrs result and attempt to extract\n * any \"as\" prop usage to modify the runtime target.\n */\ntype AttrsTarget<\n R extends Runtime,\n T extends Attrs,\n FallbackTarget extends StyledTarget,\n Result extends ExecutionProps = AttrsResult,\n> = Result extends { as: infer RuntimeTarget }\n ? RuntimeTarget extends KnownTarget\n ? RuntimeTarget\n : FallbackTarget\n : FallbackTarget;\n\nexport interface Styled<\n R extends Runtime,\n Target extends StyledTarget,\n OuterProps extends object,\n OuterStatics extends object = BaseObject,\n> {\n (\n initialStyles: Styles>>,\n ...interpolations: Interpolation>>[]\n ): IStyledComponent> &\n OuterStatics &\n Statics &\n (Target extends string ? {} : Target);\n\n attrs: <\n Props extends object = BaseObject,\n PrivateMergedProps extends object = Substitute,\n PrivateAttrsArg extends Attrs = Attrs,\n PrivateResolvedTarget extends StyledTarget = AttrsTarget,\n >(\n attrs: PrivateAttrsArg\n ) => Styled<\n R,\n PrivateResolvedTarget,\n PrivateResolvedTarget extends KnownTarget\n ? Substitute<\n Substitute>,\n Props\n >\n : PrivateMergedProps,\n OuterStatics\n >;\n\n withConfig: (config: StyledOptions) => Styled;\n}\n\nexport default function constructWithOptions<\n R extends Runtime,\n Target extends StyledTarget,\n OuterProps extends object = Target extends KnownTarget\n ? React.ComponentPropsWithRef\n : BaseObject,\n OuterStatics extends object = BaseObject,\n>(\n componentConstructor: IStyledComponentFactory, object, any>,\n tag: StyledTarget,\n options: StyledOptions = EMPTY_OBJECT\n): Styled {\n /**\n * We trust that the tag is a valid component as long as it isn't\n * falsish. Typically the tag here is a string or function (i.e.\n * class or pure function component), however a component may also be\n * an object if it uses another utility, e.g. React.memo. React will\n * output an appropriate warning however if the `tag` isn't valid.\n */\n if (!tag) {\n throw styledError(1, tag);\n }\n\n /* This is callable directly as a template function */\n const templateFunction = (\n initialStyles: Styles>,\n ...interpolations: Interpolation>[]\n ) =>\n componentConstructor, Statics>(\n tag,\n options as StyledOptions>,\n css>(initialStyles, ...interpolations)\n );\n\n /**\n * Attrs allows for accomplishing two goals:\n *\n * 1. Backfilling props at runtime more expressively than defaultProps\n * 2. Amending the prop interface of a wrapped styled component\n */\n templateFunction.attrs = <\n Props extends object = BaseObject,\n PrivateMergedProps extends object = Substitute,\n PrivateAttrsArg extends Attrs = Attrs,\n PrivateResolvedTarget extends StyledTarget = AttrsTarget,\n >(\n attrs: PrivateAttrsArg\n ) =>\n constructWithOptions<\n R,\n PrivateResolvedTarget,\n PrivateResolvedTarget extends KnownTarget\n ? Substitute<\n Substitute>,\n Props\n >\n : PrivateMergedProps,\n OuterStatics\n >(componentConstructor, tag, {\n ...options,\n attrs: Array.prototype.concat(options.attrs, attrs).filter(Boolean),\n });\n\n /**\n * If config methods are called, wrap up a new template function\n * and merge options.\n */\n templateFunction.withConfig = (config: StyledOptions) =>\n constructWithOptions(componentConstructor, tag, {\n ...options,\n ...config,\n });\n\n return templateFunction;\n}\n","import React, { useContext, useMemo } from 'react';\nimport styledError from '../utils/error';\nimport isFunction from '../utils/isFunction';\n\n/**\n * Override DefaultTheme to get accurate typings for your project.\n *\n * ```\n * // create styled-components.d.ts in your project source\n * // if it isn't being picked up, check tsconfig compilerOptions.types\n * import type { CSSProp } from \"styled-components\";\n * import Theme from './theme';\n *\n * type ThemeType = typeof Theme;\n *\n * declare module \"styled-components\" {\n * export interface DefaultTheme extends ThemeType {}\n * }\n *\n * declare module \"react\" {\n * interface DOMAttributes {\n * css?: CSSProp;\n * }\n * }\n * ```\n */\nexport interface DefaultTheme {\n [key: string]: any;\n}\n\ntype ThemeFn = (outerTheme?: DefaultTheme | undefined) => DefaultTheme;\ntype ThemeArgument = DefaultTheme | ThemeFn;\n\ntype Props = {\n children?: React.ReactNode;\n theme: ThemeArgument;\n};\n\nexport const ThemeContext = React.createContext(undefined);\n\nexport const ThemeConsumer = ThemeContext.Consumer;\n\nfunction mergeTheme(theme: ThemeArgument, outerTheme?: DefaultTheme | undefined): DefaultTheme {\n if (!theme) {\n throw styledError(14);\n }\n\n if (isFunction(theme)) {\n const themeFn = theme as ThemeFn;\n const mergedTheme = themeFn(outerTheme);\n\n if (\n process.env.NODE_ENV !== 'production' &&\n (mergedTheme === null || Array.isArray(mergedTheme) || typeof mergedTheme !== 'object')\n ) {\n throw styledError(7);\n }\n\n return mergedTheme;\n }\n\n if (Array.isArray(theme) || typeof theme !== 'object') {\n throw styledError(8);\n }\n\n return outerTheme ? { ...outerTheme, ...theme } : theme;\n}\n\n/**\n * Returns the current theme (as provided by the closest ancestor `ThemeProvider`.)\n *\n * If no `ThemeProvider` is found, the function will error. If you need access to the theme in an\n * uncertain composition scenario, `React.useContext(ThemeContext)` will not emit an error if there\n * is no `ThemeProvider` ancestor.\n */\nexport function useTheme(): DefaultTheme {\n const theme = useContext(ThemeContext);\n\n if (!theme) {\n throw styledError(18);\n }\n\n return theme;\n}\n\n/**\n * Provide a theme to an entire react component tree via context\n */\nexport default function ThemeProvider(props: Props): JSX.Element | null {\n const outerTheme = React.useContext(ThemeContext);\n const themeContext = useMemo(\n () => mergeTheme(props.theme, outerTheme),\n [props.theme, outerTheme]\n );\n\n if (!props.children) {\n return null;\n }\n\n return {props.children};\n}\n","import { DefaultTheme, ExecutionProps } from '../types';\nimport { EMPTY_OBJECT } from './empties';\n\nexport default function determineTheme(\n props: ExecutionProps,\n providedTheme?: DefaultTheme | undefined,\n defaultProps: { theme?: DefaultTheme | undefined } = EMPTY_OBJECT\n): DefaultTheme | undefined {\n return (props.theme !== defaultProps.theme && props.theme) || providedTheme || defaultProps.theme;\n}\n","import React from 'react';\nimport { AnyComponent } from '../types';\n\nconst hasSymbol = typeof Symbol === 'function' && Symbol.for;\n\n// copied from react-is\nconst REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nconst REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\n\n/**\n * Adapted from hoist-non-react-statics to avoid the react-is dependency.\n */\nconst 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};\n\nconst KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true,\n};\n\nconst FORWARD_REF_STATICS = {\n $$typeof: true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n};\n\nconst MEMO_STATICS = {\n $$typeof: true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true,\n};\n\nconst TYPE_STATICS = {\n [REACT_FORWARD_REF_TYPE]: FORWARD_REF_STATICS,\n [REACT_MEMO_TYPE]: MEMO_STATICS,\n};\n\ntype OmniComponent = AnyComponent;\n\n// adapted from react-is\nfunction isMemo(\n object: OmniComponent | React.MemoExoticComponent\n): object is React.MemoExoticComponent {\n const $$typeofType = 'type' in object && object.type.$$typeof;\n\n return $$typeofType === REACT_MEMO_TYPE;\n}\n\nfunction getStatics(component: OmniComponent) {\n // React v16.11 and below\n if (isMemo(component)) {\n return MEMO_STATICS;\n }\n\n // React v16.12 and above\n return '$$typeof' in component\n ? TYPE_STATICS[component['$$typeof'] as unknown as string]\n : REACT_STATICS;\n}\n\nconst defineProperty = Object.defineProperty;\nconst getOwnPropertyNames = Object.getOwnPropertyNames;\nconst getOwnPropertySymbols = Object.getOwnPropertySymbols;\nconst getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nconst getPrototypeOf = Object.getPrototypeOf;\nconst objectPrototype = Object.prototype;\n\ntype ExcludeList = {\n [key: string]: true;\n};\n\ntype NonReactStatics = {\n [key in Exclude<\n keyof S,\n S extends React.MemoExoticComponent\n ? keyof typeof MEMO_STATICS | keyof C\n : S extends React.ForwardRefExoticComponent\n ? keyof typeof FORWARD_REF_STATICS | keyof C\n : keyof typeof REACT_STATICS | keyof typeof KNOWN_STATICS | keyof C\n >]: S[key];\n};\n\nexport default function hoistNonReactStatics<\n T extends OmniComponent,\n S extends OmniComponent,\n C extends ExcludeList = {},\n>(targetComponent: T, sourceComponent: S, excludelist?: C | undefined) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n\n if (objectPrototype) {\n const inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, excludelist);\n }\n }\n\n let keys: (String | Symbol)[] = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n const targetStatics = getStatics(targetComponent);\n const sourceStatics = getStatics(sourceComponent);\n\n for (let i = 0; i < keys.length; ++i) {\n const key = keys[i] as unknown as string;\n if (\n !(key in KNOWN_STATICS) &&\n !(excludelist && excludelist[key]) &&\n !(sourceStatics && key in sourceStatics) &&\n !(targetStatics && key in targetStatics)\n ) {\n const descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor!);\n } catch (e) {\n /* ignore */\n }\n }\n }\n }\n\n return targetComponent as T & NonReactStatics;\n}\n","import React from 'react';\nimport { ThemeContext } from '../models/ThemeProvider';\nimport { AnyComponent, ExecutionProps } from '../types';\nimport determineTheme from '../utils/determineTheme';\nimport getComponentName from '../utils/getComponentName';\nimport hoist from '../utils/hoist';\n\nexport default function withTheme(Component: T) {\n const WithTheme = React.forwardRef>(\n (props, ref) => {\n const theme = React.useContext(ThemeContext);\n const themeProp = determineTheme(props, theme, Component.defaultProps);\n\n if (process.env.NODE_ENV !== 'production' && themeProp === undefined) {\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 ;\n }\n );\n\n if (process.env.NODE_ENV !== 'production') {\n WithTheme.displayName = `WithTheme(${getComponentName(Component)})`;\n }\n\n return hoist(WithTheme, Component);\n}\n","const 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.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) {\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","/**\n * Convenience function for joining strings to form className chains\n */\nexport function joinStrings(a?: string | undefined, b?: string | undefined): string {\n return a && b ? `${a} ${b}` : a || b || '';\n}\n\nexport function joinStringArray(arr: string[], sep?: string | undefined): string {\n if (arr.length === 0) {\n return '';\n }\n\n let result = arr[0];\n for (let i = 1; i < arr.length; i++) {\n result += sep ? sep + arr[i] : arr[i];\n }\n return result;\n}\n","import transformDeclPairs from 'css-to-react-native';\nimport { parse } from 'postcss';\nimport {\n Dict,\n ExecutionContext,\n IInlineStyle,\n IInlineStyleConstructor,\n RuleSet,\n StyleSheet,\n} from '../types';\nimport flatten from '../utils/flatten';\nimport generateComponentId from '../utils/generateComponentId';\nimport { joinStringArray } from '../utils/joinStrings';\n\nlet generated: Dict = {};\n\nexport const resetStyleCache = (): void => {\n generated = {};\n};\n\n/**\n * InlineStyle takes arbitrary CSS and generates a flat object\n */\nexport default function makeInlineStyleClass(styleSheet: StyleSheet) {\n const InlineStyle: IInlineStyleConstructor = class InlineStyle\n implements IInlineStyle\n {\n rules: RuleSet;\n\n constructor(rules: RuleSet) {\n this.rules = rules;\n }\n\n generateStyleObject(executionContext: ExecutionContext & Props) {\n // keyframes, functions, and component selectors are not allowed for React Native\n const flatCSS = joinStringArray(\n flatten(this.rules as RuleSet, executionContext) as string[]\n );\n const hash = generateComponentId(flatCSS);\n\n if (!generated[hash]) {\n const root = parse(flatCSS);\n const declPairs: [string, string][] = [];\n\n root.each(node => {\n if (node.type === 'decl') {\n declPairs.push([node.prop, node.value]);\n } else if (process.env.NODE_ENV !== 'production' && node.type !== 'comment') {\n console.warn(`Node of type ${node.type} not supported as an inline style`);\n }\n });\n\n const styleObject = transformDeclPairs(declPairs);\n const styles = styleSheet.create({\n generated: styleObject,\n });\n\n generated[hash] = styles.generated;\n }\n return generated[hash];\n }\n };\n\n return InlineStyle;\n}\n","import isPlainObject from './isPlainObject';\n\nfunction mixinRecursively(target: any, source: any, forceMerge = false) {\n /* only merge into POJOs, Arrays, but for top level objects only\n * allow to merge into anything by passing forceMerge = true */\n if (!forceMerge && !isPlainObject(target) && !Array.isArray(target)) {\n return source;\n }\n\n if (Array.isArray(source)) {\n for (let key = 0; key < source.length; key++) {\n target[key] = mixinRecursively(target[key], source[key]);\n }\n } else if (isPlainObject(source)) {\n for (const key in source) {\n target[key] = mixinRecursively(target[key], source[key]);\n }\n }\n\n return target;\n}\n\n/**\n * Arrays & POJOs merged recursively, other objects and value types are overridden\n * If target is not a POJO or an Array, it will get source properties injected via shallow merge\n * Source objects applied left to right. Mutates & returns target. Similar to lodash merge.\n */\nexport default function mixinDeep(target: any, ...sources: any[]) {\n for (const source of sources) {\n mixinRecursively(target, source, true);\n }\n\n return target;\n}\n","import React, { createElement, Ref, useMemo } from 'react';\nimport type {\n Attrs,\n BaseObject,\n Dict,\n ExecutionContext,\n ExecutionProps,\n IInlineStyleConstructor,\n IStyledComponent,\n IStyledComponentFactory,\n IStyledStatics,\n NativeTarget,\n OmitNever,\n RuleSet,\n StyledOptions,\n} from '../types';\nimport determineTheme from '../utils/determineTheme';\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from '../utils/empties';\nimport generateDisplayName from '../utils/generateDisplayName';\nimport hoist from '../utils/hoist';\nimport isFunction from '../utils/isFunction';\nimport isStyledComponent from '../utils/isStyledComponent';\nimport merge from '../utils/mixinDeep';\nimport { DefaultTheme, ThemeContext } from './ThemeProvider';\n\nfunction useResolvedAttrs(\n theme: DefaultTheme = EMPTY_OBJECT,\n props: Props,\n attrs: Attrs[]\n) {\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: ExecutionContext & Props = { ...props, theme };\n const resolvedAttrs: Dict = {};\n\n attrs.forEach(attrDef => {\n let resolvedAttrDef = isFunction(attrDef) ? attrDef(context) : attrDef;\n let key;\n\n for (key in resolvedAttrDef) {\n // @ts-expect-error bad types\n context[key] = resolvedAttrs[key] = resolvedAttrDef[key];\n }\n });\n\n return [context, resolvedAttrs] as const;\n}\n\ninterface StyledComponentImplProps extends ExecutionProps {\n style?: any;\n}\n\nfunction useStyledComponentImpl(\n forwardedComponent: IStyledComponent<'native', Props>,\n props: Props,\n forwardedRef: Ref\n) {\n const {\n attrs: componentAttrs,\n inlineStyle,\n defaultProps,\n shouldForwardProp,\n target,\n } = forwardedComponent;\n\n const contextTheme = React.useContext(ThemeContext);\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, contextTheme, defaultProps);\n\n const [context, attrs] = useResolvedAttrs(theme || EMPTY_OBJECT, props, componentAttrs);\n\n const generatedStyles = inlineStyle.generateStyleObject(context);\n\n const refToForward = forwardedRef;\n\n const elementToBeCreated: NativeTarget = attrs.as || props.as || target;\n\n const computedProps: Dict = attrs !== props ? { ...props, ...attrs } : props;\n const propsForElement: Dict = {};\n\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 (!shouldForwardProp || shouldForwardProp(key, elementToBeCreated)) {\n propsForElement[key] = computedProps[key];\n }\n }\n\n propsForElement.style = useMemo(\n () =>\n isFunction(props.style)\n ? (state: any) => [generatedStyles].concat(props.style(state))\n : props.style\n ? [generatedStyles].concat(props.style)\n : generatedStyles,\n [props.style, generatedStyles]\n );\n\n propsForElement.ref = refToForward;\n\n return createElement(elementToBeCreated, propsForElement);\n}\n\nexport default (InlineStyle: IInlineStyleConstructor) => {\n const createStyledNativeComponent = <\n Target extends NativeTarget,\n OuterProps extends ExecutionProps,\n Statics extends object = BaseObject,\n >(\n target: Target,\n options: StyledOptions<'native', OuterProps>,\n rules: RuleSet\n ): ReturnType> => {\n const isTargetStyledComp = isStyledComponent(target);\n const styledComponentTarget = target as IStyledComponent<'native', OuterProps>;\n\n const { displayName = generateDisplayName(target), attrs = EMPTY_ARRAY } = options;\n\n // fold the underlying StyledComponent attrs up (implicit extend)\n const finalAttrs =\n isTargetStyledComp && styledComponentTarget.attrs\n ? styledComponentTarget.attrs.concat(attrs).filter(Boolean)\n : (attrs as Attrs[]);\n\n let shouldForwardProp = options.shouldForwardProp;\n\n if (isTargetStyledComp && styledComponentTarget.shouldForwardProp) {\n const shouldForwardPropFn = styledComponentTarget.shouldForwardProp;\n\n if (options.shouldForwardProp) {\n const passedShouldForwardPropFn = options.shouldForwardProp;\n\n // compose nested shouldForwardProp calls\n shouldForwardProp = (prop, elementToBeCreated) =>\n shouldForwardPropFn(prop, elementToBeCreated) &&\n passedShouldForwardPropFn(prop, elementToBeCreated);\n } else {\n shouldForwardProp = shouldForwardPropFn;\n }\n }\n\n const forwardRefRender = (props: ExecutionProps & OuterProps, ref: React.Ref) =>\n useStyledComponentImpl(WrappedStyledComponent, props, ref);\n\n if (process.env.NODE_ENV !== 'production') {\n forwardRefRender.displayName = displayName;\n }\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 = React.forwardRef(forwardRefRender) as unknown as IStyledComponent<\n 'native',\n any\n > &\n Statics;\n\n WrappedStyledComponent.attrs = finalAttrs;\n WrappedStyledComponent.inlineStyle = new InlineStyle(\n isTargetStyledComp ? styledComponentTarget.inlineStyle.rules.concat(rules) : rules\n ) as InstanceType>;\n WrappedStyledComponent.shouldForwardProp = shouldForwardProp;\n\n if (process.env.NODE_ENV !== 'production') {\n WrappedStyledComponent.displayName = displayName;\n }\n\n // @ts-expect-error we don't actually need this for anything other than detection of a styled-component\n WrappedStyledComponent.styledComponentId = true;\n\n // fold the underlying StyledComponent target up since we folded the styles\n WrappedStyledComponent.target = isTargetStyledComp ? styledComponentTarget.target : target;\n\n Object.defineProperty(WrappedStyledComponent, 'defaultProps', {\n get() {\n return this._foldedDefaultProps;\n },\n\n set(obj) {\n this._foldedDefaultProps = isTargetStyledComp\n ? merge({}, styledComponentTarget.defaultProps, obj)\n : obj;\n },\n });\n\n hoist(WrappedStyledComponent, target, {\n // all SC-specific things should not be hoisted\n attrs: true,\n inlineStyle: true,\n displayName: true,\n shouldForwardProp: true,\n target: true,\n } as { [key in keyof OmitNever>]: true });\n\n return WrappedStyledComponent;\n };\n\n return createStyledNativeComponent;\n};\n","import transformDeclPairs from 'css-to-react-native';\nimport { parse } from 'postcss';\nimport React from 'react';\nimport constructWithOptions, { Styled } from '../constructors/constructWithOptions';\nimport css from '../constructors/css';\nimport withTheme from '../hoc/withTheme';\nimport _InlineStyle from '../models/InlineStyle';\nimport _StyledNativeComponent from '../models/StyledNativeComponent';\nimport ThemeProvider, { ThemeConsumer, ThemeContext, useTheme } from '../models/ThemeProvider';\nimport { NativeTarget, RuleSet } from '../types';\nimport flatten from '../utils/flatten';\nimport isStyledComponent from '../utils/isStyledComponent';\nimport { joinStringArray } from '../utils/joinStrings';\n\nconst reactNative = require('react-native') as Awaited;\n\nconst InlineStyle = _InlineStyle(reactNative.StyleSheet);\nconst StyledNativeComponent = _StyledNativeComponent(InlineStyle);\n\nconst baseStyled = (tag: Target) =>\n constructWithOptions<'native', Target>(StyledNativeComponent, tag);\n\n/* React native lazy-requires each of these modules for some reason, so let's\n * assume it's for a good reason and not eagerly load them all */\nconst aliases = [\n 'ActivityIndicator',\n 'Button',\n 'DatePickerIOS',\n 'DrawerLayoutAndroid',\n 'FlatList',\n 'Image',\n 'ImageBackground',\n 'KeyboardAvoidingView',\n 'Modal',\n 'Pressable',\n 'ProgressBarAndroid',\n 'ProgressViewIOS',\n 'RefreshControl',\n 'SafeAreaView',\n 'ScrollView',\n 'SectionList',\n 'Slider',\n 'Switch',\n 'Text',\n 'TextInput',\n 'TouchableHighlight',\n 'TouchableOpacity',\n 'View',\n 'VirtualizedList',\n] as const;\n\ntype KnownComponents = (typeof aliases)[number];\n\n/** Isolates RN-provided components since they don't expose a helper type for this. */\ntype RNComponents = {\n [K in keyof typeof reactNative]: (typeof reactNative)[K] extends React.ComponentType\n ? (typeof reactNative)[K]\n : never;\n};\n\nconst styled = baseStyled as typeof baseStyled & {\n [E in KnownComponents]: Styled<'native', RNComponents[E], React.ComponentProps>;\n};\n\n/* Define a getter for each alias which simply gets the reactNative component\n * and passes it to styled */\naliases.forEach(alias =>\n Object.defineProperty(styled, alias, {\n enumerable: true,\n configurable: false,\n get() {\n if (alias in reactNative && reactNative[alias]) {\n return styled(reactNative[alias]);\n }\n\n throw new Error(\n `${alias} is not available in the currently-installed version of react-native`\n );\n },\n })\n);\n\nconst toStyleSheet = (rules: RuleSet) => {\n const flatCSS = joinStringArray(flatten(rules) as string[]);\n\n const root = parse(flatCSS);\n const declPairs: [string, string][] = [];\n\n root.each(node => {\n if (node.type === 'decl') {\n declPairs.push([node.prop, node.value]);\n } else if (process.env.NODE_ENV !== 'production' && node.type !== 'comment') {\n console.warn(`Node of type ${node.type} not supported as an inline style`);\n }\n });\n\n const styleObject = transformDeclPairs(declPairs);\n\n return reactNative.StyleSheet.create({ style: styleObject }).style;\n};\n\nexport {\n CSSKeyframes,\n CSSObject,\n CSSProperties,\n CSSPseudos,\n DefaultTheme,\n ExecutionContext,\n ExecutionProps,\n IStyledComponent,\n IStyledComponentFactory,\n IStyledStatics,\n NativeTarget,\n PolymorphicComponent,\n PolymorphicComponentProps,\n Runtime,\n StyledObject,\n StyledOptions,\n} from '../types';\nexport {\n ThemeConsumer,\n ThemeContext,\n ThemeProvider,\n css,\n styled as default,\n isStyledComponent,\n styled,\n toStyleSheet,\n useTheme,\n withTheme,\n};\n","import generateAlphabeticName from './generateAlphabeticName';\nimport { hash } from './hash';\n\nexport default function generateComponentId(str: string) {\n return generateAlphabeticName(hash(str) >>> 0);\n}\n","import { StyledTarget } from '../types';\nimport getComponentName from './getComponentName';\nimport isTag from './isTag';\n\nexport default function generateDisplayName(target: StyledTarget) {\n return isTag(target) ? `styled.${target}` : `Styled(${getComponentName(target)})`;\n}\n","import { StyledTarget } from '../types';\n\nexport default function isTag(target: StyledTarget<'web'>): target is string {\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"],"names":["EMPTY_ARRAY","Object","freeze","EMPTY_OBJECT","ERRORS","process","env","NODE_ENV","format","args","_i","arguments","length","a","b","c","len","push","forEach","d","replace","throwStyledComponentsError","code","interpolations","Error","concat","join","trim","setToString","object","toStringFn","defineProperty","value","SC_ATTR","REACT_APP_SC_ATTR","IS_BROWSER","window","DISABLE_SPEEDY","Boolean","SC_DISABLE_SPEEDY","REACT_APP_SC_DISABLE_SPEEDY","DefaultGroupedTag","tag","this","groupSizes","Uint32Array","prototype","indexOfGroup","group","index","i","insertRules","rules","oldBuffer","oldSize","newSize","styledError","set","ruleIndex","l","insertRule","clearGroup","length_1","startIndex","endIndex","deleteRule","getGroup","css","getRule","groupIDRegister","Map","reverseRegister","nextFreeGroup","getGroupForId","id","has","get","setGroupForId","SELECTOR","MARKER_RE","RegExp","rehydrateNamesFromContent","sheet","content","name","names","split","registerName","rehydrateSheetFromTag","style","parts","_a","textContent","part","marker","match","parseInt","getTag","makeStyleTag","target","head","document","parent","createElement","prevStyle","arr","Array","from","querySelectorAll","findLastStyleTag","nextSibling","undefined","setAttribute","nonce","__webpack_nonce__","insertBefore","CSSOMTag","element","appendChild","createTextNode","styleSheets","ownerNode","getSheet","rule","_error","cssRules","cssText","TextTag","nodes","childNodes","node","removeChild","VirtualTag","_target","splice","SHOULD_REHYDRATE","defaultOptions","isServer","useCSSOMInjection","StyleSheet","options","globalStyles","_this","__assign","gs","server","getAttribute","parentNode","rehydrateSheet","getIdForGroup","selector","outputSheet","registerId","reconstructWithOptions","withNames","allocateGSInstance","makeTag","hasNameForId","add","groupNames","Set","clearNames","clear","clearRules","clearTag","phash","h","x","charCodeAt","AMP_REGEX","COMMENT_REGEX","recursivelySetNamepace","compiled","namespace","map","type","replaceAll","props","prop","isArray","children","mainSheet","mainStylis","_componentId","_selector","_selectorRegexp","_c","_d","plugins","selfReferenceReplacer","offset","string","startsWith","endsWith","middlewares","slice","stylis","RULESET","includes","prefix","prefixer","stringify","stringifyRules","componentId","flatCSS","compile","stack","serialize","middleware","rulesheet","hash","reduce","acc","plugin","throwStyledError","toString","createStylisInstance","Keyframes","React","createContext","shouldForwardProp","styleSheet","inject","stylisInstance","resolvedName","String","getName","getComponentName","displayName","isUpper","hyphenateStyleName","output","toLowerCase","isFunction","test","isPlainObject","constructor","$$typeof","isStyledComponent","isFalsish","chunk","objToCssArray","obj","key","val","hasOwnProperty","isCss","hyphenate","apply","unitless","flatten","executionContext","styledComponentId","isReactComponent","result","console","error","chunklet","interleave","strings","addTag","arg","assign","styles","styleFunctionOrObject","__spreadArray","styleStringArray","constructWithOptions","componentConstructor","templateFunction","initialStyles","attrs","filter","withConfig","config","ThemeContext","ThemeConsumer","Consumer","useTheme","theme","useContext","ThemeProvider","outerTheme","themeContext","useMemo","mergedTheme","mergeTheme","Provider","determineTheme","providedTheme","defaultProps","hasSymbol","Symbol","for","REACT_MEMO_TYPE","REACT_FORWARD_REF_TYPE","REACT_STATICS","childContextTypes","contextType","contextTypes","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","render","getStatics","component","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","excludelist","inheritedComponent","keys","targetStatics","sourceStatics","descriptor","e","withTheme","Component","WithTheme","forwardRef","ref","themeProp","warn","hoist","AD_REPLACER_R","getAlphabeticChar","fromCharCode","joinStringArray","sep","generated","mixinRecursively","source","forceMerge","InlineStyle","reactNative","require","StyledNativeComponent","generateStyleObject","Math","abs","generateAlphabeticName","root","parse","declPairs_1","each","styleObject","transformDeclPairs","create","isTargetStyledComp","styledComponentTarget","charAt","isTag","generateDisplayName","_b","finalAttrs","shouldForwardPropFn_1","passedShouldForwardPropFn_1","elementToBeCreated","forwardRefRender","forwardedComponent","forwardedRef","componentAttrs","inlineStyle","contextTheme","context","resolvedAttrs","attrDef","resolvedAttrDef","useResolvedAttrs","generatedStyles","refToForward","as","computedProps","propsForElement","state","useStyledComponentImpl","WrappedStyledComponent","_foldedDefaultProps","sources","sources_1","merge","styled","alias","enumerable","configurable","toStyleSheet","declPairs"],"mappings":"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"}