styled-components 6.0.0-beta.2 → 6.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constructors/constructWithOptions.d.ts +26 -25
- package/dist/constructors/createGlobalStyle.d.ts +2 -2
- package/dist/constructors/css.d.ts +1 -1
- package/dist/constructors/keyframes.d.ts +1 -1
- package/dist/constructors/styled.d.ts +176 -180
- package/dist/hoc/withTheme.d.ts +2 -2
- package/dist/models/GlobalStyle.d.ts +1 -1
- package/dist/models/InlineStyle.d.ts +1 -1
- package/dist/models/StyledComponent.d.ts +1 -1
- package/dist/models/StyledNativeComponent.d.ts +2 -2
- package/dist/native/index.d.ts +25 -29
- package/dist/styled-components.browser.cjs.js +38 -44
- package/dist/styled-components.browser.cjs.js.map +1 -1
- package/dist/styled-components.browser.esm.js +38 -44
- package/dist/styled-components.browser.esm.js.map +1 -1
- package/dist/styled-components.cjs.js +38 -44
- package/dist/styled-components.cjs.js.map +1 -1
- package/dist/styled-components.esm.js +38 -44
- package/dist/styled-components.esm.js.map +1 -1
- package/dist/styled-components.js +38 -44
- package/dist/styled-components.js.map +1 -1
- package/dist/styled-components.min.js +1 -1
- package/dist/styled-components.min.js.map +1 -1
- package/dist/test/utils.d.ts +176 -180
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +45 -39
- package/dist/utils/determineTheme.d.ts +2 -2
- package/dist/utils/empties.d.ts +2 -2
- package/dist/utils/flatten.d.ts +3 -3
- package/dist/utils/interleave.d.ts +1 -1
- package/dist/utils/isStaticRules.d.ts +1 -1
- package/dist/utils/isStyledComponent.d.ts +1 -1
- package/dist/utils/mixinDeep.d.ts +2 -2
- package/native/dist/constructors/constructWithOptions.d.ts +26 -25
- package/native/dist/constructors/createGlobalStyle.d.ts +2 -2
- package/native/dist/constructors/css.d.ts +1 -1
- package/native/dist/constructors/keyframes.d.ts +1 -1
- package/native/dist/constructors/styled.d.ts +176 -180
- package/native/dist/hoc/withTheme.d.ts +2 -2
- package/native/dist/models/GlobalStyle.d.ts +1 -1
- package/native/dist/models/InlineStyle.d.ts +1 -1
- package/native/dist/models/StyledComponent.d.ts +1 -1
- package/native/dist/models/StyledNativeComponent.d.ts +2 -2
- package/native/dist/native/index.d.ts +25 -29
- package/native/dist/styled-components.native.cjs.js +10 -17
- package/native/dist/styled-components.native.cjs.js.map +1 -1
- package/native/dist/styled-components.native.esm.js +10 -17
- package/native/dist/styled-components.native.esm.js.map +1 -1
- package/native/dist/test/utils.d.ts +176 -180
- package/native/dist/types.d.ts +45 -39
- package/native/dist/utils/determineTheme.d.ts +2 -2
- package/native/dist/utils/empties.d.ts +2 -2
- package/native/dist/utils/flatten.d.ts +3 -3
- package/native/dist/utils/interleave.d.ts +1 -1
- package/native/dist/utils/isStaticRules.d.ts +1 -1
- package/native/dist/utils/isStyledComponent.d.ts +1 -1
- package/native/dist/utils/mixinDeep.d.ts +2 -2
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styled-components.native.esm.js","sources":["../../src/utils/empties.ts","../../src/utils/errors.ts","../../src/utils/error.ts","../../src/constants.ts","../../src/sheet/GroupedTag.ts","../../src/sheet/GroupIDAllocator.ts","../../src/sheet/Rehydration.ts","../../src/utils/nonce.ts","../../src/sheet/dom.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/addUnitIfNeeded.ts","../../src/utils/getComponentName.ts","../../src/utils/hyphenateStyleName.ts","../../src/utils/isFunction.ts","../../src/utils/isPlainObject.ts","../../src/utils/isStatelessFunction.ts","../../src/utils/isStyledComponent.ts","../../src/utils/flatten.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/hooks/useTheme.ts","../../src/utils/generateAlphabeticName.ts","../../src/utils/generateComponentId.ts","../../src/models/InlineStyle.ts","../../src/utils/isTag.ts","../../src/utils/generateDisplayName.ts","../../src/utils/mixinDeep.ts","../../src/models/StyledNativeComponent.ts","../../src/native/index.ts"],"sourcesContent":["import { ExtensibleObject } from '../types';\n\nexport const EMPTY_ARRAY = Object.freeze([]) as unknown as Readonly<any[]>;\nexport const EMPTY_OBJECT = Object.freeze({}) as Readonly<ExtensibleObject>;\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 `<head>`\\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 `<StyleSheetManager stylisPlugins={[]}>`, 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};\n","import { ExtensibleObject } from '../types';\nimport errorMap from './errors';\n\nconst ERRORS: ExtensibleObject = 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.${interpolations.length > 0 ? ` Args: ${interpolations.join(', ')}` : ''\n }`\n );\n } else {\n return new Error(format(ERRORS[code], ...interpolations).trim());\n }\n}\n","declare let SC_DISABLE_SPEEDY: boolean | null | undefined;\ndeclare let __VERSION__: string;\n\nexport const SC_ATTR: string =\n (typeof process !== 'undefined' && (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.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.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 | 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 if (Array.isArray(rules)) {\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 } else {\n if (this.tag.insertRule(ruleIndex, rules)) {\n this.groupSizes[group]++;\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<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) 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 // 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] 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","declare let __webpack_nonce__: string;\n\nexport default function getNonce() {\n return typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\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\nconst ELEMENT_TYPE = 1;\n/* 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] as any as HTMLElement | null | undefined;\n if (child && child.nodeType === ELEMENT_TYPE && child.hasAttribute(SC_ATTR)) {\n return child as any as 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 as any as 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 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","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) {\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 const TextTag = class TextTag implements Tag {\n element: HTMLStyleElement;\n nodes: NodeListOf<Node>;\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) {\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) {\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 { 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;\n};\n\ntype GlobalStylesAllocationMap = {\n [key: string]: number;\n};\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 names: NamesAllocationMap;\n options: SheetOptions;\n server: boolean;\n tag?: 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 as 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 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\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<string>();\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 /** Outputs the current sheet as a CSS string with markers for SSR */\n toString(): string {\n return outputSheet(this);\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 { compile, Element, Middleware, middleware, prefixer, RULESET, stringify } from 'stylis';\nimport { Stringifier } from '../types';\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from './empties';\nimport throwStyledError from './error';\nimport { phash, SEED } from './hash';\n\nconst COMMENT_REGEX = /^\\s*\\/\\/.*$/gm;\nconst COMPLEX_SELECTOR_PREFIX = [':', '[', '.', '#'];\n\ntype StylisInstanceConstructorArgs = {\n options?: { prefix?: boolean };\n plugins?: Middleware[];\n};\n\n/**\n * Serialize stylis output as an array of css strings. It is important that rules are\n * separated when using CSSOM injection.\n */\nfunction serialize(children: Element[], callback: Middleware): string[] {\n return children.map((c, i) => callback(c, i, children, callback)).filter(Boolean) as string[];\n}\n\nexport default function createStylisInstance(\n {\n options = EMPTY_OBJECT as Object,\n plugins = EMPTY_ARRAY as unknown as Middleware[],\n }: StylisInstanceConstructorArgs = EMPTY_OBJECT as Object\n) {\n let _componentId: string;\n let _selector: string;\n let _selectorRegexp: RegExp;\n let _consecutiveSelfRefRegExp: RegExp;\n\n const selfReferenceReplacer: Parameters<String['replace']>[1] = (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.includes(string[_selector.length]) : true) && // 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/v4.0.2#abstract-syntax-structure\n */\n const selfReferenceReplacementPlugin: Middleware = element => {\n if (element.type === RULESET && element.value.includes('&')) {\n const props = element.props as string[];\n props[0] = props[0].replace(_selectorRegexp, selfReferenceReplacer);\n }\n };\n\n const stringifyRules: Stringifier = (\n css: string,\n selector = '',\n prefix = '',\n componentId = '&'\n ) => {\n let flatCSS = css.replace(COMMENT_REGEX, '');\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 const middlewares = plugins.slice();\n\n if (options.prefix || options.prefix === undefined) {\n middlewares.unshift(prefixer);\n }\n\n middlewares.push(selfReferenceReplacementPlugin, stringify);\n\n return serialize(\n compile(prefix || selector ? `${prefix} ${selector} { ${flatCSS} }` : flatCSS),\n middleware(middlewares)\n );\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 StyleSheet from '../sheet';\nimport { Stringifier } from '../types';\nimport createStylisInstance from '../utils/stylis';\n\ntype Props = {\n children?: React.ReactChild;\n disableCSSOMInjection?: boolean;\n disableVendorPrefixes?: boolean;\n sheet?: StyleSheet;\n stylisPlugins?: stylis.Middleware[];\n target?: HTMLElement;\n};\n\nexport const StyleSheetContext = React.createContext<StyleSheet | void>(undefined);\nexport const StyleSheetConsumer = StyleSheetContext.Consumer;\nexport const StylisContext = React.createContext<Stringifier | void>(undefined);\nexport const StylisConsumer = StylisContext.Consumer;\n\nexport const mainSheet: StyleSheet = new StyleSheet();\nexport const mainStylis: Stringifier = createStylisInstance();\n\nexport function useStyleSheet(): StyleSheet {\n return useContext(StyleSheetContext) || mainSheet;\n}\n\nexport function useStylis(): Stringifier {\n return useContext(StylisContext) || mainStylis;\n}\n\nexport default function StyleSheetManager(props: Props): JSX.Element {\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","import StyleSheet from '../sheet';\nimport { Keyframes as KeyframesType, Stringifier } from '../types';\nimport styledError from '../utils/error';\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\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 toString = (): void => {\n throw styledError(12, String(this.name));\n };\n\n getName(stylisInstance: Stringifier = mainStylis): string {\n return this.name + stylisInstance.hash;\n }\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)) {\n return `${value}px`; // Presumes implicit 'px' suffix for unitless numbers\n }\n\n return String(value).trim();\n}\n","import { StyledTarget } from '../types';\n\nexport default function getComponentName(target: StyledTarget<any>) {\n return (\n (process.env.NODE_ENV !== 'production' ? typeof target === 'string' && target : false) ||\n (target as Exclude<StyledTarget<any>, string>).displayName ||\n (target as Function).name ||\n 'Component'\n );\n}\n","/**\n * inlined version of\n * https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/hyphenateStyleName.js\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 */\nexport default function hyphenateStyleName(string: string) {\n return uppercaseCheck.test(string)\n ? string.replace(uppercasePattern, prefixAndLowerCase).replace(msPattern, '-ms-')\n : string;\n}\n","export default function isFunction(test: any) {\n return typeof test === 'function';\n}\n","export default function isPlainObject(x: any): boolean {\n return (\n x !== null &&\n typeof x === 'object' &&\n /* a check for empty prototype would be more typical, but that\n doesn't play well with objects created in different vm contexts */\n (!x.constructor || x.constructor.name === 'Object') &&\n (x.toString ? x.toString() : Object.prototype.toString.call(x)) === '[object Object]' &&\n /* check for reasonable markers that the object isn't an element for react & preact/compat */\n !('props' in x && (x.$$typeof || x.constructor === undefined))\n );\n}\n","export default function isStatelessFunction(test: any) {\n return typeof test === 'function' && !(test.prototype && test.prototype.isReactComponent);\n}\n","import { IStyledComponent } from '../types';\n\nexport default function isStyledComponent(target: any): target is IStyledComponent<'web', any> {\n return typeof target === 'object' && 'styledComponentId' in target;\n}\n","import Keyframes from '../models/Keyframes';\nimport StyleSheet from '../sheet';\nimport {\n AnyComponent,\n ExecutionContext,\n ExtensibleObject,\n Interpolation,\n IStyledComponent,\n RuleSet,\n Stringifier,\n StyledObject,\n} from '../types';\nimport addUnitIfNeeded from './addUnitIfNeeded';\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: ExtensibleObject, prevKey?: string): string[] => {\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<Props = unknown>(\n chunk: Interpolation<Props>,\n executionContext?: ExecutionContext & Props,\n styleSheet?: StyleSheet,\n stylisInstance?: Stringifier\n): Interpolation<Props> {\n if (Array.isArray(chunk)) {\n const ruleSet: RuleSet<Props> = [];\n\n for (let i = 0, len = chunk.length, result; i < len; i += 1) {\n result = flatten<Props>(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 as unknown as IStyledComponent<'web', 'div', any>).styledComponentId}`;\n }\n\n /* Either execute or defer the function */\n if (isFunction(chunk)) {\n if (isStatelessFunction(chunk) && executionContext) {\n const chunkFn = chunk as (props: {}) => Interpolation<Props>;\n const result = chunkFn(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 ) {\n // eslint-disable-next-line no-console\n console.error(\n `${getComponentName(\n chunkFn 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 return chunk as unknown as IStyledComponent<'web', 'div', any>;\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 as StyledObject) : chunk.toString();\n}\n","import { Interpolation } from '../types';\n\nexport default function interleave<Props = unknown>(\n strings: TemplateStringsArray,\n interpolations: Interpolation<Props>[]\n): Interpolation<Props>[] {\n const result: Interpolation<Props>[] = [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 { Interpolation, StyledObject, StyleFunction, Styles } 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 = <T>(arg: T extends any[] ? T & { isCss?: boolean } : T) => {\n if (Array.isArray(arg)) {\n // eslint-disable-next-line no-param-reassign\n (arg as any[] & { isCss?: boolean }).isCss = true;\n }\n\n return arg;\n};\n\nexport default function css<Props>(\n styles: Styles<Props>,\n ...interpolations: Interpolation<Props>[]\n) {\n if (isFunction(styles) || isPlainObject(styles)) {\n const styleFunctionOrObject = styles as StyleFunction<Props> | StyledObject;\n\n return addTag(\n flatten<Props>(\n interleave<Props>(EMPTY_ARRAY as TemplateStringsArray, [\n styleFunctionOrObject,\n ...interpolations,\n ])\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 styleStringArray;\n }\n\n return addTag(flatten<Props>(interleave<Props>(styleStringArray, interpolations)));\n}\n","import {\n Attrs,\n ExecutionContext,\n ExtensibleObject,\n Interpolation,\n IStyledComponent,\n IStyledComponentFactory,\n KnownTarget,\n RuleSet,\n Runtime,\n StyledOptions,\n StyledTarget,\n Styles,\n} from '../types';\nimport { EMPTY_OBJECT } from '../utils/empties';\nimport styledError from '../utils/error';\nimport css from './css';\n\nexport interface Styled<\n R extends Runtime,\n Target extends StyledTarget<R>,\n DerivedProps = Target extends KnownTarget ? React.ComponentProps<Target> : unknown,\n OuterProps = unknown,\n OuterStatics = unknown\n> {\n <Props = unknown, Statics = unknown>(\n initialStyles: Styles<DerivedProps & OuterProps & Props>,\n ...interpolations: Interpolation<ExecutionContext & DerivedProps & OuterProps & Props>[]\n ): IStyledComponent<R, Target, DerivedProps & OuterProps & Props> & OuterStatics & Statics;\n attrs(\n attrs: Attrs<ExtensibleObject & DerivedProps & OuterProps>\n ): Styled<R, Target, DerivedProps, OuterProps, OuterStatics>;\n withConfig(\n config: StyledOptions<R, DerivedProps & OuterProps>\n ): Styled<R, Target, DerivedProps, OuterProps, OuterStatics>;\n}\n\nexport default function constructWithOptions<\n R extends Runtime,\n Target extends StyledTarget<R>,\n DerivedProps = Target extends KnownTarget ? React.ComponentProps<Target> : unknown,\n OuterProps = unknown, // used for styled<{}>().attrs() so attrs() gets the generic prop context\n OuterStatics = unknown\n>(\n componentConstructor: IStyledComponentFactory<R, any, any, any>,\n tag: Target,\n options: StyledOptions<R, DerivedProps & OuterProps> = EMPTY_OBJECT as StyledOptions<\n R,\n DerivedProps & OuterProps\n >\n) {\n // We trust that the tag is a valid component as long as it isn't falsish\n // Typically the tag here is a string or function (i.e. class or pure function component)\n // However a component may also be an object if it uses another utility, e.g. React.memo\n // React will output an appropriate warning however if the `tag` isn't valid\n if (!tag) {\n throw styledError(1, tag);\n }\n\n /* This is callable directly as a template function */\n const templateFunction = <Props = unknown, Statics = unknown>(\n initialStyles: Styles<DerivedProps & OuterProps & Props>,\n ...interpolations: Interpolation<ExecutionContext & DerivedProps & OuterProps & Props>[]\n ) =>\n componentConstructor(\n tag,\n options as unknown as StyledOptions<R, DerivedProps & OuterProps & Props>,\n css<ExecutionContext & DerivedProps & OuterProps & Props>(\n initialStyles,\n ...interpolations\n ) as RuleSet<DerivedProps & OuterProps & Props>\n ) as ReturnType<\n IStyledComponentFactory<R, Target, DerivedProps & OuterProps & Props, OuterStatics & Statics>\n >;\n\n /* Modify/inject new props at runtime */\n templateFunction.attrs = (attrs: Attrs<ExtensibleObject & DerivedProps & OuterProps>) =>\n constructWithOptions<R, Target, DerivedProps & OuterProps, OuterStatics>(\n componentConstructor,\n tag,\n {\n ...options,\n attrs: Array.prototype.concat(options.attrs, attrs).filter(Boolean),\n }\n );\n\n /**\n * If config methods are called, wrap up a new template function and merge options */\n templateFunction.withConfig = (config: StyledOptions<R, DerivedProps & OuterProps>) =>\n constructWithOptions<R, Target, DerivedProps, OuterProps, OuterStatics>(\n componentConstructor,\n tag,\n {\n ...options,\n ...config,\n }\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<T> {\n * css?: CSSProp;\n * }\n * }\n * ```\n */\nexport interface DefaultTheme {\n [key: string]: any;\n}\n\ntype ThemeFn = (outerTheme?: DefaultTheme) => DefaultTheme;\ntype ThemeArgument = DefaultTheme | ThemeFn;\n\ntype Props = {\n children?: React.ReactChild;\n theme: ThemeArgument;\n};\n\nexport const ThemeContext = React.createContext<DefaultTheme | undefined>(undefined);\n\nexport const ThemeConsumer = ThemeContext.Consumer;\n\nfunction mergeTheme(theme: ThemeArgument, outerTheme?: DefaultTheme): 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 * Provide a theme to an entire react component tree via context\n */\nexport default function ThemeProvider(props: Props): JSX.Element | null {\n const outerTheme = 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 <ThemeContext.Provider value={themeContext}>{props.children}</ThemeContext.Provider>;\n}\n","import { ExtensibleObject } from '../types';\nimport { EMPTY_OBJECT } from './empties';\n\nexport default function determineTheme(\n props: ExtensibleObject,\n providedTheme: any,\n defaultProps: any = EMPTY_OBJECT\n) {\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<any>\n): object is React.MemoExoticComponent<any> {\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<S extends OmniComponent, C extends ExcludeList = {}> = {\n [key in Exclude<\n keyof S,\n S extends React.MemoExoticComponent<any>\n ? keyof typeof MEMO_STATICS | keyof C\n : S extends React.ForwardRefExoticComponent<any>\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) {\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<S, C>;\n}\n","import React from 'react';\nimport { ThemeContext } from '../models/ThemeProvider';\nimport { AnyComponent, ExecutionContext } from '../types';\nimport determineTheme from '../utils/determineTheme';\nimport getComponentName from '../utils/getComponentName';\nimport hoist from '../utils/hoist';\n\nexport default function withTheme<T extends AnyComponent>(Component: T) {\n const WithTheme = React.forwardRef<T, JSX.LibraryManagedAttributes<T, ExecutionContext>>(\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 // 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\n WithTheme.displayName = `WithTheme(${getComponentName(Component)})`;\n\n return hoist(WithTheme, Component);\n}\n","import { useContext } from 'react';\nimport { DefaultTheme, ThemeContext } from '../models/ThemeProvider';\n\nconst useTheme = (): DefaultTheme | undefined => useContext(ThemeContext);\n\nexport default useTheme;\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","import generateAlphabeticName from './generateAlphabeticName';\nimport { hash } from './hash';\n\nexport default function generateComponentId(str: string) {\n return generateAlphabeticName(hash(str) >>> 0);\n}\n","import transformDeclPairs from 'css-to-react-native';\nimport { parse } from 'postcss';\nimport {\n ExecutionContext,\n ExtensibleObject,\n IInlineStyle,\n IInlineStyleConstructor,\n RuleSet,\n StyleSheet,\n} from '../types';\nimport flatten from '../utils/flatten';\nimport generateComponentId from '../utils/generateComponentId';\n\nlet generated: ExtensibleObject = {};\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<Props = unknown>(styleSheet: StyleSheet) {\n const InlineStyle: IInlineStyleConstructor<Props> = class InlineStyle\n implements IInlineStyle<Props>\n {\n rules: RuleSet<Props>;\n\n constructor(rules: RuleSet<Props>) {\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 = (flatten(this.rules, executionContext) as string[]).join('');\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 /* eslint-disable no-console */\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 { 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","import { StyledTarget } from '../types';\nimport getComponentName from './getComponentName';\nimport isTag from './isTag';\n\nexport default function generateDisplayName(target: StyledTarget<any>) {\n return isTag(target) ? `styled.${target}` : `Styled(${getComponentName(target)})`;\n}\n","import { ExtensibleObject } from '../types';\nimport 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: ExtensibleObject = {}, ...sources: any[]) {\n for (const source of sources) {\n mixinRecursively(target, source, true);\n }\n\n return target;\n}\n","import React, { createElement, Ref, useContext, useMemo } from 'react';\nimport type {\n Attrs,\n BaseExtensibleObject,\n ExecutionContext,\n ExtensibleObject,\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 isStyledComponent from '../utils/isStyledComponent';\nimport merge from '../utils/mixinDeep';\nimport { DefaultTheme, ThemeContext } from './ThemeProvider';\n\nfunction useResolvedAttrs<Props = unknown>(\n theme: DefaultTheme = EMPTY_OBJECT,\n props: Props,\n attrs: Attrs<Props>[]\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: BaseExtensibleObject = {};\n\n attrs.forEach(attrDef => {\n // @ts-expect-error narrowing isn't working properly for some reason\n let resolvedAttrDef = typeof attrDef === 'function' ? attrDef(context) : attrDef;\n let key;\n\n /* eslint-disable guard-for-in */\n for (key in resolvedAttrDef) {\n // @ts-expect-error bad types\n context[key] = resolvedAttrs[key] = resolvedAttrDef[key];\n }\n /* eslint-enable guard-for-in */\n });\n\n return [context, resolvedAttrs];\n}\n\nfunction useStyledComponentImpl<Target extends NativeTarget, Props extends ExtensibleObject>(\n forwardedComponent: IStyledComponent<'native', Target, Props>,\n props: Props,\n forwardedRef: Ref<any>\n) {\n const {\n attrs: componentAttrs,\n inlineStyle,\n defaultProps,\n shouldForwardProp,\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 generatedStyles = inlineStyle.generateStyleObject(context);\n\n const refToForward = forwardedRef;\n\n const elementToBeCreated: NativeTarget = attrs.$as || props.$as || attrs.as || props.as || target;\n\n const computedProps: ExtensibleObject = attrs !== props ? { ...props, ...attrs } : props;\n const propsForElement: ExtensibleObject = {};\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 (!shouldForwardProp || shouldForwardProp(key, elementToBeCreated)) {\n propsForElement[key] = computedProps[key];\n }\n }\n\n propsForElement.style = useMemo(() => {\n if (typeof props.style === 'function') {\n return (state: any) => {\n return [generatedStyles].concat(props.style(state));\n };\n } else if (props.style == null) {\n return generatedStyles;\n } else {\n return [generatedStyles].concat(props.style || []);\n }\n }, [props.style, generatedStyles]);\n\n propsForElement.ref = refToForward;\n\n return createElement(elementToBeCreated, propsForElement);\n}\n\nexport default (InlineStyle: IInlineStyleConstructor<any>) => {\n const createStyledNativeComponent = <\n Target extends NativeTarget,\n OuterProps extends ExtensibleObject,\n Statics = unknown\n >(\n target: Target,\n options: StyledOptions<'native', OuterProps>,\n rules: RuleSet<OuterProps>\n ): ReturnType<IStyledComponentFactory<'native', Target, OuterProps, Statics>> => {\n const isTargetStyledComp = isStyledComponent(target);\n const styledComponentTarget = target as IStyledComponent<'native', Target, 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<OuterProps>[]);\n\n // eslint-disable-next-line prefer-destructuring\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 // eslint-disable-next-line prefer-destructuring\n shouldForwardProp = shouldForwardPropFn;\n }\n }\n\n const forwardRef = (props: ExtensibleObject & OuterProps, ref: React.Ref<any>) =>\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useStyledComponentImpl<Target, OuterProps>(WrappedStyledComponent, props, ref);\n\n forwardRef.displayName = displayName;\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(forwardRef) as unknown as IStyledComponent<\n 'native',\n Target,\n OuterProps\n > &\n Statics;\n\n WrappedStyledComponent.attrs = finalAttrs;\n WrappedStyledComponent.inlineStyle = new InlineStyle(\n isTargetStyledComp ? styledComponentTarget.inlineStyle.rules.concat(rules) : rules\n ) as InstanceType<IInlineStyleConstructor<OuterProps>>;\n WrappedStyledComponent.displayName = displayName;\n WrappedStyledComponent.shouldForwardProp = shouldForwardProp;\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 WrappedStyledComponent.withComponent = function withComponent<\n Target extends NativeTarget,\n Props = unknown\n >(tag: Target) {\n const newOptions = {\n ...options,\n attrs: finalAttrs,\n } as StyledOptions<'native', OuterProps & Props>;\n\n return createStyledNativeComponent<Target, OuterProps & Props, Statics>(\n tag,\n newOptions,\n rules as RuleSet<OuterProps & Props>\n );\n };\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<typeof WrappedStyledComponent, typeof target>(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 withComponent: true,\n } as { [key in keyof OmitNever<IStyledStatics<'native', Target>>]: true });\n\n return WrappedStyledComponent;\n };\n\n return createStyledNativeComponent;\n};\n","import React from 'react';\nimport constructWithOptions, { Styled } from '../constructors/constructWithOptions';\nimport css from '../constructors/css';\nimport withTheme from '../hoc/withTheme';\nimport useTheme from '../hooks/useTheme';\nimport _InlineStyle from '../models/InlineStyle';\nimport _StyledNativeComponent from '../models/StyledNativeComponent';\nimport ThemeProvider, { ThemeConsumer, ThemeContext } from '../models/ThemeProvider';\nimport { NativeTarget } from '../types';\nimport isStyledComponent from '../utils/isStyledComponent';\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst reactNative = require('react-native') as Awaited<typeof import('react-native')>;\n\nconst InlineStyle = _InlineStyle(reactNative.StyleSheet);\nconst StyledNativeComponent = _StyledNativeComponent(InlineStyle);\n\nconst baseStyled = <Target extends NativeTarget>(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<any>\n ? typeof reactNative[K]\n : never;\n};\n\nconst styled = baseStyled as typeof baseStyled & {\n [E in KnownComponents]: Styled<'native', RNComponents[E]>;\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\nexport {\n IStyledComponent,\n IStyledComponentFactory,\n IStyledStatics,\n NativeTarget,\n StyledOptions,\n} from '../types';\nexport { css, isStyledComponent, ThemeProvider, ThemeConsumer, ThemeContext, withTheme, useTheme };\n\nexport default styled;\n"],"names":["styledError","throwStyledError","hyphenate","hoist","merge","_InlineStyle"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"styled-components.native.esm.js","sources":["../../src/utils/empties.ts","../../src/utils/errors.ts","../../src/utils/error.ts","../../src/constants.ts","../../src/sheet/GroupedTag.ts","../../src/sheet/GroupIDAllocator.ts","../../src/sheet/Rehydration.ts","../../src/utils/nonce.ts","../../src/sheet/dom.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/addUnitIfNeeded.ts","../../src/utils/getComponentName.ts","../../src/utils/hyphenateStyleName.ts","../../src/utils/isFunction.ts","../../src/utils/isPlainObject.ts","../../src/utils/isStatelessFunction.ts","../../src/utils/isStyledComponent.ts","../../src/utils/flatten.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/hooks/useTheme.ts","../../src/utils/generateAlphabeticName.ts","../../src/utils/generateComponentId.ts","../../src/models/InlineStyle.ts","../../src/utils/isTag.ts","../../src/utils/generateDisplayName.ts","../../src/utils/mixinDeep.ts","../../src/models/StyledNativeComponent.ts","../../src/native/index.ts"],"sourcesContent":["import { Dict } from '../types';\n\nexport const EMPTY_ARRAY = Object.freeze([]) as Readonly<any[]>;\nexport const EMPTY_OBJECT = Object.freeze({}) as Readonly<Dict<any>>;\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 `<head>`\\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 `<StyleSheetManager stylisPlugins={[]}>`, 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};\n","import { Dict } from '../types';\nimport errorMap from './errors';\n\nconst ERRORS: Dict<any> = 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.${interpolations.length > 0 ? ` Args: ${interpolations.join(', ')}` : ''\n }`\n );\n } else {\n return new Error(format(ERRORS[code], ...interpolations).trim());\n }\n}\n","declare let SC_DISABLE_SPEEDY: boolean | null | undefined;\ndeclare let __VERSION__: string;\n\nexport const SC_ATTR: string =\n (typeof process !== 'undefined' && (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.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.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 | 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 if (Array.isArray(rules)) {\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 } else {\n if (this.tag.insertRule(ruleIndex, rules)) {\n this.groupSizes[group]++;\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<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) 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 // 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] 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","declare let __webpack_nonce__: string;\n\nexport default function getNonce() {\n return typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\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\nconst ELEMENT_TYPE = 1;\n/* 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] as any as HTMLElement | null | undefined;\n if (child && child.nodeType === ELEMENT_TYPE && child.hasAttribute(SC_ATTR)) {\n return child as any as 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 as any as 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 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","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) {\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 const TextTag = class TextTag implements Tag {\n element: HTMLStyleElement;\n nodes: NodeListOf<Node>;\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) {\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) {\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 { 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;\n};\n\ntype GlobalStylesAllocationMap = {\n [key: string]: number;\n};\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 names: NamesAllocationMap;\n options: SheetOptions;\n server: boolean;\n tag?: 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 as 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 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\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<string>();\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 /** Outputs the current sheet as a CSS string with markers for SSR */\n toString(): string {\n return outputSheet(this);\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 { compile, Element, Middleware, middleware, prefixer, RULESET, stringify } from 'stylis';\nimport { Stringifier } from '../types';\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from './empties';\nimport throwStyledError from './error';\nimport { phash, SEED } from './hash';\n\nconst COMMENT_REGEX = /^\\s*\\/\\/.*$/gm;\nconst COMPLEX_SELECTOR_PREFIX = [':', '[', '.', '#'];\n\ntype StylisInstanceConstructorArgs = {\n options?: { prefix?: boolean };\n plugins?: Middleware[];\n};\n\n/**\n * Serialize stylis output as an array of css strings. It is important that rules are\n * separated when using CSSOM injection.\n */\nfunction serialize(children: Element[], callback: Middleware): string[] {\n return children.map((c, i) => callback(c, i, children, callback)).filter(Boolean) as string[];\n}\n\nexport default function createStylisInstance(\n {\n options = EMPTY_OBJECT as Object,\n plugins = EMPTY_ARRAY as unknown as Middleware[],\n }: StylisInstanceConstructorArgs = EMPTY_OBJECT as Object\n) {\n let _componentId: string;\n let _selector: string;\n let _selectorRegexp: RegExp;\n let _consecutiveSelfRefRegExp: RegExp;\n\n const selfReferenceReplacer: Parameters<String['replace']>[1] = (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.includes(string[_selector.length]) : true) && // 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/v4.0.2#abstract-syntax-structure\n */\n const selfReferenceReplacementPlugin: Middleware = element => {\n if (element.type === RULESET && element.value.includes('&')) {\n const props = element.props as string[];\n props[0] = props[0].replace(_selectorRegexp, selfReferenceReplacer);\n }\n };\n\n const stringifyRules: Stringifier = (\n css: string,\n selector = '',\n prefix = '',\n componentId = '&'\n ) => {\n let flatCSS = css.replace(COMMENT_REGEX, '');\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 const middlewares = plugins.slice();\n\n if (options.prefix || options.prefix === undefined) {\n middlewares.unshift(prefixer);\n }\n\n middlewares.push(selfReferenceReplacementPlugin, stringify);\n\n return serialize(\n compile(prefix || selector ? `${prefix} ${selector} { ${flatCSS} }` : flatCSS),\n middleware(middlewares)\n );\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 StyleSheet from '../sheet';\nimport { Stringifier } from '../types';\nimport createStylisInstance from '../utils/stylis';\n\ntype Props = {\n children?: React.ReactChild;\n disableCSSOMInjection?: boolean;\n disableVendorPrefixes?: boolean;\n sheet?: StyleSheet;\n stylisPlugins?: stylis.Middleware[];\n target?: HTMLElement;\n};\n\nexport const StyleSheetContext = React.createContext<StyleSheet | void>(undefined);\nexport const StyleSheetConsumer = StyleSheetContext.Consumer;\nexport const StylisContext = React.createContext<Stringifier | void>(undefined);\nexport const StylisConsumer = StylisContext.Consumer;\n\nexport const mainSheet: StyleSheet = new StyleSheet();\nexport const mainStylis: Stringifier = createStylisInstance();\n\nexport function useStyleSheet(): StyleSheet {\n return useContext(StyleSheetContext) || mainSheet;\n}\n\nexport function useStylis(): Stringifier {\n return useContext(StylisContext) || mainStylis;\n}\n\nexport default function StyleSheetManager(props: Props): JSX.Element {\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","import StyleSheet from '../sheet';\nimport { Keyframes as KeyframesType, Stringifier } from '../types';\nimport styledError from '../utils/error';\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\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 toString = (): void => {\n throw styledError(12, String(this.name));\n };\n\n getName(stylisInstance: Stringifier = mainStylis): string {\n return this.name + stylisInstance.hash;\n }\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)) {\n return `${value}px`; // Presumes implicit 'px' suffix for unitless numbers\n }\n\n return String(value).trim();\n}\n","import { StyledTarget } from '../types';\n\nexport default function getComponentName(target: StyledTarget<any>) {\n return (\n (process.env.NODE_ENV !== 'production' ? typeof target === 'string' && target : false) ||\n (target as Exclude<StyledTarget<any>, string>).displayName ||\n (target as Function).name ||\n 'Component'\n );\n}\n","/**\n * inlined version of\n * https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/hyphenateStyleName.js\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 */\nexport default function hyphenateStyleName(string: string) {\n return uppercaseCheck.test(string) && !string.startsWith('--')\n ? string.replace(uppercasePattern, prefixAndLowerCase).replace(msPattern, '-ms-')\n : string;\n}\n","export default function isFunction(test: any) {\n return typeof test === 'function';\n}\n","export default function isPlainObject(x: any): boolean {\n return (\n x !== null &&\n typeof x === 'object' &&\n /* a check for empty prototype would be more typical, but that\n doesn't play well with objects created in different vm contexts */\n (!x.constructor || x.constructor.name === 'Object') &&\n (x.toString ? x.toString() : Object.prototype.toString.call(x)) === '[object Object]' &&\n /* check for reasonable markers that the object isn't an element for react & preact/compat */\n !('props' in x && (x.$$typeof || x.constructor === undefined))\n );\n}\n","export default function isStatelessFunction(test: any) {\n return typeof test === 'function' && !(test.prototype && test.prototype.isReactComponent);\n}\n","import { IStyledComponent } from '../types';\n\nexport default function isStyledComponent(target: any): target is IStyledComponent<'web', any, any> {\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 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<any>, prevKey?: string): string[] => {\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<Props extends object>(\n chunk: Interpolation<Props>,\n executionContext?: ExecutionContext & Props,\n styleSheet?: StyleSheet,\n stylisInstance?: Stringifier\n): Interpolation<Props> | RuleSet<Props> {\n if (Array.isArray(chunk)) {\n const ruleSet: RuleSet<Props> = [];\n\n for (let i = 0, len = chunk.length, result; i < len; i += 1) {\n result = flatten<Props>(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 as unknown as IStyledComponent<'web', 'div', any>).styledComponentId}`;\n }\n\n /* Either execute or defer the function */\n if (isFunction(chunk)) {\n if (isStatelessFunction(chunk) && executionContext) {\n const chunkFn = chunk as (props: {}) => Interpolation<Props>;\n const result = chunkFn(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 ) {\n // eslint-disable-next-line no-console\n console.error(\n `${getComponentName(\n chunkFn 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 return chunk as unknown as IStyledComponent<'web', 'div', any>;\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 as StyledObject) : chunk.toString();\n}\n","import { Interpolation } from '../types';\n\nexport default function interleave<Props extends object>(\n strings: TemplateStringsArray,\n interpolations: Interpolation<Props>[]\n): Interpolation<Props>[] {\n const result: Interpolation<Props>[] = [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 { Interpolation, StyledObject, StyleFunction, Styles } 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 = <T>(arg: T extends any[] ? T & { isCss?: boolean } : T) => {\n if (Array.isArray(arg)) {\n // eslint-disable-next-line no-param-reassign\n (arg as any[] & { isCss?: boolean }).isCss = true;\n }\n\n return arg;\n};\n\nexport default function css<Props extends object>(\n styles: Styles<Props>,\n ...interpolations: Interpolation<Props>[]\n) {\n if (isFunction(styles) || isPlainObject(styles)) {\n const styleFunctionOrObject = styles as StyleFunction<Props> | StyledObject;\n\n return addTag(\n flatten<Props>(\n interleave<Props>(EMPTY_ARRAY as TemplateStringsArray, [\n styleFunctionOrObject,\n ...interpolations,\n ])\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 styleStringArray;\n }\n\n return addTag(flatten<Props>(interleave<Props>(styleStringArray, interpolations)));\n}\n","import {\n Attrs,\n Interpolation,\n IStyledComponent,\n IStyledComponentFactory,\n KnownTarget,\n RuleSet,\n Runtime,\n StyledOptions,\n StyledTarget,\n Styles,\n} from '../types';\nimport { EMPTY_OBJECT } from '../utils/empties';\nimport styledError from '../utils/error';\nimport css from './css';\n\n/**\n * for types a and b, if b shares a field with a, mark a's field as optional\n */\ntype UnionWithOptionalIntersectedFields<A, B> = {\n [K in keyof (A | B)]: K extends keyof B ? A[K] | undefined : A[K];\n};\n\n/**\n * attrs can be an object or function that returns an object; attrs are always\n * optional and should hole-punch required base types if we're providing the\n * value via attrs\n */\ntype InferAttrResultType<T extends Attrs<object>> = Partial<\n T extends (...args: any) => infer P ? P : T\n>;\n\n/**\n * If attrs type is a function (no type provided, inferring from usage), extract the return value\n * and merge it with the existing type to hole-punch any required fields that are satisfied as\n * a result of running attrs. Otherwise if we have a definite type then union the base props\n * with the passed attr type to capture any intended overrides.\n */\ntype ApplyAttrResultToProps<T extends Attrs<object>, Props extends object> = T extends (\n ...args: any\n) => object\n ? UnionWithOptionalIntersectedFields<Props, InferAttrResultType<T>>\n : Props & InferAttrResultType<T>;\n\nexport interface Styled<\n R extends Runtime,\n Target extends StyledTarget<R>,\n OuterProps extends object = Target extends KnownTarget\n ? React.ComponentPropsWithRef<Target>\n : object,\n OuterStatics extends object = object\n> {\n <Props extends object = object, Statics extends object = object>(\n initialStyles: Styles<OuterProps & Props>,\n ...interpolations: Interpolation<OuterProps & Props>[]\n ): IStyledComponent<R, Target, OuterProps & Props> & OuterStatics & Statics;\n\n attrs: <T extends Attrs<object>>(\n attrs: Attrs<T extends object ? OuterProps & T : OuterProps>\n ) => Styled<R, Target, ApplyAttrResultToProps<T, OuterProps>, OuterStatics>;\n\n withConfig: (config: StyledOptions<R, OuterProps>) => Styled<R, Target, OuterProps, OuterStatics>;\n}\n\nexport default function constructWithOptions<\n R extends Runtime,\n Target extends StyledTarget<R>,\n OuterProps extends object = Target extends KnownTarget\n ? React.ComponentPropsWithRef<Target>\n : object,\n OuterStatics extends object = object\n>(\n componentConstructor: IStyledComponentFactory<R, Target, OuterProps, OuterStatics>,\n tag: Target,\n options: StyledOptions<R, OuterProps> = EMPTY_OBJECT\n): Styled<R, Target, OuterProps, OuterStatics> {\n // We trust that the tag is a valid component as long as it isn't falsish\n // Typically the tag here is a string or function (i.e. class or pure function component)\n // However a component may also be an object if it uses another utility, e.g. React.memo\n // React will output an appropriate warning however if the `tag` isn't valid\n if (!tag) {\n throw styledError(1, tag);\n }\n\n /* This is callable directly as a template function */\n const templateFunction = <Props extends object = object, Statics extends object = object>(\n initialStyles: Styles<OuterProps & Props>,\n ...interpolations: Interpolation<OuterProps & Props>[]\n ) =>\n componentConstructor<Props, Statics>(\n tag,\n options,\n css(initialStyles, ...interpolations) as RuleSet<OuterProps & Props>\n );\n\n /* Modify/inject new props at runtime */\n templateFunction.attrs = <T extends Attrs<object>>(\n attrs: Attrs<T extends object ? OuterProps & T : OuterProps>\n ) =>\n constructWithOptions<R, Target, ApplyAttrResultToProps<T, OuterProps>, OuterStatics>(\n componentConstructor as unknown as IStyledComponentFactory<\n R,\n Target,\n ApplyAttrResultToProps<T, OuterProps>,\n OuterStatics\n >,\n tag,\n {\n ...options,\n attrs: Array.prototype.concat(options.attrs, attrs).filter(Boolean),\n }\n );\n\n /**\n * If config methods are called, wrap up a new template function and merge options */\n templateFunction.withConfig = (config: StyledOptions<R, OuterProps>) =>\n constructWithOptions<R, Target, OuterProps, OuterStatics>(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<T> {\n * css?: CSSProp;\n * }\n * }\n * ```\n */\nexport interface DefaultTheme {\n [key: string]: any;\n}\n\ntype ThemeFn = (outerTheme?: DefaultTheme) => DefaultTheme;\ntype ThemeArgument = DefaultTheme | ThemeFn;\n\ntype Props = {\n children?: React.ReactChild;\n theme: ThemeArgument;\n};\n\nexport const ThemeContext = React.createContext<DefaultTheme | undefined>(undefined);\n\nexport const ThemeConsumer = ThemeContext.Consumer;\n\nfunction mergeTheme(theme: ThemeArgument, outerTheme?: DefaultTheme): 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 * Provide a theme to an entire react component tree via context\n */\nexport default function ThemeProvider(props: Props): JSX.Element | null {\n const outerTheme = 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 <ThemeContext.Provider value={themeContext}>{props.children}</ThemeContext.Provider>;\n}\n","import { ExecutionProps } from '../types';\nimport { EMPTY_OBJECT } from './empties';\n\nexport default function determineTheme(\n props: ExecutionProps,\n providedTheme: any,\n defaultProps: any = EMPTY_OBJECT\n) {\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<any>\n): object is React.MemoExoticComponent<any> {\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<S extends OmniComponent, C extends ExcludeList = {}> = {\n [key in Exclude<\n keyof S,\n S extends React.MemoExoticComponent<any>\n ? keyof typeof MEMO_STATICS | keyof C\n : S extends React.ForwardRefExoticComponent<any>\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) {\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<S, C>;\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<T extends AnyComponent>(Component: T) {\n const WithTheme = React.forwardRef<T, JSX.LibraryManagedAttributes<T, ExecutionProps>>(\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 // 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\n WithTheme.displayName = `WithTheme(${getComponentName(Component)})`;\n\n return hoist(WithTheme, Component);\n}\n","import { useContext } from 'react';\nimport { DefaultTheme, ThemeContext } from '../models/ThemeProvider';\n\nconst useTheme = (): DefaultTheme | undefined => useContext(ThemeContext);\n\nexport default useTheme;\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","import generateAlphabeticName from './generateAlphabeticName';\nimport { hash } from './hash';\n\nexport default function generateComponentId(str: string) {\n return generateAlphabeticName(hash(str) >>> 0);\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';\n\nlet generated: Dict<any> = {};\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<Props extends object>(styleSheet: StyleSheet) {\n const InlineStyle: IInlineStyleConstructor<Props> = class InlineStyle\n implements IInlineStyle<Props>\n {\n rules: RuleSet<Props>;\n\n constructor(rules: RuleSet<Props>) {\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 = (flatten(this.rules, executionContext) as string[]).join('');\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 /* eslint-disable no-console */\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 { 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","import { StyledTarget } from '../types';\nimport getComponentName from './getComponentName';\nimport isTag from './isTag';\n\nexport default function generateDisplayName(target: StyledTarget<any>) {\n return isTag(target) ? `styled.${target}` : `Styled(${getComponentName(target)})`;\n}\n","import { ExecutionProps } from '../types';\nimport 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: ExecutionProps = {}, ...sources: any[]) {\n for (const source of sources) {\n mixinRecursively(target, source, true);\n }\n\n return target;\n}\n","import React, { createElement, Ref, useContext, useMemo } from 'react';\nimport type {\n Attrs,\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 isStyledComponent from '../utils/isStyledComponent';\nimport merge from '../utils/mixinDeep';\nimport { DefaultTheme, ThemeContext } from './ThemeProvider';\n\nfunction useResolvedAttrs<Props extends object>(\n theme: DefaultTheme = EMPTY_OBJECT,\n props: Props,\n attrs: Attrs<Props>[]\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<any> = {};\n\n attrs.forEach(attrDef => {\n let resolvedAttrDef = typeof attrDef === 'function' ? attrDef(context) : attrDef;\n let key;\n\n /* eslint-disable guard-for-in */\n for (key in resolvedAttrDef) {\n // @ts-expect-error bad types\n context[key] = resolvedAttrs[key] = resolvedAttrDef[key];\n }\n /* eslint-enable guard-for-in */\n });\n\n return [context, resolvedAttrs];\n}\n\ninterface StyledComponentImplProps extends ExecutionProps {\n style?: any;\n}\n\nfunction useStyledComponentImpl<\n Target extends NativeTarget,\n Props extends StyledComponentImplProps\n>(\n forwardedComponent: IStyledComponent<'native', Target, Props>,\n props: Props,\n forwardedRef: Ref<any>\n) {\n const {\n attrs: componentAttrs,\n inlineStyle,\n defaultProps,\n shouldForwardProp,\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 generatedStyles = inlineStyle.generateStyleObject(context);\n\n const refToForward = forwardedRef;\n\n const elementToBeCreated: NativeTarget = attrs.as || props.as || target;\n\n const computedProps: Dict<any> = attrs !== props ? { ...props, ...attrs } : props;\n const propsForElement: Dict<any> = {};\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 (!shouldForwardProp || shouldForwardProp(key, elementToBeCreated)) {\n propsForElement[key] = computedProps[key];\n }\n }\n\n propsForElement.style = useMemo(\n () =>\n typeof props.style === 'function'\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<any>) => {\n const createStyledNativeComponent = <\n Target extends NativeTarget,\n OuterProps extends ExecutionProps,\n Statics extends object = object\n >(\n target: Target,\n options: StyledOptions<'native', OuterProps>,\n rules: RuleSet<OuterProps>\n ): ReturnType<IStyledComponentFactory<'native', Target, OuterProps, Statics>> => {\n const isTargetStyledComp = isStyledComponent(target);\n const styledComponentTarget = target as IStyledComponent<'native', Target, 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<OuterProps>[]);\n\n // eslint-disable-next-line prefer-destructuring\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 // eslint-disable-next-line prefer-destructuring\n shouldForwardProp = shouldForwardPropFn;\n }\n }\n\n const forwardRef = (props: ExecutionProps & OuterProps, ref: React.Ref<any>) =>\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useStyledComponentImpl<Target, OuterProps>(WrappedStyledComponent, props, ref);\n\n forwardRef.displayName = displayName;\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(forwardRef) as unknown as IStyledComponent<\n 'native',\n Target,\n OuterProps\n > &\n Statics;\n\n WrappedStyledComponent.attrs = finalAttrs;\n WrappedStyledComponent.inlineStyle = new InlineStyle(\n isTargetStyledComp ? styledComponentTarget.inlineStyle.rules.concat(rules) : rules\n ) as InstanceType<IInlineStyleConstructor<OuterProps>>;\n WrappedStyledComponent.displayName = displayName;\n WrappedStyledComponent.shouldForwardProp = shouldForwardProp;\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 WrappedStyledComponent.withComponent = function withComponent<\n Target extends NativeTarget,\n Props = unknown\n >(tag: Target) {\n const newOptions = {\n ...options,\n attrs: finalAttrs,\n } as StyledOptions<'native', OuterProps & Props>;\n\n return createStyledNativeComponent<Target, OuterProps & Props, Statics>(\n tag,\n newOptions,\n rules as RuleSet<OuterProps & Props>\n );\n };\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<typeof WrappedStyledComponent, typeof target>(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 withComponent: true,\n } as { [key in keyof OmitNever<IStyledStatics<'native', Target>>]: true });\n\n return WrappedStyledComponent;\n };\n\n return createStyledNativeComponent;\n};\n","import React from 'react';\nimport constructWithOptions, { Styled } from '../constructors/constructWithOptions';\nimport css from '../constructors/css';\nimport withTheme from '../hoc/withTheme';\nimport useTheme from '../hooks/useTheme';\nimport _InlineStyle from '../models/InlineStyle';\nimport _StyledNativeComponent from '../models/StyledNativeComponent';\nimport ThemeProvider, { ThemeConsumer, ThemeContext } from '../models/ThemeProvider';\nimport { NativeTarget } from '../types';\nimport isStyledComponent from '../utils/isStyledComponent';\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst reactNative = require('react-native') as Awaited<typeof import('react-native')>;\n\nconst InlineStyle = _InlineStyle(reactNative.StyleSheet);\nconst StyledNativeComponent = _StyledNativeComponent(InlineStyle);\n\nconst baseStyled = <Target extends NativeTarget>(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<any>\n ? typeof reactNative[K]\n : never;\n};\n\nconst styled = baseStyled as typeof baseStyled & {\n [E in KnownComponents]: Styled<'native', RNComponents[E]>;\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\nexport {\n IStyledComponent,\n IStyledComponentFactory,\n IStyledStatics,\n NativeTarget,\n StyledOptions,\n} from '../types';\nexport { css, isStyledComponent, ThemeProvider, ThemeConsumer, ThemeContext, withTheme, useTheme };\n\nexport default styled;\n"],"names":["styledError","throwStyledError","hyphenate","hoist","merge","_InlineStyle"],"mappings":"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"}
|