{"version":3,"file":"static/js/659.6a0ef2f7.chunk.js","mappings":"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ACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,KACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,SACA,QACA,SACA,KACA,OACA,OACA,MACA,OACA,OACA,WACA,OACA,QACA,MACA,WACA,SACA,KACA,WACA,SACA,SACA,IACA,QACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,SACA,UACA,SACA,QACA,SACA,OACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,IACA,KACA,MACA,MACA,QACA,MACA,SACA,WACA,OACA,UACA,gBACA,IACA,QACA,OACA,iBACA,SACA,OACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,MACA,OACA,UCrIImgB,GAAc,wCAEdC,GAAe,WAMG,SAAAC,GAAOzjB,GAC7B,OAAOA,EACJO,QAAQgjB,GAAa,KACrBhjB,QAAQijB,GAAc,GAC3B,CCdA,IAAME,GAAgB,WAIhB7X,GAAc,GAGdsW,GAAoB,SAACniB,GAAiB,OAAA8O,OAAOoP,aAAale,GAAQA,EAAO,GAAK,GAAK,IAA7C,EAGpB,SAAAoiB,GAAuBpiB,GAC7C,IACImjB,EADAC,EAAO,GAIX,IAAKD,EAAIpU,KAAKiP,IAAIhe,GAAOmjB,EAAItX,GAAasX,EAAKA,EAAItX,GAAe,EAChEuX,EAAOjB,GAAkBgB,EAAItX,IAAeuX,EAG9C,OAAQjB,GAAkBgB,EAAItX,IAAeuX,GAAM7iB,QAAQmjB,GAAe,QAC5E,CCpBO,IAAAC,GAAMC,GAAO,KAKPC,GAAQ,SAAC7jB,EAAWmjB,GAG/B,IAFA,IAAIC,EAAID,EAAE1hB,OAEH2hB,GACLpjB,EAAS,GAAJA,EAAUmjB,EAAExE,aAAayE,GAGhC,OAAOpjB,CACT,EAGa8jB,GAAO,SAAC9jB,GACnB,OAAO6jB,GAAMD,GAAM5jB,EACrB,ECfwB,SAAAsiB,GAAoBtiB,GAC1C,OAAOoiB,GAAuB0B,GAAK9jB,KAAS,EAC9C,CCHwB,SAAA+jB,GAAiB/jB,GACvC,OAEGA,EA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","sources":["../node_modules/invariant/browser.js","../node_modules/@restart/ui/node_modules/uncontrollable/lib/esm/index.js","../node_modules/@restart/ui/esm/DropdownContext.js","../node_modules/dequal/dist/index.mjs","../node_modules/@restart/hooks/esm/useSafeState.js","../node_modules/@restart/ui/esm/popper.js","../node_modules/@restart/ui/esm/usePopper.js","../node_modules/@restart/ui/esm/useClickOutside.js","../node_modules/@restart/ui/esm/mergeOptionsWithPopperConfig.js","../node_modules/@restart/ui/esm/DropdownMenu.js","../packages/@react-aria/ssr/src/SSRProvider.tsx","../node_modules/@restart/ui/esm/DropdownToggle.js","../node_modules/@restart/ui/esm/SelectableContext.js","../node_modules/@restart/ui/esm/NavContext.js","../node_modules/@restart/ui/esm/DropdownItem.js","../node_modules/@restart/ui/esm/Dropdown.js","../node_modules/@restart/hooks/esm/useForceUpdate.js","../node_modules/@restart/hooks/esm/useEventListener.js","../node_modules/uncontrollable/lib/esm/utils.js","../node_modules/uncontrollable/lib/esm/hook.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/react-bootstrap/esm/DropdownContext.js","../node_modules/react-bootstrap/esm/DropdownDivider.js","../node_modules/react-bootstrap/esm/DropdownHeader.js","../node_modules/@restart/hooks/esm/useResizeObserver.js","../node_modules/@restart/ui/esm/Anchor.js","../node_modules/react-bootstrap/esm/DropdownItem.js","../node_modules/react-bootstrap/esm/DropdownItemText.js","../node_modules/react-bootstrap/esm/InputGroupContext.js","../node_modules/react-bootstrap/esm/NavbarContext.js","../node_modules/react-bootstrap/esm/useWrappedRefWithWarning.js","../node_modules/react-bootstrap/esm/DropdownMenu.js","../node_modules/react-bootstrap/esm/DropdownToggle.js","../node_modules/react-bootstrap/esm/Dropdown.js","../node_modules/shallowequal/index.js","../node_modules/styled-components/node_modules/stylis/src/Enum.js","../node_modules/styled-components/node_modules/stylis/src/Utility.js","../node_modules/styled-components/node_modules/stylis/src/Tokenizer.js","../node_modules/styled-components/node_modules/stylis/src/Serializer.js","../node_modules/styled-components/node_modules/stylis/src/Prefixer.js","../node_modules/styled-components/node_modules/stylis/src/Middleware.js","../node_modules/styled-components/node_modules/stylis/src/Parser.js","../node_modules/styled-components/src/constants.ts","../node_modules/styled-components/src/utils/empties.ts","../node_modules/styled-components/src/utils/checkDynamicCreation.ts","../node_modules/styled-components/src/utils/determineTheme.ts","../node_modules/styled-components/src/utils/domElements.ts","../node_modules/styled-components/src/utils/escape.ts","../node_modules/styled-components/src/utils/generateAlphabeticName.ts","../node_modules/styled-components/src/utils/hash.ts","../node_modules/styled-components/src/utils/generateComponentId.ts","../node_modules/styled-components/src/utils/getComponentName.ts","../node_modules/styled-components/src/utils/isTag.ts","../node_modules/styled-components/src/utils/hoist.ts","../node_modules/styled-components/src/utils/isFunction.ts","../node_modules/styled-components/src/utils/isStyledComponent.ts","../node_modules/styled-components/src/utils/joinStrings.ts","../node_modules/styled-components/src/utils/isPlainObject.ts","../node_modules/styled-components/src/utils/mixinDeep.ts","../node_modules/styled-components/src/utils/setToString.ts","../node_modules/styled-components/src/utils/error.ts","../node_modules/styled-components/src/sheet/GroupedTag.ts","../node_modules/styled-components/src/sheet/GroupIDAllocator.ts","../node_modules/styled-components/src/sheet/Rehydration.ts","../node_modules/styled-components/src/utils/nonce.ts","../node_modules/styled-components/src/sheet/dom.ts","../node_modules/styled-components/src/sheet/Tag.ts","../node_modules/styled-components/src/sheet/Sheet.ts","../node_modules/styled-components/src/utils/stylis.ts","../node_modules/styled-components/src/models/StyleSheetManager.tsx","../node_modules/styled-components/src/models/Keyframes.ts","../node_modules/styled-components/src/utils/hyphenateStyleName.ts","../node_modules/styled-components/src/utils/flatten.ts","../node_modules/styled-components/src/utils/addUnitIfNeeded.ts","../node_modules/styled-components/src/utils/isStatelessFunction.ts","../node_modules/styled-components/src/utils/isStaticRules.ts","../node_modules/styled-components/src/models/ComponentStyle.ts","../node_modules/styled-components/src/models/ThemeProvider.tsx","../node_modules/styled-components/src/models/StyledComponent.ts","../node_modules/styled-components/src/utils/generateDisplayName.ts","../node_modules/styled-components/src/utils/interleave.ts","../node_modules/styled-components/src/constructors/css.ts","../node_modules/styled-components/src/constructors/constructWithOptions.ts","../node_modules/styled-components/src/constructors/styled.tsx","../node_modules/styled-components/src/models/GlobalStyle.ts","../node_modules/styled-components/src/models/ServerStyleSheet.tsx","../node_modules/styled-components/src/base.ts","../node_modules/warning/warning.js"],"sourcesContent":["/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { useCallback, useRef, useState } from 'react';\nexport function defaultKey(key) {\n return 'default' + key.charAt(0).toUpperCase() + key.substr(1);\n}\nfunction useUncontrolledProp(propValue, defaultValue, handler) {\n const wasPropRef = useRef(propValue !== undefined);\n const [stateValue, setState] = useState(defaultValue);\n const isProp = propValue !== undefined;\n const wasProp = wasPropRef.current;\n wasPropRef.current = isProp;\n\n /**\n * If a prop switches from controlled to Uncontrolled\n * reset its value to the defaultValue\n */\n if (!isProp && wasProp && stateValue !== defaultValue) {\n setState(defaultValue);\n }\n return [isProp ? propValue : stateValue, useCallback((...args) => {\n const [value, ...rest] = args;\n let returnValue = handler == null ? void 0 : handler(value, ...rest);\n setState(value);\n return returnValue;\n }, [handler])];\n}\nexport { useUncontrolledProp };\nexport function useUncontrolled(props, config) {\n return Object.keys(config).reduce((result, fieldName) => {\n const _ref = result,\n _defaultKey = defaultKey(fieldName),\n {\n [_defaultKey]: defaultValue,\n [fieldName]: propsValue\n } = _ref,\n rest = _objectWithoutPropertiesLoose(_ref, [_defaultKey, fieldName].map(_toPropertyKey));\n const handlerName = config[fieldName];\n const [value, handler] = useUncontrolledProp(propsValue, defaultValue, props[handlerName]);\n return Object.assign({}, rest, {\n [fieldName]: value,\n [handlerName]: handler\n });\n }, props);\n}","import * as React from 'react';\nconst DropdownContext = /*#__PURE__*/React.createContext(null);\nexport default DropdownContext;","var has = Object.prototype.hasOwnProperty;\n\nfunction find(iter, tar, key) {\n\tfor (key of iter.keys()) {\n\t\tif (dequal(key, tar)) return key;\n\t}\n}\n\nexport function dequal(foo, bar) {\n\tvar ctor, len, tmp;\n\tif (foo === bar) return true;\n\n\tif (foo && bar && (ctor=foo.constructor) === bar.constructor) {\n\t\tif (ctor === Date) return foo.getTime() === bar.getTime();\n\t\tif (ctor === RegExp) return foo.toString() === bar.toString();\n\n\t\tif (ctor === Array) {\n\t\t\tif ((len=foo.length) === bar.length) {\n\t\t\t\twhile (len-- && dequal(foo[len], bar[len]));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (ctor === Set) {\n\t\t\tif (foo.size !== bar.size) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tfor (len of foo) {\n\t\t\t\ttmp = len;\n\t\t\t\tif (tmp && typeof tmp === 'object') {\n\t\t\t\t\ttmp = find(bar, tmp);\n\t\t\t\t\tif (!tmp) return false;\n\t\t\t\t}\n\t\t\t\tif (!bar.has(tmp)) return false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\tif (ctor === Map) {\n\t\t\tif (foo.size !== bar.size) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tfor (len of foo) {\n\t\t\t\ttmp = len[0];\n\t\t\t\tif (tmp && typeof tmp === 'object') {\n\t\t\t\t\ttmp = find(bar, tmp);\n\t\t\t\t\tif (!tmp) return false;\n\t\t\t\t}\n\t\t\t\tif (!dequal(len[1], bar.get(tmp))) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\tif (ctor === ArrayBuffer) {\n\t\t\tfoo = new Uint8Array(foo);\n\t\t\tbar = new Uint8Array(bar);\n\t\t} else if (ctor === DataView) {\n\t\t\tif ((len=foo.byteLength) === bar.byteLength) {\n\t\t\t\twhile (len-- && foo.getInt8(len) === bar.getInt8(len));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (ArrayBuffer.isView(foo)) {\n\t\t\tif ((len=foo.byteLength) === bar.byteLength) {\n\t\t\t\twhile (len-- && foo[len] === bar[len]);\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (!ctor || typeof foo === 'object') {\n\t\t\tlen = 0;\n\t\t\tfor (ctor in foo) {\n\t\t\t\tif (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;\n\t\t\t\tif (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;\n\t\t\t}\n\t\t\treturn Object.keys(bar).length === len;\n\t\t}\n\t}\n\n\treturn foo !== foo && bar !== bar;\n}\n","import { useCallback } from 'react';\nimport useMounted from './useMounted';\n\n/**\n * `useSafeState` takes the return value of a `useState` hook and wraps the\n * setter to prevent updates onces the component has unmounted. Can used\n * with `useMergeState` and `useStateAsync` as well\n *\n * @param state The return value of a useStateHook\n *\n * ```ts\n * const [show, setShow] = useSafeState(useState(true));\n * ```\n */\n\nfunction useSafeState(state) {\n const isMounted = useMounted();\n return [state[0], useCallback(nextState => {\n if (!isMounted()) return;\n return state[1](nextState);\n }, [isMounted, state[1]])];\n}\nexport default useSafeState;","import arrow from '@popperjs/core/lib/modifiers/arrow';\nimport computeStyles from '@popperjs/core/lib/modifiers/computeStyles';\nimport eventListeners from '@popperjs/core/lib/modifiers/eventListeners';\nimport flip from '@popperjs/core/lib/modifiers/flip';\nimport hide from '@popperjs/core/lib/modifiers/hide';\nimport offset from '@popperjs/core/lib/modifiers/offset';\nimport popperOffsets from '@popperjs/core/lib/modifiers/popperOffsets';\nimport preventOverflow from '@popperjs/core/lib/modifiers/preventOverflow';\nimport { placements } from '@popperjs/core/lib/enums';\nimport { popperGenerator } from '@popperjs/core/lib/popper-base';\n\n// For the common JS build we will turn this file into a bundle with no imports.\n// This is b/c the Popper lib is all esm files, and would break in a common js only environment\nexport const createPopper = popperGenerator({\n defaultModifiers: [hide, popperOffsets, computeStyles, eventListeners, offset, flip, preventOverflow, arrow]\n});\nexport { placements };","const _excluded = [\"enabled\", \"placement\", \"strategy\", \"modifiers\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { dequal } from 'dequal';\nimport useSafeState from '@restart/hooks/useSafeState';\nimport { createPopper } from './popper';\nconst disabledApplyStylesModifier = {\n name: 'applyStyles',\n enabled: false,\n phase: 'afterWrite',\n fn: () => undefined\n};\n\n// until docjs supports type exports...\n\nconst ariaDescribedByModifier = {\n name: 'ariaDescribedBy',\n enabled: true,\n phase: 'afterWrite',\n effect: ({\n state\n }) => () => {\n const {\n reference,\n popper\n } = state.elements;\n if ('removeAttribute' in reference) {\n const ids = (reference.getAttribute('aria-describedby') || '').split(',').filter(id => id.trim() !== popper.id);\n if (!ids.length) reference.removeAttribute('aria-describedby');else reference.setAttribute('aria-describedby', ids.join(','));\n }\n },\n fn: ({\n state\n }) => {\n var _popper$getAttribute;\n const {\n popper,\n reference\n } = state.elements;\n const role = (_popper$getAttribute = popper.getAttribute('role')) == null ? void 0 : _popper$getAttribute.toLowerCase();\n if (popper.id && role === 'tooltip' && 'setAttribute' in reference) {\n const ids = reference.getAttribute('aria-describedby');\n if (ids && ids.split(',').indexOf(popper.id) !== -1) {\n return;\n }\n reference.setAttribute('aria-describedby', ids ? `${ids},${popper.id}` : popper.id);\n }\n }\n};\nconst EMPTY_MODIFIERS = [];\n/**\n * Position an element relative some reference element using Popper.js\n *\n * @param referenceElement\n * @param popperElement\n * @param {object} options\n * @param {object=} options.modifiers Popper.js modifiers\n * @param {boolean=} options.enabled toggle the popper functionality on/off\n * @param {string=} options.placement The popper element placement relative to the reference element\n * @param {string=} options.strategy the positioning strategy\n * @param {function=} options.onCreate called when the popper is created\n * @param {function=} options.onUpdate called when the popper is updated\n *\n * @returns {UsePopperState} The popper state\n */\nfunction usePopper(referenceElement, popperElement, _ref = {}) {\n let {\n enabled = true,\n placement = 'bottom',\n strategy = 'absolute',\n modifiers = EMPTY_MODIFIERS\n } = _ref,\n config = _objectWithoutPropertiesLoose(_ref, _excluded);\n const prevModifiers = useRef(modifiers);\n const popperInstanceRef = useRef();\n const update = useCallback(() => {\n var _popperInstanceRef$cu;\n (_popperInstanceRef$cu = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu.update();\n }, []);\n const forceUpdate = useCallback(() => {\n var _popperInstanceRef$cu2;\n (_popperInstanceRef$cu2 = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu2.forceUpdate();\n }, []);\n const [popperState, setState] = useSafeState(useState({\n placement,\n update,\n forceUpdate,\n attributes: {},\n styles: {\n popper: {},\n arrow: {}\n }\n }));\n const updateModifier = useMemo(() => ({\n name: 'updateStateModifier',\n enabled: true,\n phase: 'write',\n requires: ['computeStyles'],\n fn: ({\n state\n }) => {\n const styles = {};\n const attributes = {};\n Object.keys(state.elements).forEach(element => {\n styles[element] = state.styles[element];\n attributes[element] = state.attributes[element];\n });\n setState({\n state,\n styles,\n attributes,\n update,\n forceUpdate,\n placement: state.placement\n });\n }\n }), [update, forceUpdate, setState]);\n const nextModifiers = useMemo(() => {\n if (!dequal(prevModifiers.current, modifiers)) {\n prevModifiers.current = modifiers;\n }\n return prevModifiers.current;\n }, [modifiers]);\n useEffect(() => {\n if (!popperInstanceRef.current || !enabled) return;\n popperInstanceRef.current.setOptions({\n placement,\n strategy,\n modifiers: [...nextModifiers, updateModifier, disabledApplyStylesModifier]\n });\n }, [strategy, placement, updateModifier, enabled, nextModifiers]);\n useEffect(() => {\n if (!enabled || referenceElement == null || popperElement == null) {\n return undefined;\n }\n popperInstanceRef.current = createPopper(referenceElement, popperElement, Object.assign({}, config, {\n placement,\n strategy,\n modifiers: [...nextModifiers, ariaDescribedByModifier, updateModifier]\n }));\n return () => {\n if (popperInstanceRef.current != null) {\n popperInstanceRef.current.destroy();\n popperInstanceRef.current = undefined;\n setState(s => Object.assign({}, s, {\n attributes: {},\n styles: {\n popper: {}\n }\n }));\n }\n };\n // This is only run once to _create_ the popper\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [enabled, referenceElement, popperElement]);\n return popperState;\n}\nexport default usePopper;","import contains from 'dom-helpers/contains';\nimport listen from 'dom-helpers/listen';\nimport ownerDocument from 'dom-helpers/ownerDocument';\nimport { useCallback, useEffect, useRef } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport warning from 'warning';\nconst noop = () => {};\nfunction isLeftClickEvent(event) {\n return event.button === 0;\n}\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\nexport const getRefTarget = ref => ref && ('current' in ref ? ref.current : ref);\nconst InitialTriggerEvents = {\n click: 'mousedown',\n mouseup: 'mousedown',\n pointerup: 'pointerdown'\n};\n\n/**\n * The `useClickOutside` hook registers your callback on the document that fires\n * when a pointer event is registered outside of the provided ref or element.\n *\n * @param {Ref| HTMLElement} ref The element boundary\n * @param {function} onClickOutside\n * @param {object=} options\n * @param {boolean=} options.disabled\n * @param {string=} options.clickTrigger The DOM event name (click, mousedown, etc) to attach listeners on\n */\nfunction useClickOutside(ref, onClickOutside = noop, {\n disabled,\n clickTrigger = 'click'\n} = {}) {\n const preventMouseClickOutsideRef = useRef(false);\n const waitingForTrigger = useRef(false);\n const handleMouseCapture = useCallback(e => {\n const currentTarget = getRefTarget(ref);\n warning(!!currentTarget, 'ClickOutside captured a close event but does not have a ref to compare it to. ' + 'useClickOutside(), should be passed a ref that resolves to a DOM node');\n preventMouseClickOutsideRef.current = !currentTarget || isModifiedEvent(e) || !isLeftClickEvent(e) || !!contains(currentTarget, e.target) || waitingForTrigger.current;\n waitingForTrigger.current = false;\n }, [ref]);\n const handleInitialMouse = useEventCallback(e => {\n const currentTarget = getRefTarget(ref);\n if (currentTarget && contains(currentTarget, e.target)) {\n waitingForTrigger.current = true;\n }\n });\n const handleMouse = useEventCallback(e => {\n if (!preventMouseClickOutsideRef.current) {\n onClickOutside(e);\n }\n });\n useEffect(() => {\n var _ownerWindow$event, _ownerWindow$parent;\n if (disabled || ref == null) return undefined;\n const doc = ownerDocument(getRefTarget(ref));\n const ownerWindow = doc.defaultView || window;\n\n // Store the current event to avoid triggering handlers immediately\n // For things rendered in an iframe, the event might originate on the parent window\n // so we should fall back to that global event if the local one doesn't exist\n // https://github.com/facebook/react/issues/20074\n let currentEvent = (_ownerWindow$event = ownerWindow.event) != null ? _ownerWindow$event : (_ownerWindow$parent = ownerWindow.parent) == null ? void 0 : _ownerWindow$parent.event;\n let removeInitialTriggerListener = null;\n if (InitialTriggerEvents[clickTrigger]) {\n removeInitialTriggerListener = listen(doc, InitialTriggerEvents[clickTrigger], handleInitialMouse, true);\n }\n\n // Use capture for this listener so it fires before React's listener, to\n // avoid false positives in the contains() check below if the target DOM\n // element is removed in the React mouse callback.\n const removeMouseCaptureListener = listen(doc, clickTrigger, handleMouseCapture, true);\n const removeMouseListener = listen(doc, clickTrigger, e => {\n // skip if this event is the same as the one running when we added the handlers\n if (e === currentEvent) {\n currentEvent = undefined;\n return;\n }\n handleMouse(e);\n });\n let mobileSafariHackListeners = [];\n if ('ontouchstart' in doc.documentElement) {\n mobileSafariHackListeners = [].slice.call(doc.body.children).map(el => listen(el, 'mousemove', noop));\n }\n return () => {\n removeInitialTriggerListener == null ? void 0 : removeInitialTriggerListener();\n removeMouseCaptureListener();\n removeMouseListener();\n mobileSafariHackListeners.forEach(remove => remove());\n };\n }, [ref, disabled, clickTrigger, handleMouseCapture, handleInitialMouse, handleMouse]);\n}\nexport default useClickOutside;","export function toModifierMap(modifiers) {\n const result = {};\n if (!Array.isArray(modifiers)) {\n return modifiers || result;\n }\n\n // eslint-disable-next-line no-unused-expressions\n modifiers == null ? void 0 : modifiers.forEach(m => {\n result[m.name] = m;\n });\n return result;\n}\nexport function toModifierArray(map = {}) {\n if (Array.isArray(map)) return map;\n return Object.keys(map).map(k => {\n map[k].name = k;\n return map[k];\n });\n}\nexport default function mergeOptionsWithPopperConfig({\n enabled,\n enableEvents,\n placement,\n flip,\n offset,\n fixed,\n containerPadding,\n arrowElement,\n popperConfig = {}\n}) {\n var _modifiers$eventListe, _modifiers$preventOve, _modifiers$preventOve2, _modifiers$offset, _modifiers$arrow;\n const modifiers = toModifierMap(popperConfig.modifiers);\n return Object.assign({}, popperConfig, {\n placement,\n enabled,\n strategy: fixed ? 'fixed' : popperConfig.strategy,\n modifiers: toModifierArray(Object.assign({}, modifiers, {\n eventListeners: {\n enabled: enableEvents,\n options: (_modifiers$eventListe = modifiers.eventListeners) == null ? void 0 : _modifiers$eventListe.options\n },\n preventOverflow: Object.assign({}, modifiers.preventOverflow, {\n options: containerPadding ? Object.assign({\n padding: containerPadding\n }, (_modifiers$preventOve = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve.options) : (_modifiers$preventOve2 = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve2.options\n }),\n offset: {\n options: Object.assign({\n offset\n }, (_modifiers$offset = modifiers.offset) == null ? void 0 : _modifiers$offset.options)\n },\n arrow: Object.assign({}, modifiers.arrow, {\n enabled: !!arrowElement,\n options: Object.assign({}, (_modifiers$arrow = modifiers.arrow) == null ? void 0 : _modifiers$arrow.options, {\n element: arrowElement\n })\n }),\n flip: Object.assign({\n enabled: !!flip\n }, modifiers.flip)\n }))\n });\n}","const _excluded = [\"children\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport { useContext, useRef } from 'react';\nimport * as React from 'react';\nimport useCallbackRef from '@restart/hooks/useCallbackRef';\nimport DropdownContext from './DropdownContext';\nimport usePopper from './usePopper';\nimport useClickOutside from './useClickOutside';\nimport mergeOptionsWithPopperConfig from './mergeOptionsWithPopperConfig';\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst noop = () => {};\n\n/**\n * @memberOf Dropdown\n * @param {object} options\n * @param {boolean} options.flip Automatically adjust the menu `drop` position based on viewport edge detection\n * @param {[number, number]} options.offset Define an offset distance between the Menu and the Toggle\n * @param {boolean} options.show Display the menu manually, ignored in the context of a `Dropdown`\n * @param {boolean} options.usePopper opt in/out of using PopperJS to position menus. When disabled you must position it yourself.\n * @param {string} options.rootCloseEvent The pointer event to listen for when determining \"clicks outside\" the menu for triggering a close.\n * @param {object} options.popperConfig Options passed to the [`usePopper`](/api/usePopper) hook.\n */\nexport function useDropdownMenu(options = {}) {\n const context = useContext(DropdownContext);\n const [arrowElement, attachArrowRef] = useCallbackRef();\n const hasShownRef = useRef(false);\n const {\n flip,\n offset,\n rootCloseEvent,\n fixed = false,\n placement: placementOverride,\n popperConfig = {},\n enableEventListeners = true,\n usePopper: shouldUsePopper = !!context\n } = options;\n const show = (context == null ? void 0 : context.show) == null ? !!options.show : context.show;\n if (show && !hasShownRef.current) {\n hasShownRef.current = true;\n }\n const handleClose = e => {\n context == null ? void 0 : context.toggle(false, e);\n };\n const {\n placement,\n setMenu,\n menuElement,\n toggleElement\n } = context || {};\n const popper = usePopper(toggleElement, menuElement, mergeOptionsWithPopperConfig({\n placement: placementOverride || placement || 'bottom-start',\n enabled: shouldUsePopper,\n enableEvents: enableEventListeners == null ? show : enableEventListeners,\n offset,\n flip,\n fixed,\n arrowElement,\n popperConfig\n }));\n const menuProps = Object.assign({\n ref: setMenu || noop,\n 'aria-labelledby': toggleElement == null ? void 0 : toggleElement.id\n }, popper.attributes.popper, {\n style: popper.styles.popper\n });\n const metadata = {\n show,\n placement,\n hasShown: hasShownRef.current,\n toggle: context == null ? void 0 : context.toggle,\n popper: shouldUsePopper ? popper : null,\n arrowProps: shouldUsePopper ? Object.assign({\n ref: attachArrowRef\n }, popper.attributes.arrow, {\n style: popper.styles.arrow\n }) : {}\n };\n useClickOutside(menuElement, handleClose, {\n clickTrigger: rootCloseEvent,\n disabled: !show\n });\n return [menuProps, metadata];\n}\nconst defaultProps = {\n usePopper: true\n};\n/**\n * Also exported as `` from `Dropdown`.\n *\n * @displayName DropdownMenu\n * @memberOf Dropdown\n */\nfunction DropdownMenu(_ref) {\n let {\n children\n } = _ref,\n options = _objectWithoutPropertiesLoose(_ref, _excluded);\n const [props, meta] = useDropdownMenu(options);\n return /*#__PURE__*/_jsx(_Fragment, {\n children: children(props, meta)\n });\n}\nDropdownMenu.displayName = 'DropdownMenu';\nDropdownMenu.defaultProps = defaultProps;\n\n/** @component */\nexport default DropdownMenu;","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// We must avoid a circular dependency with @react-aria/utils, and this useLayoutEffect is\n// guarded by a check that it only runs on the client side.\n// eslint-disable-next-line rulesdir/useLayoutEffectRule\nimport React, {JSX, ReactNode, useContext, useLayoutEffect, useMemo, useRef, useState} from 'react';\n\n// To support SSR, the auto incrementing id counter is stored in a context. This allows\n// it to be reset on every request to ensure the client and server are consistent.\n// There is also a prefix string that is used to support async loading components\n// Each async boundary must be wrapped in an SSR provider, which appends to the prefix\n// and resets the current id counter. This ensures that async loaded components have\n// consistent ids regardless of the loading order.\ninterface SSRContextValue {\n prefix: string,\n current: number\n}\n\n// Default context value to use in case there is no SSRProvider. This is fine for\n// client-only apps. In order to support multiple copies of React Aria potentially\n// being on the page at once, the prefix is set to a random number. SSRProvider\n// will reset this to zero for consistency between server and client, so in the\n// SSR case multiple copies of React Aria is not supported.\nconst defaultContext: SSRContextValue = {\n prefix: String(Math.round(Math.random() * 10000000000)),\n current: 0\n};\n\nconst SSRContext = React.createContext(defaultContext);\nconst IsSSRContext = React.createContext(false);\n\nexport interface SSRProviderProps {\n /** Your application here. */\n children: ReactNode\n}\n\n// This is only used in React < 18.\nfunction LegacySSRProvider(props: SSRProviderProps): JSX.Element {\n let cur = useContext(SSRContext);\n let counter = useCounter(cur === defaultContext);\n let [isSSR, setIsSSR] = useState(true);\n let value: SSRContextValue = useMemo(() => ({\n // If this is the first SSRProvider, start with an empty string prefix, otherwise\n // append and increment the counter.\n prefix: cur === defaultContext ? '' : `${cur.prefix}-${counter}`,\n current: 0\n }), [cur, counter]);\n\n // If on the client, and the component was initially server rendered,\n // then schedule a layout effect to update the component after hydration.\n if (typeof document !== 'undefined') {\n // This if statement technically breaks the rules of hooks, but is safe\n // because the condition never changes after mounting.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useLayoutEffect(() => {\n setIsSSR(false);\n }, []);\n }\n\n return (\n \n \n {props.children}\n \n \n );\n}\n\nlet warnedAboutSSRProvider = false;\n\n/**\n * When using SSR with React Aria in React 16 or 17, applications must be wrapped in an SSRProvider.\n * This ensures that auto generated ids are consistent between the client and server.\n */\nexport function SSRProvider(props: SSRProviderProps): JSX.Element {\n if (typeof React['useId'] === 'function') {\n if (process.env.NODE_ENV !== 'test' && !warnedAboutSSRProvider) {\n console.warn('In React 18, SSRProvider is not necessary and is a noop. You can remove it from your app.');\n warnedAboutSSRProvider = true;\n }\n return <>{props.children};\n }\n return ;\n}\n\nlet canUseDOM = Boolean(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nlet componentIds = new WeakMap();\n\nfunction useCounter(isDisabled = false) {\n let ctx = useContext(SSRContext);\n let ref = useRef(null);\n // eslint-disable-next-line rulesdir/pure-render\n if (ref.current === null && !isDisabled) {\n // In strict mode, React renders components twice, and the ref will be reset to null on the second render.\n // This means our id counter will be incremented twice instead of once. This is a problem because on the\n // server, components are only rendered once and so ids generated on the server won't match the client.\n // In React 18, useId was introduced to solve this, but it is not available in older versions. So to solve this\n // we need to use some React internals to access the underlying Fiber instance, which is stable between renders.\n // This is exposed as ReactCurrentOwner in development, which is all we need since StrictMode only runs in development.\n // To ensure that we only increment the global counter once, we store the starting id for this component in\n // a weak map associated with the Fiber. On the second render, we reset the global counter to this value.\n // Since React runs the second render immediately after the first, this is safe.\n // @ts-ignore\n let currentOwner = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED?.ReactCurrentOwner?.current;\n if (currentOwner) {\n let prevComponentValue = componentIds.get(currentOwner);\n if (prevComponentValue == null) {\n // On the first render, and first call to useId, store the id and state in our weak map.\n componentIds.set(currentOwner, {\n id: ctx.current,\n state: currentOwner.memoizedState\n });\n } else if (currentOwner.memoizedState !== prevComponentValue.state) {\n // On the second render, the memoizedState gets reset by React.\n // Reset the counter, and remove from the weak map so we don't\n // do this for subsequent useId calls.\n ctx.current = prevComponentValue.id;\n componentIds.delete(currentOwner);\n }\n }\n\n // eslint-disable-next-line rulesdir/pure-render\n ref.current = ++ctx.current;\n }\n\n // eslint-disable-next-line rulesdir/pure-render\n return ref.current;\n}\n\nfunction useLegacySSRSafeId(defaultId?: string): string {\n let ctx = useContext(SSRContext);\n\n // If we are rendering in a non-DOM environment, and there's no SSRProvider,\n // provide a warning to hint to the developer to add one.\n if (ctx === defaultContext && !canUseDOM) {\n console.warn('When server rendering, you must wrap your application in an to ensure consistent ids are generated between the client and server.');\n }\n\n let counter = useCounter(!!defaultId);\n let prefix = ctx === defaultContext && process.env.NODE_ENV === 'test' ? 'react-aria' : `react-aria${ctx.prefix}`;\n return defaultId || `${prefix}-${counter}`;\n}\n\nfunction useModernSSRSafeId(defaultId?: string): string {\n // @ts-ignore\n let id = React.useId();\n let [didSSR] = useState(useIsSSR());\n let prefix = didSSR || process.env.NODE_ENV === 'test' ? 'react-aria' : `react-aria${defaultContext.prefix}`;\n return defaultId || `${prefix}-${id}`;\n}\n\n// Use React.useId in React 18 if available, otherwise fall back to our old implementation.\n/** @private */\nexport const useSSRSafeId = typeof React['useId'] === 'function' ? useModernSSRSafeId : useLegacySSRSafeId;\n\nfunction getSnapshot() {\n return false;\n}\n\nfunction getServerSnapshot() {\n return true;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction subscribe(onStoreChange: () => void): () => void {\n // noop\n return () => {};\n}\n\n/**\n * Returns whether the component is currently being server side rendered or\n * hydrated on the client. Can be used to delay browser-specific rendering\n * until after hydration.\n */\nexport function useIsSSR(): boolean {\n // In React 18, we can use useSyncExternalStore to detect if we're server rendering or hydrating.\n if (typeof React['useSyncExternalStore'] === 'function') {\n return React['useSyncExternalStore'](subscribe, getSnapshot, getServerSnapshot);\n }\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useContext(IsSSRContext);\n}\n","import { useContext, useCallback } from 'react';\nimport * as React from 'react';\nimport { useSSRSafeId } from './ssr';\nimport DropdownContext from './DropdownContext';\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const isRoleMenu = el => {\n var _el$getAttribute;\n return ((_el$getAttribute = el.getAttribute('role')) == null ? void 0 : _el$getAttribute.toLowerCase()) === 'menu';\n};\nconst noop = () => {};\n\n/**\n * Wires up Dropdown toggle functionality, returning a set a props to attach\n * to the element that functions as the dropdown toggle (generally a button).\n *\n * @memberOf Dropdown\n */\nexport function useDropdownToggle() {\n const id = useSSRSafeId();\n const {\n show = false,\n toggle = noop,\n setToggle,\n menuElement\n } = useContext(DropdownContext) || {};\n const handleClick = useCallback(e => {\n toggle(!show, e);\n }, [show, toggle]);\n const props = {\n id,\n ref: setToggle || noop,\n onClick: handleClick,\n 'aria-expanded': !!show\n };\n\n // This is maybe better down in an effect, but\n // the component is going to update anyway when the menu element\n // is set so might return new props.\n if (menuElement && isRoleMenu(menuElement)) {\n props['aria-haspopup'] = true;\n }\n return [props, {\n show,\n toggle\n }];\n}\n/**\n * Also exported as `` from `Dropdown`.\n *\n * @displayName DropdownToggle\n * @memberOf Dropdown\n */\nfunction DropdownToggle({\n children\n}) {\n const [props, meta] = useDropdownToggle();\n return /*#__PURE__*/_jsx(_Fragment, {\n children: children(props, meta)\n });\n}\nDropdownToggle.displayName = 'DropdownToggle';\n\n/** @component */\nexport default DropdownToggle;","import * as React from 'react';\nconst SelectableContext = /*#__PURE__*/React.createContext(null);\nexport const makeEventKey = (eventKey, href = null) => {\n if (eventKey != null) return String(eventKey);\n return href || null;\n};\nexport default SelectableContext;","import * as React from 'react';\nconst NavContext = /*#__PURE__*/React.createContext(null);\nNavContext.displayName = 'NavContext';\nexport default NavContext;","const _excluded = [\"eventKey\", \"disabled\", \"onClick\", \"active\", \"as\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport SelectableContext, { makeEventKey } from './SelectableContext';\nimport NavContext from './NavContext';\nimport Button from './Button';\nimport { dataAttr } from './DataKey';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * Create a dropdown item. Returns a set of props for the dropdown item component\n * including an `onClick` handler that prevents selection when the item is disabled\n */\nexport function useDropdownItem({\n key,\n href,\n active,\n disabled,\n onClick\n}) {\n const onSelectCtx = useContext(SelectableContext);\n const navContext = useContext(NavContext);\n const {\n activeKey\n } = navContext || {};\n const eventKey = makeEventKey(key, href);\n const isActive = active == null && key != null ? makeEventKey(activeKey) === eventKey : active;\n const handleClick = useEventCallback(event => {\n if (disabled) return;\n onClick == null ? void 0 : onClick(event);\n if (onSelectCtx && !event.isPropagationStopped()) {\n onSelectCtx(eventKey, event);\n }\n });\n return [{\n onClick: handleClick,\n 'aria-disabled': disabled || undefined,\n 'aria-selected': isActive,\n [dataAttr('dropdown-item')]: ''\n }, {\n isActive\n }];\n}\nconst DropdownItem = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n eventKey,\n disabled,\n onClick,\n active,\n as: Component = Button\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n const [dropdownItemProps] = useDropdownItem({\n key: eventKey,\n href: props.href,\n disabled,\n onClick,\n active\n });\n return /*#__PURE__*/_jsx(Component, Object.assign({}, props, {\n ref: ref\n }, dropdownItemProps));\n});\nDropdownItem.displayName = 'DropdownItem';\nexport default DropdownItem;","import qsa from 'dom-helpers/querySelectorAll';\nimport addEventListener from 'dom-helpers/addEventListener';\nimport { useCallback, useRef, useEffect, useMemo, useContext } from 'react';\nimport * as React from 'react';\nimport { useUncontrolledProp } from 'uncontrollable';\nimport usePrevious from '@restart/hooks/usePrevious';\nimport useForceUpdate from '@restart/hooks/useForceUpdate';\nimport useEventListener from '@restart/hooks/useEventListener';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport DropdownContext from './DropdownContext';\nimport DropdownMenu from './DropdownMenu';\nimport DropdownToggle, { isRoleMenu } from './DropdownToggle';\nimport DropdownItem from './DropdownItem';\nimport SelectableContext from './SelectableContext';\nimport { dataAttr } from './DataKey';\nimport useWindow from './useWindow';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction useRefWithUpdate() {\n const forceUpdate = useForceUpdate();\n const ref = useRef(null);\n const attachRef = useCallback(element => {\n ref.current = element;\n // ensure that a menu set triggers an update for consumers\n forceUpdate();\n }, [forceUpdate]);\n return [ref, attachRef];\n}\n\n/**\n * @displayName Dropdown\n * @public\n */\nfunction Dropdown({\n defaultShow,\n show: rawShow,\n onSelect,\n onToggle: rawOnToggle,\n itemSelector = `* [${dataAttr('dropdown-item')}]`,\n focusFirstItemOnShow,\n placement = 'bottom-start',\n children\n}) {\n const window = useWindow();\n const [show, onToggle] = useUncontrolledProp(rawShow, defaultShow, rawOnToggle);\n\n // We use normal refs instead of useCallbackRef in order to populate the\n // the value as quickly as possible, otherwise the effect to focus the element\n // may run before the state value is set\n const [menuRef, setMenu] = useRefWithUpdate();\n const menuElement = menuRef.current;\n const [toggleRef, setToggle] = useRefWithUpdate();\n const toggleElement = toggleRef.current;\n const lastShow = usePrevious(show);\n const lastSourceEvent = useRef(null);\n const focusInDropdown = useRef(false);\n const onSelectCtx = useContext(SelectableContext);\n const toggle = useCallback((nextShow, event, source = event == null ? void 0 : event.type) => {\n onToggle(nextShow, {\n originalEvent: event,\n source\n });\n }, [onToggle]);\n const handleSelect = useEventCallback((key, event) => {\n onSelect == null ? void 0 : onSelect(key, event);\n toggle(false, event, 'select');\n if (!event.isPropagationStopped()) {\n onSelectCtx == null ? void 0 : onSelectCtx(key, event);\n }\n });\n const context = useMemo(() => ({\n toggle,\n placement,\n show,\n menuElement,\n toggleElement,\n setMenu,\n setToggle\n }), [toggle, placement, show, menuElement, toggleElement, setMenu, setToggle]);\n if (menuElement && lastShow && !show) {\n focusInDropdown.current = menuElement.contains(menuElement.ownerDocument.activeElement);\n }\n const focusToggle = useEventCallback(() => {\n if (toggleElement && toggleElement.focus) {\n toggleElement.focus();\n }\n });\n const maybeFocusFirst = useEventCallback(() => {\n const type = lastSourceEvent.current;\n let focusType = focusFirstItemOnShow;\n if (focusType == null) {\n focusType = menuRef.current && isRoleMenu(menuRef.current) ? 'keyboard' : false;\n }\n if (focusType === false || focusType === 'keyboard' && !/^key.+$/.test(type)) {\n return;\n }\n const first = qsa(menuRef.current, itemSelector)[0];\n if (first && first.focus) first.focus();\n });\n useEffect(() => {\n if (show) maybeFocusFirst();else if (focusInDropdown.current) {\n focusInDropdown.current = false;\n focusToggle();\n }\n // only `show` should be changing\n }, [show, focusInDropdown, focusToggle, maybeFocusFirst]);\n useEffect(() => {\n lastSourceEvent.current = null;\n });\n const getNextFocusedChild = (current, offset) => {\n if (!menuRef.current) return null;\n const items = qsa(menuRef.current, itemSelector);\n let index = items.indexOf(current) + offset;\n index = Math.max(0, Math.min(index, items.length));\n return items[index];\n };\n useEventListener(useCallback(() => window.document, [window]), 'keydown', event => {\n var _menuRef$current, _toggleRef$current;\n const {\n key\n } = event;\n const target = event.target;\n const fromMenu = (_menuRef$current = menuRef.current) == null ? void 0 : _menuRef$current.contains(target);\n const fromToggle = (_toggleRef$current = toggleRef.current) == null ? void 0 : _toggleRef$current.contains(target);\n\n // Second only to https://github.com/twbs/bootstrap/blob/8cfbf6933b8a0146ac3fbc369f19e520bd1ebdac/js/src/dropdown.js#L400\n // in inscrutability\n const isInput = /input|textarea/i.test(target.tagName);\n if (isInput && (key === ' ' || key !== 'Escape' && fromMenu || key === 'Escape' && target.type === 'search')) {\n return;\n }\n if (!fromMenu && !fromToggle) {\n return;\n }\n if (key === 'Tab' && (!menuRef.current || !show)) {\n return;\n }\n lastSourceEvent.current = event.type;\n const meta = {\n originalEvent: event,\n source: event.type\n };\n switch (key) {\n case 'ArrowUp':\n {\n const next = getNextFocusedChild(target, -1);\n if (next && next.focus) next.focus();\n event.preventDefault();\n return;\n }\n case 'ArrowDown':\n event.preventDefault();\n if (!show) {\n onToggle(true, meta);\n } else {\n const next = getNextFocusedChild(target, 1);\n if (next && next.focus) next.focus();\n }\n return;\n case 'Tab':\n // on keydown the target is the element being tabbed FROM, we need that\n // to know if this event is relevant to this dropdown (e.g. in this menu).\n // On `keyup` the target is the element being tagged TO which we use to check\n // if focus has left the menu\n addEventListener(target.ownerDocument, 'keyup', e => {\n var _menuRef$current2;\n if (e.key === 'Tab' && !e.target || !((_menuRef$current2 = menuRef.current) != null && _menuRef$current2.contains(e.target))) {\n onToggle(false, meta);\n }\n }, {\n once: true\n });\n break;\n case 'Escape':\n if (key === 'Escape') {\n event.preventDefault();\n event.stopPropagation();\n }\n onToggle(false, meta);\n break;\n default:\n }\n });\n return /*#__PURE__*/_jsx(SelectableContext.Provider, {\n value: handleSelect,\n children: /*#__PURE__*/_jsx(DropdownContext.Provider, {\n value: context,\n children: children\n })\n });\n}\nDropdown.displayName = 'Dropdown';\nDropdown.Menu = DropdownMenu;\nDropdown.Toggle = DropdownToggle;\nDropdown.Item = DropdownItem;\nexport default Dropdown;","import { useReducer } from 'react';\n\n/**\n * Returns a function that triggers a component update. the hook equivalent to\n * `this.forceUpdate()` in a class component. In most cases using a state value directly\n * is preferable but may be required in some advanced usages of refs for interop or\n * when direct DOM manipulation is required.\n *\n * ```ts\n * const forceUpdate = useForceUpdate();\n *\n * const updateOnClick = useCallback(() => {\n * forceUpdate()\n * }, [forceUpdate])\n *\n * return \n * ```\n */\nexport default function useForceUpdate() {\n // The toggling state value is designed to defeat React optimizations for skipping\n // updates when they are strictly equal to the last state value\n const [, dispatch] = useReducer(state => !state, false);\n return dispatch;\n}","import { useEffect } from 'react';\nimport useEventCallback from './useEventCallback';\n/**\n * Attaches an event handler outside directly to specified DOM element\n * bypassing the react synthetic event system.\n *\n * @param element The target to listen for events on\n * @param event The DOM event name\n * @param handler An event handler\n * @param capture Whether or not to listen during the capture event phase\n */\nexport default function useEventListener(eventTarget, event, listener, capture = false) {\n const handler = useEventCallback(listener);\n useEffect(() => {\n const target = typeof eventTarget === 'function' ? eventTarget() : eventTarget;\n target.addEventListener(event, handler, capture);\n return () => target.removeEventListener(event, handler, capture);\n }, [eventTarget]);\n}","import invariant from 'invariant';\n\nvar noop = function noop() {};\n\nfunction readOnlyPropType(handler, name) {\n return function (props, propName) {\n if (props[propName] !== undefined) {\n if (!props[handler]) {\n return new Error(\"You have provided a `\" + propName + \"` prop to `\" + name + \"` \" + (\"without an `\" + handler + \"` handler prop. This will render a read-only field. \") + (\"If the field should be mutable use `\" + defaultKey(propName) + \"`. \") + (\"Otherwise, set `\" + handler + \"`.\"));\n }\n }\n };\n}\n\nexport function uncontrolledPropTypes(controlledValues, displayName) {\n var propTypes = {};\n Object.keys(controlledValues).forEach(function (prop) {\n // add default propTypes for folks that use runtime checks\n propTypes[defaultKey(prop)] = noop;\n\n if (process.env.NODE_ENV !== 'production') {\n var handler = controlledValues[prop];\n !(typeof handler === 'string' && handler.trim().length) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Uncontrollable - [%s]: the prop `%s` needs a valid handler key name in order to make it uncontrollable', displayName, prop) : invariant(false) : void 0;\n propTypes[prop] = readOnlyPropType(handler, displayName);\n }\n });\n return propTypes;\n}\nexport function isProp(props, prop) {\n return props[prop] !== undefined;\n}\nexport function defaultKey(key) {\n return 'default' + key.charAt(0).toUpperCase() + key.substr(1);\n}\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nexport function canAcceptRef(component) {\n return !!component && (typeof component !== 'function' || component.prototype && component.prototype.isReactComponent);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\n\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\n\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n\nimport { useCallback, useRef, useState } from 'react';\nimport * as Utils from './utils';\n\nfunction useUncontrolledProp(propValue, defaultValue, handler) {\n var wasPropRef = useRef(propValue !== undefined);\n\n var _useState = useState(defaultValue),\n stateValue = _useState[0],\n setState = _useState[1];\n\n var isProp = propValue !== undefined;\n var wasProp = wasPropRef.current;\n wasPropRef.current = isProp;\n /**\n * If a prop switches from controlled to Uncontrolled\n * reset its value to the defaultValue\n */\n\n if (!isProp && wasProp && stateValue !== defaultValue) {\n setState(defaultValue);\n }\n\n return [isProp ? propValue : stateValue, useCallback(function (value) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (handler) handler.apply(void 0, [value].concat(args));\n setState(value);\n }, [handler])];\n}\n\nexport { useUncontrolledProp };\nexport default function useUncontrolled(props, config) {\n return Object.keys(config).reduce(function (result, fieldName) {\n var _extends2;\n\n var _ref = result,\n defaultValue = _ref[Utils.defaultKey(fieldName)],\n propsValue = _ref[fieldName],\n rest = _objectWithoutPropertiesLoose(_ref, [Utils.defaultKey(fieldName), fieldName].map(_toPropertyKey));\n\n var handlerName = config[fieldName];\n\n var _useUncontrolledProp = useUncontrolledProp(propsValue, defaultValue, props[handlerName]),\n value = _useUncontrolledProp[0],\n handler = _useUncontrolledProp[1];\n\n return _extends({}, rest, (_extends2 = {}, _extends2[fieldName] = value, _extends2[handlerName] = handler, _extends2));\n }, props);\n}","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","\"use client\";\n\nimport * as React from 'react';\nconst DropdownContext = /*#__PURE__*/React.createContext({});\nDropdownContext.displayName = 'DropdownContext';\nexport default DropdownContext;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownDivider = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'hr',\n role = 'separator',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'dropdown-divider');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n role: role,\n ...props\n });\n});\nDropdownDivider.displayName = 'DropdownDivider';\nexport default DropdownDivider;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownHeader = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n role = 'heading',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'dropdown-header');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n role: role,\n ...props\n });\n});\nDropdownHeader.displayName = 'DropdownHeader';\nexport default DropdownHeader;","import { useState } from 'react';\nimport useEffect from './useIsomorphicEffect';\nconst targetMap = new WeakMap();\nlet resizeObserver;\nfunction getResizeObserver() {\n // eslint-disable-next-line no-return-assign\n return resizeObserver = resizeObserver || new window.ResizeObserver(entries => {\n entries.forEach(entry => {\n const handler = targetMap.get(entry.target);\n if (handler) handler(entry.contentRect);\n });\n });\n}\n\n/**\n * Efficiently observe size changes on an element. Depends on the `ResizeObserver` api,\n * and polyfills are needed in older browsers.\n *\n * ```ts\n * const [ref, attachRef] = useCallbackRef(null);\n *\n * const rect = useResizeObserver(ref);\n *\n * return (\n *
\n * {JSON.stringify(rect)}\n *
\n * )\n * ```\n *\n * @param element The DOM element to observe\n */\nexport default function useResizeObserver(element) {\n const [rect, setRect] = useState(null);\n useEffect(() => {\n if (!element) return;\n getResizeObserver().observe(element);\n setRect(element.getBoundingClientRect());\n targetMap.set(element, rect => {\n setRect(rect);\n });\n return () => {\n targetMap.delete(element);\n };\n }, [element]);\n return rect;\n}","const _excluded = [\"onKeyDown\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/anchor-has-content */\n\nimport * as React from 'react';\nimport { useEventCallback } from '@restart/hooks';\nimport { useButtonProps } from './Button';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function isTrivialHref(href) {\n return !href || href.trim() === '#';\n}\n/**\n * An generic `` component that covers a few A11y cases, ensuring that\n * cases where the `href` is missing or trivial like \"#\" are treated like buttons.\n */\nconst Anchor = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n onKeyDown\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n const [buttonProps] = useButtonProps(Object.assign({\n tagName: 'a'\n }, props));\n const handleKeyDown = useEventCallback(e => {\n buttonProps.onKeyDown(e);\n onKeyDown == null ? void 0 : onKeyDown(e);\n });\n if (isTrivialHref(props.href) || props.role === 'button') {\n return /*#__PURE__*/_jsx(\"a\", Object.assign({\n ref: ref\n }, props, buttonProps, {\n onKeyDown: handleKeyDown\n }));\n }\n return /*#__PURE__*/_jsx(\"a\", Object.assign({\n ref: ref\n }, props, {\n onKeyDown: onKeyDown\n }));\n});\nAnchor.displayName = 'Anchor';\nexport default Anchor;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useDropdownItem } from '@restart/ui/DropdownItem';\nimport Anchor from '@restart/ui/Anchor';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownItem = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n eventKey,\n disabled = false,\n onClick,\n active,\n as: Component = Anchor,\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown-item');\n const [dropdownItemProps, meta] = useDropdownItem({\n key: eventKey,\n href: props.href,\n disabled,\n onClick,\n active\n });\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ...dropdownItemProps,\n ref: ref,\n className: classNames(className, prefix, meta.isActive && 'active', disabled && 'disabled')\n });\n});\nDropdownItem.displayName = 'DropdownItem';\nexport default DropdownItem;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownItemText = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'span',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'dropdown-item-text');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nDropdownItemText.displayName = 'DropdownItemText';\nexport default DropdownItemText;","\"use client\";\n\nimport * as React from 'react';\nconst context = /*#__PURE__*/React.createContext(null);\ncontext.displayName = 'InputGroupContext';\nexport default context;","\"use client\";\n\nimport * as React from 'react';\n\n// TODO: check\n\nconst context = /*#__PURE__*/React.createContext(null);\ncontext.displayName = 'NavbarContext';\nexport default context;","import invariant from 'invariant';\nimport { useCallback } from 'react';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nexport default function useWrappedRefWithWarning(ref, componentName) {\n // @ts-ignore\n if (!(process.env.NODE_ENV !== \"production\")) return ref;\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const warningRef = useCallback(refValue => {\n !(refValue == null || !refValue.isReactComponent) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `${componentName} injected a ref to a provided \\`as\\` component that resolved to a component instance instead of a DOM element. ` + 'Use `React.forwardRef` to provide the injected ref to the class component as a prop in order to pass it directly to a DOM element') : invariant(false) : void 0;\n }, [componentName]);\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useMergedRefs(warningRef, ref);\n}","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useDropdownMenu } from '@restart/ui/DropdownMenu';\nimport useIsomorphicEffect from '@restart/hooks/useIsomorphicEffect';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport warning from 'warning';\nimport DropdownContext from './DropdownContext';\nimport InputGroupContext from './InputGroupContext';\nimport NavbarContext from './NavbarContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport useWrappedRefWithWarning from './useWrappedRefWithWarning';\nimport { alignPropType } from './types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function getDropdownMenuPlacement(alignEnd, dropDirection, isRTL) {\n const topStart = isRTL ? 'top-end' : 'top-start';\n const topEnd = isRTL ? 'top-start' : 'top-end';\n const bottomStart = isRTL ? 'bottom-end' : 'bottom-start';\n const bottomEnd = isRTL ? 'bottom-start' : 'bottom-end';\n const leftStart = isRTL ? 'right-start' : 'left-start';\n const leftEnd = isRTL ? 'right-end' : 'left-end';\n const rightStart = isRTL ? 'left-start' : 'right-start';\n const rightEnd = isRTL ? 'left-end' : 'right-end';\n let placement = alignEnd ? bottomEnd : bottomStart;\n if (dropDirection === 'up') placement = alignEnd ? topEnd : topStart;else if (dropDirection === 'end') placement = alignEnd ? rightEnd : rightStart;else if (dropDirection === 'start') placement = alignEnd ? leftEnd : leftStart;else if (dropDirection === 'down-centered') placement = 'bottom';else if (dropDirection === 'up-centered') placement = 'top';\n return placement;\n}\nconst DropdownMenu = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n align,\n rootCloseEvent,\n flip = true,\n show: showProps,\n renderOnMount,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n popperConfig,\n variant,\n ...props\n}, ref) => {\n let alignEnd = false;\n const isNavbar = useContext(NavbarContext);\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown-menu');\n const {\n align: contextAlign,\n drop,\n isRTL\n } = useContext(DropdownContext);\n align = align || contextAlign;\n const isInputGroup = useContext(InputGroupContext);\n const alignClasses = [];\n if (align) {\n if (typeof align === 'object') {\n const keys = Object.keys(align);\n process.env.NODE_ENV !== \"production\" ? warning(keys.length === 1, 'There should only be 1 breakpoint when passing an object to `align`') : void 0;\n if (keys.length) {\n const brkPoint = keys[0];\n const direction = align[brkPoint];\n\n // .dropdown-menu-end is required for responsively aligning\n // left in addition to align left classes.\n alignEnd = direction === 'start';\n alignClasses.push(`${prefix}-${brkPoint}-${direction}`);\n }\n } else if (align === 'end') {\n alignEnd = true;\n }\n }\n const placement = getDropdownMenuPlacement(alignEnd, drop, isRTL);\n const [menuProps, {\n hasShown,\n popper,\n show,\n toggle\n }] = useDropdownMenu({\n flip,\n rootCloseEvent,\n show: showProps,\n usePopper: !isNavbar && alignClasses.length === 0,\n offset: [0, 2],\n popperConfig,\n placement\n });\n menuProps.ref = useMergedRefs(useWrappedRefWithWarning(ref, 'DropdownMenu'), menuProps.ref);\n useIsomorphicEffect(() => {\n // Popper's initial position for the menu is incorrect when\n // renderOnMount=true. Need to call update() to correct it.\n if (show) popper == null ? void 0 : popper.update();\n }, [show]);\n if (!hasShown && !renderOnMount && !isInputGroup) return null;\n\n // For custom components provide additional, non-DOM, props;\n if (typeof Component !== 'string') {\n menuProps.show = show;\n menuProps.close = () => toggle == null ? void 0 : toggle(false);\n menuProps.align = align;\n }\n let style = props.style;\n if (popper != null && popper.placement) {\n // we don't need the default popper style,\n // menus are display: none when not shown.\n style = {\n ...props.style,\n ...menuProps.style\n };\n props['x-placement'] = popper.placement;\n }\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ...menuProps,\n style: style\n // Bootstrap css requires this data attrib to style responsive menus.\n ,\n ...((alignClasses.length || isNavbar) && {\n 'data-bs-popper': 'static'\n }),\n className: classNames(className, prefix, show && 'show', alignEnd && `${prefix}-end`, variant && `${prefix}-${variant}`, ...alignClasses)\n });\n});\nDropdownMenu.displayName = 'DropdownMenu';\nexport default DropdownMenu;","\"use client\";\n\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport DropdownContext from '@restart/ui/DropdownContext';\nimport { useDropdownToggle } from '@restart/ui/DropdownToggle';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport Button from './Button';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport useWrappedRefWithWarning from './useWrappedRefWithWarning';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownToggle = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n split,\n className,\n childBsPrefix,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = Button,\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown-toggle');\n const dropdownContext = useContext(DropdownContext);\n if (childBsPrefix !== undefined) {\n props.bsPrefix = childBsPrefix;\n }\n const [toggleProps] = useDropdownToggle();\n toggleProps.ref = useMergedRefs(toggleProps.ref, useWrappedRefWithWarning(ref, 'DropdownToggle'));\n\n // This intentionally forwards size and variant (if set) to the\n // underlying component, to allow it to render size and style variants.\n return /*#__PURE__*/_jsx(Component, {\n className: classNames(className, prefix, split && `${prefix}-split`, (dropdownContext == null ? void 0 : dropdownContext.show) && 'show'),\n ...toggleProps,\n ...props\n });\n});\nDropdownToggle.displayName = 'DropdownToggle';\nexport default DropdownToggle;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport BaseDropdown from '@restart/ui/Dropdown';\nimport { useUncontrolled } from 'uncontrollable';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport DropdownContext from './DropdownContext';\nimport DropdownDivider from './DropdownDivider';\nimport DropdownHeader from './DropdownHeader';\nimport DropdownItem from './DropdownItem';\nimport DropdownItemText from './DropdownItemText';\nimport DropdownMenu, { getDropdownMenuPlacement } from './DropdownMenu';\nimport DropdownToggle from './DropdownToggle';\nimport InputGroupContext from './InputGroupContext';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport { alignPropType } from './types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Dropdown = /*#__PURE__*/React.forwardRef((pProps, ref) => {\n const {\n bsPrefix,\n drop = 'down',\n show,\n className,\n align = 'start',\n onSelect,\n onToggle,\n focusFirstItemOnShow,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n navbar: _4,\n autoClose = true,\n ...props\n } = useUncontrolled(pProps, {\n show: 'onToggle'\n });\n const isInputGroup = useContext(InputGroupContext);\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown');\n const isRTL = useIsRTL();\n const isClosingPermitted = source => {\n // autoClose=false only permits close on button click\n if (autoClose === false) return source === 'click';\n\n // autoClose=inside doesn't permit close on rootClose\n if (autoClose === 'inside') return source !== 'rootClose';\n\n // autoClose=outside doesn't permit close on select\n if (autoClose === 'outside') return source !== 'select';\n return true;\n };\n const handleToggle = useEventCallback((nextShow, meta) => {\n var _meta$originalEvent, _meta$originalEvent$t;\n /** Checking if target of event is ToggleButton,\n * if it is then nullify mousedown event\n */\n const isToggleButton = (_meta$originalEvent = meta.originalEvent) == null ? void 0 : (_meta$originalEvent$t = _meta$originalEvent.target) == null ? void 0 : _meta$originalEvent$t.classList.contains('dropdown-toggle');\n if (isToggleButton && meta.source === 'mousedown') {\n return;\n }\n if (meta.originalEvent.currentTarget === document && (meta.source !== 'keydown' || meta.originalEvent.key === 'Escape')) meta.source = 'rootClose';\n if (isClosingPermitted(meta.source)) onToggle == null ? void 0 : onToggle(nextShow, meta);\n });\n const alignEnd = align === 'end';\n const placement = getDropdownMenuPlacement(alignEnd, drop, isRTL);\n const contextValue = useMemo(() => ({\n align,\n drop,\n isRTL\n }), [align, drop, isRTL]);\n const directionClasses = {\n down: prefix,\n 'down-centered': `${prefix}-center`,\n up: 'dropup',\n 'up-centered': 'dropup-center dropup',\n end: 'dropend',\n start: 'dropstart'\n };\n return /*#__PURE__*/_jsx(DropdownContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(BaseDropdown, {\n placement: placement,\n show: show,\n onSelect: onSelect,\n onToggle: handleToggle,\n focusFirstItemOnShow: focusFirstItemOnShow,\n itemSelector: `.${prefix}-item:not(.disabled):not(:disabled)`,\n children: isInputGroup ? props.children : /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n className: classNames(className, show && 'show', directionClasses[drop])\n })\n })\n });\n});\nDropdown.displayName = 'Dropdown';\nexport default Object.assign(Dropdown, {\n Toggle: DropdownToggle,\n Menu: DropdownMenu,\n Item: DropdownItem,\n ItemText: DropdownItemText,\n Divider: DropdownDivider,\n Header: DropdownHeader\n});","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\nexport var SCOPE = '@scope'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @param {number} position\n * @return {number}\n */\nexport function indexof (value, search, position) {\n\treturn value.indexOf(search, position)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n\n/**\n * @param {string[]} array\n * @param {RegExp} pattern\n * @return {string[]}\n */\nexport function filter (array, pattern) {\n\treturn array.filter(function (value) { return !match(value, pattern) })\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {object[]} siblings\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length, siblings) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: '', siblings: siblings}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0, root.siblings), root, {length: -root.length}, props)\n}\n\n/**\n * @param {object} root\n */\nexport function lift (root) {\n\twhile (root.root)\n\t\troot = copy(root.root, {children: [root]})\n\n\tappend(root, root.siblings)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\n\tfor (var i = 0; i < children.length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: if (!strlen(element.value = element.props.join(','))) return ''\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace, substr, match} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @param {object[]} children\n * @return {string}\n */\nexport function prefix (value, length, children) {\n\tswitch (hash(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599: case 4855:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t\treturn WEBKIT + value + value\n\t\t// tab-size\n\t\tcase 4789:\n\t\t\treturn MOZ + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn WEBKIT + value + MOZ + value + MS + value + value\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch (charat(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t\t// default: fallthrough to below\n\t\t\t}\n\t\t// flex, flex-direction, scroll-snap-type, writing-mode\n\t\tcase 6828: case 4268: case 2903:\n\t\t\treturn WEBKIT + value + MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn WEBKIT + value + MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/g, '') + (!match(value, /flex-|baseline/) ? MS + 'grid-row-' + replace(value, /flex-|-self/g, '') : '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/g, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value\n\t\t// justify-self\n\t\tcase 4200:\n\t\t\tif (!match(value, /flex-|baseline/)) return MS + 'grid-column-align' + substr(value, length) + value\n\t\t\tbreak\n\t\t// grid-template-(columns|rows)\n\t\tcase 2592: case 3360:\n\t\t\treturn MS + replace(value, 'template-', '') + value\n\t\t// grid-(row|column)-start\n\t\tcase 4384: case 3616:\n\t\t\tif (children && children.some(function (element, index) { return length = index, match(element.props, /grid-\\w+-end/) })) {\n\t\t\t\treturn ~indexof(value + (children = children[length].value), 'span', 0) ? value : (MS + replace(value, '-start', '') + value + MS + 'grid-row-span:' + (~indexof(children, 'span', 0) ? match(children, /\\d+/) : +match(children, /\\d+/) - +match(value, /\\d+/)) + ';')\n\t\t\t}\n\t\t\treturn MS + replace(value, '-start', '') + value\n\t\t// grid-(row|column)-end\n\t\tcase 4896: case 4128:\n\t\t\treturn (children && children.some(function (element) { return match(element.props, /grid-\\w+-start/) })) ? value : MS + replace(replace(value, '-end', '-span'), 'span ', '') + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif (strlen(value) - 1 - length > 6)\n\t\t\t\tswitch (charat(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (charat(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~indexof(value, 'stretch', 0) ? prefix(replace(value, 'stretch', 'fill-available'), length, children) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// grid-(column|row)\n\t\tcase 5152: case 5920:\n\t\t\treturn replace(value, /(.+?):(\\d+)(\\s*\\/\\s*(span)?\\s*(\\d+))?(.*)/, function (_, a, b, c, d, e, f) { return (MS + a + ':' + b + f) + (c ? (MS + a + '-span:' + (d ? e : +e - +b)) + f : '') + value })\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// stick(y)?\n\t\t\tif (charat(value, length + 6) === 121)\n\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\tbreak\n\t\t// display: (flex|inline-flex|grid|inline-grid)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, charat(value, 14) === 45 ? 18 : 11)) {\n\t\t\t\t// (inline-)?fle(x)\n\t\t\t\tcase 120:\n\t\t\t\t\treturn replace(value, /(.+:)([^;\\s!]+)(;|(\\s+)?!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t\t// (inline-)?gri(d)\n\t\t\t\tcase 100:\n\t\t\t\t\treturn replace(value, ':', ':' + MS) + value\n\t\t\t}\n\t\t\tbreak\n\t\t// scroll-margin, scroll-margin-(top|right|bottom|left)\n\t\tcase 5719: case 2647: case 2135: case 3927: case 2391:\n\t\t\treturn replace(value, 'scroll-', 'scroll-snap-') + value\n\t}\n\n\treturn value\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine, filter, assign} from './Utility.js'\nimport {copy, lift, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(children = element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, callback = /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f', abs(index ? points[index - 1] : 0)) != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1, declarations) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length, rulesets), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length, children), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length, siblings) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length, siblings)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @param {object[]} siblings\n * @return {object}\n */\nexport function comment (value, root, parent, siblings) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function declaration (value, root, parent, length, siblings) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length, siblings)\n}\n","declare let SC_DISABLE_SPEEDY: boolean | null | undefined;\ndeclare let __VERSION__: string;\n\nexport const SC_ATTR: string =\n (typeof process !== 'undefined' &&\n typeof process.env !== 'undefined' &&\n (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR)) ||\n 'data-styled';\n\nexport const SC_ATTR_ACTIVE = 'active';\nexport const SC_ATTR_VERSION = 'data-styled-version';\nexport const SC_VERSION = __VERSION__;\nexport const SPLITTER = '/*!sc*/\\n';\n\nexport const IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window;\n\nexport const DISABLE_SPEEDY = Boolean(\n typeof SC_DISABLE_SPEEDY === 'boolean'\n ? SC_DISABLE_SPEEDY\n : typeof process !== 'undefined' &&\n typeof process.env !== 'undefined' &&\n typeof process.env.REACT_APP_SC_DISABLE_SPEEDY !== 'undefined' &&\n process.env.REACT_APP_SC_DISABLE_SPEEDY !== ''\n ? process.env.REACT_APP_SC_DISABLE_SPEEDY === 'false'\n ? false\n : process.env.REACT_APP_SC_DISABLE_SPEEDY\n : typeof process !== 'undefined' &&\n typeof process.env !== 'undefined' &&\n typeof process.env.SC_DISABLE_SPEEDY !== 'undefined' &&\n process.env.SC_DISABLE_SPEEDY !== ''\n ? process.env.SC_DISABLE_SPEEDY === 'false'\n ? false\n : process.env.SC_DISABLE_SPEEDY\n : process.env.NODE_ENV !== 'production'\n);\n\n// Shared empty execution context when generating static styles\nexport const STATIC_EXECUTION_CONTEXT = {};\n","import { Dict } from '../types';\n\nexport const EMPTY_ARRAY = Object.freeze([]) as Readonly;\nexport const EMPTY_OBJECT = Object.freeze({}) as Readonly>;\n","import { useRef } from 'react';\n\nconst invalidHookCallRe = /invalid hook call/i;\nconst seen = new Set();\n\nexport const checkDynamicCreation = (displayName: string, componentId?: string | undefined) => {\n if (process.env.NODE_ENV !== 'production') {\n const parsedIdString = componentId ? ` with the id of \"${componentId}\"` : '';\n const message =\n `The component ${displayName}${parsedIdString} has been created dynamically.\\n` +\n \"You may see this warning because you've called styled inside another component.\\n\" +\n 'To resolve this only create new StyledComponents outside of any render method and function component.';\n\n // If a hook is called outside of a component:\n // React 17 and earlier throw an error\n // React 18 and above use console.error\n\n const originalConsoleError = console.error;\n try {\n let didNotCallInvalidHook = true;\n console.error = (consoleErrorMessage, ...consoleErrorArgs) => {\n // The error here is expected, since we're expecting anything that uses `checkDynamicCreation` to\n // be called outside of a React component.\n if (invalidHookCallRe.test(consoleErrorMessage)) {\n didNotCallInvalidHook = false;\n // This shouldn't happen, but resets `warningSeen` if we had this error happen intermittently\n seen.delete(message);\n } else {\n originalConsoleError(consoleErrorMessage, ...consoleErrorArgs);\n }\n };\n // We purposefully call `useRef` outside of a component and expect it to throw\n // If it doesn't, then we're inside another component.\n useRef();\n\n if (didNotCallInvalidHook && !seen.has(message)) {\n console.warn(message);\n seen.add(message);\n }\n } catch (error) {\n // The error here is expected, since we're expecting anything that uses `checkDynamicCreation` to\n // be called outside of a React component.\n if (invalidHookCallRe.test((error as Error).message)) {\n // This shouldn't happen, but resets `warningSeen` if we had this error happen intermittently\n seen.delete(message);\n }\n } finally {\n console.error = originalConsoleError;\n }\n }\n};\n","import { DefaultTheme, ExecutionProps } from '../types';\nimport { EMPTY_OBJECT } from './empties';\n\nexport default function determineTheme(\n props: ExecutionProps,\n providedTheme?: DefaultTheme | undefined,\n defaultProps: { theme?: DefaultTheme | undefined } = EMPTY_OBJECT\n): DefaultTheme | undefined {\n return (props.theme !== defaultProps.theme && props.theme) || providedTheme || defaultProps.theme;\n}\n","// Thanks to ReactDOMFactories for this handy list!\n\nconst elements = [\n 'a',\n 'abbr',\n 'address',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'base',\n 'bdi',\n 'bdo',\n 'big',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'data',\n 'datalist',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'embed',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hgroup',\n 'hr',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'keygen',\n 'label',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'map',\n 'mark',\n 'menu',\n 'menuitem',\n 'meta',\n 'meter',\n 'nav',\n 'noscript',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'param',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n 'script',\n 'section',\n 'select',\n 'small',\n 'source',\n 'span',\n 'strong',\n 'style',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'track',\n 'u',\n 'ul',\n 'use',\n 'var',\n 'video',\n 'wbr', // SVG\n 'circle',\n 'clipPath',\n 'defs',\n 'ellipse',\n 'foreignObject',\n 'g',\n 'image',\n 'line',\n 'linearGradient',\n 'marker',\n 'mask',\n 'path',\n 'pattern',\n 'polygon',\n 'polyline',\n 'radialGradient',\n 'rect',\n 'stop',\n 'svg',\n 'text',\n 'tspan',\n] as const;\n\nexport default new Set(elements);\nexport type SupportedHTMLElements = (typeof elements)[number];\n","// Source: https://www.w3.org/TR/cssom-1/#serialize-an-identifier\n// Control characters and non-letter first symbols are not supported\nconst escapeRegex = /[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g;\n\nconst dashesAtEnds = /(^-|-$)/g;\n\n/**\n * TODO: Explore using CSS.escape when it becomes more available\n * in evergreen browsers.\n */\nexport default function escape(str: string) {\n return str // Replace all possible CSS selectors\n .replace(escapeRegex, '-') // Remove extraneous hyphens at the start and end\n .replace(dashesAtEnds, '');\n}\n","const AD_REPLACER_R = /(a)(d)/gi;\n\n/* This is the \"capacity\" of our alphabet i.e. 2x26 for all letters plus their capitalised\n * counterparts */\nconst charsLength = 52;\n\n/* start at 75 for 'a' until 'z' (25) and then start at 65 for capitalised letters */\nconst getAlphabeticChar = (code: number) => String.fromCharCode(code + (code > 25 ? 39 : 97));\n\n/* input a number, usually a hash and convert it to base-52 */\nexport default function generateAlphabeticName(code: number) {\n let name = '';\n let x;\n\n /* get a char and divide by alphabet-length */\n for (x = Math.abs(code); x > charsLength; x = (x / charsLength) | 0) {\n name = getAlphabeticChar(x % charsLength) + name;\n }\n\n return (getAlphabeticChar(x % charsLength) + name).replace(AD_REPLACER_R, '$1-$2');\n}\n","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 generateAlphabeticName from './generateAlphabeticName';\nimport { hash } from './hash';\n\nexport default function generateComponentId(str: string) {\n return generateAlphabeticName(hash(str) >>> 0);\n}\n","import { StyledTarget } from '../types';\n\nexport default function getComponentName(target: StyledTarget) {\n return (\n (process.env.NODE_ENV !== 'production' ? typeof target === 'string' && target : false) ||\n (target as Exclude, string>).displayName ||\n (target as Function).name ||\n 'Component'\n );\n}\n","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 React from 'react';\nimport { AnyComponent } from '../types';\n\nconst hasSymbol = typeof Symbol === 'function' && Symbol.for;\n\n// copied from react-is\nconst REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nconst REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\n\n/**\n * Adapted from hoist-non-react-statics to avoid the react-is dependency.\n */\nconst REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true,\n};\n\nconst KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true,\n};\n\nconst FORWARD_REF_STATICS = {\n $$typeof: true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n};\n\nconst MEMO_STATICS = {\n $$typeof: true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true,\n};\n\nconst TYPE_STATICS = {\n [REACT_FORWARD_REF_TYPE]: FORWARD_REF_STATICS,\n [REACT_MEMO_TYPE]: MEMO_STATICS,\n};\n\ntype OmniComponent = AnyComponent;\n\n// adapted from react-is\nfunction isMemo(\n object: OmniComponent | React.MemoExoticComponent\n): object is React.MemoExoticComponent {\n const $$typeofType = 'type' in object && object.type.$$typeof;\n\n return $$typeofType === REACT_MEMO_TYPE;\n}\n\nfunction getStatics(component: OmniComponent) {\n // React v16.11 and below\n if (isMemo(component)) {\n return MEMO_STATICS;\n }\n\n // React v16.12 and above\n return '$$typeof' in component\n ? TYPE_STATICS[component['$$typeof'] as unknown as string]\n : REACT_STATICS;\n}\n\nconst defineProperty = Object.defineProperty;\nconst getOwnPropertyNames = Object.getOwnPropertyNames;\nconst getOwnPropertySymbols = Object.getOwnPropertySymbols;\nconst getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nconst getPrototypeOf = Object.getPrototypeOf;\nconst objectPrototype = Object.prototype;\n\ntype ExcludeList = {\n [key: string]: true;\n};\n\ntype NonReactStatics = {\n [key in Exclude<\n keyof S,\n S extends React.MemoExoticComponent\n ? keyof typeof MEMO_STATICS | keyof C\n : S extends React.ForwardRefExoticComponent\n ? keyof typeof FORWARD_REF_STATICS | keyof C\n : keyof typeof REACT_STATICS | keyof typeof KNOWN_STATICS | keyof C\n >]: S[key];\n};\n\nexport default function hoistNonReactStatics<\n T extends OmniComponent,\n S extends OmniComponent,\n C extends ExcludeList = {},\n>(targetComponent: T, sourceComponent: S, excludelist?: C | undefined) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n\n if (objectPrototype) {\n const inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, excludelist);\n }\n }\n\n let keys: (String | Symbol)[] = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n const targetStatics = getStatics(targetComponent);\n const sourceStatics = getStatics(sourceComponent);\n\n for (let i = 0; i < keys.length; ++i) {\n const key = keys[i] as unknown as string;\n if (\n !(key in KNOWN_STATICS) &&\n !(excludelist && excludelist[key]) &&\n !(sourceStatics && key in sourceStatics) &&\n !(targetStatics && key in targetStatics)\n ) {\n const descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor!);\n } catch (e) {\n /* ignore */\n }\n }\n }\n }\n\n return targetComponent as T & NonReactStatics;\n}\n","export default function isFunction(test: any): test is Function {\n return typeof test === 'function';\n}\n","import { StyledComponentBrand } from '../types';\n\nexport default function isStyledComponent(target: any): target is StyledComponentBrand {\n return typeof target === 'object' && 'styledComponentId' in target;\n}\n","/**\n * Convenience function for joining strings to form className chains\n */\nexport function joinStrings(a?: string | undefined, b?: string | undefined): string {\n return a && b ? `${a} ${b}` : a || b || '';\n}\n\nexport function joinStringArray(arr: string[], sep?: string | undefined): string {\n if (arr.length === 0) {\n return '';\n }\n\n let result = arr[0];\n for (let i = 1; i < arr.length; i++) {\n result += sep ? sep + arr[i] : arr[i];\n }\n return result;\n}\n","export default function isPlainObject(x: any): x is Record {\n return (\n x !== null &&\n typeof x === 'object' &&\n x.constructor.name === Object.name &&\n /* check for reasonable markers that the object isn't an element for react & preact/compat */\n !('props' in x && x.$$typeof)\n );\n}\n","import isPlainObject from './isPlainObject';\n\nfunction mixinRecursively(target: any, source: any, forceMerge = false) {\n /* only merge into POJOs, Arrays, but for top level objects only\n * allow to merge into anything by passing forceMerge = true */\n if (!forceMerge && !isPlainObject(target) && !Array.isArray(target)) {\n return source;\n }\n\n if (Array.isArray(source)) {\n for (let key = 0; key < source.length; key++) {\n target[key] = mixinRecursively(target[key], source[key]);\n }\n } else if (isPlainObject(source)) {\n for (const key in source) {\n target[key] = mixinRecursively(target[key], source[key]);\n }\n }\n\n return target;\n}\n\n/**\n * Arrays & POJOs merged recursively, other objects and value types are overridden\n * If target is not a POJO or an Array, it will get source properties injected via shallow merge\n * Source objects applied left to right. Mutates & returns target. Similar to lodash merge.\n */\nexport default function mixinDeep(target: any, ...sources: any[]) {\n for (const source of sources) {\n mixinRecursively(target, source, true);\n }\n\n return target;\n}\n","/**\n * If the Object prototype is frozen, the \"toString\" property is non-writable. This means that any objects which inherit this property\n * cannot have the property changed using a \"=\" assignment operator. If using strict mode, attempting that will cause an error. If not using\n * strict mode, attempting that will be silently ignored.\n *\n * If the Object prototype is frozen, inherited non-writable properties can still be shadowed using one of two mechanisms:\n *\n * 1. ES6 class methods: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes#methods\n * 2. Using the `Object.defineProperty()` static method:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty\n *\n * However, this project uses Babel to transpile ES6 classes, and transforms ES6 class methods to use the assignment operator instead:\n * https://babeljs.io/docs/babel-plugin-transform-class-properties#options\n *\n * Therefore, the most compatible way to shadow the prototype's \"toString\" property is to define a new \"toString\" property on this object.\n */\nexport function setToString(object: object, toStringFn: () => string) {\n Object.defineProperty(object, 'toString', { value: toStringFn });\n}\n","import { Dict } from '../types';\nimport errorMap from './errors';\n\nconst ERRORS: Dict = process.env.NODE_ENV !== 'production' ? errorMap : {};\n\n/**\n * super basic version of sprintf\n */\nfunction format(...args: [string, ...any]) {\n let a = args[0];\n const b = [];\n\n for (let c = 1, len = args.length; c < len; c += 1) {\n b.push(args[c]);\n }\n\n b.forEach(d => {\n a = a.replace(/%[a-z]/, d);\n });\n\n return a;\n}\n\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n */\nexport default function throwStyledComponentsError(\n code: string | number,\n ...interpolations: any[]\n) {\n if (process.env.NODE_ENV === 'production') {\n return new Error(\n `An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#${code} for more information.${\n interpolations.length > 0 ? ` Args: ${interpolations.join(', ')}` : ''\n }`\n );\n } else {\n return new Error(format(ERRORS[code], ...interpolations).trim());\n }\n}\n","import { SPLITTER } from '../constants';\nimport styledError from '../utils/error';\nimport { GroupedTag, Tag } from './types';\n\n/** Create a GroupedTag with an underlying Tag implementation */\nexport const makeGroupedTag = (tag: Tag) => {\n return new DefaultGroupedTag(tag);\n};\n\nconst BASE_SIZE = 1 << 9;\n\nconst DefaultGroupedTag = class DefaultGroupedTag implements GroupedTag {\n groupSizes: Uint32Array;\n length: number;\n tag: Tag;\n\n constructor(tag: Tag) {\n this.groupSizes = new Uint32Array(BASE_SIZE);\n this.length = BASE_SIZE;\n this.tag = tag;\n }\n\n indexOfGroup(group: number) {\n let index = 0;\n for (let i = 0; i < group; i++) {\n index += this.groupSizes[i];\n }\n\n return index;\n }\n\n insertRules(group: number, rules: string[]) {\n if (group >= this.groupSizes.length) {\n const oldBuffer = this.groupSizes;\n const oldSize = oldBuffer.length;\n\n let newSize = oldSize;\n while (group >= newSize) {\n newSize <<= 1;\n if (newSize < 0) {\n throw styledError(16, `${group}`);\n }\n }\n\n this.groupSizes = new Uint32Array(newSize);\n this.groupSizes.set(oldBuffer);\n this.length = newSize;\n\n for (let i = oldSize; i < newSize; i++) {\n this.groupSizes[i] = 0;\n }\n }\n\n let ruleIndex = this.indexOfGroup(group + 1);\n\n for (let i = 0, l = rules.length; i < l; i++) {\n if (this.tag.insertRule(ruleIndex, rules[i])) {\n this.groupSizes[group]++;\n ruleIndex++;\n }\n }\n }\n\n clearGroup(group: number) {\n if (group < this.length) {\n const length = this.groupSizes[group];\n const startIndex = this.indexOfGroup(group);\n const endIndex = startIndex + length;\n\n this.groupSizes[group] = 0;\n\n for (let i = startIndex; i < endIndex; i++) {\n this.tag.deleteRule(startIndex);\n }\n }\n }\n\n getGroup(group: number) {\n let css = '';\n if (group >= this.length || this.groupSizes[group] === 0) {\n return css;\n }\n\n const length = this.groupSizes[group];\n const startIndex = this.indexOfGroup(group);\n const endIndex = startIndex + length;\n\n for (let i = startIndex; i < endIndex; i++) {\n css += `${this.tag.getRule(i)}${SPLITTER}`;\n }\n\n return css;\n }\n};\n","import styledError from '../utils/error';\n\nconst MAX_SMI = 1 << (31 - 1);\n\nlet groupIDRegister: Map = new Map();\nlet reverseRegister: Map = new Map();\nlet nextFreeGroup = 1;\n\nexport const resetGroupIds = () => {\n groupIDRegister = new Map();\n reverseRegister = new Map();\n nextFreeGroup = 1;\n};\n\nexport const getGroupForId = (id: string): number => {\n if (groupIDRegister.has(id)) {\n return groupIDRegister.get(id) as any;\n }\n\n while (reverseRegister.has(nextFreeGroup)) {\n nextFreeGroup++;\n }\n\n const group = nextFreeGroup++;\n\n if (process.env.NODE_ENV !== 'production' && ((group | 0) < 0 || group > MAX_SMI)) {\n throw styledError(16, `${group}`);\n }\n\n groupIDRegister.set(id, group);\n reverseRegister.set(group, id);\n return group;\n};\n\nexport const getIdForGroup = (group: number): void | string => {\n return reverseRegister.get(group);\n};\n\nexport const setGroupForId = (id: string, group: number) => {\n // move pointer\n nextFreeGroup = group + 1;\n\n groupIDRegister.set(id, group);\n reverseRegister.set(group, id);\n};\n","import { SC_ATTR, SC_ATTR_ACTIVE, SC_ATTR_VERSION, SC_VERSION, SPLITTER } from '../constants';\nimport { getIdForGroup, setGroupForId } from './GroupIDAllocator';\nimport { Sheet } from './types';\n\nconst SELECTOR = `style[${SC_ATTR}][${SC_ATTR_VERSION}=\"${SC_VERSION}\"]`;\nconst MARKER_RE = new RegExp(`^${SC_ATTR}\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)`);\n\nexport const outputSheet = (sheet: Sheet) => {\n const tag = sheet.getTag();\n const { length } = tag;\n\n let css = '';\n for (let group = 0; group < length; group++) {\n const id = getIdForGroup(group);\n if (id === undefined) continue;\n\n const names = sheet.names.get(id);\n const rules = tag.getGroup(group);\n if (names === undefined || rules.length === 0) continue;\n\n const selector = `${SC_ATTR}.g${group}[id=\"${id}\"]`;\n\n let content = '';\n if (names !== undefined) {\n names.forEach(name => {\n if (name.length > 0) {\n content += `${name},`;\n }\n });\n }\n\n // NOTE: It's easier to collect rules and have the marker\n // after the actual rules to simplify the rehydration\n css += `${rules}${selector}{content:\"${content}\"}${SPLITTER}`;\n }\n\n return css;\n};\n\nconst rehydrateNamesFromContent = (sheet: Sheet, id: string, content: string) => {\n const names = content.split(',');\n let name;\n\n for (let i = 0, l = names.length; i < l; i++) {\n if ((name = names[i])) {\n sheet.registerName(id, name);\n }\n }\n};\n\nconst rehydrateSheetFromTag = (sheet: Sheet, style: HTMLStyleElement) => {\n const parts = (style.textContent ?? '').split(SPLITTER);\n const rules: string[] = [];\n\n for (let i = 0, l = parts.length; i < l; i++) {\n const part = parts[i].trim();\n if (!part) continue;\n\n const marker = part.match(MARKER_RE);\n\n if (marker) {\n const group = parseInt(marker[1], 10) | 0;\n const id = marker[2];\n\n if (group !== 0) {\n // Rehydrate componentId to group index mapping\n setGroupForId(id, group);\n // Rehydrate names and rules\n // looks like: data-styled.g11[id=\"idA\"]{content:\"nameA,\"}\n rehydrateNamesFromContent(sheet, id, marker[3]);\n sheet.getTag().insertRules(group, rules);\n }\n\n rules.length = 0;\n } else {\n rules.push(part);\n }\n }\n};\n\nexport const rehydrateSheet = (sheet: Sheet) => {\n const nodes = document.querySelectorAll(SELECTOR);\n\n for (let i = 0, l = nodes.length; i < l; i++) {\n const node = nodes[i] as any as HTMLStyleElement;\n if (node && node.getAttribute(SC_ATTR) !== SC_ATTR_ACTIVE) {\n rehydrateSheetFromTag(sheet, node);\n\n if (node.parentNode) {\n node.parentNode.removeChild(node);\n }\n }\n }\n};\n","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\n/** Find last style element if any inside target */\nconst findLastStyleTag = (target: HTMLElement): void | HTMLStyleElement => {\n const arr = Array.from(target.querySelectorAll(`style[${SC_ATTR}]`));\n\n return arr[arr.length - 1];\n};\n\n/** Create a style element inside `target` or after the last */\nexport const makeStyleTag = (target?: HTMLElement | undefined): HTMLStyleElement => {\n const head = document.head;\n const parent = target || head;\n const style = document.createElement('style');\n const prevStyle = findLastStyleTag(parent);\n const nextSibling = prevStyle !== undefined ? prevStyle.nextSibling : null;\n\n style.setAttribute(SC_ATTR, SC_ATTR_ACTIVE);\n style.setAttribute(SC_ATTR_VERSION, SC_VERSION);\n\n const nonce = getNonce();\n\n if (nonce) style.setAttribute('nonce', nonce);\n\n parent.insertBefore(style, nextSibling);\n\n return style;\n};\n\n/** Get the CSSStyleSheet instance for a given style element */\nexport const getSheet = (tag: HTMLStyleElement): CSSStyleSheet => {\n if (tag.sheet) {\n return tag.sheet as any as CSSStyleSheet;\n }\n\n // Avoid Firefox quirk where the style element might not have a sheet property\n const { styleSheets } = document;\n for (let i = 0, l = styleSheets.length; i < l; i++) {\n const sheet = styleSheets[i];\n if (sheet.ownerNode === tag) {\n return sheet as any as CSSStyleSheet;\n }\n }\n\n throw styledError(17);\n};\n","import { getSheet, makeStyleTag } from './dom';\nimport { SheetOptions, Tag } from './types';\n\n/** Create a CSSStyleSheet-like tag depending on the environment */\nexport const makeTag = ({ isServer, useCSSOMInjection, target }: SheetOptions) => {\n if (isServer) {\n return new VirtualTag(target);\n } else if (useCSSOMInjection) {\n return new CSSOMTag(target);\n } else {\n return new TextTag(target);\n }\n};\n\nexport const CSSOMTag = class CSSOMTag implements Tag {\n element: HTMLStyleElement;\n\n sheet: CSSStyleSheet;\n\n length: number;\n\n constructor(target?: HTMLElement | undefined) {\n this.element = makeStyleTag(target);\n\n // Avoid Edge bug where empty style elements don't create sheets\n this.element.appendChild(document.createTextNode(''));\n\n this.sheet = getSheet(this.element);\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n try {\n this.sheet.insertRule(rule, index);\n this.length++;\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.sheet.deleteRule(index);\n this.length--;\n }\n\n getRule(index: number): string {\n const rule = this.sheet.cssRules[index];\n\n // Avoid IE11 quirk where cssText is inaccessible on some invalid rules\n if (rule && rule.cssText) {\n return rule.cssText;\n } else {\n return '';\n }\n }\n};\n\n/** A Tag that emulates the CSSStyleSheet API but uses text nodes */\nexport const TextTag = class TextTag implements Tag {\n element: HTMLStyleElement;\n nodes: NodeListOf;\n length: number;\n\n constructor(target?: HTMLElement | undefined) {\n this.element = makeStyleTag(target);\n this.nodes = this.element.childNodes;\n this.length = 0;\n }\n\n insertRule(index: number, rule: string) {\n if (index <= this.length && index >= 0) {\n const node = document.createTextNode(rule);\n const refNode = this.nodes[index];\n this.element.insertBefore(node, refNode || null);\n this.length++;\n return true;\n } else {\n return false;\n }\n }\n\n deleteRule(index: number) {\n this.element.removeChild(this.nodes[index]);\n this.length--;\n }\n\n getRule(index: number) {\n if (index < this.length) {\n return this.nodes[index].textContent as string;\n } else {\n return '';\n }\n }\n};\n\n/** A completely virtual (server-side) Tag that doesn't manipulate the DOM */\nexport const VirtualTag = class VirtualTag implements Tag {\n rules: string[];\n\n length: number;\n\n constructor(_target?: HTMLElement | undefined) {\n this.rules = [];\n this.length = 0;\n }\n\n insertRule(index: number, rule: string) {\n if (index <= this.length) {\n this.rules.splice(index, 0, rule);\n this.length++;\n return true;\n } else {\n return false;\n }\n }\n\n deleteRule(index: number) {\n this.rules.splice(index, 1);\n this.length--;\n }\n\n getRule(index: number) {\n if (index < this.length) {\n return this.rules[index];\n } else {\n return '';\n }\n }\n};\n","import { DISABLE_SPEEDY, IS_BROWSER } from '../constants';\nimport { EMPTY_OBJECT } from '../utils/empties';\nimport { setToString } from '../utils/setToString';\nimport { makeGroupedTag } from './GroupedTag';\nimport { getGroupForId } from './GroupIDAllocator';\nimport { outputSheet, rehydrateSheet } from './Rehydration';\nimport { makeTag } from './Tag';\nimport { GroupedTag, Sheet, SheetOptions } from './types';\n\nlet SHOULD_REHYDRATE = IS_BROWSER;\n\ntype SheetConstructorArgs = {\n isServer?: boolean;\n useCSSOMInjection?: boolean;\n target?: HTMLElement | undefined;\n};\n\ntype GlobalStylesAllocationMap = {\n [key: string]: number;\n};\ntype NamesAllocationMap = Map>;\n\nconst defaultOptions: SheetOptions = {\n isServer: !IS_BROWSER,\n useCSSOMInjection: !DISABLE_SPEEDY,\n};\n\n/** Contains the main stylesheet logic for stringification and caching */\nexport default class StyleSheet implements Sheet {\n gs: GlobalStylesAllocationMap;\n names: NamesAllocationMap;\n options: SheetOptions;\n server: boolean;\n tag?: GroupedTag | undefined;\n\n /** Register a group ID to give it an index */\n static registerId(id: string): number {\n return getGroupForId(id);\n }\n\n constructor(\n options: SheetConstructorArgs = EMPTY_OBJECT as Object,\n globalStyles: GlobalStylesAllocationMap = {},\n names?: NamesAllocationMap | undefined\n ) {\n this.options = {\n ...defaultOptions,\n ...options,\n };\n\n this.gs = globalStyles;\n this.names = new Map(names as NamesAllocationMap);\n this.server = !!options.isServer;\n\n // We rehydrate only once and use the sheet that is created first\n if (!this.server && IS_BROWSER && SHOULD_REHYDRATE) {\n SHOULD_REHYDRATE = false;\n rehydrateSheet(this);\n }\n\n setToString(this, () => outputSheet(this));\n }\n\n reconstructWithOptions(options: SheetConstructorArgs, withNames = true) {\n return new StyleSheet(\n { ...this.options, ...options },\n this.gs,\n (withNames && this.names) || undefined\n );\n }\n\n allocateGSInstance(id: string) {\n return (this.gs[id] = (this.gs[id] || 0) + 1);\n }\n\n /** Lazily initialises a GroupedTag for when it's actually needed */\n getTag() {\n return this.tag || (this.tag = makeGroupedTag(makeTag(this.options)));\n }\n\n /** Check whether a name is known for caching */\n hasNameForId(id: string, name: string): boolean {\n return this.names.has(id) && (this.names.get(id) as any).has(name);\n }\n\n /** Mark a group's name as known for caching */\n registerName(id: string, name: string) {\n getGroupForId(id);\n\n if (!this.names.has(id)) {\n const groupNames = new Set();\n groupNames.add(name);\n this.names.set(id, groupNames);\n } else {\n (this.names.get(id) as any).add(name);\n }\n }\n\n /** Insert new rules which also marks the name as known */\n insertRules(id: string, name: string, rules: string | string[]) {\n this.registerName(id, name);\n this.getTag().insertRules(getGroupForId(id), rules);\n }\n\n /** Clears all cached names for a given group ID */\n clearNames(id: string) {\n if (this.names.has(id)) {\n (this.names.get(id) as any).clear();\n }\n }\n\n /** Clears all rules for a given group ID */\n clearRules(id: string) {\n this.getTag().clearGroup(getGroupForId(id));\n this.clearNames(id);\n }\n\n /** Clears the entire tag which deletes all rules but not its names */\n clearTag() {\n // NOTE: This does not clear the names, since it's only used during SSR\n // so that we can continuously output only new rules\n this.tag = undefined;\n }\n}\n","import * as stylis from 'stylis';\nimport { Stringifier } from '../types';\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from './empties';\nimport throwStyledError from './error';\nimport { SEED, phash } from './hash';\n\nconst AMP_REGEX = /&/g;\nconst COMMENT_REGEX = /^\\s*\\/\\/.*$/gm;\n\nexport type ICreateStylisInstance = {\n options?: { namespace?: string | undefined; prefix?: boolean | undefined } | undefined;\n plugins?: stylis.Middleware[] | undefined;\n};\n\n/**\n * Takes an element and recurses through it's rules added the namespace to the start of each selector.\n * Takes into account media queries by recursing through child rules if they are present.\n */\nfunction recursivelySetNamepace(compiled: stylis.Element[], namespace: String): stylis.Element[] {\n return compiled.map(rule => {\n if (rule.type === 'rule') {\n // add the namespace to the start\n rule.value = `${namespace} ${rule.value}`;\n // add the namespace after each comma for subsequent selectors.\n rule.value = rule.value.replaceAll(',', `,${namespace} `);\n rule.props = (rule.props as string[]).map(prop => {\n return `${namespace} ${prop}`;\n });\n }\n\n if (Array.isArray(rule.children) && rule.type !== '@keyframes') {\n rule.children = recursivelySetNamepace(rule.children, namespace);\n }\n return rule;\n });\n}\n\nexport default function createStylisInstance(\n {\n options = EMPTY_OBJECT as object,\n plugins = EMPTY_ARRAY as unknown as stylis.Middleware[],\n }: ICreateStylisInstance = EMPTY_OBJECT as object\n) {\n let _componentId: string;\n let _selector: string;\n let _selectorRegexp: RegExp;\n\n const selfReferenceReplacer = (match: string, offset: number, string: string) => {\n if (\n /**\n * We only want to refer to the static class directly if the selector is part of a\n * self-reference selector `& + & { color: red; }`\n */\n string.startsWith(_selector) &&\n string.endsWith(_selector) &&\n string.replaceAll(_selector, '').length > 0\n ) {\n return `.${_componentId}`;\n }\n\n return match;\n };\n\n /**\n * When writing a style like\n *\n * & + & {\n * color: red;\n * }\n *\n * The second ampersand should be a reference to the static component class. stylis\n * has no knowledge of static class so we have to intelligently replace the base selector.\n *\n * https://github.com/thysultan/stylis.js/tree/v4.0.2#abstract-syntax-structure\n */\n const selfReferenceReplacementPlugin: stylis.Middleware = element => {\n if (element.type === stylis.RULESET && element.value.includes('&')) {\n (element.props as string[])[0] = element.props[0]\n // catch any hanging references that stylis missed\n .replace(AMP_REGEX, _selector)\n .replace(_selectorRegexp, selfReferenceReplacer);\n }\n };\n\n const middlewares = plugins.slice();\n\n middlewares.push(selfReferenceReplacementPlugin);\n\n /**\n * Enables automatic vendor-prefixing for styles.\n */\n if (options.prefix) {\n middlewares.push(stylis.prefixer);\n }\n\n middlewares.push(stylis.stringify);\n\n const stringifyRules: Stringifier = (\n css: string,\n selector = '',\n /**\n * This \"prefix\" referes to a _selector_ prefix.\n */\n prefix = '',\n componentId = '&'\n ) => {\n // stylis has no concept of state to be passed to plugins\n // but since JS is single-threaded, we can rely on that to ensure\n // these properties stay in sync with the current stylis run\n _componentId = componentId;\n _selector = selector;\n _selectorRegexp = new RegExp(`\\\\${_selector}\\\\b`, 'g');\n\n const flatCSS = css.replace(COMMENT_REGEX, '');\n let compiled = stylis.compile(\n prefix || selector ? `${prefix} ${selector} { ${flatCSS} }` : flatCSS\n );\n\n if (options.namespace) {\n compiled = recursivelySetNamepace(compiled, options.namespace);\n }\n\n const stack: string[] = [];\n\n stylis.serialize(\n compiled,\n stylis.middleware(middlewares.concat(stylis.rulesheet(value => stack.push(value))))\n );\n\n return stack;\n };\n\n stringifyRules.hash = plugins.length\n ? plugins\n .reduce((acc, plugin) => {\n if (!plugin.name) {\n throwStyledError(15);\n }\n\n return phash(acc, plugin.name);\n }, SEED)\n .toString()\n : '';\n\n return stringifyRules;\n}\n","import React, { useContext, useEffect, useMemo, useState } from 'react';\nimport shallowequal from 'shallowequal';\nimport type stylis from 'stylis';\nimport StyleSheet from '../sheet';\nimport { ShouldForwardProp, Stringifier } from '../types';\nimport createStylisInstance from '../utils/stylis';\n\nexport const mainSheet: StyleSheet = new StyleSheet();\nexport const mainStylis: Stringifier = createStylisInstance();\n\nexport type IStyleSheetContext = {\n shouldForwardProp?: ShouldForwardProp<'web'> | undefined;\n styleSheet: StyleSheet;\n stylis: Stringifier;\n};\n\nexport const StyleSheetContext = React.createContext({\n shouldForwardProp: undefined,\n styleSheet: mainSheet,\n stylis: mainStylis,\n});\n\nexport const StyleSheetConsumer = StyleSheetContext.Consumer;\n\nexport type IStylisContext = Stringifier | void;\nexport const StylisContext = React.createContext(undefined);\nexport const StylisConsumer = StylisContext.Consumer;\n\nexport function useStyleSheetContext() {\n return useContext(StyleSheetContext);\n}\n\nexport type IStyleSheetManager = React.PropsWithChildren<{\n /**\n * If desired, you can pass this prop to disable \"speedy\" insertion mode, which\n * uses the browser [CSSOM APIs](https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet).\n * When disabled, rules are inserted as simple text into style blocks.\n */\n disableCSSOMInjection?: undefined | boolean;\n /**\n * If you are working exclusively with modern browsers, vendor prefixes can often be omitted\n * to reduce the weight of CSS on the page.\n */\n enableVendorPrefixes?: undefined | boolean;\n /**\n * Provide an optional selector to be prepended to all generated style rules.\n */\n namespace?: undefined | string;\n /**\n * Create and provide your own `StyleSheet` if necessary for advanced SSR scenarios.\n */\n sheet?: undefined | StyleSheet;\n /**\n * Starting in v6, styled-components no longer does its own prop validation\n * and recommends use of transient props \"$prop\" to pass style-only props to\n * components. If for some reason you are not able to use transient props, a\n * prop validation function can be provided via `StyleSheetManager`, such as\n * `@emotion/is-prop-valid`.\n *\n * When the return value is `true`, props will be forwarded to the DOM/underlying\n * component. If return value is `false`, the prop will be discarded after styles\n * are calculated.\n *\n * Manually composing `styled.{element}.withConfig({shouldForwardProp})` will\n * override this default.\n */\n shouldForwardProp?: undefined | IStyleSheetContext['shouldForwardProp'];\n /**\n * An array of plugins to be run by stylis (style processor) during compilation.\n * Check out [what's available on npm*](https://www.npmjs.com/search?q=keywords%3Astylis).\n *\n * \\* The plugin(s) must be compatible with stylis v4 or above.\n */\n stylisPlugins?: undefined | stylis.Middleware[];\n /**\n * Provide an alternate DOM node to host generated styles; useful for iframes.\n */\n target?: undefined | HTMLElement;\n}>;\n\nexport function StyleSheetManager(props: IStyleSheetManager): JSX.Element {\n const [plugins, setPlugins] = useState(props.stylisPlugins);\n const { styleSheet } = useStyleSheetContext();\n\n const resolvedStyleSheet = useMemo(() => {\n let sheet = styleSheet;\n\n if (props.sheet) {\n sheet = props.sheet;\n } else if (props.target) {\n sheet = sheet.reconstructWithOptions({ target: props.target }, false);\n }\n\n if (props.disableCSSOMInjection) {\n sheet = sheet.reconstructWithOptions({ useCSSOMInjection: false });\n }\n\n return sheet;\n }, [props.disableCSSOMInjection, props.sheet, props.target, styleSheet]);\n\n const stylis = useMemo(\n () =>\n createStylisInstance({\n options: { namespace: props.namespace, prefix: props.enableVendorPrefixes },\n plugins,\n }),\n [props.enableVendorPrefixes, props.namespace, plugins]\n );\n\n useEffect(() => {\n if (!shallowequal(plugins, props.stylisPlugins)) setPlugins(props.stylisPlugins);\n }, [props.stylisPlugins]);\n\n const styleSheetContextValue = useMemo(\n () => ({\n shouldForwardProp: props.shouldForwardProp,\n styleSheet: resolvedStyleSheet,\n stylis,\n }),\n [props.shouldForwardProp, resolvedStyleSheet, stylis]\n );\n\n return (\n \n {props.children}\n \n );\n}\n","import StyleSheet from '../sheet';\nimport { Keyframes as KeyframesType, Stringifier } from '../types';\nimport styledError from '../utils/error';\nimport { setToString } from '../utils/setToString';\nimport { mainStylis } from './StyleSheetManager';\n\nexport default class Keyframes implements KeyframesType {\n id: string;\n name: string;\n rules: string;\n\n constructor(name: string, rules: string) {\n this.name = name;\n this.id = `sc-keyframes-${name}`;\n this.rules = rules;\n\n setToString(this, () => {\n throw styledError(12, String(this.name));\n });\n }\n\n inject = (styleSheet: StyleSheet, stylisInstance: Stringifier = mainStylis): void => {\n const resolvedName = this.name + stylisInstance.hash;\n\n if (!styleSheet.hasNameForId(this.id, resolvedName)) {\n styleSheet.insertRules(\n this.id,\n resolvedName,\n stylisInstance(this.rules, resolvedName, '@keyframes')\n );\n }\n };\n\n getName(stylisInstance: Stringifier = mainStylis): string {\n return this.name + stylisInstance.hash;\n }\n}\n","const isUpper = (c: string) => c >= 'A' && c <= 'Z';\n\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n * > hyphenateStyleName('backgroundColor')\n * < \"background-color\"\n * > hyphenateStyleName('MozTransition')\n * < \"-moz-transition\"\n * > hyphenateStyleName('msTransition')\n * < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n */\nexport default function hyphenateStyleName(string: string): string {\n let output = '';\n\n for (let i = 0; i < string.length; i++) {\n const c = string[i];\n // Check for CSS variable prefix\n if (i === 1 && c === '-' && string[0] === '-') {\n return string;\n }\n\n if (isUpper(c)) {\n output += '-' + c.toLowerCase();\n } else {\n output += c;\n }\n }\n\n return output.startsWith('ms-') ? '-' + output : output;\n}\n","import Keyframes from '../models/Keyframes';\nimport StyleSheet from '../sheet';\nimport {\n AnyComponent,\n Dict,\n ExecutionContext,\n Interpolation,\n IStyledComponent,\n RuleSet,\n Stringifier,\n StyledObject,\n} from '../types';\nimport addUnitIfNeeded from './addUnitIfNeeded';\nimport { EMPTY_ARRAY } from './empties';\nimport getComponentName from './getComponentName';\nimport hyphenate from './hyphenateStyleName';\nimport isFunction from './isFunction';\nimport isPlainObject from './isPlainObject';\nimport isStatelessFunction from './isStatelessFunction';\nimport isStyledComponent from './isStyledComponent';\n\n/**\n * It's falsish not falsy because 0 is allowed.\n */\nconst isFalsish = (chunk: any): chunk is undefined | null | false | '' =>\n chunk === undefined || chunk === null || chunk === false || chunk === '';\n\nexport const objToCssArray = (obj: Dict): string[] => {\n const rules = [];\n\n for (const key in obj) {\n const val = obj[key];\n if (!obj.hasOwnProperty(key) || isFalsish(val)) continue;\n\n // @ts-expect-error Property 'isCss' does not exist on type 'any[]'\n if ((Array.isArray(val) && val.isCss) || isFunction(val)) {\n rules.push(`${hyphenate(key)}:`, val, ';');\n } else if (isPlainObject(val)) {\n rules.push(`${key} {`, ...objToCssArray(val), '}');\n } else {\n rules.push(`${hyphenate(key)}: ${addUnitIfNeeded(key, val)};`);\n }\n }\n\n return rules;\n};\n\nexport default function flatten(\n chunk: Interpolation,\n executionContext?: (ExecutionContext & Props) | undefined,\n styleSheet?: StyleSheet | undefined,\n stylisInstance?: Stringifier | undefined\n): RuleSet {\n if (isFalsish(chunk)) {\n return [];\n }\n\n /* Handle other components */\n if (isStyledComponent(chunk)) {\n return [`.${(chunk as unknown as IStyledComponent<'web', any>).styledComponentId}`];\n }\n\n /* Either execute or defer the function */\n if (isFunction(chunk)) {\n if (isStatelessFunction(chunk) && executionContext) {\n const result = chunk(executionContext);\n\n if (\n process.env.NODE_ENV !== 'production' &&\n typeof result === 'object' &&\n !Array.isArray(result) &&\n !(result instanceof Keyframes) &&\n !isPlainObject(result) &&\n result !== null\n ) {\n console.error(\n `${getComponentName(\n chunk as AnyComponent\n )} is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.`\n );\n }\n\n return flatten(result, executionContext, styleSheet, stylisInstance);\n } else {\n return [chunk as unknown as IStyledComponent<'web'>];\n }\n }\n\n if (chunk instanceof Keyframes) {\n if (styleSheet) {\n chunk.inject(styleSheet, stylisInstance);\n return [chunk.getName(stylisInstance)];\n } else {\n return [chunk];\n }\n }\n\n /* Handle objects */\n if (isPlainObject(chunk)) {\n return objToCssArray(chunk as StyledObject);\n }\n\n if (!Array.isArray(chunk)) {\n return [chunk.toString()];\n }\n\n return flatMap(chunk, chunklet =>\n flatten(chunklet, executionContext, styleSheet, stylisInstance)\n );\n}\n\nfunction flatMap(array: T[], transform: (value: T, index: number, array: T[]) => U[]): U[] {\n return Array.prototype.concat.apply(EMPTY_ARRAY, array.map(transform));\n}\n","import unitless from '@emotion/unitless';\n\n// Taken from https://github.com/facebook/react/blob/b87aabdfe1b7461e7331abb3601d9e6bb27544bc/packages/react-dom/src/shared/dangerousStyleValue.js\nexport default function addUnitIfNeeded(name: string, value: any) {\n // https://github.com/amilajack/eslint-plugin-flowtype-errors/issues/133\n if (value == null || typeof value === 'boolean' || value === '') {\n return '';\n }\n\n if (typeof value === 'number' && value !== 0 && !(name in unitless) && !name.startsWith('--')) {\n return `${value}px`; // Presumes implicit 'px' suffix for unitless numbers except for CSS variables\n }\n\n return String(value).trim();\n}\n","import isFunction from './isFunction';\n\nexport default function isStatelessFunction(test: any): test is Function {\n return isFunction(test) && !(test.prototype && test.prototype.isReactComponent);\n}\n","import { RuleSet } from '../types';\nimport isFunction from './isFunction';\nimport isStyledComponent from './isStyledComponent';\n\nexport default function isStaticRules(rules: RuleSet) {\n for (let i = 0; i < rules.length; i += 1) {\n const rule = rules[i];\n\n if (isFunction(rule) && !isStyledComponent(rule)) {\n // functions are allowed to be static if they're just being\n // used to get the classname of a nested styled component\n return false;\n }\n }\n\n return true;\n}\n","import { SC_VERSION } from '../constants';\nimport StyleSheet from '../sheet';\nimport { ExecutionContext, RuleSet, Stringifier } from '../types';\nimport flatten from '../utils/flatten';\nimport generateName from '../utils/generateAlphabeticName';\nimport { hash, phash } from '../utils/hash';\nimport isStaticRules from '../utils/isStaticRules';\nimport { joinStringArray, joinStrings } from '../utils/joinStrings';\n\nconst SEED = hash(SC_VERSION);\n\n/**\n * ComponentStyle is all the CSS-specific stuff, not the React-specific stuff.\n */\nexport default class ComponentStyle {\n baseHash: number;\n baseStyle: ComponentStyle | null | undefined;\n componentId: string;\n isStatic: boolean;\n rules: RuleSet;\n staticRulesId: string;\n\n constructor(rules: RuleSet, componentId: string, baseStyle?: ComponentStyle | undefined) {\n this.rules = rules;\n this.staticRulesId = '';\n this.isStatic =\n process.env.NODE_ENV === 'production' &&\n (baseStyle === undefined || baseStyle.isStatic) &&\n isStaticRules(rules);\n this.componentId = componentId;\n this.baseHash = phash(SEED, componentId);\n this.baseStyle = baseStyle;\n\n // NOTE: This registers the componentId, which ensures a consistent order\n // for this component's styles compared to others\n StyleSheet.registerId(componentId);\n }\n\n generateAndInjectStyles(\n executionContext: ExecutionContext,\n styleSheet: StyleSheet,\n stylis: Stringifier\n ): string {\n let names = this.baseStyle\n ? this.baseStyle.generateAndInjectStyles(executionContext, styleSheet, stylis)\n : '';\n\n // force dynamic classnames if user-supplied stylis plugins are in use\n if (this.isStatic && !stylis.hash) {\n if (this.staticRulesId && styleSheet.hasNameForId(this.componentId, this.staticRulesId)) {\n names = joinStrings(names, this.staticRulesId);\n } else {\n const cssStatic = joinStringArray(\n flatten(this.rules, executionContext, styleSheet, stylis) as string[]\n );\n const name = generateName(phash(this.baseHash, cssStatic) >>> 0);\n\n if (!styleSheet.hasNameForId(this.componentId, name)) {\n const cssStaticFormatted = stylis(cssStatic, `.${name}`, undefined, this.componentId);\n styleSheet.insertRules(this.componentId, name, cssStaticFormatted);\n }\n\n names = joinStrings(names, name);\n this.staticRulesId = name;\n }\n } else {\n let dynamicHash = phash(this.baseHash, stylis.hash);\n let css = '';\n\n for (let i = 0; i < this.rules.length; i++) {\n const partRule = this.rules[i];\n\n if (typeof partRule === 'string') {\n css += partRule;\n\n if (process.env.NODE_ENV !== 'production') dynamicHash = phash(dynamicHash, partRule);\n } else if (partRule) {\n const partString = joinStringArray(\n flatten(partRule, executionContext, styleSheet, stylis) as string[]\n );\n // The same value can switch positions in the array, so we include \"i\" in the hash.\n dynamicHash = phash(dynamicHash, partString + i);\n css += partString;\n }\n }\n\n if (css) {\n const name = generateName(dynamicHash >>> 0);\n\n if (!styleSheet.hasNameForId(this.componentId, name)) {\n styleSheet.insertRules(\n this.componentId,\n name,\n stylis(css, `.${name}`, undefined, this.componentId)\n );\n }\n\n names = joinStrings(names, name);\n }\n }\n\n return names;\n }\n}\n","import React, { useContext, useMemo } from 'react';\nimport styledError from '../utils/error';\nimport isFunction from '../utils/isFunction';\n\n/**\n * Override DefaultTheme to get accurate typings for your project.\n *\n * ```\n * // create styled-components.d.ts in your project source\n * // if it isn't being picked up, check tsconfig compilerOptions.types\n * import type { CSSProp } from \"styled-components\";\n * import Theme from './theme';\n *\n * type ThemeType = typeof Theme;\n *\n * declare module \"styled-components\" {\n * export interface DefaultTheme extends ThemeType {}\n * }\n *\n * declare module \"react\" {\n * interface DOMAttributes {\n * css?: CSSProp;\n * }\n * }\n * ```\n */\nexport interface DefaultTheme {\n [key: string]: any;\n}\n\ntype ThemeFn = (outerTheme?: DefaultTheme | undefined) => DefaultTheme;\ntype ThemeArgument = DefaultTheme | ThemeFn;\n\ntype Props = {\n children?: React.ReactNode;\n theme: ThemeArgument;\n};\n\nexport const ThemeContext = React.createContext(undefined);\n\nexport const ThemeConsumer = ThemeContext.Consumer;\n\nfunction mergeTheme(theme: ThemeArgument, outerTheme?: DefaultTheme | undefined): DefaultTheme {\n if (!theme) {\n throw styledError(14);\n }\n\n if (isFunction(theme)) {\n const themeFn = theme as ThemeFn;\n const mergedTheme = themeFn(outerTheme);\n\n if (\n process.env.NODE_ENV !== 'production' &&\n (mergedTheme === null || Array.isArray(mergedTheme) || typeof mergedTheme !== 'object')\n ) {\n throw styledError(7);\n }\n\n return mergedTheme;\n }\n\n if (Array.isArray(theme) || typeof theme !== 'object') {\n throw styledError(8);\n }\n\n return outerTheme ? { ...outerTheme, ...theme } : theme;\n}\n\n/**\n * Returns the current theme (as provided by the closest ancestor `ThemeProvider`.)\n *\n * If no `ThemeProvider` is found, the function will error. If you need access to the theme in an\n * uncertain composition scenario, `React.useContext(ThemeContext)` will not emit an error if there\n * is no `ThemeProvider` ancestor.\n */\nexport function useTheme(): DefaultTheme {\n const theme = useContext(ThemeContext);\n\n if (!theme) {\n throw styledError(18);\n }\n\n return theme;\n}\n\n/**\n * Provide a theme to an entire react component tree via context\n */\nexport default function ThemeProvider(props: Props): JSX.Element | null {\n const outerTheme = React.useContext(ThemeContext);\n const themeContext = useMemo(\n () => mergeTheme(props.theme, outerTheme),\n [props.theme, outerTheme]\n );\n\n if (!props.children) {\n return null;\n }\n\n return {props.children};\n}\n","import isPropValid from '@emotion/is-prop-valid';\nimport React, { createElement, Ref, useDebugValue } from 'react';\nimport { SC_VERSION } from '../constants';\nimport type {\n AnyComponent,\n Attrs,\n BaseObject,\n Dict,\n ExecutionContext,\n ExecutionProps,\n IStyledComponent,\n IStyledComponentFactory,\n IStyledStatics,\n OmitNever,\n RuleSet,\n StyledOptions,\n WebTarget,\n} from '../types';\nimport { checkDynamicCreation } from '../utils/checkDynamicCreation';\nimport createWarnTooManyClasses from '../utils/createWarnTooManyClasses';\nimport determineTheme from '../utils/determineTheme';\nimport domElements from '../utils/domElements';\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from '../utils/empties';\nimport escape from '../utils/escape';\nimport generateComponentId from '../utils/generateComponentId';\nimport generateDisplayName from '../utils/generateDisplayName';\nimport hoist from '../utils/hoist';\nimport isFunction from '../utils/isFunction';\nimport isStyledComponent from '../utils/isStyledComponent';\nimport isTag from '../utils/isTag';\nimport { joinStrings } from '../utils/joinStrings';\nimport merge from '../utils/mixinDeep';\nimport { setToString } from '../utils/setToString';\nimport ComponentStyle from './ComponentStyle';\nimport { useStyleSheetContext } from './StyleSheetManager';\nimport { DefaultTheme, ThemeContext } from './ThemeProvider';\n\nconst identifiers: { [key: string]: number } = {};\n\n/* We depend on components having unique IDs */\nfunction generateId(\n displayName?: string | undefined,\n parentComponentId?: string | undefined\n): string {\n const name = typeof displayName !== 'string' ? 'sc' : escape(displayName);\n // Ensure that no displayName can lead to duplicate componentIds\n identifiers[name] = (identifiers[name] || 0) + 1;\n\n const componentId = `${name}-${generateComponentId(\n // SC_VERSION gives us isolation between multiple runtimes on the page at once\n // this is improved further with use of the babel plugin \"namespace\" feature\n SC_VERSION + name + identifiers[name]\n )}`;\n\n return parentComponentId ? `${parentComponentId}-${componentId}` : componentId;\n}\n\nfunction useInjectedStyle(\n componentStyle: ComponentStyle,\n resolvedAttrs: T\n) {\n const ssc = useStyleSheetContext();\n\n const className = componentStyle.generateAndInjectStyles(\n resolvedAttrs,\n ssc.styleSheet,\n ssc.stylis\n );\n\n if (process.env.NODE_ENV !== 'production') useDebugValue(className);\n\n return className;\n}\n\nfunction resolveContext(\n attrs: Attrs & Props>[],\n props: React.HTMLAttributes & ExecutionProps & Props,\n theme: DefaultTheme\n) {\n const context: React.HTMLAttributes &\n ExecutionContext &\n Props & { [key: string]: any; class?: string; ref?: React.Ref } = {\n ...props,\n // unset, add `props.className` back at the end so props always \"wins\"\n className: undefined,\n theme,\n };\n let attrDef;\n\n for (let i = 0; i < attrs.length; i += 1) {\n attrDef = attrs[i];\n const resolvedAttrDef = isFunction(attrDef) ? attrDef(context) : attrDef;\n\n for (const key in resolvedAttrDef) {\n context[key as keyof typeof context] =\n key === 'className'\n ? joinStrings(context[key] as string | undefined, resolvedAttrDef[key] as string)\n : key === 'style'\n ? { ...context[key], ...resolvedAttrDef[key] }\n : resolvedAttrDef[key as keyof typeof resolvedAttrDef];\n }\n }\n\n if (props.className) {\n context.className = joinStrings(context.className, props.className);\n }\n\n return context;\n}\n\nlet seenUnknownProps = new Set();\n\nfunction useStyledComponentImpl(\n forwardedComponent: IStyledComponent<'web', Props>,\n props: ExecutionProps & Props,\n forwardedRef: Ref\n) {\n const {\n attrs: componentAttrs,\n componentStyle,\n defaultProps,\n foldedComponentIds,\n styledComponentId,\n target,\n } = forwardedComponent;\n\n const contextTheme = React.useContext(ThemeContext);\n const ssc = useStyleSheetContext();\n const shouldForwardProp = forwardedComponent.shouldForwardProp || ssc.shouldForwardProp;\n\n if (process.env.NODE_ENV !== 'production') useDebugValue(styledComponentId);\n\n // NOTE: the non-hooks version only subscribes to this when !componentStyle.isStatic,\n // but that'd be against the rules-of-hooks. We could be naughty and do it anyway as it\n // should be an immutable value, but behave for now.\n const theme = determineTheme(props, contextTheme, defaultProps) || EMPTY_OBJECT;\n\n const context = resolveContext(componentAttrs, props, theme);\n const elementToBeCreated: WebTarget = context.as || target;\n const propsForElement: Dict = {};\n\n for (const key in context) {\n if (context[key] === undefined) {\n // Omit undefined values from props passed to wrapped element.\n // This enables using .attrs() to remove props, for example.\n } else if (key[0] === '$' || key === 'as' || (key === 'theme' && context.theme === theme)) {\n // Omit transient props and execution props.\n } else if (key === 'forwardedAs') {\n propsForElement.as = context.forwardedAs;\n } else if (!shouldForwardProp || shouldForwardProp(key, elementToBeCreated)) {\n propsForElement[key] = context[key];\n\n if (\n !shouldForwardProp &&\n process.env.NODE_ENV === 'development' &&\n !isPropValid(key) &&\n !seenUnknownProps.has(key) &&\n // Only warn on DOM Element.\n domElements.has(elementToBeCreated as any)\n ) {\n seenUnknownProps.add(key);\n console.warn(\n `styled-components: it looks like an unknown prop \"${key}\" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via \\`\\` (connect an API like \\`@emotion/is-prop-valid\\`) or consider using transient props (\\`$\\` prefix for automatic filtering.)`\n );\n }\n }\n }\n\n const generatedClassName = useInjectedStyle(componentStyle, context);\n\n if (process.env.NODE_ENV !== 'production' && forwardedComponent.warnTooManyClasses) {\n forwardedComponent.warnTooManyClasses(generatedClassName);\n }\n\n let classString = joinStrings(foldedComponentIds, styledComponentId);\n if (generatedClassName) {\n classString += ' ' + generatedClassName;\n }\n if (context.className) {\n classString += ' ' + context.className;\n }\n\n propsForElement[\n // handle custom elements which React doesn't properly alias\n isTag(elementToBeCreated) &&\n !domElements.has(elementToBeCreated as Extract)\n ? 'class'\n : 'className'\n ] = classString;\n\n propsForElement.ref = forwardedRef;\n\n return createElement(elementToBeCreated, propsForElement);\n}\n\nfunction createStyledComponent<\n Target extends WebTarget,\n OuterProps extends object,\n Statics extends object = BaseObject,\n>(\n target: Target,\n options: StyledOptions<'web', OuterProps>,\n rules: RuleSet\n): ReturnType> {\n const isTargetStyledComp = isStyledComponent(target);\n const styledComponentTarget = target as IStyledComponent<'web', OuterProps>;\n const isCompositeComponent = !isTag(target);\n\n const {\n attrs = EMPTY_ARRAY,\n componentId = generateId(options.displayName, options.parentComponentId),\n displayName = generateDisplayName(target),\n } = options;\n\n const styledComponentId =\n options.displayName && options.componentId\n ? `${escape(options.displayName)}-${options.componentId}`\n : options.componentId || componentId;\n\n // fold the underlying StyledComponent attrs up (implicit extend)\n const finalAttrs =\n isTargetStyledComp && styledComponentTarget.attrs\n ? styledComponentTarget.attrs.concat(attrs as unknown as Attrs[]).filter(Boolean)\n : (attrs as Attrs[]);\n\n let { shouldForwardProp } = options;\n\n if (isTargetStyledComp && styledComponentTarget.shouldForwardProp) {\n const shouldForwardPropFn = styledComponentTarget.shouldForwardProp;\n\n if (options.shouldForwardProp) {\n const passedShouldForwardPropFn = options.shouldForwardProp;\n\n // compose nested shouldForwardProp calls\n shouldForwardProp = (prop, elementToBeCreated) =>\n shouldForwardPropFn(prop, elementToBeCreated) &&\n passedShouldForwardPropFn(prop, elementToBeCreated);\n } else {\n shouldForwardProp = shouldForwardPropFn;\n }\n }\n\n const componentStyle = new ComponentStyle(\n rules,\n styledComponentId,\n isTargetStyledComp ? (styledComponentTarget.componentStyle as ComponentStyle) : undefined\n );\n\n function forwardRefRender(props: ExecutionProps & OuterProps, ref: Ref) {\n return useStyledComponentImpl(WrappedStyledComponent, props, ref);\n }\n\n forwardRefRender.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(forwardRefRender) as unknown as IStyledComponent<\n 'web',\n any\n > &\n Statics;\n WrappedStyledComponent.attrs = finalAttrs;\n WrappedStyledComponent.componentStyle = componentStyle;\n WrappedStyledComponent.displayName = displayName;\n WrappedStyledComponent.shouldForwardProp = shouldForwardProp;\n\n // this static is used to preserve the cascade of static classes for component selector\n // purposes; this is especially important with usage of the css prop\n WrappedStyledComponent.foldedComponentIds = isTargetStyledComp\n ? joinStrings(styledComponentTarget.foldedComponentIds, styledComponentTarget.styledComponentId)\n : '';\n\n WrappedStyledComponent.styledComponentId = styledComponentId;\n\n // fold the underlying StyledComponent target up since we folded the styles\n WrappedStyledComponent.target = isTargetStyledComp ? styledComponentTarget.target : target;\n\n Object.defineProperty(WrappedStyledComponent, 'defaultProps', {\n get() {\n return this._foldedDefaultProps;\n },\n\n set(obj) {\n this._foldedDefaultProps = isTargetStyledComp\n ? merge({}, styledComponentTarget.defaultProps, obj)\n : obj;\n },\n });\n\n if (process.env.NODE_ENV !== 'production') {\n checkDynamicCreation(displayName, styledComponentId);\n\n WrappedStyledComponent.warnTooManyClasses = createWarnTooManyClasses(\n displayName,\n styledComponentId\n );\n }\n\n setToString(WrappedStyledComponent, () => `.${WrappedStyledComponent.styledComponentId}`);\n\n if (isCompositeComponent) {\n const compositeComponentTarget = target as AnyComponent;\n\n hoist(\n WrappedStyledComponent,\n compositeComponentTarget,\n {\n // all SC-specific things should not be hoisted\n attrs: true,\n componentStyle: true,\n displayName: true,\n foldedComponentIds: true,\n shouldForwardProp: true,\n styledComponentId: true,\n target: true,\n } as { [key in keyof OmitNever>]: true }\n );\n }\n\n return WrappedStyledComponent;\n}\n\nexport default createStyledComponent;\n","import { StyledTarget } from '../types';\nimport getComponentName from './getComponentName';\nimport isTag from './isTag';\n\nexport default function generateDisplayName(target: StyledTarget) {\n return isTag(target) ? `styled.${target}` : `Styled(${getComponentName(target)})`;\n}\n","import { Interpolation } from '../types';\n\nexport default function interleave(\n strings: readonly string[],\n interpolations: Interpolation[]\n): Interpolation[] {\n const result: Interpolation[] = [strings[0]];\n\n for (let i = 0, len = interpolations.length; i < len; i += 1) {\n result.push(interpolations[i], strings[i + 1]);\n }\n\n return result;\n}\n","import {\n BaseObject,\n Interpolation,\n NoInfer,\n RuleSet,\n StyledObject,\n StyleFunction,\n Styles,\n} from '../types';\nimport { EMPTY_ARRAY } from '../utils/empties';\nimport flatten from '../utils/flatten';\nimport interleave from '../utils/interleave';\nimport isFunction from '../utils/isFunction';\nimport isPlainObject from '../utils/isPlainObject';\n\n/**\n * Used when flattening object styles to determine if we should\n * expand an array of styles.\n */\nconst addTag = >(arg: T): T & { isCss: true } =>\n Object.assign(arg, { isCss: true } as const);\n\nfunction css(styles: Styles, ...interpolations: Interpolation[]): RuleSet;\nfunction css(\n styles: Styles>,\n ...interpolations: Interpolation>[]\n): RuleSet>;\nfunction css(\n styles: Styles>,\n ...interpolations: Interpolation>[]\n): RuleSet> {\n if (isFunction(styles) || isPlainObject(styles)) {\n const styleFunctionOrObject = styles as StyleFunction | StyledObject;\n\n return addTag(\n flatten(\n interleave(EMPTY_ARRAY, [\n styleFunctionOrObject,\n ...interpolations,\n ]) as Interpolation\n )\n );\n }\n\n const styleStringArray = styles as TemplateStringsArray;\n\n if (\n interpolations.length === 0 &&\n styleStringArray.length === 1 &&\n typeof styleStringArray[0] === 'string'\n ) {\n return flatten(styleStringArray);\n }\n\n return addTag(\n flatten(interleave(styleStringArray, interpolations) as Interpolation)\n );\n}\n\nexport default css;\n","import {\n Attrs,\n BaseObject,\n ExecutionProps,\n Interpolation,\n IStyledComponent,\n IStyledComponentFactory,\n KnownTarget,\n NoInfer,\n Runtime,\n StyledOptions,\n StyledTarget,\n Styles,\n Substitute,\n} from '../types';\nimport { EMPTY_OBJECT } from '../utils/empties';\nimport styledError from '../utils/error';\nimport css from './css';\n\ntype AttrsResult> = T extends (...args: any) => infer P\n ? P extends object\n ? P\n : never\n : T extends object\n ? T\n : never;\n\n/**\n * Based on Attrs being a simple object or function that returns\n * a prop object, inspect the attrs result and attempt to extract\n * any \"as\" prop usage to modify the runtime target.\n */\ntype AttrsTarget<\n R extends Runtime,\n T extends Attrs,\n FallbackTarget extends StyledTarget,\n Result extends ExecutionProps = AttrsResult,\n> = Result extends { as: infer RuntimeTarget }\n ? RuntimeTarget extends KnownTarget\n ? RuntimeTarget\n : FallbackTarget\n : FallbackTarget;\n\nexport interface Styled<\n R extends Runtime,\n Target extends StyledTarget,\n OuterProps extends object,\n OuterStatics extends object = BaseObject,\n> {\n (\n initialStyles: Styles>>,\n ...interpolations: Interpolation>>[]\n ): IStyledComponent> &\n OuterStatics &\n Statics &\n (R extends 'web'\n ? Target extends string\n ? {}\n : Omit>\n : {});\n\n attrs: <\n Props extends object = BaseObject,\n PrivateMergedProps extends object = Substitute,\n PrivateAttrsArg extends Attrs = Attrs,\n PrivateResolvedTarget extends StyledTarget = AttrsTarget,\n >(\n attrs: PrivateAttrsArg\n ) => Styled<\n R,\n PrivateResolvedTarget,\n PrivateResolvedTarget extends KnownTarget\n ? Substitute<\n Substitute>,\n Props\n >\n : PrivateMergedProps,\n OuterStatics\n >;\n\n withConfig: (config: StyledOptions) => Styled;\n}\n\nexport default function constructWithOptions<\n R extends Runtime,\n Target extends StyledTarget,\n OuterProps extends object = Target extends KnownTarget\n ? React.ComponentPropsWithRef\n : BaseObject,\n OuterStatics extends object = BaseObject,\n>(\n componentConstructor: IStyledComponentFactory, object, any>,\n tag: StyledTarget,\n options: StyledOptions = EMPTY_OBJECT\n): Styled {\n /**\n * We trust that the tag is a valid component as long as it isn't\n * falsish. Typically the tag here is a string or function (i.e.\n * class or pure function component), however a component may also be\n * an object if it uses another utility, e.g. React.memo. React will\n * output an appropriate warning however if the `tag` isn't valid.\n */\n if (!tag) {\n throw styledError(1, tag);\n }\n\n /* This is callable directly as a template function */\n const templateFunction = (\n initialStyles: Styles>,\n ...interpolations: Interpolation>[]\n ) =>\n componentConstructor, Statics>(\n tag,\n options as StyledOptions>,\n css>(initialStyles, ...interpolations)\n );\n\n /**\n * Attrs allows for accomplishing two goals:\n *\n * 1. Backfilling props at runtime more expressively than defaultProps\n * 2. Amending the prop interface of a wrapped styled component\n */\n templateFunction.attrs = <\n Props extends object = BaseObject,\n PrivateMergedProps extends object = Substitute,\n PrivateAttrsArg extends Attrs = Attrs,\n PrivateResolvedTarget extends StyledTarget = AttrsTarget,\n >(\n attrs: PrivateAttrsArg\n ) =>\n constructWithOptions<\n R,\n PrivateResolvedTarget,\n PrivateResolvedTarget extends KnownTarget\n ? Substitute<\n Substitute>,\n Props\n >\n : PrivateMergedProps,\n OuterStatics\n >(componentConstructor, tag, {\n ...options,\n attrs: Array.prototype.concat(options.attrs, attrs).filter(Boolean),\n });\n\n /**\n * If config methods are called, wrap up a new template function\n * and merge options.\n */\n templateFunction.withConfig = (config: StyledOptions) =>\n constructWithOptions(componentConstructor, tag, {\n ...options,\n ...config,\n });\n\n return templateFunction;\n}\n","import { ComponentPropsWithRef } from 'react';\nimport createStyledComponent from '../models/StyledComponent';\nimport { BaseObject, KnownTarget, WebTarget } from '../types';\nimport domElements, { SupportedHTMLElements } from '../utils/domElements';\nimport constructWithOptions, { Styled as StyledInstance } from './constructWithOptions';\n\nconst baseStyled = (\n tag: Target\n) =>\n constructWithOptions<\n 'web',\n Target,\n Target extends KnownTarget ? ComponentPropsWithRef & InjectedProps : InjectedProps\n >(createStyledComponent, tag);\n\nconst styled = baseStyled as typeof baseStyled & {\n [E in SupportedHTMLElements]: StyledInstance<'web', E, JSX.IntrinsicElements[E]>;\n};\n\n// Shorthands for all valid HTML Elements\ndomElements.forEach(domElement => {\n // @ts-expect-error some react typing bs\n styled[domElement] = baseStyled(domElement);\n});\n\nexport default styled;\nexport { StyledInstance };\n\n/**\n * This is the type of the `styled` HOC.\n */\nexport type Styled = typeof styled;\n\n/**\n * Use this higher-order type for scenarios where you are wrapping `styled`\n * and providing extra props as a third-party library.\n */\nexport type LibraryStyled = (\n tag: Target\n) => typeof baseStyled;\n","import StyleSheet from '../sheet';\nimport { ExecutionContext, RuleSet, Stringifier } from '../types';\nimport flatten from '../utils/flatten';\nimport isStaticRules from '../utils/isStaticRules';\nimport { joinStringArray } from '../utils/joinStrings';\n\nexport default class GlobalStyle {\n componentId: string;\n isStatic: boolean;\n rules: RuleSet;\n\n constructor(rules: RuleSet, componentId: string) {\n this.rules = rules;\n this.componentId = componentId;\n this.isStatic = isStaticRules(rules);\n\n // pre-register the first instance to ensure global styles\n // load before component ones\n StyleSheet.registerId(this.componentId + 1);\n }\n\n createStyles(\n instance: number,\n executionContext: ExecutionContext & Props,\n styleSheet: StyleSheet,\n stylis: Stringifier\n ): void {\n const flatCSS = joinStringArray(\n flatten(this.rules as RuleSet, executionContext, styleSheet, stylis) as string[]\n );\n const css = stylis(flatCSS, '');\n const id = this.componentId + instance;\n\n // NOTE: We use the id as a name as well, since these rules never change\n styleSheet.insertRules(id, id, css);\n }\n\n removeStyles(instance: number, styleSheet: StyleSheet): void {\n styleSheet.clearRules(this.componentId + instance);\n }\n\n renderStyles(\n instance: number,\n executionContext: ExecutionContext & Props,\n styleSheet: StyleSheet,\n stylis: Stringifier\n ): void {\n if (instance > 2) StyleSheet.registerId(this.componentId + instance);\n\n // NOTE: Remove old styles, then inject the new ones\n this.removeStyles(instance, styleSheet);\n this.createStyles(instance, executionContext, styleSheet, stylis);\n }\n}\n","import React from 'react';\nimport type * as streamInternal from 'stream';\nimport { Readable } from 'stream';\nimport { IS_BROWSER, SC_ATTR, SC_ATTR_VERSION, SC_VERSION } from '../constants';\nimport StyleSheet from '../sheet';\nimport styledError from '../utils/error';\nimport { joinStringArray } from '../utils/joinStrings';\nimport getNonce from '../utils/nonce';\nimport { StyleSheetManager } from './StyleSheetManager';\n\ndeclare const __SERVER__: boolean;\n\nconst CLOSING_TAG_R = /^\\s*<\\/[a-z]/i;\n\nexport default class ServerStyleSheet {\n instance: StyleSheet;\n sealed: boolean;\n\n constructor() {\n this.instance = new StyleSheet({ isServer: true });\n this.sealed = false;\n }\n\n _emitSheetCSS = (): string => {\n const css = this.instance.toString();\n const nonce = getNonce();\n const attrs = [\n nonce && `nonce=\"${nonce}\"`,\n `${SC_ATTR}=\"true\"`,\n `${SC_ATTR_VERSION}=\"${SC_VERSION}\"`,\n ];\n const htmlAttr = joinStringArray(attrs.filter(Boolean) as string[], ' ');\n\n return ``;\n };\n\n collectStyles(children: any): JSX.Element {\n if (this.sealed) {\n throw styledError(2);\n }\n\n return {children};\n }\n\n getStyleTags = (): string => {\n if (this.sealed) {\n throw styledError(2);\n }\n\n return this._emitSheetCSS();\n };\n\n getStyleElement = () => {\n if (this.sealed) {\n throw styledError(2);\n }\n\n const props = {\n [SC_ATTR]: '',\n [SC_ATTR_VERSION]: SC_VERSION,\n dangerouslySetInnerHTML: {\n __html: this.instance.toString(),\n },\n };\n\n const nonce = getNonce();\n if (nonce) {\n (props as any).nonce = nonce;\n }\n\n // v4 returned an array for this fn, so we'll do the same for v5 for backward compat\n return [