@redsift/popovers 7.7.0 → 7.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/dialog/context.ts","../src/components/dialog/types.ts","../../design-system/src/utils/isComponent.ts","../../design-system/src/utils/partitionComponents.ts","../../design-system/src/utils/warnIfNoAccessibleLabelFound.ts","../../../node_modules/@react-aria/ssr/dist/module.js","../../../node_modules/@internationalized/string/dist/module.js","../../../node_modules/@react-aria/i18n/dist/real-module.js","../src/components/dialog-content/intl/index.ts","../../design-system/src/components/icon-button/types.ts","../../design-system/src/types/colors.ts","../../design-system/src/components/icon/types.ts","../../design-system/src/components/shared/styles.ts","../../design-system/src/components/icon/styles.ts","../../design-system/src/components/icon/Icon.tsx","../../design-system/src/components/button/types.ts","../../design-system/src/components/button/styles.ts","../../design-system/src/components/spinner/intl/index.ts","../../design-system/src/components/spinner/types.ts","../../design-system/src/components/spinner/styles.ts","../../design-system/src/components/app-container/context.ts","../../design-system/src/components/spinner/Spinner.tsx","../../design-system/src/components/icon-button/styles.ts","../../design-system/src/components/icon-button/IconButton.tsx","../src/components/dialog-content/styles.ts","../src/components/dialog-content-actions/styles.ts","../src/components/dialog-content-actions/DialogContentActions.tsx","../src/components/dialog-content-body/styles.ts","../../design-system/src/hooks/useBoundingRect.ts","../src/components/dialog-content-body/DialogContentBody.tsx","../../design-system/src/components/heading/styles.ts","../../design-system/src/components/heading/Heading.tsx","../src/components/dialog-content-header/styles.ts","../src/components/dialog-content-header/DialogContentHeader.tsx","../src/components/dialog-content/DialogContent.tsx","../src/components/dialog-trigger/DialogTrigger.tsx","../src/components/dialog/useDialog.tsx","../src/components/dialog/Dialog.tsx","../src/components/dialog/useDialogContext.tsx","../src/components/popover/context.ts","../src/components/popover/types.ts","../src/components/popover-content/styles.ts","../src/components/popover-content/PopoverContent.tsx","../src/components/popover-trigger/PopoverTrigger.tsx","../src/components/popover/usePopover.tsx","../src/components/popover/Popover.tsx","../src/components/popover/usePopoverContext.tsx","../src/components/toast/types.ts","../src/components/toast/intl/index.ts","../src/components/toast/styles.ts","../../design-system/src/components/flexbox/styles.ts","../../design-system/src/components/flexbox/Flexbox.tsx","../src/components/toast/Toast.tsx","../src/components/toast-container/styles.ts","../src/components/toast-container/ToastContainer.tsx","../src/components/toast-container/useToast.tsx","../src/components/tooltip/context.ts","../src/components/tooltip/types.ts","../src/components/tooltip-content/styles.ts","../src/components/tooltip-content/TooltipContent.tsx","../src/components/tooltip-trigger/TooltipTrigger.tsx","../src/components/tooltip/useTooltip.tsx","../src/components/tooltip/Tooltip.tsx","../src/components/tooltip/useTooltipContext.tsx"],"sourcesContent":["import React from 'react';\nimport { DialogState } from './types';\n\nexport const DialogContext = React.createContext<DialogState | null>(null);\n","import { Dispatch, ReactNode, SetStateAction } from 'react';\nimport { ValueOf } from '~/types';\nimport { useDialog } from './useDialog';\n\n/**\n * Context props.\n */\nexport type DialogState =\n | (ReturnType<typeof useDialog> & {\n setLabelId: Dispatch<SetStateAction<string | undefined>>;\n setDescriptionId: Dispatch<SetStateAction<string | undefined>>;\n })\n | null;\n\n/**\n * Component variant.\n */\nexport const DialogSize = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n} as const;\nexport type DialogSize = ValueOf<typeof DialogSize>;\n\n/**\n * Component props.\n */\nexport interface DialogProps {\n /** Children. Can only be DialogTrigger and DialogContent. */\n children: ReactNode;\n /**\n * Default open status.\n * Used for uncontrolled version.\n */\n defaultOpen?: boolean;\n /** Whether the Close icon button is displayed or not. */\n hasCloseButton?: boolean;\n /** Which element to initially focus. Can be either a number (tabbable index), a ref to en element, or a shortcut pointing towards a section of the dialog. See the accessibility section in the documentation to know which one to use. */\n initialFocus?:\n | number\n | React.MutableRefObject<HTMLElement | null>\n | 'header'\n | 'body'\n | 'actions';\n /**\n * Whether the component is opened or not.\n * Used for controlled version.\n */\n isOpen?: boolean;\n /** Method to handle component change. */\n onOpen?: (open: boolean) => void;\n /** Dialog size. */\n size?: DialogSize;\n}\n\nexport type StyledDialogProps = DialogProps;\n","import React, { ReactNode, ReactElement } from 'react';\nimport { Comp } from '~/types';\n\n/**\n * Create a predicate function that checks if a ReactNode is a react element from the given component.\n *\n * @param component React function component or the component name\n * @return predicate returning true if value is instance of the component\n */\nexport const isComponent =\n <C>(component: Comp<C, any> | string) =>\n (instance: ReactNode): instance is ReactElement => {\n const componentName =\n typeof component === 'string' ? component : component.displayName;\n\n return (\n React.isValidElement(instance) &&\n (instance.type as Comp<any>).displayName === componentName\n );\n };\n","/**\n * Return components based on list of predicates.\n *\n * @param components Array of components\n * @param predicates Array of predicates\n * @return an array of arrays of components based on the given array of predicates\n */\nexport function partitionComponents<T>(\n components: T[],\n predicates: Array<(t: T) => boolean>\n): T[][] {\n const elements: T[][] = [...predicates.map(() => []), []];\n components.forEach((component) => {\n let found = false;\n predicates.forEach((predicate, index) => {\n if (predicate(component)) {\n elements[index].push(component);\n found = true;\n }\n });\n if (!found) {\n elements[elements.length - 1].push(component);\n }\n });\n return elements;\n}\n","import { ComponentProps, DependencyList } from 'react';\n\n/**\n * Display a warning if no label was found for screen readers and assistive technologies.\n *\n * @param props Component props containing the aria-label and aria-labelledby params to check for.\n * @param additionalKeysToCheck Additional props to check that can act as a label for screen readers (i.e. children).\n */\nexport const warnIfNoAccessibleLabelFound = (\n props: ComponentProps<keyof JSX.IntrinsicElements>,\n additionalKeysToCheck?: DependencyList\n): void => {\n const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby } = props;\n\n const hasText =\n additionalKeysToCheck &&\n additionalKeysToCheck.filter((key) => !!key).length > 0;\n const hasAriaLabel = Boolean(ariaLabel || ariaLabelledby);\n\n if (!hasAriaLabel && !hasText) {\n console.warn('You must provide a label for accessibility');\n }\n};\n","import $89yE2$react, {useContext as $89yE2$useContext, useMemo as $89yE2$useMemo, useState as $89yE2$useState, useLayoutEffect as $89yE2$useLayoutEffect} from \"react\";\n\n/*\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 * 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 */ // 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\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 $704cf1d3b684cc5c$var$defaultContext = {\n prefix: String(Math.round(Math.random() * 10000000000)),\n current: 0\n};\nconst $704cf1d3b684cc5c$var$SSRContext = /*#__PURE__*/ (0, $89yE2$react).createContext($704cf1d3b684cc5c$var$defaultContext);\nfunction $704cf1d3b684cc5c$export$9f8ac96af4b1b2ae(props) {\n let cur = (0, $89yE2$useContext)($704cf1d3b684cc5c$var$SSRContext);\n let value = (0, $89yE2$useMemo)(()=>({\n // If this is the first SSRProvider, start with an empty string prefix, otherwise\n // append and increment the counter.\n prefix: cur === $704cf1d3b684cc5c$var$defaultContext ? \"\" : `${cur.prefix}-${++cur.current}`,\n current: 0\n }), [\n cur\n ]);\n return /*#__PURE__*/ (0, $89yE2$react).createElement($704cf1d3b684cc5c$var$SSRContext.Provider, {\n value: value\n }, props.children);\n}\nlet $704cf1d3b684cc5c$var$canUseDOM = Boolean(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction $704cf1d3b684cc5c$export$619500959fc48b26(defaultId) {\n let ctx = (0, $89yE2$useContext)($704cf1d3b684cc5c$var$SSRContext);\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 === $704cf1d3b684cc5c$var$defaultContext && !$704cf1d3b684cc5c$var$canUseDOM) console.warn(\"When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.\");\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return (0, $89yE2$useMemo)(()=>defaultId || `react-aria${ctx.prefix}-${++ctx.current}`, [\n defaultId\n ]);\n}\nfunction $704cf1d3b684cc5c$export$535bd6ca7f90a273() {\n let cur = (0, $89yE2$useContext)($704cf1d3b684cc5c$var$SSRContext);\n let isInSSRContext = cur !== $704cf1d3b684cc5c$var$defaultContext;\n let [isSSR, setIsSSR] = (0, $89yE2$useState)(isInSSRContext);\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 window !== \"undefined\" && isInSSRContext) // 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 (0, $89yE2$useLayoutEffect)(()=>{\n setIsSSR(false);\n }, []);\n return isSSR;\n}\n\n\n\n\nexport {$704cf1d3b684cc5c$export$9f8ac96af4b1b2ae as SSRProvider, $704cf1d3b684cc5c$export$619500959fc48b26 as useSSRSafeId, $704cf1d3b684cc5c$export$535bd6ca7f90a273 as useIsSSR};\n//# sourceMappingURL=module.js.map\n","/*\n * Copyright 2022 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 * Copyright 2022 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 */ class $5b160d28a433310d$export$c17fa47878dc55b6 {\n /** Returns a localized string for the given key and locale. */ getStringForLocale(key, locale) {\n let strings = this.strings[locale];\n if (!strings) {\n strings = $5b160d28a433310d$var$getStringsForLocale(locale, this.strings, this.defaultLocale);\n this.strings[locale] = strings;\n }\n let string = strings[key];\n if (!string) throw new Error(`Could not find intl message ${key} in ${locale} locale`);\n return string;\n }\n constructor(messages, defaultLocale = \"en-US\"){\n // Clone messages so we don't modify the original object.\n this.strings = {\n ...messages\n };\n this.defaultLocale = defaultLocale;\n }\n}\nfunction $5b160d28a433310d$var$getStringsForLocale(locale, strings, defaultLocale = \"en-US\") {\n // If there is an exact match, use it.\n if (strings[locale]) return strings[locale];\n // Attempt to find the closest match by language.\n // For example, if the locale is fr-CA (French Canadian), but there is only\n // an fr-FR (France) set of strings, use that.\n // This could be replaced with Intl.LocaleMatcher once it is supported.\n // https://github.com/tc39/proposal-intl-localematcher\n let language = $5b160d28a433310d$var$getLanguage(locale);\n if (strings[language]) return strings[language];\n for(let key in strings){\n if (key.startsWith(language + \"-\")) return strings[key];\n }\n // Nothing close, use english.\n return strings[defaultLocale];\n}\nfunction $5b160d28a433310d$var$getLanguage(locale) {\n // @ts-ignore\n if (Intl.Locale) // @ts-ignore\n return new Intl.Locale(locale).language;\n return locale.split(\"-\")[0];\n}\n\n\n/*\n * Copyright 2022 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 */ const $6db58dc88e78b024$var$pluralRulesCache = new Map();\nconst $6db58dc88e78b024$var$numberFormatCache = new Map();\nclass $6db58dc88e78b024$export$2f817fcdc4b89ae0 {\n /** Formats a localized string for the given key with the provided variables. */ format(key, variables) {\n let message = this.strings.getStringForLocale(key, this.locale);\n return typeof message === \"function\" ? message(variables, this) : message;\n }\n plural(count, options, type = \"cardinal\") {\n let opt = options[\"=\" + count];\n if (opt) return typeof opt === \"function\" ? opt() : opt;\n let key = this.locale + \":\" + type;\n let pluralRules = $6db58dc88e78b024$var$pluralRulesCache.get(key);\n if (!pluralRules) {\n pluralRules = new Intl.PluralRules(this.locale, {\n type: type\n });\n $6db58dc88e78b024$var$pluralRulesCache.set(key, pluralRules);\n }\n let selected = pluralRules.select(count);\n opt = options[selected] || options.other;\n return typeof opt === \"function\" ? opt() : opt;\n }\n number(value) {\n let numberFormat = $6db58dc88e78b024$var$numberFormatCache.get(this.locale);\n if (!numberFormat) {\n numberFormat = new Intl.NumberFormat(this.locale);\n $6db58dc88e78b024$var$numberFormatCache.set(this.locale, numberFormat);\n }\n return numberFormat.format(value);\n }\n select(options, value) {\n let opt = options[value] || options.other;\n return typeof opt === \"function\" ? opt() : opt;\n }\n constructor(locale, strings){\n this.locale = locale;\n this.strings = strings;\n }\n}\n\n\n\n\nexport {$5b160d28a433310d$export$c17fa47878dc55b6 as LocalizedStringDictionary, $6db58dc88e78b024$export$2f817fcdc4b89ae0 as LocalizedStringFormatter};\n//# sourceMappingURL=module.js.map\n","import $iFADg$react, {useContext as $iFADg$useContext, useState as $iFADg$useState, useEffect as $iFADg$useEffect, useMemo as $iFADg$useMemo, useRef as $iFADg$useRef} from \"react\";\nimport {useIsSSR as $iFADg$useIsSSR} from \"@react-aria/ssr\";\nimport {LocalizedStringDictionary as $iFADg$LocalizedStringDictionary, LocalizedStringFormatter as $iFADg$LocalizedStringFormatter} from \"@internationalized/string\";\nimport {DateFormatter as $iFADg$DateFormatter} from \"@internationalized/date\";\nimport {NumberFormatter as $iFADg$NumberFormatter} from \"@internationalized/number\";\n\n/*\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 * 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 * 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 */ // https://en.wikipedia.org/wiki/Right-to-left\nconst $148a7a147e38ea7f$var$RTL_SCRIPTS = new Set([\n \"Arab\",\n \"Syrc\",\n \"Samr\",\n \"Mand\",\n \"Thaa\",\n \"Mend\",\n \"Nkoo\",\n \"Adlm\",\n \"Rohg\",\n \"Hebr\"\n]);\nconst $148a7a147e38ea7f$var$RTL_LANGS = new Set([\n \"ae\",\n \"ar\",\n \"arc\",\n \"bcc\",\n \"bqi\",\n \"ckb\",\n \"dv\",\n \"fa\",\n \"glk\",\n \"he\",\n \"ku\",\n \"mzn\",\n \"nqo\",\n \"pnb\",\n \"ps\",\n \"sd\",\n \"ug\",\n \"ur\",\n \"yi\"\n]);\nfunction $148a7a147e38ea7f$export$702d680b21cbd764(locale) {\n // If the Intl.Locale API is available, use it to get the script for the locale.\n // This is more accurate than guessing by language, since languages can be written in multiple scripts.\n // @ts-ignore\n if (Intl.Locale) {\n // @ts-ignore\n let script = new Intl.Locale(locale).maximize().script;\n return $148a7a147e38ea7f$var$RTL_SCRIPTS.has(script);\n }\n // If not, just guess by the language (first part of the locale)\n let lang = locale.split(\"-\")[0];\n return $148a7a147e38ea7f$var$RTL_LANGS.has(lang);\n}\n\n\n/*\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\nfunction $1e5a04cdaf7d1af8$export$f09106e7c6677ec5() {\n // @ts-ignore\n let locale = typeof navigator !== \"undefined\" && (navigator.language || navigator.userLanguage) || \"en-US\";\n try {\n // @ts-ignore\n Intl.DateTimeFormat.supportedLocalesOf([\n locale\n ]);\n } catch (_err) {\n locale = \"en-US\";\n }\n return {\n locale: locale,\n direction: (0, $148a7a147e38ea7f$export$702d680b21cbd764)(locale) ? \"rtl\" : \"ltr\"\n };\n}\nlet $1e5a04cdaf7d1af8$var$currentLocale = $1e5a04cdaf7d1af8$export$f09106e7c6677ec5();\nlet $1e5a04cdaf7d1af8$var$listeners = new Set();\nfunction $1e5a04cdaf7d1af8$var$updateLocale() {\n $1e5a04cdaf7d1af8$var$currentLocale = $1e5a04cdaf7d1af8$export$f09106e7c6677ec5();\n for (let listener of $1e5a04cdaf7d1af8$var$listeners)listener($1e5a04cdaf7d1af8$var$currentLocale);\n}\nfunction $1e5a04cdaf7d1af8$export$188ec29ebc2bdc3a() {\n let isSSR = (0, $iFADg$useIsSSR)();\n let [defaultLocale, setDefaultLocale] = (0, $iFADg$useState)($1e5a04cdaf7d1af8$var$currentLocale);\n (0, $iFADg$useEffect)(()=>{\n if ($1e5a04cdaf7d1af8$var$listeners.size === 0) window.addEventListener(\"languagechange\", $1e5a04cdaf7d1af8$var$updateLocale);\n $1e5a04cdaf7d1af8$var$listeners.add(setDefaultLocale);\n return ()=>{\n $1e5a04cdaf7d1af8$var$listeners.delete(setDefaultLocale);\n if ($1e5a04cdaf7d1af8$var$listeners.size === 0) window.removeEventListener(\"languagechange\", $1e5a04cdaf7d1af8$var$updateLocale);\n };\n }, []);\n // We cannot determine the browser's language on the server, so default to\n // en-US. This will be updated after hydration on the client to the correct value.\n if (isSSR) return {\n locale: \"en-US\",\n direction: \"ltr\"\n };\n return defaultLocale;\n}\n\n\n\nconst $18f2051aff69b9bf$var$I18nContext = /*#__PURE__*/ (0, $iFADg$react).createContext(null);\nfunction $18f2051aff69b9bf$export$a54013f0d02a8f82(props) {\n let { locale: locale , children: children } = props;\n let defaultLocale = (0, $1e5a04cdaf7d1af8$export$188ec29ebc2bdc3a)();\n let value = locale ? {\n locale: locale,\n direction: (0, $148a7a147e38ea7f$export$702d680b21cbd764)(locale) ? \"rtl\" : \"ltr\"\n } : defaultLocale;\n return /*#__PURE__*/ (0, $iFADg$react).createElement($18f2051aff69b9bf$var$I18nContext.Provider, {\n value: value\n }, children);\n}\nfunction $18f2051aff69b9bf$export$43bb16f9c6d9e3f7() {\n let defaultLocale = (0, $1e5a04cdaf7d1af8$export$188ec29ebc2bdc3a)();\n let context = (0, $iFADg$useContext)($18f2051aff69b9bf$var$I18nContext);\n return context || defaultLocale;\n}\n\n\nvar $2aa2084a6c2b6b4f$exports = {};\n\"use strict\";\n\n\n/*\n * Copyright 2022 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\nconst $fca6afa0e843324b$var$cache = new WeakMap();\nfunction $fca6afa0e843324b$var$getCachedDictionary(strings) {\n let dictionary = $fca6afa0e843324b$var$cache.get(strings);\n if (!dictionary) {\n dictionary = new (0, $iFADg$LocalizedStringDictionary)(strings);\n $fca6afa0e843324b$var$cache.set(strings, dictionary);\n }\n return dictionary;\n}\nfunction $fca6afa0e843324b$export$f12b703ca79dfbb1(strings) {\n let { locale: locale } = (0, $18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();\n let dictionary = (0, $iFADg$useMemo)(()=>$fca6afa0e843324b$var$getCachedDictionary(strings), [\n strings\n ]);\n return (0, $iFADg$useMemo)(()=>new (0, $iFADg$LocalizedStringFormatter)(locale, dictionary), [\n locale,\n dictionary\n ]);\n}\n\n\n/*\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\nfunction $33bf17300c498528$export$a2f47a3d2973640(options = {}) {\n let { locale: locale } = (0, $18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();\n // @ts-ignore\n return (0, $iFADg$useMemo)(()=>new Intl.ListFormat(locale, options), [\n locale,\n options\n ]);\n}\n\n\n/*\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\nfunction $896ba0a80a8f4d36$export$85fd5fdf27bacc79(options) {\n // Reuse last options object if it is shallowly equal, which allows the useMemo result to also be reused.\n let lastOptions = (0, $iFADg$useRef)(null);\n if (options && lastOptions.current && $896ba0a80a8f4d36$var$isEqual(options, lastOptions.current)) options = lastOptions.current;\n lastOptions.current = options;\n let { locale: locale } = (0, $18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();\n return (0, $iFADg$useMemo)(()=>new (0, $iFADg$DateFormatter)(locale, options), [\n locale,\n options\n ]);\n}\nfunction $896ba0a80a8f4d36$var$isEqual(a, b) {\n if (a === b) return true;\n let aKeys = Object.keys(a);\n let bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) return false;\n for (let key of aKeys){\n if (b[key] !== a[key]) return false;\n }\n return true;\n}\n\n\n/*\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\nfunction $a916eb452884faea$export$b7a616150fdb9f44(options = {}) {\n let { locale: locale } = (0, $18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();\n return (0, $iFADg$useMemo)(()=>new (0, $iFADg$NumberFormatter)(locale, options), [\n locale,\n options\n ]);\n}\n\n\n/*\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 */ \nlet $325a3faab7a68acd$var$cache = new Map();\nfunction $325a3faab7a68acd$export$a16aca283550c30d(options) {\n let { locale: locale } = (0, $18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();\n let cacheKey = locale + (options ? Object.entries(options).sort((a, b)=>a[0] < b[0] ? -1 : 1).join() : \"\");\n if ($325a3faab7a68acd$var$cache.has(cacheKey)) return $325a3faab7a68acd$var$cache.get(cacheKey);\n let formatter = new Intl.Collator(locale, options);\n $325a3faab7a68acd$var$cache.set(cacheKey, formatter);\n return formatter;\n}\n\n\n/*\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 */ \nfunction $bb77f239b46e8c72$export$3274cf84b703fff(options) {\n let collator = (0, $325a3faab7a68acd$export$a16aca283550c30d)({\n usage: \"search\",\n ...options\n });\n // TODO(later): these methods don't currently support the ignorePunctuation option.\n return {\n startsWith (string, substring) {\n if (substring.length === 0) return true;\n // Normalize both strings so we can slice safely\n // TODO: take into account the ignorePunctuation option as well...\n string = string.normalize(\"NFC\");\n substring = substring.normalize(\"NFC\");\n return collator.compare(string.slice(0, substring.length), substring) === 0;\n },\n endsWith (string, substring) {\n if (substring.length === 0) return true;\n string = string.normalize(\"NFC\");\n substring = substring.normalize(\"NFC\");\n return collator.compare(string.slice(-substring.length), substring) === 0;\n },\n contains (string, substring) {\n if (substring.length === 0) return true;\n string = string.normalize(\"NFC\");\n substring = substring.normalize(\"NFC\");\n let scan = 0;\n let sliceLen = substring.length;\n for(; scan + sliceLen <= string.length; scan++){\n let slice = string.slice(scan, scan + sliceLen);\n if (collator.compare(substring, slice) === 0) return true;\n }\n return false;\n }\n };\n}\n\n\n\n\nexport {$18f2051aff69b9bf$export$a54013f0d02a8f82 as I18nProvider, $18f2051aff69b9bf$export$43bb16f9c6d9e3f7 as useLocale, $fca6afa0e843324b$export$f12b703ca79dfbb1 as useLocalizedStringFormatter, $33bf17300c498528$export$a2f47a3d2973640 as useListFormatter, $896ba0a80a8f4d36$export$85fd5fdf27bacc79 as useDateFormatter, $a916eb452884faea$export$b7a616150fdb9f44 as useNumberFormatter, $325a3faab7a68acd$export$a16aca283550c30d as useCollator, $bb77f239b46e8c72$export$3274cf84b703fff as useFilter};\n//# sourceMappingURL=real-module.js.map\n","import enUS from './en-US.json';\nimport frFR from './fr-FR.json';\n\nexport default {\n 'en-US': enUS,\n 'fr-FR': frFR,\n};\n","import { ComponentProps } from 'react';\nimport { PressEvent } from '@react-types/shared';\nimport {\n ColorPalette,\n ProductColorPalette,\n StylingProps,\n ValueOf,\n} from '~/types';\n\n/**\n * Component variant.\n */\nexport const IconButtonVariant = {\n primary: 'primary',\n secondary: 'secondary',\n unstyled: 'unstyled',\n} as const;\nexport type IconButtonVariant = ValueOf<typeof IconButtonVariant>;\n\n/**\n * Component color.\n */\nexport type IconButtonColor = ColorPalette | ProductColorPalette;\n\n/**\n * Component props.\n */\nexport interface IconButtonProps\n extends ComponentProps<'button'>,\n StylingProps {\n /** Color variant. */\n color?: IconButtonColor;\n /**\n * Icon path data (`d` property of the `path` SVG element).<br />\n * See <a href=\"https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths\">https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths</a>.<br />\n * Recommended path data come from mdi/js.<br />\n * See <a href=\"https://www.npmjs.com/package/@mdi/js\">https://www.npmjs.com/package/@mdi/js</a>.\n */\n icon: string;\n /** Whether the component is active or not. */\n isActive?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Preferred method to handle click, press and touch. */\n onPress?: (e: PressEvent) => void;\n /** Button variant. */\n variant?: IconButtonVariant;\n}\n\nexport type StyledIconButtonProps = Omit<\n IconButtonProps,\n 'isActive' | 'isDisabled' | 'variant' | 'color' | 'icon'\n> & {\n $color: IconButtonProps['color'];\n $isActive: IconButtonProps['isActive'];\n $isDisabled: IconButtonProps['isDisabled'];\n $variant: IconButtonProps['variant'];\n};\n","import { ValueOf } from './helpers';\n\n/**\n * Color palette.\n */\nexport const ColorPalette = {\n default: 'default',\n success: 'success',\n error: 'error',\n warning: 'warning',\n info: 'info',\n question: 'question',\n 'no-data': 'no-data',\n} as const;\nexport type ColorPalette = ValueOf<typeof ColorPalette>;\n\nexport const ProductColorPalette = {\n website: 'website',\n ondmarc: 'ondmarc',\n oninbox: 'oninbox',\n ondomain: 'ondomain',\n hardenize: 'hardenize',\n tools: 'tools',\n} as const;\nexport type ProductColorPalette = ValueOf<typeof ProductColorPalette>;\n\nexport const DataVizColorPalette = {\n purple: 'purple',\n blue: 'blue',\n green: 'green',\n red: 'red',\n pink: 'pink',\n cyan: 'cyan',\n orange: 'orange',\n yellow: 'yellow',\n brown: 'brown',\n grey: 'grey',\n} as const;\nexport type DataVizColorPalette = ValueOf<typeof DataVizColorPalette>;\n\nexport const NeutralColorPalette = {\n black: 'black',\n darkgrey: 'darkgrey',\n midgrey: 'midgrey',\n lightgrey: 'lightgrey',\n xlightgrey: 'xlightgrey',\n white: 'white',\n} as const;\nexport type NeutralColorPalette = ValueOf<typeof NeutralColorPalette>;\n","import { ComponentProps, ReactElement } from 'react';\nimport {\n ColorPalette,\n LayoutProps,\n PositioningProps,\n ProductColorPalette,\n SpacingProps,\n ValueOf,\n} from '~/types';\n\n/**\n * Component size.\n */\nexport const IconSize = {\n xsmall: 'xsmall',\n small: 'small',\n medium: 'medium',\n large: 'large',\n xlarge: 'xlarge',\n} as const;\nexport type IconSize = ValueOf<typeof IconSize>;\n\n/**\n * Component props.\n */\nexport interface IconProps\n extends ComponentProps<'span'>,\n LayoutProps,\n SpacingProps,\n PositioningProps {\n /** Indicates whether the element is exposed to an accessibility API. */\n 'aria-hidden'?: boolean | 'false' | 'true';\n /** A screen reader only label for the Icon. */\n 'aria-label'?: string;\n /** Color variant. Either from color palette or hex or rgb strings. */\n color?: ColorPalette | ProductColorPalette | string;\n /** Whether the icon has a badge attached to it. */\n badge?: ReactElement;\n /**\n * Icon path data (`d` property of the `path` SVG element).<br />\n * See <a href=\"https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths\">https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths</a>.<br />\n * Recommended path data come from mdi/js.<br />\n * See <a href=\"https://www.npmjs.com/package/@mdi/js\">https://www.npmjs.com/package/@mdi/js</a>.\n */\n icon: string;\n /** Icon size. */\n size?: IconSize;\n /** Additional properties to forward to the SVG tag. */\n svgProps?: ComponentProps<'svg'>;\n}\n\nexport type StyledIconProps = Omit<\n IconProps,\n 'color' | 'size' | 'icon' | 'svgProps'\n> & {\n $color: IconProps['color'];\n $size: IconProps['size'];\n};\n","import { css } from 'styled-components';\nimport {\n LayoutProps,\n SpacingProps,\n SizingProps,\n PositioningProps,\n FlexLayoutProps,\n GridLayoutProps,\n StylingProps,\n ContainerProps,\n InternalSpacingProps,\n} from '~/types';\n\nexport const baseLayout = css<LayoutProps>`\n ${({\n flex,\n flexGrow,\n flexShrink,\n flexBasis,\n alignSelf,\n justifySelf,\n order,\n gridArea,\n gridColumn,\n gridRow,\n gridColumnStart,\n gridColumnEnd,\n gridRowStart,\n gridRowEnd,\n }) =>\n css`\n ${flex ? `flex: ${flex};` : ''}\n ${flexGrow !== undefined ? `flex-grow: ${flexGrow};` : ''}\n ${flexShrink !== undefined ? `flex-shrink: ${flexShrink};` : ''}\n ${flexBasis ? `flex-basis: ${flexBasis};` : ''}\n ${alignSelf ? `align-self: ${alignSelf};` : ''}\n ${justifySelf ? `justify-self: ${justifySelf};` : ''}\n ${order !== undefined ? `order: ${order};` : ''}\n ${gridArea ? `grid-area: ${gridArea};` : ''}\n ${gridColumn ? `grid-column: ${gridColumn};` : ''}\n ${gridRow ? `grid-row: ${gridRow};` : ''}\n ${gridColumnStart ? `grid-column-start: ${gridColumnStart};` : ''}\n ${gridColumnEnd ? `grid-column-end: ${gridColumnEnd};` : ''}\n ${gridRowStart ? `grid-row-start: ${gridRowStart};` : ''}\n ${gridRowEnd ? `grid-row-end: ${gridRowEnd};` : ''}\n `}\n`;\n\nexport const baseSpacing = css<SpacingProps>`\n ${({ margin, marginBottom, marginLeft, marginRight, marginTop }) =>\n css`\n ${margin ? `margin: ${margin};` : ''}\n ${marginBottom ? `margin-bottom: ${marginBottom};` : ''}\n ${marginLeft ? `margin-left: ${marginLeft};` : ''}\n ${marginRight ? `margin-right: ${marginRight};` : ''}\n ${marginTop ? `margin-top: ${marginTop};` : ''}\n `}\n`;\n\nexport const baseInternalSpacing = css<InternalSpacingProps>`\n ${({ padding, paddingBottom, paddingLeft, paddingRight, paddingTop }) =>\n css`\n ${padding ? `padding: ${padding};` : ''}\n ${paddingBottom ? `padding-bottom: ${paddingBottom};` : ''}\n ${paddingLeft ? `padding-left: ${paddingLeft};` : ''}\n ${paddingRight ? `padding-right: ${paddingRight};` : ''}\n ${paddingTop ? `padding-top: ${paddingTop};` : ''}\n `}\n`;\n\nexport const baseSizing = css<SizingProps>`\n ${({ height, maxHeight, maxWidth, minHeight, minWidth, width }) =>\n css`\n ${height !== undefined\n ? `height: ${typeof height === 'number' ? `${height}px` : height};`\n : ''}\n ${maxHeight ? `max-height: ${maxHeight};` : ''}\n ${maxWidth ? `max-width: ${maxWidth};` : ''}\n ${minHeight ? `min-height: ${minHeight};` : ''}\n ${minWidth ? `min-width: ${minWidth};` : ''}\n ${width !== undefined\n ? `width: ${typeof width === 'number' ? `${width}px` : width};`\n : ''}\n `}\n`;\n\nexport const basePositioning = css<PositioningProps>`\n ${({ position, top, bottom, left, right, zIndex }) =>\n css`\n ${position ? `position: ${position};` : ''}\n ${top ? `top: ${top};` : ''}\n ${bottom ? `bottom: ${bottom};` : ''}\n ${left ? `left: ${left};` : ''}\n ${right ? `right: ${right};` : ''}\n ${zIndex ? `z-index: ${zIndex};` : ''}\n `}\n`;\n\nexport const baseFlexbox = css<FlexLayoutProps>`\n ${({\n alignContent,\n alignItems,\n flexDirection,\n flexWrap,\n gap,\n justifyContent,\n }) =>\n css`\n ${alignContent ? `align-content: ${alignContent};` : ''}\n ${alignItems ? `align-items: ${alignItems};` : ''}\n ${flexDirection ? `flex-direction: ${flexDirection};` : ''}\n ${flexWrap ? `flex-wrap: ${flexWrap};` : ''}\n gap: ${gap};\n ${justifyContent ? `justify-content: ${justifyContent};` : ''}\n `}\n`;\n\nexport const baseGrid = css<GridLayoutProps>`\n ${({\n alignContent,\n alignItems,\n gap,\n gridAutoColumns,\n gridAutoRows,\n gridTemplateAreas,\n gridTemplateColumns,\n gridTemplateRows,\n justifyContent,\n justifyItems,\n }) =>\n css`\n ${alignContent ? `align-content: ${alignContent};` : ''}\n ${alignItems ? `align-items: ${alignItems};` : ''}\n ${gap ? `gap: ${gap};` : ''}\n ${gridAutoColumns ? `grid-auto-columns: ${gridAutoColumns};` : ''}\n ${gridAutoRows ? `grid-auto-rows: ${gridAutoRows};` : ''}\n ${gridTemplateAreas ? `grid-template-areas: ${gridTemplateAreas};` : ''}\n ${gridTemplateColumns\n ? `grid-template-columns: ${gridTemplateColumns};`\n : ''}\n ${gridTemplateRows ? `grid-template-rows: ${gridTemplateRows};` : ''}\n ${justifyContent ? `justify-content: ${justifyContent};` : ''}\n ${justifyItems ? `justify-items: ${justifyItems};` : ''}\n `}\n`;\n\nexport const baseStyling = css<StylingProps>`\n font-family: var(--redsift-typography-body-font-family);\n font-size: var(--redsift-typography-body-font-size);\n font-weight: var(--redsift-typography-body-font-weight);\n line-height: var(--redsift-typography-body-line-height);\n color: var(--redsift-color-neutral-black);\n\n ${baseLayout}\n ${baseSpacing}\n ${baseSizing}\n ${basePositioning}\n`;\n\nexport const baseContainer = css<ContainerProps>`\n ${({ display }) => (display ? `display: ${display};` : '')}\n font-family: var(--redsift-typography-body-font-family);\n font-size: var(--redsift-typography-body-font-size);\n font-weight: var(--redsift-typography-body-font-weight);\n line-height: var(--redsift-typography-body-line-height);\n color: var(--redsift-color-neutral-black);\n\n ${baseInternalSpacing}\n ${baseFlexbox}\n ${baseGrid}\n`;\n","import styled, { css } from 'styled-components';\nimport { ColorPalette, ProductColorPalette } from '~/types';\nimport { baseStyling } from '~/components/shared';\nimport { StyledIconProps, IconSize } from './types';\n\n/**\n * Component style.\n */\nexport const StyledIcon = styled.span<StyledIconProps>`\n position: relative;\n ${baseStyling}\n\n font-style: normal;\n\n svg {\n vertical-align: -0.125em;\n }\n\n ${({ $color }) =>\n $color &&\n [...Object.keys(ColorPalette), ...Object.keys(ProductColorPalette)].indexOf(\n $color\n ) !== -1\n ? css`\n color: var(--redsift-color-${$color}-primary);\n `\n : css`\n color: ${$color || css`var(--redsift-color-neutral-darkgrey)`};\n `}\n\n ${({ $size }) => {\n switch ($size) {\n case IconSize.xlarge:\n return css`\n font-size: 40px;\n height: 40px;\n line-height: 40px;\n width: 40px;\n\n & .redsift-badge-standard {\n position: absolute;\n right: -24px;\n top: -2px;\n }\n\n & .redsift-badge-dot {\n position: absolute;\n right: -14px;\n top: 6px;\n }\n `;\n case IconSize.large:\n return css`\n font-size: 28px;\n height: 28px;\n line-height: 28px;\n width: 28px;\n\n & .redsift-badge-standard {\n position: absolute;\n right: -24px;\n top: -4px;\n }\n\n & .redsift-badge-dot {\n position: absolute;\n right: -14px;\n top: 2px;\n }\n `;\n case IconSize.small:\n return css`\n font-size: 20px;\n height: 20px;\n line-height: 20px;\n width: 20px;\n\n & .redsift-badge-standard {\n position: absolute;\n right: -24px;\n top: -8px;\n }\n\n & .redsift-badge-dot {\n position: absolute;\n right: -14px;\n top: 1px;\n }\n `;\n case IconSize.xsmall:\n return css`\n font-size: 16px;\n height: 16px;\n line-height: 16px;\n width: 16px;\n\n & .redsift-badge-standard {\n position: absolute;\n right: -24px;\n top: -12px;\n }\n\n & .redsift-badge-dot {\n position: absolute;\n right: -14px;\n top: -1px;\n }\n `;\n case IconSize.medium:\n default:\n return css`\n font-size: 24px;\n height: 24px;\n line-height: 24px;\n width: 24px;\n\n & .redsift-badge-standard {\n position: absolute;\n right: -24px;\n top: -5px;\n }\n\n & .redsift-badge-dot {\n position: absolute;\n right: -14px;\n top: 1px;\n }\n `;\n }\n }}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '~/types';\nimport { StyledIcon } from './styles';\nimport { IconProps, IconSize } from './types';\n\nconst COMPONENT_NAME = 'Icon';\nconst CLASSNAME = 'redsift-icon';\nconst DEFAULT_PROPS: Partial<IconProps> = {\n size: IconSize.medium,\n};\n\n/**\n * The Icon component.\n */\nexport const Icon: Comp<IconProps, HTMLSpanElement> = forwardRef(\n (props, ref) => {\n const {\n 'aria-hidden': ariaHidden,\n 'aria-label': ariaLabel,\n badge,\n className,\n color,\n icon,\n size,\n svgProps,\n ...forwardedProps\n } = props;\n\n return (\n <StyledIcon\n {...forwardedProps}\n $color={color}\n $size={size}\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n className={classNames(Icon.className, className)}\n ref={ref as RefObject<HTMLSpanElement>}\n >\n <svg\n {...svgProps}\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n focusable=\"false\"\n height=\"1em\"\n preserveAspectRatio=\"xMidYMid meet\"\n role=\"img\"\n viewBox=\"0 0 24 24\"\n width=\"1em\"\n >\n <path d={icon} fill=\"currentColor\" />\n </svg>\n {badge ? badge : null}\n </StyledIcon>\n );\n }\n);\nIcon.className = CLASSNAME;\nIcon.defaultProps = DEFAULT_PROPS;\nIcon.displayName = COMPONENT_NAME;\n","import { ComponentProps } from 'react';\nimport { PressEvent } from '@react-types/shared';\nimport {\n ColorPalette,\n ProductColorPalette,\n StylingProps,\n ValueOf,\n} from '~/types';\n\n/**\n * Component variant.\n */\nexport const ButtonVariant = {\n primary: 'primary',\n secondary: 'secondary',\n unstyled: 'unstyled',\n} as const;\nexport type ButtonVariant = ValueOf<typeof ButtonVariant>;\n\n/**\n * Component color.\n */\nexport type ButtonColor = ColorPalette | ProductColorPalette;\n\n/**\n * Component props.\n */\nexport interface ButtonProps extends ComponentProps<'button'>, StylingProps {\n /** Color variant. The product colors are available but should only be used to display the Button in the color of another product. To display a Button with a color of the current product, use `default`. */\n color?: ButtonColor;\n /** Whether the component take the full width or not. */\n fullWidth?: boolean;\n /** Whether the component is active or not. */\n isActive?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Whether the component is in a loading state or not. */\n isLoading?: boolean;\n /**\n * Icon path data (`d` property of the `path` SVG element).<br />\n * See <a href=\"https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths\">https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths</a>.<br />\n * Recommended path data come from mdi/js.<br />\n * See <a href=\"https://www.npmjs.com/package/@mdi/js\">https://www.npmjs.com/package/@mdi/js</a>.\n */\n leftIcon?: string;\n /** Preferred method to handle click, press and touch. */\n onPress?: (e: PressEvent) => void;\n /**\n * Icon path data (`d` property of the `path` SVG element).<br />\n * See <a href=\"https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths\">https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths</a>.<br />\n * Recommended path data come from mdi/js.<br />\n * See <a href=\"https://www.npmjs.com/package/@mdi/js\">https://www.npmjs.com/package/@mdi/js</a>.\n */\n rightIcon?: string;\n /** Button variant. */\n variant?: ButtonVariant;\n}\n\nexport type StyledButtonProps = Omit<\n ButtonProps,\n 'isActive' | 'isDisabled' | 'variant' | 'color' | 'size' | 'fullWidth'\n> & {\n $color: ButtonProps['color'];\n $fullWidth?: ButtonProps['fullWidth'];\n $isActive: ButtonProps['isActive'];\n $isDisabled: ButtonProps['isDisabled'];\n $variant: ButtonProps['variant'];\n};\n","import styled, { css } from 'styled-components';\nimport { baseStyling } from '~/components/shared';\nimport { StyledButtonProps, ButtonVariant } from './types';\n\n/**\n * Component style.\n */\nexport const StyledButton = styled.button<StyledButtonProps>`\n ${baseStyling}\n\n align-items: center;\n background: none;\n border: none;\n display: flex;\n font-family: var(--redsift-typography-button-font-family);\n font-size: var(--redsift-typography-button-font-size);\n font-weight: var(--redsift-typography-button-font-weight);\n gap: 8px;\n justify-content: center;\n line-height: var(--redsift-typography-button-line-height);\n text-decoration: none;\n text-transform: var(--redsift-typography-button-text-transform);\n\n ${({ $variant, $color, $isActive, $isDisabled }) => css`\n padding: ${$variant === ButtonVariant.secondary ? '7px 15px' : '8px 16px'};\n\n ${$variant === ButtonVariant.secondary\n ? css`\n background-color: ${$isActive\n ? `var(--redsift-color-${$color}-active)`\n : $isDisabled\n ? 'var(--redsift-color-neutral-white)'\n : 'var(--redsift-color-neutral-white)'};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-primary)`};\n }\n `\n : $variant === ButtonVariant.unstyled\n ? css`\n background-color: ${$isActive\n ? `var(--redsift-color-${$color}-active)`\n : $isDisabled\n ? 'none'\n : 'none'};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-primary)`};\n }\n `\n : css`\n background-color: ${$isActive\n ? `var(--redsift-color-${$color}-primary-active)`\n : $isDisabled\n ? 'var(--redsift-color-neutral-lightgrey)'\n : `var(--redsift-color-${$color}-primary)`};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : 'var(--redsift-color-neutral-white)'};\n }\n `}\n\n ${$variant === ButtonVariant.secondary\n ? css`\n border: 1px solid\n ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-primary)`};\n `\n : ''}\n `};\n\n &:hover,\n &:focus-visible {\n outline: none;\n\n ${({ $variant, $color, $isActive, $isDisabled }) => css`\n cursor: ${$isDisabled ? 'default' : 'pointer'};\n\n ${$variant === ButtonVariant.secondary\n ? css`\n background-color: ${$isActive\n ? `var(--redsift-color-${$color}-active-hover)`\n : $isDisabled\n ? 'var(--redsift-color-neutral-white)'\n : `var(--redsift-color-${$color}-hover)`};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-secondary)`};\n }\n `\n : $variant === ButtonVariant.unstyled\n ? css`\n background-color: ${$isActive\n ? `var(--redsift-color-${$color}-active-hover)`\n : $isDisabled\n ? 'none'\n : `var(--redsift-color-${$color}-hover)`};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-secondary)`};\n }\n `\n : css`\n background-color: ${$isActive\n ? `var(--redsift-color-${$color}-primary-active-hover)`\n : $isDisabled\n ? 'var(--redsift-color-neutral-lightgrey)'\n : `var(--redsift-color-${$color}-secondary)`};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : 'var(--redsift-color-neutral-white)'};\n }\n `}\n\n ${$variant === ButtonVariant.secondary\n ? css`\n border: 1px solid\n ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-primary)`};\n `\n : `\n border: none;\n `}\n `};\n }\n\n ${({ $fullWidth }) =>\n $fullWidth\n ? `\n width: 100%;\n flex-grow: 1;\n\n .redsift-icon.left {\n margin-right: unset;\n }\n\n .redsift-icon.right {\n margin-left: unset;\n }\n `\n : ''}\n`;\n","import enUS from './en-US.json';\nimport frFR from './fr-FR.json';\n\nexport default {\n 'en-US': enUS,\n 'fr-FR': frFR,\n};\n","import { ComponentProps } from 'react';\nimport {\n ColorPalette,\n LayoutProps,\n PositioningProps,\n ProductColorPalette,\n SpacingProps,\n ValueOf,\n} from '~/types';\n\n/**\n * Component size.\n */\nexport const SpinnerSize = {\n xsmall: 'xsmall',\n small: 'small',\n medium: 'medium',\n large: 'large',\n} as const;\nexport type SpinnerSize = ValueOf<typeof SpinnerSize>;\n\n/**\n * Component color.\n */\nexport type SpinnerColor =\n | typeof ColorPalette.default\n | typeof ColorPalette.question\n | typeof ColorPalette['no-data']\n | ProductColorPalette;\n\n/**\n * Component props.\n */\nexport interface SpinnerProps\n extends ComponentProps<'img'>,\n LayoutProps,\n SpacingProps,\n PositioningProps {\n /** Indicates whether the element is exposed to an accessibility API. */\n 'aria-hidden'?: boolean | 'false' | 'true';\n /** A screen reader only label for the Spinner. */\n 'aria-label'?: string;\n /** Color variant. The product colors are available but should only be used to display the Spinner in the color of another product. To display a Spinner with a color of the current product, use `default`. */\n color?: SpinnerColor;\n /** Spinner size. */\n size?: SpinnerSize;\n}\n\nexport type StyledSpinnerProps = Omit<SpinnerProps, 'color'> & {\n $color?: SpinnerProps['color'];\n $size?: SpinnerProps['size'];\n};\n","import styled from 'styled-components';\nimport { baseStyling } from '~/components/shared';\nimport { StyledSpinnerProps } from './types';\n\nexport const StyledSpinner = styled.img<StyledSpinnerProps>`\n ${baseStyling}\n\n display: inline;\n line-height: 0px;\n vertical-align: -0.125em;\n`;\n","import React from 'react';\nimport { AppContainerState } from './types';\n\nexport const AppContainerContext =\n React.createContext<AppContainerState | null>(null);\n","import React, { forwardRef, RefObject, useContext } from 'react';\nimport classNames from 'classnames';\nimport { ColorPalette, Comp } from '~/types';\n\nimport { useLocalizedStringFormatter } from '@react-aria/i18n';\nimport intlMessages from './intl';\n\nimport { SpinnerProps, SpinnerSize } from './types';\nimport { StyledSpinner } from './styles';\nimport { AppContainerContext } from '../app-container';\n\nimport spinnerDefault from './images/spinner-default.svg';\nimport spinnerHardenize from './images/spinner-hardenize.svg';\nimport spinnerNoData from './images/spinner-no-data.svg';\nimport spinnerOndmarc from './images/spinner-ondmarc.svg';\nimport spinnerOndomain from './images/spinner-ondomain.svg';\nimport spinnerOninbox from './images/spinner-oninbox.svg';\nimport spinnerQuestion from './images/spinner-question.svg';\nimport spinnerTools from './images/spinner-tools.svg';\nimport spinnerWebsite from './images/spinner-website.svg';\n\nconst colorToFile = {\n default: spinnerDefault,\n hardenize: spinnerHardenize,\n 'no-data': spinnerNoData,\n ondmarc: spinnerOndmarc,\n ondomain: spinnerOndomain,\n oninbox: spinnerOninbox,\n question: spinnerQuestion,\n tools: spinnerTools,\n website: spinnerWebsite,\n};\n\nconst COMPONENT_NAME = 'Spinner';\nconst CLASSNAME = 'redsift-shield';\nconst DEFAULT_PROPS: Partial<SpinnerProps> = {\n color: ColorPalette.default,\n size: SpinnerSize.medium,\n};\n\nconst sizeToDimension = (\n size: SpinnerSize\n): { width: number; height: number } => {\n switch (size) {\n case SpinnerSize.xsmall:\n return { width: 15, height: 15 };\n case SpinnerSize.small:\n return { width: 24, height: 24 };\n case SpinnerSize.large:\n return { width: 56, height: 56 };\n case SpinnerSize.medium:\n default:\n return { width: 40, height: 40 };\n }\n};\n\n/**\n * The Spinner component.\n */\nexport const Spinner: Comp<SpinnerProps, HTMLImageElement> = forwardRef(\n (props, ref) => {\n const {\n 'aria-hidden': ariaHidden,\n 'aria-label': ariaLabel,\n className,\n color: propsColor,\n size,\n ...forwardedProps\n } = props;\n\n const { width, height } = sizeToDimension(size!);\n const appContainerState = useContext(AppContainerContext);\n const color =\n propsColor === ColorPalette.default &&\n appContainerState &&\n appContainerState.productTheme\n ? appContainerState.productTheme\n : propsColor;\n\n const stringFormatter = useLocalizedStringFormatter(intlMessages);\n\n return (\n <StyledSpinner\n alt={stringFormatter.format('loading')}\n {...forwardedProps}\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n className={classNames(Spinner.className, className)}\n height={height}\n ref={ref as RefObject<HTMLImageElement>}\n src={colorToFile[color!]}\n width={width}\n $color={color}\n $size={size}\n />\n );\n }\n);\nSpinner.className = CLASSNAME;\nSpinner.defaultProps = DEFAULT_PROPS;\nSpinner.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { StyledButton } from '~/components/button';\nimport { IconButtonVariant, StyledIconButtonProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledIconButton = styled(StyledButton)<StyledIconButtonProps>`\n ${({ $variant }) => css`\n padding: ${$variant === IconButtonVariant.secondary ? '7px' : '8px'};\n `};\n`;\n","import React, { forwardRef, RefObject, useRef } from 'react';\nimport classNames from 'classnames';\nimport { useButton } from '@react-aria/button';\nimport { AriaButtonProps } from '@react-types/button';\nimport { ColorPalette, Comp } from '~/types';\nimport { Icon } from '~/components/icon';\nimport { warnIfNoAccessibleLabelFound } from '~/utils/warnIfNoAccessibleLabelFound';\nimport { StyledIconButton } from './styles';\nimport { IconButtonProps, IconButtonVariant } from './types';\n\nconst COMPONENT_NAME = 'IconButton';\nconst CLASSNAME = 'redsift-icon-button';\nconst DEFAULT_PROPS: Partial<IconButtonProps> = {\n color: ColorPalette.default,\n height: 'fit-content',\n variant: IconButtonVariant.unstyled,\n};\n\n/**\n * The Icon Button is a component that contains only one icon as a child, without text.\n *\n * This component should use aria-label, aria-labelledby or aria-describedby to make this\n * component usable with a screen reader.\n */\nexport const IconButton: Comp<IconButtonProps, HTMLButtonElement> = forwardRef(\n (props, ref) => {\n const buttonRef = ref || useRef<HTMLButtonElement>();\n const { buttonProps, isPressed } = useButton(\n {\n ...props,\n isDisabled: props.isDisabled || props.disabled,\n preventFocusOnPress: true,\n } as AriaButtonProps<'button'>,\n buttonRef as RefObject<HTMLButtonElement>\n );\n\n const {\n className,\n color,\n disabled,\n icon,\n isActive,\n isDisabled,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onPress,\n variant,\n ...forwardedProps\n } = props;\n\n warnIfNoAccessibleLabelFound(props);\n\n return (\n <StyledIconButton\n {...forwardedProps}\n {...buttonProps}\n $color={isDisabled || disabled ? undefined : color}\n $isActive={isActive || isPressed}\n $isDisabled={isDisabled || disabled}\n $variant={variant}\n aria-disabled={isDisabled || disabled}\n className={classNames(IconButton.className, className)}\n disabled={isDisabled || disabled}\n ref={buttonRef as RefObject<HTMLButtonElement>}\n >\n <Icon icon={icon} color={isDisabled || disabled ? undefined : color} />\n </StyledIconButton>\n );\n }\n);\nIconButton.className = CLASSNAME;\nIconButton.defaultProps = DEFAULT_PROPS;\nIconButton.displayName = COMPONENT_NAME;\n","import { FloatingOverlay } from '@floating-ui/react';\nimport styled, { css } from 'styled-components';\nimport { DialogSize } from '../dialog/types';\nimport { StyledDialogContentProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledDialogContent = styled.div<StyledDialogContentProps>`\n background-color: var(--redsift-color-neutral-white);\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);\n color: var(--redsift-color-neutral-black);\n display: flex;\n filter: drop-shadow(0px 4px 5px rgba(0, 0, 0, 0.14))\n drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.12));\n flex-direction: column;\n font-family: var(--redsift-typography-dialog-font-family);\n font-size: var(--redsift-typography-dialog-font-size);\n font-weight: var(--redsift-typography-dialog-font-weight);\n line-height: var(--redsift-typography-dialog-line-height);\n margin: 32px;\n max-width: calc(100vw - 48px);\n padding: 24px;\n width: 540px;\n z-index: var(--redsift-layout-z-index-dialog);\n\n ${({ $size }) => {\n switch ($size) {\n case DialogSize.small:\n return css`\n width: 540px;\n `;\n case DialogSize.large:\n return css`\n width: 800px;\n `;\n case DialogSize.medium:\n default:\n return css`\n width: 700px;\n `;\n }\n }}\n\n &:focus-visible {\n outline: none;\n }\n\n .redsift-dialog-content__header {\n align-items: flex-start;\n display: flex;\n justify-content: space-between;\n }\n\n .redsift-card-header__icon-button {\n margin-top: 8px;\n margin-left: auto;\n margin-right: 8px;\n\n [dir='rtl'] & {\n margin-left: 8px;\n margin-right: auto;\n }\n }\n`;\n\nexport const StyledFloatingOverlay = styled(FloatingOverlay)`\n background: rgba(0, 0, 0, 0.8);\n display: grid;\n place-items: center;\n z-index: var(--redsift-layout-z-index-overlay);\n`;\n","import styled from 'styled-components';\nimport { baseContainer } from '~/components/shared';\nimport { StyledDialogContentActionsProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledDialogContentActions = styled.div<StyledDialogContentActionsProps>`\n display: flex;\n ${baseContainer}\n\n margin-top: 8px;\n margin-bottom: 8px;\n\n &:focus-visible {\n outline: none;\n }\n`;\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Comp } from '~/types';\nimport { StyledDialogContentActions } from './styles';\nimport { DialogContentActionsProps } from './types';\nimport { useDialogContext } from '../dialog';\n\nconst COMPONENT_NAME = 'DialogContentActions';\nconst CLASSNAME = 'redsift-dialog-content-actions';\nconst DEFAULT_PROPS: Partial<DialogContentActionsProps> = {\n flexDirection: 'row',\n};\n\n/**\n * The DialogContentActions component.\n */\nexport const DialogContentActions: Comp<\n DialogContentActionsProps,\n HTMLDivElement\n> = forwardRef((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n const { actionsRef, initialFocus } = useDialogContext();\n\n return (\n <StyledDialogContentActions\n {...forwardedProps}\n className={classNames(DialogContentActions.className, className)}\n ref={useMergeRefs([ref, actionsRef])}\n tabIndex={initialFocus === 'actions' ? -1 : undefined}\n >\n {children}\n </StyledDialogContentActions>\n );\n});\nDialogContentActions.className = CLASSNAME;\nDialogContentActions.defaultProps = DEFAULT_PROPS;\nDialogContentActions.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { baseContainer } from '~/components/shared';\nimport { StyledDialogContentBodyProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledDialogContentBody = styled.div<StyledDialogContentBodyProps>`\n ${baseContainer}\n\n overflow-y: auto;\n ${({ $marginTop, $marginBottom }) => css`\n max-height: calc(100vh - ${$marginTop + $marginBottom}px);\n `}\n\n color: var(--redsift-color-neutral-darkgrey);\n font-family: var(--redsift-typography-body2-font-family);\n font-size: var(--redsift-typography-body2-font-size);\n font-weight: var(--redsift-typography-body2-font-weight);\n line-height: var(--redsift-typography-body2-line-height);\n padding: 0 24px;\n margin: 16px -24px;\n\n &:focus-visible {\n outline: none;\n }\n\n scrollbar-color: var(--redsift-color-neutral-midgrey) transparent;\n scrollbar-width: thin;\n\n &::-webkit-scrollbar {\n block-size: 9px;\n inline-size: 9px;\n }\n\n &::-webkit-scrollbar-thumb {\n background-clip: padding-box;\n background-color: var(--redsift-color-neutral-midgrey);\n border-radius: 0px;\n border-left: 2px solid transparent;\n border-right: 2px solid transparent;\n }\n\n &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n\n &::-webkit-scrollbar-thumb:horizontal,\n &::-webkit-scrollbar-thumb:vertical {\n &:hover {\n background-color: var(--redsift-color-neutral-darkgrey);\n }\n }\n\n &::-webkit-scrollbar-corner {\n visibility: hidden;\n }\n`;\n","import { useState, useEffect, MutableRefObject, DependencyList } from 'react';\n\n/**\n * Get the bounding rect of a component.\n */\nexport const useBoundingClientRect = (\n ref: MutableRefObject<HTMLElement>,\n deps?: DependencyList\n) => {\n const [boundingRect, setBoundingRect] = useState<DOMRect>({} as DOMRect);\n\n useEffect(() => {\n if (ref.current) {\n setBoundingRect(ref.current.getBoundingClientRect());\n }\n }, deps);\n\n return boundingRect;\n};\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Comp } from '~/types';\nimport { StyledDialogContentBody } from './styles';\nimport { DialogContentBodyProps } from './types';\nimport { useDialogContext } from '../dialog';\nimport { useBoundingClientRect } from '~/hooks/useBoundingRect';\n\nconst COMPONENT_NAME = 'DialogContentBody';\nconst CLASSNAME = 'redsift-dialog-content-body';\nconst DEFAULT_PROPS: Partial<DialogContentBodyProps> = {};\n\n/**\n * The DialogContentBody component.\n */\nexport const DialogContentBody: Comp<DialogContentBodyProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n const { actionsRef, bodyRef, hasCloseButton, headerRef, initialFocus } =\n useDialogContext();\n\n const { height: headerHeight = 0 } = useBoundingClientRect(\n headerRef as any,\n [children, headerRef]\n );\n const { height: actionsHeight = 0 } = useBoundingClientRect(\n actionsRef as any,\n [children, actionsRef]\n );\n\n /* istanbul ignore next */\n return (\n <StyledDialogContentBody\n {...forwardedProps}\n className={classNames(DialogContentBody.className, className)}\n ref={useMergeRefs([ref, bodyRef])}\n tabIndex={initialFocus === 'body' ? -1 : undefined}\n $marginTop={Math.max(headerHeight, hasCloseButton ? 40 : 0) + 80}\n $marginBottom={(actionsHeight === 0 ? 0 : actionsHeight + 16) + 80}\n >\n {children}\n </StyledDialogContentBody>\n );\n });\nDialogContentBody.className = CLASSNAME;\nDialogContentBody.defaultProps = DEFAULT_PROPS;\nDialogContentBody.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { baseStyling } from '~/components/shared';\nimport { StyledHeadingProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledHeading = styled.span<StyledHeadingProps>`\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font: inherit;\n vertical-align: baseline;\n\n ${baseStyling}\n\n ${({ $variant }) =>\n $variant === 'h1'\n ? css`\n color: var(--redsift-color-neutral-black);\n font-family: var(--redsift-typography-h1-font-family);\n font-size: var(--redsift-typography-h1-font-size);\n font-weight: var(--redsift-typography-h1-font-weight);\n line-height: var(--redsift-typography-h1-line-height);\n text-transform: var(--redsift-typography-h1-text-transform);\n `\n : $variant === 'h2'\n ? css`\n color: var(--redsift-color-neutral-black);\n font-family: var(--redsift-typography-h2-font-family);\n font-size: var(--redsift-typography-h2-font-size);\n font-weight: var(--redsift-typography-h2-font-weight);\n line-height: var(--redsift-typography-h2-line-height);\n `\n : $variant === 'h3'\n ? css`\n color: var(--redsift-color-neutral-black);\n font-family: var(--redsift-typography-h3-font-family);\n font-size: var(--redsift-typography-h3-font-size);\n font-weight: var(--redsift-typography-h3-font-weight);\n line-height: var(--redsift-typography-h3-line-height);\n `\n : $variant === 'h4'\n ? css`\n color: var(--redsift-color-neutral-black);\n font-family: var(--redsift-typography-h4-font-family);\n font-size: var(--redsift-typography-h4-font-size);\n font-weight: var(--redsift-typography-h4-font-weight);\n line-height: var(--redsift-typography-h4-line-height);\n `\n : $variant === 'h5'\n ? css`\n color: var(--redsift-color-neutral-black);\n font-family: var(--redsift-typography-h5-font-family);\n font-size: var(--redsift-typography-h5-font-size);\n font-weight: var(--redsift-typography-h5-font-weight);\n line-height: var(--redsift-typography-h5-line-height);\n `\n : css`\n color: var(--redsift-color-neutral-black);\n font-family: var(--redsift-typography-body-font-family);\n font-size: var(--redsift-typography-body-font-size);\n font-weight: var(--redsift-typography-body-font-weight);\n line-height: var(--redsift-typography-body-line-height);\n `}\n\n ${({ $noWrap }) =>\n $noWrap\n ? css`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `\n : css`\n word-break: break-word;\n `}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '~/types';\nimport { StyledHeading } from './styles';\nimport { HeadingProps } from './types';\n\nconst COMPONENT_NAME = 'Heading';\nconst CLASSNAME = 'redsift-heading';\nconst DEFAULT_PROPS: Partial<HeadingProps> = {};\n\n/**\n * The Heading component.\n */\nexport const Heading: Comp<HeadingProps, HTMLDivElement> = forwardRef(\n (props, ref) => {\n const { as, children, className, noWrap, variant, ...forwardedProps } =\n props;\n\n return (\n <StyledHeading\n as={as}\n {...forwardedProps}\n className={classNames(Heading.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n $noWrap={noWrap}\n $variant={variant ? variant : as === 'span' ? 'body' : as}\n >\n {children}\n </StyledHeading>\n );\n }\n);\nHeading.className = CLASSNAME;\nHeading.defaultProps = DEFAULT_PROPS;\nHeading.displayName = COMPONENT_NAME;\n","import styled from 'styled-components';\nimport { StyledDialogContentHeaderProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledDialogContentHeader = styled.div<StyledDialogContentHeaderProps>`\n color: var(--redsift-color-neutral-black);\n\n &:focus-visible {\n outline: none;\n }\n\n .redsift-dialog-content-header__header {\n align-items: center;\n display: flex;\n gap: 8px;\n padding: 10px 0px;\n margin: 0px;\n\n .redsift-icon {\n color: var(--redsift-color-neutral-black);\n padding-right: 8px;\n font-size: 30px;\n line-height: 30px;\n height: 30px;\n }\n }\n\n .redsift-dialog-content-header__subheader {\n font-family: var(--redsift-typography-body-font-family);\n font-size: var(--redsift-typography-body-font-size);\n font-weight: var(--redsift-typography-body-font-weight);\n line-height: var(--redsift-typography-body-line-height);\n }\n`;\n","import React, { forwardRef, useId } from 'react';\nimport classNames from 'classnames';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Icon } from '~/components/icon';\nimport { Heading } from '~/components/heading';\nimport { Comp } from '~/types';\nimport { StyledDialogContentHeader } from './styles';\nimport { DialogContentHeaderProps } from './types';\nimport { useDialogContext } from '../dialog';\n\nconst COMPONENT_NAME = 'DialogContentHeader';\nconst CLASSNAME = 'redsift-dialog-content-header';\nconst DEFAULT_PROPS: Partial<DialogContentHeaderProps> = {};\n\n/**\n * The DialogContentHeader component.\n */\nexport const DialogContentHeader: Comp<\n DialogContentHeaderProps,\n HTMLDivElement\n> = forwardRef((props, ref) => {\n const {\n children,\n className,\n header,\n headingProps,\n icon,\n subheader,\n ...forwardedProps\n } = props;\n\n const { setLabelId, setDescriptionId, headerRef, initialFocus } =\n useDialogContext();\n const labelId = useId();\n const descriptionId = useId();\n\n // Only sets `aria-labelledby` on the Dialog root element\n // if this component is mounted inside it.\n React.useLayoutEffect(() => {\n setLabelId(labelId);\n return () => setLabelId(undefined);\n }, [labelId, setLabelId]);\n\n // Only sets `aria-describedby` on the Dialog root element\n // if this component is mounted inside it.\n React.useLayoutEffect(() => {\n setDescriptionId(descriptionId);\n return () => setDescriptionId(undefined);\n }, [descriptionId, setDescriptionId]);\n\n return (\n <StyledDialogContentHeader\n {...forwardedProps}\n className={classNames(DialogContentHeader.className, className)}\n ref={useMergeRefs([ref, headerRef])}\n tabIndex={initialFocus === 'header' ? -1 : undefined}\n >\n {subheader ? (\n <div className={`${DialogContentHeader.className}__subheader`}>\n {subheader}\n </div>\n ) : null}\n {header ? (\n <Heading\n as=\"h2\"\n color=\"black\"\n className={`${DialogContentHeader.className}__header`}\n id={labelId}\n variant=\"h2\"\n {...headingProps}\n >\n {icon ? <Icon icon={icon} aria-hidden=\"true\" /> : null}\n {header}\n </Heading>\n ) : null}\n {children ? <div id={descriptionId}>{children}</div> : null}\n </StyledDialogContentHeader>\n );\n});\nDialogContentHeader.className = CLASSNAME;\nDialogContentHeader.defaultProps = DEFAULT_PROPS;\nDialogContentHeader.displayName = COMPONENT_NAME;\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport {\n useMergeRefs,\n FloatingPortal,\n FloatingFocusManager,\n useTransitionStyles,\n} from '@floating-ui/react';\nimport { mdiClose } from '@redsift/icons';\n\nimport { useLocalizedStringFormatter } from '@react-aria/i18n';\nimport intlMessages from './intl';\n\nimport { Comp } from '~/types';\nimport { isComponent, partitionComponents } from '~/utils';\nimport { IconButton } from '~/components/icon-button';\nimport { DialogContentProps } from './types';\nimport { useDialogContext } from '../dialog';\nimport { StyledDialogContent, StyledFloatingOverlay } from './styles';\nimport { DialogContentActions } from '../dialog-content-actions';\nimport { DialogContentBody } from '../dialog-content-body';\nimport { DialogContentHeader } from '../dialog-content-header';\n\nconst COMPONENT_NAME = 'DialogContent';\nconst CLASSNAME = 'redsift-dialog-content';\nconst DEFAULT_PROPS: Partial<DialogContentProps> = {};\n\n/**\n * The DialogContent component.\n */\nexport const BaseDialogContent: Comp<DialogContentProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n const {\n context: floatingContext,\n getFloatingProps,\n refs,\n labelId,\n descriptionId,\n handleOpen,\n hasCloseButton,\n initialFocus: propsInitialFocus,\n size,\n headerRef,\n bodyRef,\n actionsRef,\n } = useDialogContext();\n const { isMounted, styles } = useTransitionStyles(floatingContext);\n const dialogRef = useMergeRefs([refs.setFloating, ref]);\n\n const stringFormatter = useLocalizedStringFormatter(intlMessages);\n\n const [[header], [body], [actions]] = partitionComponents(\n React.Children.toArray(children),\n [\n isComponent('DialogContentHeader'),\n isComponent('DialogContentBody'),\n isComponent('DialogContentActions'),\n ]\n );\n\n const initialFocus:\n | number\n | React.MutableRefObject<HTMLElement | null>\n | undefined =\n propsInitialFocus === 'header'\n ? headerRef\n : propsInitialFocus === 'body'\n ? bodyRef\n : propsInitialFocus === 'actions'\n ? actionsRef\n : propsInitialFocus\n ? propsInitialFocus\n : undefined;\n\n return (\n <FloatingPortal>\n {isMounted && (\n <StyledFloatingOverlay lockScroll style={styles}>\n <FloatingFocusManager\n context={floatingContext}\n initialFocus={initialFocus ? initialFocus : undefined}\n >\n <StyledDialogContent\n className={classNames(DialogContent.className, className)}\n {...forwardedProps}\n ref={dialogRef}\n aria-labelledby={labelId}\n aria-describedby={descriptionId}\n {...getFloatingProps(props)}\n style={styles}\n $size={size!}\n >\n {header || hasCloseButton ? (\n <div className={`${BaseDialogContent.className}__header`}>\n {header}\n\n {hasCloseButton ? (\n <IconButton\n aria-label={stringFormatter.format('close')}\n className={`${BaseDialogContent.className}-header__icon-button`}\n color=\"question\"\n icon={mdiClose}\n onPress={() => handleOpen(false)}\n />\n ) : null}\n </div>\n ) : null}\n\n {body || actions ? (\n <div className={`${BaseDialogContent.className}__content`}>\n {body}\n {actions}\n </div>\n ) : null}\n </StyledDialogContent>\n </FloatingFocusManager>\n </StyledFloatingOverlay>\n )}\n </FloatingPortal>\n );\n });\nBaseDialogContent.className = CLASSNAME;\nBaseDialogContent.defaultProps = DEFAULT_PROPS;\nBaseDialogContent.displayName = COMPONENT_NAME;\n\nexport const DialogContent = Object.assign(BaseDialogContent, {\n Header: DialogContentHeader,\n Body: DialogContentBody,\n Actions: DialogContentActions,\n});\n","import React, { forwardRef, ReactElement } from 'react';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Comp } from '~/types';\nimport { useDialogContext } from '../dialog';\nimport { DialogTriggerProps } from './types';\nimport { isComponent } from '~/utils';\n\nconst COMPONENT_NAME = 'DialogTrigger';\nconst CLASSNAME = 'redsift-dialog-trigger';\nconst DEFAULT_PROPS: Partial<DialogTriggerProps> = {};\n\n/**\n * The DialogTrigger component.\n */\nexport const DialogTrigger: Comp<DialogTriggerProps, HTMLButtonElement> =\n forwardRef((props, ref) => {\n const { children } = props;\n\n const { getReferenceProps, isOpen, handleOpen, refs } = useDialogContext();\n const childrenRef = (children as any).ref;\n const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);\n\n if (\n isComponent('Button')(children) ||\n isComponent('IconButton')(children) ||\n isComponent('LinkButton')(children)\n ) {\n return React.cloneElement(children, {\n ...getReferenceProps({\n ref: triggerRef,\n ...props,\n ...(children as ReactElement).props,\n }),\n onPress: () => handleOpen(!isOpen),\n isActive: isOpen,\n });\n }\n\n return <>{children}</>;\n });\nDialogTrigger.className = CLASSNAME;\nDialogTrigger.defaultProps = DEFAULT_PROPS;\nDialogTrigger.displayName = COMPONENT_NAME;\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport {\n useFloating,\n useDismiss,\n useRole,\n useInteractions,\n} from '@floating-ui/react';\nimport { DialogProps } from './types';\n\nexport function useDialog({\n defaultOpen,\n hasCloseButton,\n initialFocus,\n isOpen: propsIsOpen,\n onOpen,\n size,\n}: Omit<DialogProps, 'children'>) {\n const headerRef = useRef(null);\n const bodyRef = useRef(null);\n const actionsRef = useRef(null);\n const [labelId, setLabelId] = React.useState<string | undefined>();\n const [descriptionId, setDescriptionId] =\n React.useState<string | undefined>();\n\n const [isOpen, setIsOpen] = useState(propsIsOpen ?? defaultOpen);\n\n useEffect(() => {\n setIsOpen(propsIsOpen ?? defaultOpen);\n }, [propsIsOpen, defaultOpen]);\n\n const handleOpen = useCallback(\n (collapsed: boolean) => {\n if (onOpen) {\n onOpen(collapsed);\n }\n if (propsIsOpen === undefined || propsIsOpen === null) {\n setIsOpen(collapsed);\n }\n },\n [onOpen]\n );\n\n const data = useFloating({\n open: isOpen,\n onOpenChange: handleOpen,\n });\n\n const context = data.context;\n\n const dismiss = useDismiss(context, { outsidePressEvent: 'mousedown' });\n const role = useRole(context);\n\n const interactions = useInteractions([dismiss, role]);\n\n return React.useMemo(\n () => ({\n isOpen,\n handleOpen,\n ...interactions,\n ...data,\n labelId,\n descriptionId,\n setLabelId,\n setDescriptionId,\n hasCloseButton,\n initialFocus,\n size,\n headerRef,\n bodyRef,\n actionsRef,\n }),\n [\n isOpen,\n handleOpen,\n interactions,\n data,\n labelId,\n descriptionId,\n hasCloseButton,\n initialFocus,\n size,\n headerRef,\n bodyRef,\n actionsRef,\n ]\n );\n}\n","import React from 'react';\nimport { partitionComponents, isComponent } from '~/utils';\nimport { DialogContent } from '../dialog-content';\nimport { DialogTrigger } from '../dialog-trigger';\n\nimport { DialogContext } from './context';\nimport { DialogProps, DialogSize } from './types';\nimport { useDialog } from './useDialog';\n\nconst COMPONENT_NAME = 'Dialog';\nconst CLASSNAME = 'redsift-dialog';\nconst DEFAULT_PROPS: Partial<DialogProps> = {\n hasCloseButton: true,\n size: DialogSize.medium,\n};\n\n/**\n * The Dialog component.\n */\nexport const BaseDialog: React.FC<DialogProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const {\n children,\n defaultOpen,\n hasCloseButton,\n initialFocus,\n isOpen,\n onOpen,\n size,\n } = props;\n\n const dialog = useDialog({\n defaultOpen,\n hasCloseButton,\n initialFocus,\n isOpen,\n onOpen,\n size,\n });\n\n const [[trigger], [content]] = partitionComponents(\n React.Children.toArray(children),\n [isComponent('DialogTrigger'), isComponent('DialogContent')]\n );\n\n return (\n <DialogContext.Provider value={dialog}>\n {trigger}\n {content}\n </DialogContext.Provider>\n );\n};\nBaseDialog.className = CLASSNAME;\nBaseDialog.defaultProps = DEFAULT_PROPS;\nBaseDialog.displayName = COMPONENT_NAME;\n\nexport const Dialog = Object.assign(BaseDialog, {\n Trigger: DialogTrigger,\n Content: DialogContent,\n});\n","import React from 'react';\nimport { DialogContext } from './context';\n\nexport const useDialogContext = () => {\n const context = React.useContext(DialogContext);\n\n if (context == null) {\n throw new Error('Dialog components must be wrapped in <Dialog />');\n }\n\n return context;\n};\n","import React from 'react';\nimport { PopoverState } from './types';\n\nexport const PopoverContext = React.createContext<PopoverState | null>(null);\n","import { ReactNode } from 'react';\nimport { ValueOf } from '~/types';\nimport { usePopover } from './usePopover';\n\n/**\n * Context props.\n */\nexport type PopoverState = ReturnType<typeof usePopover> | null;\n\n/**\n * Component variant.\n */\nexport const PopoverPlacement = {\n top: 'top',\n right: 'right',\n bottom: 'bottom',\n left: 'left',\n 'top-start': 'top-start',\n 'top-end': 'top-end',\n 'right-start': 'right-start',\n 'right-end': 'right-end',\n 'bottom-start': 'bottom-start',\n 'bottom-end': 'bottom-end',\n 'left-start': 'left-start',\n 'left-end': 'left-end',\n} as const;\nexport type PopoverPlacement = ValueOf<typeof PopoverPlacement>;\n\n/**\n * Component props.\n */\nexport interface PopoverProps {\n /** Children. Can only be PopoverTrigger and PopoverContent. */\n children: ReactNode;\n /**\n * Default open status.\n * Used for uncontrolled version.\n */\n defaultOpen?: boolean;\n /** Default placement of the popover. */\n placement?: PopoverPlacement;\n /** Whether the popover is a modal or not. */\n isModal?: boolean;\n /**\n * Whether the component is opened or not.\n * Used for controlled version.\n */\n isOpen?: boolean;\n /** Method to handle component change. */\n onOpen?: (open: boolean) => void;\n}\n\nexport type StyledPopoverProps = PopoverProps;\n","import styled from 'styled-components';\nimport { baseContainer } from '~/components/shared';\nimport { StyledPopoverContentProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledPopoverContent = styled.div<StyledPopoverContentProps>`\n ${baseContainer}\n align-items: center;\n background-color: var(--redsift-color-neutral-white);\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);\n color: var(--redsift-color-neutral-black);\n display: flex;\n filter: drop-shadow(0px 4px 5px rgba(0, 0, 0, 0.14))\n drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.12));\n font-family: var(--redsift-typography-popover-font-family);\n font-size: var(--redsift-typography-popover-font-size);\n font-weight: var(--redsift-typography-popover-font-weight);\n line-height: var(--redsift-typography-popover-line-height);\n max-width: calc(100vw - 48px);\n z-index: var(--redsift-layout-z-index-popover);\n\n &:focus-visible {\n outline: none;\n }\n`;\n","import React, { forwardRef } from 'react';\nimport {\n useMergeRefs,\n FloatingPortal,\n FloatingFocusManager,\n} from '@floating-ui/react';\n\nimport { Comp } from '~/types';\nimport { PopoverContentProps } from './types';\nimport { usePopoverContext } from '../popover';\nimport { StyledPopoverContent } from './styles';\nimport classNames from 'classnames';\n\nconst COMPONENT_NAME = 'PopoverContent';\nconst CLASSNAME = 'redsift-popover-content';\nconst DEFAULT_PROPS: Partial<PopoverContentProps> = {};\n\n/**\n * The PopoverContent component.\n */\nexport const PopoverContent: Comp<PopoverContentProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const { children, className, style } = props;\n const {\n context: floatingContext,\n getFloatingProps,\n isModal,\n isOpen,\n refs,\n strategy,\n x,\n y,\n } = usePopoverContext();\n const popoverRef = useMergeRefs([refs.setFloating, ref]);\n\n return (\n <FloatingPortal>\n {isOpen && (\n <FloatingFocusManager context={floatingContext} modal={isModal}>\n <StyledPopoverContent\n className={classNames(PopoverContent.className, className)}\n ref={popoverRef}\n style={{\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n width: 'fit-content',\n ...style,\n }}\n {...getFloatingProps(props)}\n >\n {children}\n </StyledPopoverContent>\n </FloatingFocusManager>\n )}\n </FloatingPortal>\n );\n });\nPopoverContent.className = CLASSNAME;\nPopoverContent.defaultProps = DEFAULT_PROPS;\nPopoverContent.displayName = COMPONENT_NAME;\n","import React, { forwardRef, ReactElement } from 'react';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Comp } from '~/types';\nimport { usePopoverContext } from '../popover';\nimport { PopoverTriggerProps } from './types';\nimport { isComponent } from '~/utils';\n\nconst COMPONENT_NAME = 'PopoverTrigger';\nconst CLASSNAME = 'redsift-popover-trigger';\nconst DEFAULT_PROPS: Partial<PopoverTriggerProps> = {};\n\n/**\n * The PopoverTrigger component.\n */\nexport const PopoverTrigger: Comp<PopoverTriggerProps, HTMLButtonElement> =\n forwardRef((props, ref) => {\n const { children } = props;\n\n const { getReferenceProps, isOpen, handleOpen, refs } = usePopoverContext();\n const childrenRef = (children as any).ref;\n const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);\n\n if (\n isComponent('Button')(children) ||\n isComponent('IconButton')(children) ||\n isComponent('LinkButton')(children)\n ) {\n return React.cloneElement(children, {\n ...getReferenceProps({\n ref: triggerRef,\n ...props,\n ...(children as ReactElement).props,\n }),\n onPress: () => handleOpen(!isOpen),\n isActive: isOpen,\n });\n }\n\n return <>{children}</>;\n });\nPopoverTrigger.className = CLASSNAME;\nPopoverTrigger.defaultProps = DEFAULT_PROPS;\nPopoverTrigger.displayName = COMPONENT_NAME;\n","import React, { useCallback, useEffect, useState } from 'react';\nimport {\n useFloating,\n autoUpdate,\n offset,\n flip,\n shift,\n useDismiss,\n useRole,\n useInteractions,\n} from '@floating-ui/react';\nimport { PopoverProps } from './types';\n\nexport function usePopover({\n defaultOpen,\n placement,\n isModal,\n isOpen: propsIsOpen,\n onOpen,\n}: Omit<PopoverProps, 'children'>) {\n const [isOpen, setIsOpen] = useState(propsIsOpen ?? defaultOpen);\n\n useEffect(() => {\n setIsOpen(propsIsOpen ?? defaultOpen);\n }, [propsIsOpen, defaultOpen]);\n\n const handleOpen = useCallback(\n (collapsed: boolean) => {\n if (onOpen) {\n onOpen(collapsed);\n }\n if (propsIsOpen === undefined || propsIsOpen === null) {\n setIsOpen(collapsed);\n }\n },\n [onOpen]\n );\n\n const data = useFloating({\n placement,\n open: isOpen,\n onOpenChange: handleOpen,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset(2),\n flip({\n fallbackAxisSideDirection: 'end',\n }),\n shift({ padding: 2 }),\n ],\n });\n\n const context = data.context;\n\n const dismiss = useDismiss(context);\n const role = useRole(context);\n\n const interactions = useInteractions([dismiss, role]);\n\n return React.useMemo(\n () => ({\n isOpen,\n handleOpen,\n ...interactions,\n ...data,\n isModal,\n }),\n [isOpen, handleOpen, interactions, data, isModal]\n );\n}\n","import React from 'react';\nimport { partitionComponents, isComponent } from '~/utils';\nimport { PopoverContent } from '../popover-content';\nimport { PopoverTrigger } from '../popover-trigger';\n\nimport { PopoverContext } from './context';\nimport { PopoverPlacement, PopoverProps } from './types';\nimport { usePopover } from './usePopover';\n\nconst COMPONENT_NAME = 'Popover';\nconst CLASSNAME = 'redsift-popover';\nconst DEFAULT_PROPS: Partial<PopoverProps> = {\n isModal: false,\n placement: PopoverPlacement.bottom,\n};\n\n/**\n * The Popover component.\n */\nexport const BasePopover: React.FC<PopoverProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const { children, defaultOpen, placement, isModal, isOpen, onOpen } = props;\n\n const popover = usePopover({\n defaultOpen,\n placement,\n isModal,\n isOpen,\n onOpen,\n });\n\n const [[trigger], [content]] = partitionComponents(\n React.Children.toArray(children),\n [isComponent('PopoverTrigger'), isComponent('PopoverContent')]\n );\n\n return (\n <PopoverContext.Provider value={popover}>\n {trigger}\n {content}\n </PopoverContext.Provider>\n );\n};\nBasePopover.className = CLASSNAME;\nBasePopover.defaultProps = DEFAULT_PROPS;\nBasePopover.displayName = COMPONENT_NAME;\n\nexport const Popover = Object.assign(BasePopover, {\n Trigger: PopoverTrigger,\n Content: PopoverContent,\n});\n","import React from 'react';\nimport { PopoverContext } from './context';\n\nexport const usePopoverContext = () => {\n const context = React.useContext(PopoverContext);\n\n if (context == null) {\n throw new Error('Popover components must be wrapped in <Popover />');\n }\n\n return context;\n};\n","import { ComponentProps, ReactNode } from 'react';\nimport { ValueOf, SizingProps, SpacingProps } from '~/types';\n\n/**\n * Component variant.\n */\nexport const ToastVariant = {\n success: 'success',\n error: 'error',\n warning: 'warning',\n info: 'info',\n loading: 'loading',\n} as const;\nexport type ToastVariant = ValueOf<typeof ToastVariant>;\n\nexport const ToastPlacement = {\n 'top-right': 'top-right',\n 'top-center': 'top-center',\n 'top-left': 'top-left',\n 'bottom-right': 'bottom-right',\n 'bottom-center': 'bottom-center',\n 'bottom-left': 'bottom-left',\n} as const;\nexport type ToastPlacement = ValueOf<typeof ToastPlacement>;\n\n/**\n * Component props.\n */\nexport interface ToastProps\n extends Omit<ComponentProps<'div'>, 'id' | 'style'>,\n SpacingProps,\n SizingProps {\n /** Whether the component has a close button or not. */\n closeButton?: boolean | ReactNode;\n /** Title. */\n title?: string;\n /** Variant */\n variant?: ToastVariant;\n}\n\nexport type StyledToastProps = Omit<ToastProps, 'variant' | 'id'> & {\n $hasTitle: boolean;\n $variant: ToastProps['variant'];\n};\n","import enUS from './en-US.json';\nimport frFR from './fr-FR.json';\n\nexport default {\n 'en-US': enUS,\n 'fr-FR': frFR,\n};\n","import styled, { css } from 'styled-components';\nimport { baseStyling } from '~/components/shared';\nimport { StyledToastProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledToast = styled.div<StyledToastProps>`\n ${baseStyling}\n\n padding: 16px;\n box-shadow: 0px 2px 4px -1px rgb(0 0 0 / 20%), 0px 4px 5px rgb(0 0 0 / 14%),\n 0px 1px 10px rgb(0 0 0 / 12%);\n\n ${({ $hasTitle, $variant }) => css`\n background-color: ${$variant === 'loading'\n ? 'var(--redsift-color-neutral-white)'\n : `var(--redsift-color-${$variant}-hover)`};\n\n .redsift-toast__header {\n h5 {\n line-height: 26px;\n }\n }\n\n .redsift-toast-header__icon-button {\n padding: 0px;\n .redsift-icon {\n color: var(--redsift-color-neutral-black);\n }\n\n &:hover,\n &:focus-visible {\n background-color: var(--redsift-color-${$variant}-active);\n }\n }\n\n .redsift-toast__content {\n margin-top: ${$hasTitle ? '8px' : '-24px'};\n margin-left: 38px;\n }\n `}\n`;\n","import styled from 'styled-components';\nimport {\n baseFlexbox,\n baseInternalSpacing,\n baseStyling,\n} from '~/components/shared';\nimport { StyledFlexboxProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledFlexbox = styled.div<StyledFlexboxProps>`\n display: ${({ inline }) => (inline ? 'inline-flex' : 'flex')};\n\n ${baseStyling}\n ${baseInternalSpacing}\n ${baseFlexbox}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '~/types';\nimport { StyledFlexbox } from './styles';\nimport { FlexboxProps } from './types';\n\nconst COMPONENT_NAME = 'Flexbox';\nconst CLASSNAME = 'redsift-flex-box';\nconst DEFAULT_PROPS: Partial<FlexboxProps> = {\n gap: '16px',\n};\n\n/**\n * The Flexbox component.\n */\nexport const Flexbox: Comp<FlexboxProps, HTMLDivElement> = forwardRef(\n (props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n return (\n <StyledFlexbox\n {...forwardedProps}\n className={classNames(Flexbox.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n >\n {children}\n </StyledFlexbox>\n );\n }\n);\nFlexbox.className = CLASSNAME;\nFlexbox.defaultProps = DEFAULT_PROPS;\nFlexbox.displayName = COMPONENT_NAME;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\n\nimport { useLocalizedStringFormatter } from '@react-aria/i18n';\nimport intlMessages from './intl';\n\nimport {\n mdiAlert,\n mdiAlertCircle,\n mdiCheckCircle,\n mdiClose,\n mdiInformation,\n} from '@redsift/icons';\nimport { IconButton } from '~/components/icon-button';\nimport { ColorPalette, Comp } from '~/types';\nimport { StyledToast } from './styles';\nimport { ToastProps, ToastVariant } from './types';\nimport { Icon } from '~/components/icon';\nimport { Heading } from '~/components/heading';\nimport { Flexbox } from '~/components/flexbox';\nimport { Spinner } from '~/components/spinner';\nimport { isComponent } from '~/utils';\nimport { ButtonColor } from '~/components/button';\n\nconst COMPONENT_NAME = 'Toast';\nconst CLASSNAME = 'redsift-toast';\nconst DEFAULT_PROPS: Partial<ToastProps> = {\n variant: 'info',\n closeButton: true,\n};\n\nconst getVariant = (variant: ToastVariant) => {\n switch (variant) {\n case ToastVariant.info:\n default:\n return <Icon icon={mdiInformation} color={ColorPalette.info} />;\n case ToastVariant.error:\n return <Icon icon={mdiAlertCircle} color={ColorPalette.error} />;\n case ToastVariant.success:\n return <Icon icon={mdiCheckCircle} color={ColorPalette.success} />;\n case ToastVariant.warning:\n return <Icon icon={mdiAlert} color={ColorPalette.warning} />;\n case ToastVariant.loading:\n return <Spinner size=\"small\" />;\n }\n};\n\n/**\n * The Toast component.\n */\nexport const Toast: Comp<\n ToastProps & { closeToast?: () => void },\n HTMLDivElement\n> = forwardRef((props, ref) => {\n const {\n children,\n className,\n closeToast,\n closeButton,\n title,\n variant,\n ...forwardedProps\n } = props;\n\n const stringFormatter = useLocalizedStringFormatter(intlMessages);\n\n const icon = getVariant(variant!);\n\n return (\n <StyledToast\n {...forwardedProps}\n className={classNames(Toast.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n $hasTitle={Boolean(title)}\n $variant={variant}\n >\n <Flexbox\n className={`${Toast.className}__header`}\n justifyContent=\"space-between\"\n >\n <Flexbox justifyContent=\"space-between\" flexDirection=\"column\" gap=\"0\">\n <Flexbox\n className={`${Toast.className}-header__title`}\n gap=\"14px\"\n alignItems=\"flex-start\"\n >\n {icon}\n {title ? <Heading as=\"h5\">{title}</Heading> : null}\n </Flexbox>\n\n {children ? (\n <div className={`${Toast.className}__content`}>{children}</div>\n ) : null}\n </Flexbox>\n\n {closeButton === true ? (\n <IconButton\n aria-label={stringFormatter.format('close')}\n className={`${Toast.className}-header__icon-button`}\n icon={mdiClose}\n onPress={closeToast}\n />\n ) : isComponent('Button')(closeButton) ||\n isComponent('IconButton')(closeButton) ? (\n React.cloneElement(closeButton, {\n color: variant === 'loading' ? 'default' : (variant as ButtonColor),\n onPress: () => {\n closeButton.props.onPress?.();\n closeToast?.();\n },\n })\n ) : null}\n </Flexbox>\n </StyledToast>\n );\n});\nToast.className = CLASSNAME;\nToast.defaultProps = DEFAULT_PROPS;\nToast.displayName = COMPONENT_NAME;\n","import styled from 'styled-components';\nimport { ToastContainer } from 'react-toastify';\nimport { StyledToastContainerProps } from './types';\n\nexport const ReactToastify = styled.div`\n :root {\n --toastify-color-light: #fff;\n --toastify-color-dark: #121212;\n --toastify-color-info: #3498db;\n --toastify-color-success: #07bc0c;\n --toastify-color-warning: #f1c40f;\n --toastify-color-error: #e74c3c;\n --toastify-color-transparent: rgba(255, 255, 255, 0.7);\n --toastify-icon-color-info: var(--toastify-color-info);\n --toastify-icon-color-success: var(--toastify-color-success);\n --toastify-icon-color-warning: var(--toastify-color-warning);\n --toastify-icon-color-error: var(--toastify-color-error);\n --toastify-toast-width: 320px;\n --toastify-toast-background: #fff;\n --toastify-toast-min-height: 64px;\n --toastify-toast-max-height: 800px;\n --toastify-font-family: sans-serif;\n --toastify-z-index: 9999;\n --toastify-text-color-light: #757575;\n --toastify-text-color-dark: #fff;\n --toastify-text-color-info: #fff;\n --toastify-text-color-success: #fff;\n --toastify-text-color-warning: #fff;\n --toastify-text-color-error: #fff;\n --toastify-spinner-color: #616161;\n --toastify-spinner-color-empty-area: #e0e0e0;\n --toastify-color-progress-light: linear-gradient(\n to right,\n #4cd964,\n #5ac8fa,\n #007aff,\n #34aadc,\n #5856d6,\n #ff2d55\n );\n --toastify-color-progress-dark: #bb86fc;\n --toastify-color-progress-info: var(--toastify-color-info);\n --toastify-color-progress-success: var(--toastify-color-success);\n --toastify-color-progress-warning: var(--toastify-color-warning);\n --toastify-color-progress-error: var(--toastify-color-error);\n }\n\n .Toastify__toast-container {\n z-index: var(--toastify-z-index);\n -webkit-transform: translate3d(0, 0, var(--toastify-z-index) px);\n position: fixed;\n padding: 4px;\n width: var(--toastify-toast-width);\n box-sizing: border-box;\n color: #fff;\n }\n .Toastify__toast-container--top-left {\n top: 1em;\n left: 1em;\n }\n .Toastify__toast-container--top-center {\n top: 1em;\n left: 50%;\n transform: translateX(-50%);\n }\n .Toastify__toast-container--top-right {\n top: 1em;\n right: 1em;\n }\n .Toastify__toast-container--bottom-left {\n bottom: 1em;\n left: 1em;\n }\n .Toastify__toast-container--bottom-center {\n bottom: 1em;\n left: 50%;\n transform: translateX(-50%);\n }\n .Toastify__toast-container--bottom-right {\n bottom: 1em;\n right: 1em;\n }\n\n @media only screen and (max-width: 480px) {\n .Toastify__toast-container {\n width: 100vw;\n padding: 0;\n left: 0;\n margin: 0;\n }\n .Toastify__toast-container--top-left,\n .Toastify__toast-container--top-center,\n .Toastify__toast-container--top-right {\n top: 0;\n transform: translateX(0);\n }\n .Toastify__toast-container--bottom-left,\n .Toastify__toast-container--bottom-center,\n .Toastify__toast-container--bottom-right {\n bottom: 0;\n transform: translateX(0);\n }\n .Toastify__toast-container--rtl {\n right: 0;\n left: initial;\n }\n }\n .Toastify__toast {\n position: relative;\n min-height: var(--toastify-toast-min-height);\n box-sizing: border-box;\n margin-bottom: 1rem;\n padding: 8px;\n border-radius: 4px;\n box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.1),\n 0 2px 15px 0 rgba(0, 0, 0, 0.05);\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: justify;\n justify-content: space-between;\n max-height: var(--toastify-toast-max-height);\n overflow: hidden;\n font-family: var(--toastify-font-family);\n cursor: default;\n direction: ltr;\n /* webkit only issue #791 */\n z-index: 0;\n }\n .Toastify__toast--rtl {\n direction: rtl;\n }\n .Toastify__toast--close-on-click {\n cursor: pointer;\n }\n .Toastify__toast-body {\n margin: auto 0;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n padding: 6px;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n }\n .Toastify__toast-body > div:last-child {\n word-break: break-word;\n -ms-flex: 1;\n flex: 1;\n }\n .Toastify__toast-icon {\n -webkit-margin-end: 10px;\n margin-inline-end: 10px;\n width: 20px;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n display: -ms-flexbox;\n display: flex;\n }\n\n .Toastify--animate {\n animation-fill-mode: both;\n animation-duration: 0.7s;\n }\n\n .Toastify--animate-icon {\n animation-fill-mode: both;\n animation-duration: 0.3s;\n }\n\n @media only screen and (max-width: 480px) {\n .Toastify__toast {\n margin-bottom: 0;\n border-radius: 0;\n }\n }\n .Toastify__toast-theme--dark {\n background: var(--toastify-color-dark);\n color: var(--toastify-text-color-dark);\n }\n .Toastify__toast-theme--light {\n background: var(--toastify-color-light);\n color: var(--toastify-text-color-light);\n }\n .Toastify__toast-theme--colored.Toastify__toast--default {\n background: var(--toastify-color-light);\n color: var(--toastify-text-color-light);\n }\n .Toastify__toast-theme--colored.Toastify__toast--info {\n color: var(--toastify-text-color-info);\n background: var(--toastify-color-info);\n }\n .Toastify__toast-theme--colored.Toastify__toast--success {\n color: var(--toastify-text-color-success);\n background: var(--toastify-color-success);\n }\n .Toastify__toast-theme--colored.Toastify__toast--warning {\n color: var(--toastify-text-color-warning);\n background: var(--toastify-color-warning);\n }\n .Toastify__toast-theme--colored.Toastify__toast--error {\n color: var(--toastify-text-color-error);\n background: var(--toastify-color-error);\n }\n\n .Toastify__progress-bar-theme--light {\n background: var(--toastify-color-progress-light);\n }\n .Toastify__progress-bar-theme--dark {\n background: var(--toastify-color-progress-dark);\n }\n .Toastify__progress-bar--info {\n background: var(--toastify-color-progress-info);\n }\n .Toastify__progress-bar--success {\n background: var(--toastify-color-progress-success);\n }\n .Toastify__progress-bar--warning {\n background: var(--toastify-color-progress-warning);\n }\n .Toastify__progress-bar--error {\n background: var(--toastify-color-progress-error);\n }\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--error {\n background: var(--toastify-color-transparent);\n }\n\n .Toastify__close-button {\n color: #fff;\n background: transparent;\n outline: none;\n border: none;\n padding: 0;\n cursor: pointer;\n opacity: 0.7;\n transition: 0.3s ease;\n -ms-flex-item-align: start;\n align-self: flex-start;\n }\n .Toastify__close-button--light {\n color: #000;\n opacity: 0.3;\n }\n .Toastify__close-button > svg {\n fill: currentColor;\n height: 16px;\n width: 14px;\n }\n .Toastify__close-button:hover,\n .Toastify__close-button:focus {\n opacity: 1;\n }\n\n @keyframes Toastify__trackProgress {\n 0% {\n transform: scaleX(1);\n }\n 100% {\n transform: scaleX(0);\n }\n }\n .Toastify__progress-bar {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 5px;\n z-index: var(--toastify-z-index);\n opacity: 0.7;\n transform-origin: left;\n }\n .Toastify__progress-bar--animated {\n animation: Toastify__trackProgress linear 1 forwards;\n }\n .Toastify__progress-bar--controlled {\n transition: transform 0.2s;\n }\n .Toastify__progress-bar--rtl {\n right: 0;\n left: initial;\n transform-origin: right;\n }\n\n .Toastify__spinner {\n width: 20px;\n height: 20px;\n box-sizing: border-box;\n border: 2px solid;\n border-radius: 100%;\n border-color: var(--toastify-spinner-color-empty-area);\n border-right-color: var(--toastify-spinner-color);\n animation: Toastify__spin 0.65s linear infinite;\n }\n\n @keyframes Toastify__bounceInRight {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n from {\n opacity: 0;\n transform: translate3d(3000px, 0, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(-25px, 0, 0);\n }\n 75% {\n transform: translate3d(10px, 0, 0);\n }\n 90% {\n transform: translate3d(-5px, 0, 0);\n }\n to {\n transform: none;\n }\n }\n @keyframes Toastify__bounceOutRight {\n 20% {\n opacity: 1;\n transform: translate3d(-20px, 0, 0);\n }\n to {\n opacity: 0;\n transform: translate3d(2000px, 0, 0);\n }\n }\n @keyframes Toastify__bounceInLeft {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 0% {\n opacity: 0;\n transform: translate3d(-3000px, 0, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(25px, 0, 0);\n }\n 75% {\n transform: translate3d(-10px, 0, 0);\n }\n 90% {\n transform: translate3d(5px, 0, 0);\n }\n to {\n transform: none;\n }\n }\n @keyframes Toastify__bounceOutLeft {\n 20% {\n opacity: 1;\n transform: translate3d(20px, 0, 0);\n }\n to {\n opacity: 0;\n transform: translate3d(-2000px, 0, 0);\n }\n }\n @keyframes Toastify__bounceInUp {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n from {\n opacity: 0;\n transform: translate3d(0, 3000px, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(0, -20px, 0);\n }\n 75% {\n transform: translate3d(0, 10px, 0);\n }\n 90% {\n transform: translate3d(0, -5px, 0);\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n }\n @keyframes Toastify__bounceOutUp {\n 20% {\n transform: translate3d(0, -10px, 0);\n }\n 40%,\n 45% {\n opacity: 1;\n transform: translate3d(0, 20px, 0);\n }\n to {\n opacity: 0;\n transform: translate3d(0, -2000px, 0);\n }\n }\n @keyframes Toastify__bounceInDown {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 0% {\n opacity: 0;\n transform: translate3d(0, -3000px, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(0, 25px, 0);\n }\n 75% {\n transform: translate3d(0, -10px, 0);\n }\n 90% {\n transform: translate3d(0, 5px, 0);\n }\n to {\n transform: none;\n }\n }\n @keyframes Toastify__bounceOutDown {\n 20% {\n transform: translate3d(0, 10px, 0);\n }\n 40%,\n 45% {\n opacity: 1;\n transform: translate3d(0, -20px, 0);\n }\n to {\n opacity: 0;\n transform: translate3d(0, 2000px, 0);\n }\n }\n .Toastify__bounce-enter--top-left,\n .Toastify__bounce-enter--bottom-left {\n animation-name: Toastify__bounceInLeft;\n }\n .Toastify__bounce-enter--top-right,\n .Toastify__bounce-enter--bottom-right {\n animation-name: Toastify__bounceInRight;\n }\n .Toastify__bounce-enter--top-center {\n animation-name: Toastify__bounceInDown;\n }\n .Toastify__bounce-enter--bottom-center {\n animation-name: Toastify__bounceInUp;\n }\n\n .Toastify__bounce-exit--top-left,\n .Toastify__bounce-exit--bottom-left {\n animation-name: Toastify__bounceOutLeft;\n }\n .Toastify__bounce-exit--top-right,\n .Toastify__bounce-exit--bottom-right {\n animation-name: Toastify__bounceOutRight;\n }\n .Toastify__bounce-exit--top-center {\n animation-name: Toastify__bounceOutUp;\n }\n .Toastify__bounce-exit--bottom-center {\n animation-name: Toastify__bounceOutDown;\n }\n\n @keyframes Toastify__zoomIn {\n from {\n opacity: 0;\n transform: scale3d(0.3, 0.3, 0.3);\n }\n 50% {\n opacity: 1;\n }\n }\n @keyframes Toastify__zoomOut {\n from {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n transform: scale3d(0.3, 0.3, 0.3);\n }\n to {\n opacity: 0;\n }\n }\n .Toastify__zoom-enter {\n animation-name: Toastify__zoomIn;\n }\n\n .Toastify__zoom-exit {\n animation-name: Toastify__zoomOut;\n }\n\n @keyframes Toastify__flipIn {\n from {\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n animation-timing-function: ease-in;\n opacity: 0;\n }\n 40% {\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n animation-timing-function: ease-in;\n }\n 60% {\n transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n opacity: 1;\n }\n 80% {\n transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n }\n to {\n transform: perspective(400px);\n }\n }\n @keyframes Toastify__flipOut {\n from {\n transform: perspective(400px);\n }\n 30% {\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n opacity: 1;\n }\n to {\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n opacity: 0;\n }\n }\n .Toastify__flip-enter {\n animation-name: Toastify__flipIn;\n }\n\n .Toastify__flip-exit {\n animation-name: Toastify__flipOut;\n }\n\n @keyframes Toastify__slideInRight {\n from {\n transform: translate3d(110%, 0, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n }\n @keyframes Toastify__slideInLeft {\n from {\n transform: translate3d(-110%, 0, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n }\n @keyframes Toastify__slideInUp {\n from {\n transform: translate3d(0, 110%, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n }\n @keyframes Toastify__slideInDown {\n from {\n transform: translate3d(0, -110%, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n }\n @keyframes Toastify__slideOutRight {\n from {\n transform: translate3d(0, 0, 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(110%, 0, 0);\n }\n }\n @keyframes Toastify__slideOutLeft {\n from {\n transform: translate3d(0, 0, 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(-110%, 0, 0);\n }\n }\n @keyframes Toastify__slideOutDown {\n from {\n transform: translate3d(0, 0, 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(0, 500px, 0);\n }\n }\n @keyframes Toastify__slideOutUp {\n from {\n transform: translate3d(0, 0, 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(0, -500px, 0);\n }\n }\n .Toastify__slide-enter--top-left,\n .Toastify__slide-enter--bottom-left {\n animation-name: Toastify__slideInLeft;\n }\n .Toastify__slide-enter--top-right,\n .Toastify__slide-enter--bottom-right {\n animation-name: Toastify__slideInRight;\n }\n .Toastify__slide-enter--top-center {\n animation-name: Toastify__slideInDown;\n }\n .Toastify__slide-enter--bottom-center {\n animation-name: Toastify__slideInUp;\n }\n\n .Toastify__slide-exit--top-left,\n .Toastify__slide-exit--bottom-left {\n animation-name: Toastify__slideOutLeft;\n }\n .Toastify__slide-exit--top-right,\n .Toastify__slide-exit--bottom-right {\n animation-name: Toastify__slideOutRight;\n }\n .Toastify__slide-exit--top-center {\n animation-name: Toastify__slideOutUp;\n }\n .Toastify__slide-exit--bottom-center {\n animation-name: Toastify__slideOutDown;\n }\n\n @keyframes Toastify__spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n }\n`;\n\n/**\n * Component style.\n */\nexport const StyledToastContainer = styled(\n ToastContainer\n)<StyledToastContainerProps>`\n --toastify-color-light: var(--redsift-color-neutral-white);\n --toastify-color-dark: var(--redsift-color-neutral-black);\n --toastify-color-info: var(--redsift-color-info-primary);\n --toastify-color-success: var(--redsift-color-success-primary);\n --toastify-color-warning: var(--redsift-color-warning-primary);\n --toastify-color-error: var(--redsift-color-error-primary);\n --toastify-color-transparent: rgba(255, 255, 255, 0.7);\n --toastify-icon-color-info: var(--toastify-color-info);\n --toastify-icon-color-success: var(--toastify-color-success);\n --toastify-icon-color-warning: var(--toastify-color-warning);\n --toastify-icon-color-error: var(--toastify-color-error);\n --toastify-toast-width: 'fit-content';\n --toastify-toast-background: var(--redsift-color-neutral-white);\n --toastify-toast-min-height: 58px;\n --toastify-toast-max-height: 800px;\n --toastify-font-family: sans-serif;\n --toastify-z-index: var(--redsift-layout-z-index-tooltip);\n --toastify-text-color-light: var(--redsift-color-neutral-black);\n --toastify-text-color-dark: var(--redsift-color-neutral-white);\n --toastify-text-color-info: var(--redsift-color-neutral-white);\n --toastify-text-color-success: var(--redsift-color-neutral-white);\n --toastify-text-color-warning: var(--redsift-color-neutral-white);\n --toastify-text-color-error: var(--redsift-color-neutral-white);\n --toastify-spinner-color: var(--redsift-color-neutral-darkgrey);\n --toastify-spinner-color-empty-area: var(--redsift-color-neutral-lightgrey);\n --toastify-color-progress-light: var(--redsift-color-neutral-darkgrey);\n --toastify-color-progress-dark: var(--redsift-color-neutral-xlightgrey);\n --toastify-color-progress-default: var(--redsift-color-default-primary);\n --toastify-color-progress-info: var(--toastify-color-info);\n --toastify-color-progress-success: var(--toastify-color-success);\n --toastify-color-progress-warning: var(--toastify-color-warning);\n --toastify-color-progress-error: var(--toastify-color-error);\n\n min-width: 350px;\n max-width: 600px;\n\n .Toastify__toast {\n border-radius: unset;\n box-shadow: 0px 2px 4px -1px rgb(0 0 0 / 20%), 0px 4px 5px rgb(0 0 0 / 14%),\n 0px 1px 10px rgb(0 0 0 / 12%);\n padding: 0;\n }\n\n .Toastify__toast-body {\n padding: 0;\n }\n\n .Toastify__toast-theme--colored.Toastify__toast--default {\n background: none;\n }\n .Toastify__toast-theme--colored.Toastify__toast--info {\n background: none;\n }\n .Toastify__toast-theme--colored.Toastify__toast--success {\n background: none;\n }\n .Toastify__toast-theme--colored.Toastify__toast--warning {\n background: none;\n }\n .Toastify__toast-theme--colored.Toastify__toast--error {\n background: none;\n }\n\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--default {\n background: var(--toastify-color-progress-default);\n }\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--info {\n background: var(--toastify-color-progress-info);\n }\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--success {\n background: var(--toastify-color-progress-success);\n }\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning {\n background: var(--toastify-color-progress-warning);\n }\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--error {\n background: var(--toastify-color-progress-error);\n }\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport { Slide } from 'react-toastify';\n\nimport { Comp } from '~/types';\nimport { ReactToastify, StyledToastContainer } from './styles';\nimport { ToastContainerProps } from './types';\n\nconst COMPONENT_NAME = 'ToastContainer';\nconst CLASSNAME = 'redsift-toast-container';\nconst DEFAULT_PROPS: Partial<ToastContainerProps> = {\n autoClose: 5000,\n closeOnClick: false,\n draggable: true,\n pauseOnFocusLoss: true,\n pauseOnHover: true,\n placement: 'top-right',\n};\n\n/**\n * The ToastContainer component.\n */\nexport const ToastContainer: Comp<ToastContainerProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const { placement, ...forwardedProps } = props;\n\n return (\n <ReactToastify>\n <StyledToastContainer\n {...forwardedProps}\n className={ToastContainer.className}\n closeButton={false}\n icon={false}\n newestOnTop={placement!.includes('bottom')}\n position={placement}\n ref={ref as RefObject<HTMLDivElement>}\n theme=\"colored\"\n transition={Slide}\n />\n </ReactToastify>\n );\n });\nToastContainer.className = CLASSNAME;\nToastContainer.defaultProps = DEFAULT_PROPS;\nToastContainer.displayName = COMPONENT_NAME;\n","import React from 'react';\nimport { toast } from 'react-toastify';\nimport { Toast } from '../toast';\nimport { useToastProps, useToastReturnType } from './types';\n\nconst notify: useToastReturnType['notify'] = (\n { content, closeButton, placement, title, variant = 'info', ...options },\n props\n) => {\n return toast(\n <Toast title={title} variant={variant} closeButton={closeButton} {...props}>\n {content}\n </Toast>,\n {\n type: variant === 'loading' ? 'default' : variant,\n ...(placement && { position: placement }),\n ...options,\n }\n );\n};\n\nconst update: useToastReturnType['update'] = (\n id,\n { content, closeButton, placement, title, variant = 'info', ...options },\n props\n) => {\n toast.update(id, {\n render: ({ closeToast }) => (\n <Toast\n title={title}\n variant={variant}\n closeButton={closeButton}\n closeToast={closeToast}\n {...props}\n >\n {content}\n </Toast>\n ),\n type: variant === 'loading' ? 'default' : variant,\n ...(placement && { position: placement }),\n ...options,\n });\n};\n\nconst promise: useToastReturnType['promise'] = (\n promise,\n { pending, success, error },\n { closeButton, placement, ...options } = {},\n props\n) => {\n toast.promise(promise, {\n pending: {\n render: ({ closeToast }) => (\n <Toast\n closeButton={closeButton}\n title={pending.title}\n variant=\"loading\"\n closeToast={closeToast}\n {...props}\n >\n {pending.content}\n </Toast>\n ),\n type: 'default',\n ...(placement && { position: placement }),\n ...options,\n },\n success: {\n render: ({ closeToast }) => (\n <Toast\n closeButton={closeButton}\n title={success.title}\n variant=\"success\"\n closeToast={closeToast}\n {...props}\n >\n {success.content}\n </Toast>\n ),\n type: 'success',\n ...(placement && { position: placement }),\n ...options,\n },\n error: {\n render: ({ closeToast }) => (\n <Toast\n closeButton={closeButton}\n title={error.title}\n variant=\"error\"\n closeToast={closeToast}\n {...props}\n >\n {error.content}\n </Toast>\n ),\n type: 'error',\n ...(placement && { position: placement }),\n ...options,\n },\n });\n};\n\nexport const useToast: useToastProps = () => {\n return {\n notify: notify,\n clearWaitingQueue: toast.clearWaitingQueue,\n dismiss: toast.dismiss,\n done: toast.done,\n error: (options, props) => {\n return notify({ variant: 'error', ...options }, props);\n },\n info: (options, props) => {\n return notify({ variant: 'info', ...options }, props);\n },\n isActive: toast.isActive,\n loading: (options, props) => {\n return notify({ variant: 'loading', ...options }, props);\n },\n promise: promise,\n success: (options, props) => {\n return notify({ variant: 'success', ...options }, props);\n },\n update: update,\n warning: (options, props) => {\n return notify({ variant: 'warning', ...options }, props);\n },\n };\n};\n","import React from 'react';\nimport { TooltipState } from './types';\n\nexport const TooltipContext = React.createContext<TooltipState | null>(null);\n","import { ReactNode } from 'react';\nimport { ValueOf } from '~/types';\nimport { useTooltip } from './useTooltip';\n\n/**\n * Context props.\n */\nexport type TooltipState = ReturnType<typeof useTooltip> | null;\n\n/**\n * Component variant.\n */\nexport const TooltipPlacement = {\n top: 'top',\n right: 'right',\n bottom: 'bottom',\n left: 'left',\n 'top-start': 'top-start',\n 'top-end': 'top-end',\n 'right-start': 'right-start',\n 'right-end': 'right-end',\n 'bottom-start': 'bottom-start',\n 'bottom-end': 'bottom-end',\n 'left-start': 'left-start',\n 'left-end': 'left-end',\n} as const;\nexport type TooltipPlacement = ValueOf<typeof TooltipPlacement>;\n\n/**\n * Component props.\n */\nexport interface TooltipProps {\n /** Children. Can only be TooltipTrigger and TooltilContent. */\n children: ReactNode;\n /**\n * Default open status.\n * Used for uncontrolled version.\n */\n defaultOpen?: boolean;\n /** Delay time (in ms) for the tooltip to show up. */\n delay?: number;\n /** Default placement of the tooltip. */\n placement?: TooltipPlacement;\n /**\n * Whether the component is opened or not.\n * Used for controlled version.\n */\n isOpen?: boolean;\n /** Method to handle component change. */\n onOpen?: (open: boolean) => void;\n /** Id to the tooltip content. */\n tooltipId?: string;\n}\n\nexport type StyledTooltipProps = TooltipProps;\n","import styled, { css } from 'styled-components';\nimport { baseContainer } from '~/components/shared';\nimport { TooltipPlacement } from '../tooltip';\nimport { StyledTooltipContentProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledTooltipContent = styled.div<StyledTooltipContentProps>`\n ${baseContainer}\n\n align-items: center;\n background-color: var(--redsift-color-neutral-white);\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);\n color: var(--redsift-color-neutral-black);\n display: flex;\n filter: drop-shadow(0px 4px 5px rgba(0, 0, 0, 0.14))\n drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.12));\n font-family: var(--redsift-typography-tooltip-font-family);\n font-size: var(--redsift-typography-tooltip-font-size);\n font-weight: var(--redsift-typography-tooltip-font-weight);\n line-height: var(--redsift-typography-tooltip-line-height);\n max-width: calc(100vw - 48px);\n padding: 4px 8px;\n z-index: var(--redsift-layout-z-index-tooltip);\n\n .redsift-tooltip-content__arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: var(--redsift-color-neutral-white);\n border-style: solid;\n }\n\n ${({ $placement }) => {\n switch ($placement) {\n case TooltipPlacement.left:\n case TooltipPlacement['left-end']:\n case TooltipPlacement['left-start']:\n return css`\n .redsift-tooltip-content__arrow {\n border-width: 6px 0 6px 6px;\n border-top-color: transparent;\n border-right-color: transparent;\n border-bottom-color: transparent;\n }\n `;\n case TooltipPlacement.top:\n case TooltipPlacement['top-end']:\n case TooltipPlacement['top-start']:\n return css`\n .redsift-tooltip-content__arrow {\n border-width: 6px 6px 0;\n border-right-color: transparent;\n border-bottom-color: transparent;\n border-left-color: transparent;\n }\n `;\n case TooltipPlacement.right:\n case TooltipPlacement['right-end']:\n case TooltipPlacement['right-start']:\n return css`\n .redsift-tooltip-content__arrow {\n border-width: 6px 6px 6px 0;\n border-top-color: transparent;\n border-bottom-color: transparent;\n border-left-color: transparent;\n }\n `;\n case TooltipPlacement.bottom:\n case TooltipPlacement['bottom-end']:\n case TooltipPlacement['bottom-start']:\n default:\n return css`\n .redsift-tooltip-content__arrow {\n border-width: 0 6px 6px;\n border-top-color: transparent;\n border-right-color: transparent;\n border-left-color: transparent;\n }\n `;\n }\n }}\n`;\n","import React, { forwardRef } from 'react';\nimport { useMergeRefs, FloatingPortal } from '@floating-ui/react';\n\nimport { Comp } from '~/types';\nimport { TooltipContentProps } from './types';\nimport { TooltipPlacement, useTooltipContext } from '../tooltip';\nimport { StyledTooltipContent } from './styles';\nimport classNames from 'classnames';\n\nconst COMPONENT_NAME = 'TooltipContent';\nconst CLASSNAME = 'redsift-tooltip-content';\nconst DEFAULT_PROPS: Partial<TooltipContentProps> = {};\n\n/**\n * The TooltipContent component.\n */\nexport const TooltipContent: Comp<TooltipContentProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const { children, className, style } = props;\n const {\n getFloatingProps,\n isOpen,\n placement,\n refs,\n strategy,\n tooltipId,\n x,\n y,\n middlewareData: { arrow: { x: arrowX, y: arrowY } = {} },\n } = useTooltipContext();\n const popoverRef = useMergeRefs([refs.setFloating, ref]);\n\n const { arrowRef } = useTooltipContext();\n\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[placement.split('-')[0]];\n\n return (\n <FloatingPortal id={tooltipId}>\n {isOpen && (\n <StyledTooltipContent\n className={classNames(TooltipContent.className, className)}\n ref={popoverRef}\n style={{\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n visibility: x == null ? 'hidden' : 'visible',\n ...style,\n }}\n {...getFloatingProps(props)}\n $placement={placement as TooltipPlacement}\n >\n <div\n ref={arrowRef}\n className={`${TooltipContent.className}__arrow`}\n style={{\n left: arrowX != null ? `${arrowX}px` : '',\n top: arrowY != null ? `${arrowY}px` : '',\n [staticSide!]: '-6px',\n }}\n />\n <div className={`${TooltipContent.className}__inner`}>\n {children}\n </div>\n </StyledTooltipContent>\n )}\n </FloatingPortal>\n );\n });\nTooltipContent.className = CLASSNAME;\nTooltipContent.defaultProps = DEFAULT_PROPS;\nTooltipContent.displayName = COMPONENT_NAME;\n","import React, { forwardRef, ReactElement } from 'react';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Comp } from '~/types';\nimport { useTooltipContext } from '../tooltip';\nimport { TooltipTriggerProps } from './types';\n\nconst COMPONENT_NAME = 'TooltipTrigger';\nconst CLASSNAME = 'redsift-tooltip-trigger';\nconst DEFAULT_PROPS: Partial<TooltipTriggerProps> = {};\n\n/**\n * The TooltipTrigger component.\n */\nexport const TooltipTrigger: Comp<TooltipTriggerProps, HTMLSpanElement> =\n forwardRef((props, ref) => {\n const { children } = props;\n\n const { getReferenceProps, refs, tooltipId } = useTooltipContext();\n const childrenRef = (children as any).ref;\n const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);\n\n if (React.isValidElement(children)) {\n return React.cloneElement(children as ReactElement, {\n ...getReferenceProps({\n ref: triggerRef,\n ...props,\n 'aria-describedby': tooltipId,\n ...children.props,\n }),\n });\n }\n\n return (\n <span ref={triggerRef} {...getReferenceProps(props)}>\n {children}\n </span>\n );\n });\nTooltipTrigger.className = CLASSNAME;\nTooltipTrigger.defaultProps = DEFAULT_PROPS;\nTooltipTrigger.displayName = COMPONENT_NAME;\n","import React, { useCallback, useEffect, useId, useRef, useState } from 'react';\nimport {\n useFloating,\n arrow,\n autoUpdate,\n offset,\n flip,\n shift,\n useHover,\n useFocus,\n useDismiss,\n useRole,\n useInteractions,\n} from '@floating-ui/react';\nimport { TooltipProps } from './types';\n\nexport function useTooltip({\n defaultOpen,\n delay,\n placement,\n isOpen: propsIsOpen,\n onOpen,\n tooltipId: propsTooltipId,\n}: Omit<TooltipProps, 'children'>) {\n const arrowRef = useRef(null);\n const [isOpen, setIsOpen] = useState(propsIsOpen ?? defaultOpen);\n\n const tooltipId = propsTooltipId ?? useId();\n\n useEffect(() => {\n setIsOpen(propsIsOpen ?? defaultOpen);\n }, [propsIsOpen, defaultOpen]);\n\n const handleOpen = useCallback(\n (collapsed: boolean) => {\n if (onOpen) {\n onOpen(collapsed);\n }\n if (propsIsOpen === undefined || propsIsOpen === null) {\n setIsOpen(collapsed);\n }\n },\n [onOpen]\n );\n\n const data = useFloating({\n placement,\n open: isOpen,\n onOpenChange: handleOpen,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset(8),\n flip({\n fallbackAxisSideDirection: 'start',\n }),\n shift({ padding: 8 }),\n arrow({\n element: arrowRef,\n }),\n ],\n });\n\n const context = data.context;\n\n const hover = useHover(context, {\n move: false,\n delay: {\n open: delay,\n close: 0,\n },\n });\n const focus = useFocus(context);\n const dismiss = useDismiss(context);\n const role = useRole(context, { role: 'tooltip' });\n\n const interactions = useInteractions([hover, focus, dismiss, role]);\n\n return React.useMemo(\n () => ({\n isOpen,\n handleOpen,\n ...interactions,\n ...data,\n arrowRef,\n tooltipId,\n }),\n [isOpen, handleOpen, interactions, data, arrowRef, tooltipId]\n );\n}\n","import React from 'react';\nimport { partitionComponents, isComponent } from '~/utils';\nimport { TooltipContent } from '../tooltip-content';\nimport { TooltipTrigger } from '../tooltip-trigger';\n\nimport { TooltipContext } from './context';\nimport { TooltipPlacement, TooltipProps } from './types';\nimport { useTooltip } from './useTooltip';\n\nconst COMPONENT_NAME = 'Tooltip';\nconst CLASSNAME = 'redsift-tooltip';\nconst DEFAULT_PROPS: Partial<TooltipProps> = {\n delay: 500,\n placement: TooltipPlacement.top,\n};\n\n/**\n * The Tooltip component.\n */\nexport const BaseTooltip: React.FC<TooltipProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const { children, defaultOpen, delay, isOpen, onOpen, placement, tooltipId } =\n props;\n\n const tooltip = useTooltip({\n defaultOpen,\n delay,\n placement,\n isOpen,\n onOpen,\n tooltipId,\n });\n\n const [[trigger], [content]] = partitionComponents(\n React.Children.toArray(children),\n [isComponent('TooltipTrigger'), isComponent('TooltipContent')]\n );\n\n return (\n <TooltipContext.Provider value={tooltip}>\n {trigger}\n {content}\n </TooltipContext.Provider>\n );\n};\nBaseTooltip.className = CLASSNAME;\nBaseTooltip.defaultProps = DEFAULT_PROPS;\nBaseTooltip.displayName = COMPONENT_NAME;\n\nexport const Tooltip = Object.assign(BaseTooltip, {\n Trigger: TooltipTrigger,\n Content: TooltipContent,\n});\n","import React from 'react';\nimport { TooltipContext } from './context';\n\nexport const useTooltipContext = () => {\n const context = React.useContext(TooltipContext);\n\n if (context == null) {\n throw new Error('Tooltip components must be wrapped in <Tooltip />');\n }\n\n return context;\n};\n"],"names":["DialogContext","React","createContext","DialogSize","small","medium","large","isComponent","component","instance","componentName","displayName","isValidElement","type","partitionComponents","components","predicates","elements","map","forEach","found","predicate","index","push","length","warnIfNoAccessibleLabelFound","props","additionalKeysToCheck","ariaLabel","ariaLabelledby","hasText","filter","key","hasAriaLabel","Boolean","console","warn","$89yE2$react","$89yE2$useContext","$89yE2$useState","$89yE2$useLayoutEffect","$iFADg$useIsSSR","$iFADg$useState","$iFADg$useEffect","$iFADg$react","$iFADg$useContext","$iFADg$LocalizedStringDictionary","$iFADg$useMemo","$iFADg$LocalizedStringFormatter","enUS","frFR","IconButtonVariant","primary","secondary","unstyled","ColorPalette","default","success","error","warning","info","question","ProductColorPalette","website","ondmarc","oninbox","ondomain","hardenize","tools","IconSize","xsmall","xlarge","baseLayout","css","flex","flexGrow","flexShrink","flexBasis","alignSelf","justifySelf","order","gridArea","gridColumn","gridRow","gridColumnStart","gridColumnEnd","gridRowStart","gridRowEnd","undefined","baseSpacing","margin","marginBottom","marginLeft","marginRight","marginTop","baseInternalSpacing","padding","paddingBottom","paddingLeft","paddingRight","paddingTop","baseSizing","height","maxHeight","maxWidth","minHeight","minWidth","width","basePositioning","position","top","bottom","left","right","zIndex","baseFlexbox","alignContent","alignItems","flexDirection","flexWrap","gap","justifyContent","baseGrid","gridAutoColumns","gridAutoRows","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","justifyItems","baseStyling","baseContainer","display","StyledIcon","styled","span","$color","Object","keys","indexOf","$size","COMPONENT_NAME","CLASSNAME","DEFAULT_PROPS","size","Icon","forwardRef","ref","ariaHidden","badge","className","color","icon","svgProps","forwardedProps","_excluded","classNames","defaultProps","ButtonVariant","StyledButton","button","$variant","$isActive","$isDisabled","$fullWidth","SpinnerSize","StyledSpinner","img","AppContainerContext","colorToFile","spinnerDefault","spinnerHardenize","spinnerNoData","spinnerOndmarc","spinnerOndomain","spinnerOninbox","spinnerQuestion","spinnerTools","spinnerWebsite","sizeToDimension","Spinner","propsColor","appContainerState","useContext","productTheme","stringFormatter","useLocalizedStringFormatter","intlMessages","format","StyledIconButton","variant","IconButton","buttonRef","useRef","buttonProps","isPressed","useButton","_objectSpread","isDisabled","disabled","preventFocusOnPress","isActive","onPress","StyledDialogContent","div","StyledFloatingOverlay","FloatingOverlay","StyledDialogContentActions","DialogContentActions","children","actionsRef","initialFocus","useDialogContext","useMergeRefs","StyledDialogContentBody","$marginTop","$marginBottom","useBoundingClientRect","deps","boundingRect","setBoundingRect","useState","useEffect","current","getBoundingClientRect","DialogContentBody","bodyRef","hasCloseButton","headerRef","headerHeight","actionsHeight","Math","max","StyledHeading","$noWrap","Heading","as","noWrap","StyledDialogContentHeader","DialogContentHeader","header","headingProps","subheader","setLabelId","setDescriptionId","labelId","useId","descriptionId","useLayoutEffect","BaseDialogContent","context","floatingContext","getFloatingProps","refs","handleOpen","propsInitialFocus","isMounted","styles","useTransitionStyles","dialogRef","setFloating","body","actions","Children","toArray","DialogContent","mdiClose","assign","Header","Body","Actions","DialogTrigger","getReferenceProps","isOpen","childrenRef","triggerRef","setReference","cloneElement","useDialog","defaultOpen","propsIsOpen","onOpen","setIsOpen","useCallback","collapsed","data","useFloating","open","onOpenChange","dismiss","useDismiss","outsidePressEvent","role","useRole","interactions","useInteractions","useMemo","BaseDialog","dialog","trigger","content","Dialog","Trigger","Content","Error","PopoverContext","PopoverPlacement","StyledPopoverContent","PopoverContent","style","isModal","strategy","x","y","usePopoverContext","popoverRef","PopoverTrigger","usePopover","placement","whileElementsMounted","autoUpdate","middleware","offset","flip","fallbackAxisSideDirection","shift","BasePopover","popover","Popover","ToastVariant","loading","ToastPlacement","StyledToast","$hasTitle","StyledFlexbox","inline","Flexbox","closeButton","getVariant","mdiInformation","mdiAlertCircle","mdiCheckCircle","mdiAlert","Toast","closeToast","title","ReactToastify","StyledToastContainer","ToastContainer","autoClose","closeOnClick","draggable","pauseOnFocusLoss","pauseOnHover","includes","Slide","notify","options","toast","update","id","render","promise","pending","useToast","clearWaitingQueue","done","TooltipContext","TooltipPlacement","StyledTooltipContent","$placement","TooltipContent","tooltipId","middlewareData","arrow","arrowX","arrowY","useTooltipContext","arrowRef","staticSide","split","visibility","TooltipTrigger","useTooltip","delay","propsTooltipId","element","hover","useHover","move","close","focus","useFocus","BaseTooltip","tooltip","Tooltip"],"mappings":";;;;;;;;AAGO,MAAMA,aAAa,gBAAGC,KAAK,CAACC,aAAa,CAAqB,IAAI;;ACCzE;AACA;AACA;;AAQA;AACA;AACA;AACO,MAAMC,UAAU,GAAG;AACxBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,OAAA;AACT;;AClBA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,WAAW,GAClBC,SAAgC,IACnCC,QAAmB,IAA+B;EACjD,MAAMC,aAAa,GACjB,OAAOF,SAAS,KAAK,QAAQ,GAAGA,SAAS,GAAGA,SAAS,CAACG,WAAW,CAAA;AAEnE,EAAA,oBACEV,KAAK,CAACW,cAAc,CAACH,QAAQ,CAAC,IAC7BA,QAAQ,CAACI,IAAI,CAAeF,WAAW,KAAKD,aAAa,CAAA;AAE9D,CAAC;;ACnBH;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASI,mBAAmB,CACjCC,UAAe,EACfC,UAAoC,EAC7B;AACP,EAAA,MAAMC,QAAe,GAAG,CAAC,GAAGD,UAAU,CAACE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;AACzDH,EAAAA,UAAU,CAACI,OAAO,CAAEX,SAAS,IAAK;IAChC,IAAIY,KAAK,GAAG,KAAK,CAAA;AACjBJ,IAAAA,UAAU,CAACG,OAAO,CAAC,CAACE,SAAS,EAAEC,KAAK,KAAK;AACvC,MAAA,IAAID,SAAS,CAACb,SAAS,CAAC,EAAE;AACxBS,QAAAA,QAAQ,CAACK,KAAK,CAAC,CAACC,IAAI,CAACf,SAAS,CAAC,CAAA;AAC/BY,QAAAA,KAAK,GAAG,IAAI,CAAA;AACd,OAAA;AACF,KAAC,CAAC,CAAA;IACF,IAAI,CAACA,KAAK,EAAE;MACVH,QAAQ,CAACA,QAAQ,CAACO,MAAM,GAAG,CAAC,CAAC,CAACD,IAAI,CAACf,SAAS,CAAC,CAAA;AAC/C,KAAA;AACF,GAAC,CAAC,CAAA;AACF,EAAA,OAAOS,QAAQ,CAAA;AACjB;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMQ,4BAA4B,GAAG,CAC1CC,KAAkD,EAClDC,qBAAsC,KAC7B;EACT,MAAM;AAAE,IAAA,YAAY,EAAEC,SAAS;AAAE,IAAA,iBAAiB,EAAEC,cAAAA;AAAe,GAAC,GAAGH,KAAK,CAAA;AAE5E,EAAA,MAAMI,OAAO,GACXH,qBAAqB,IACrBA,qBAAqB,CAACI,MAAM,CAAEC,GAAG,IAAK,CAAC,CAACA,GAAG,CAAC,CAACR,MAAM,GAAG,CAAC,CAAA;AACzD,EAAA,MAAMS,YAAY,GAAGC,OAAO,CAACN,SAAS,IAAIC,cAAc,CAAC,CAAA;AAEzD,EAAA,IAAI,CAACI,YAAY,IAAI,CAACH,OAAO,EAAE;AAC7BK,IAAAA,OAAO,CAACC,IAAI,CAAC,4CAA4C,CAAC,CAAA;AAC5D,GAAA;AACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,oCAAoC,GAAG;AAC7C,IAAI,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC;AAC3D,IAAI,OAAO,EAAE,CAAC;AACd,CAAC,CAAC;AACF,MAAM,gCAAgC,iBAAiB,CAAIC,KAAY,EAAE,aAAa,CAAC,oCAAoC,CAAC,CAAC;AA0B7H,SAAS,yCAAyC,GAAG;AACrD,IAAI,IAAI,GAAG,GAAG,CAAIC,UAAiB,EAAE,gCAAgC,CAAC,CAAC;AACvE,IAAI,IAAI,cAAc,GAAG,GAAG,KAAK,oCAAoC,CAAC;AACtE,IAAI,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAIC,QAAe,EAAE,cAAc,CAAC,CAAC;AACjE;AACA;AACA,IAAI,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,cAAc;AACvD;AACA;AACA,IAAI,CAAIC,eAAsB,EAAE,IAAI;AACpC,QAAQ,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,OAAO,KAAK,CAAC;AACjB;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,yCAAyC,CAAC;AACpD,oEAAoE,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE;AACpG,QAAQ,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC3C,QAAQ,IAAI,CAAC,OAAO,EAAE;AACtB,YAAY,OAAO,GAAG,yCAAyC,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;AAC1G,YAAY,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;AAC3C,SAAS;AACT,QAAQ,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAClC,QAAQ,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,4BAA4B,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/F,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK;AACL,IAAI,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC;AAClD;AACA,QAAQ,IAAI,CAAC,OAAO,GAAG;AACvB,YAAY,GAAG,QAAQ;AACvB,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;AAC3C,KAAK;AACL,CAAC;AACD,SAAS,yCAAyC,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,EAAE;AAC7F;AACA,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;AAChD;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,GAAG,iCAAiC,CAAC,MAAM,CAAC,CAAC;AAC7D,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;AACpD,IAAI,IAAI,IAAI,GAAG,IAAI,OAAO,CAAC;AAC3B,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;AAChE,KAAK;AACL;AACA,IAAI,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC;AAClC,CAAC;AACD,SAAS,iCAAiC,CAAC,MAAM,EAAE;AACnD;AACA,IAAI,IAAI,IAAI,CAAC,MAAM;AACnB,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;AAC5C,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,sCAAsC,GAAG,IAAI,GAAG,EAAE,CAAC;AAC7D,MAAM,uCAAuC,GAAG,IAAI,GAAG,EAAE,CAAC;AAC1D,MAAM,yCAAyC,CAAC;AAChD,qFAAqF,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE;AAC5G,QAAQ,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACxE,QAAQ,OAAO,OAAO,OAAO,KAAK,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC;AAClF,KAAK;AACL,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,GAAG,UAAU,EAAE;AAC9C,QAAQ,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;AACvC,QAAQ,IAAI,GAAG,EAAE,OAAO,OAAO,GAAG,KAAK,UAAU,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;AAChE,QAAQ,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;AAC3C,QAAQ,IAAI,WAAW,GAAG,sCAAsC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC1E,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,YAAY,WAAW,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE;AAC5D,gBAAgB,IAAI,EAAE,IAAI;AAC1B,aAAa,CAAC,CAAC;AACf,YAAY,sCAAsC,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;AACzE,SAAS;AACT,QAAQ,IAAI,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjD,QAAQ,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC;AACjD,QAAQ,OAAO,OAAO,GAAG,KAAK,UAAU,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;AACvD,KAAK;AACL,IAAI,MAAM,CAAC,KAAK,EAAE;AAClB,QAAQ,IAAI,YAAY,GAAG,uCAAuC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACpF,QAAQ,IAAI,CAAC,YAAY,EAAE;AAC3B,YAAY,YAAY,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9D,YAAY,uCAAuC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AACnF,SAAS;AACT,QAAQ,OAAO,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1C,KAAK;AACL,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE;AAC3B,QAAQ,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC;AAClD,QAAQ,OAAO,OAAO,GAAG,KAAK,UAAU,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;AACvD,KAAK;AACL,IAAI,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC;AAChC,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,KAAK;AACL;;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,iCAAiC,GAAG,IAAI,GAAG,CAAC;AAClD,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,MAAM;AACV,CAAC,CAAC,CAAC;AACH,MAAM,+BAA+B,GAAG,IAAI,GAAG,CAAC;AAChD,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,IAAI;AACR,CAAC,CAAC,CAAC;AACH,SAAS,yCAAyC,CAAC,MAAM,EAAE;AAC3D;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;AACrB;AACA,QAAQ,IAAI,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;AAC/D,QAAQ,OAAO,iCAAiC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7D,KAAK;AACL;AACA,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,IAAI,OAAO,+BAA+B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yCAAyC,GAAG;AACrD;AACA,IAAI,IAAI,MAAM,GAAG,OAAO,SAAS,KAAK,WAAW,KAAK,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC;AAC/G,IAAI,IAAI;AACR;AACA,QAAQ,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC;AAC/C,YAAY,MAAM;AAClB,SAAS,CAAC,CAAC;AACX,KAAK,CAAC,OAAO,IAAI,EAAE;AACnB,QAAQ,MAAM,GAAG,OAAO,CAAC;AACzB,KAAK;AACL,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,SAAS,EAAE,CAAI,yCAAyC,EAAE,MAAM,CAAC,GAAG,KAAK,GAAG,KAAK;AACzF,KAAK,CAAC;AACN,CAAC;AACD,IAAI,mCAAmC,GAAG,yCAAyC,EAAE,CAAC;AACtF,IAAI,+BAA+B,GAAG,IAAI,GAAG,EAAE,CAAC;AAChD,SAAS,kCAAkC,GAAG;AAC9C,IAAI,mCAAmC,GAAG,yCAAyC,EAAE,CAAC;AACtF,IAAI,KAAK,IAAI,QAAQ,IAAI,+BAA+B,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;AACvG,CAAC;AACD,SAAS,yCAAyC,GAAG;AACrD,IAAI,IAAI,KAAK,GAAG,CAAIC,yCAAe,GAAG,CAAC;AACvC,IAAI,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,CAAIC,QAAe,EAAE,mCAAmC,CAAC,CAAC;AACtG,IAAI,CAAIC,SAAgB,EAAE,IAAI;AAC9B,QAAQ,IAAI,+BAA+B,CAAC,IAAI,KAAK,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,kCAAkC,CAAC,CAAC;AACtI,QAAQ,+BAA+B,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC9D,QAAQ,OAAO,IAAI;AACnB,YAAY,+BAA+B,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACrE,YAAY,IAAI,+BAA+B,CAAC,IAAI,KAAK,CAAC,EAAE,MAAM,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,kCAAkC,CAAC,CAAC;AAC7I,SAAS,CAAC;AACV,KAAK,EAAE,EAAE,CAAC,CAAC;AACX;AACA;AACA,IAAI,IAAI,KAAK,EAAE,OAAO;AACtB,QAAQ,MAAM,EAAE,OAAO;AACvB,QAAQ,SAAS,EAAE,KAAK;AACxB,KAAK,CAAC;AACN,IAAI,OAAO,aAAa,CAAC;AACzB,CAAC;AACD;AACA;AACA;AACA,MAAM,iCAAiC,iBAAiB,CAAIC,KAAY,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;AAY9F,SAAS,yCAAyC,GAAG;AACrD,IAAI,IAAI,aAAa,GAAG,CAAI,yCAAyC,GAAG,CAAC;AACzE,IAAI,IAAI,OAAO,GAAG,CAAIC,UAAiB,EAAE,iCAAiC,CAAC,CAAC;AAC5E,IAAI,OAAO,OAAO,IAAI,aAAa,CAAC;AACpC,CAAC;AAKD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,2BAA2B,GAAG,IAAI,OAAO,EAAE,CAAC;AAClD,SAAS,yCAAyC,CAAC,OAAO,EAAE;AAC5D,IAAI,IAAI,UAAU,GAAG,2BAA2B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC9D,IAAI,IAAI,CAAC,UAAU,EAAE;AACrB,QAAQ,UAAU,GAAG,KAAQC,yCAAgC,EAAE,OAAO,CAAC,CAAC;AACxE,QAAQ,2BAA2B,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAC7D,KAAK;AACL,IAAI,OAAO,UAAU,CAAC;AACtB,CAAC;AACD,SAAS,yCAAyC,CAAC,OAAO,EAAE;AAC5D,IAAI,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CAAI,yCAAyC,GAAG,CAAC;AAC/E,IAAI,IAAI,UAAU,GAAG,CAAIC,OAAc,EAAE,IAAI,yCAAyC,CAAC,OAAO,CAAC,EAAE;AACjG,QAAQ,OAAO;AACf,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,CAAIA,OAAc,EAAE,IAAI,KAAQC,yCAA+B,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE;AACjG,QAAQ,MAAM;AACd,QAAQ,UAAU;AAClB,KAAK,CAAC,CAAC;AACP;;;;;;;;;;;;ACjMA,qBAAe;AACb,EAAA,OAAO,EAAEC,MAAI;AACb,EAAA,OAAO,EAAEC,MAAAA;AACX,CAAC;;ACGD;AACA;AACA;AACO,MAAMC,iBAAiB,GAAG;AAC/BC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,QAAQ,EAAE,UAAA;AACZ,CAAU;;ACdV;AACA;AACA;AACO,MAAMC,YAAY,GAAG;AAC1BC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,QAAQ,EAAE,UAAU;AACpB,EAAA,SAAS,EAAE,SAAA;AACb,CAAU,CAAA;AAGH,MAAMC,mBAAmB,GAAG;AACjCC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,KAAK,EAAE,OAAA;AACT,CAAU;;ACbV;AACA;AACA;AACO,MAAMC,QAAQ,GAAG;AACtBC,EAAAA,MAAM,EAAE,QAAQ;AAChBlE,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,OAAO;AACdiE,EAAAA,MAAM,EAAE,QAAA;AACV,CAAU;;ACNH,MAAMC,UAAU,GAAGC,GAAiB,CAAA;AAC3C,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;IACDC,IAAI;IACJC,QAAQ;IACRC,UAAU;IACVC,SAAS;IACTC,SAAS;IACTC,WAAW;IACXC,KAAK;IACLC,QAAQ;IACRC,UAAU;IACVC,OAAO;IACPC,eAAe;IACfC,aAAa;IACbC,YAAY;AACZC,IAAAA,UAAAA;GACD,GAAA,IAAA,CAAA;AAAA,EAAA,OACCd,GAAI,CAAA;AACR,MAAA,EAAQC,IAAI,GAAI,CAAA,MAAA,EAAQA,IAAK,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACrC,MAAQC,EAAAA,QAAQ,KAAKa,SAAS,GAAI,cAAab,QAAS,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAChE,MAAQC,EAAAA,UAAU,KAAKY,SAAS,GAAI,gBAAeZ,UAAW,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACtE,MAAA,EAAQC,SAAS,GAAI,CAAA,YAAA,EAAcA,SAAU,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACrD,MAAA,EAAQC,SAAS,GAAI,CAAA,YAAA,EAAcA,SAAU,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACrD,MAAA,EAAQC,WAAW,GAAI,CAAA,cAAA,EAAgBA,WAAY,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC3D,MAAQC,EAAAA,KAAK,KAAKQ,SAAS,GAAI,UAASR,KAAM,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACtD,MAAA,EAAQC,QAAQ,GAAI,CAAA,WAAA,EAAaA,QAAS,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAClD,MAAA,EAAQC,UAAU,GAAI,CAAA,aAAA,EAAeA,UAAW,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACxD,MAAA,EAAQC,OAAO,GAAI,CAAA,UAAA,EAAYA,OAAQ,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC/C,MAAA,EAAQC,eAAe,GAAI,CAAA,mBAAA,EAAqBA,eAAgB,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACxE,MAAA,EAAQC,aAAa,GAAI,CAAA,iBAAA,EAAmBA,aAAc,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAClE,MAAA,EAAQC,YAAY,GAAI,CAAA,gBAAA,EAAkBA,YAAa,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC/D,MAAA,EAAQC,UAAU,GAAI,CAAA,cAAA,EAAgBA,UAAW,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACzD,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN,CAAC,CAAA;AAEM,MAAME,WAAW,GAAGhB,GAAkB,CAAA;AAC7C,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;IAAEiB,MAAM;IAAEC,YAAY;IAAEC,UAAU;IAAEC,WAAW;AAAEC,IAAAA,SAAAA;GAAW,GAAA,KAAA,CAAA;AAAA,EAAA,OAC7DrB,GAAI,CAAA;AACR,MAAA,EAAQiB,MAAM,GAAI,CAAA,QAAA,EAAUA,MAAO,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC3C,MAAA,EAAQC,YAAY,GAAI,CAAA,eAAA,EAAiBA,YAAa,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC9D,MAAA,EAAQC,UAAU,GAAI,CAAA,aAAA,EAAeA,UAAW,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACxD,MAAA,EAAQC,WAAW,GAAI,CAAA,cAAA,EAAgBA,WAAY,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC3D,MAAA,EAAQC,SAAS,GAAI,CAAA,YAAA,EAAcA,SAAU,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACrD,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN,CAAC,CAAA;AAEM,MAAMC,mBAAmB,GAAGtB,GAA0B,CAAA;AAC7D,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;IAAEuB,OAAO;IAAEC,aAAa;IAAEC,WAAW;IAAEC,YAAY;AAAEC,IAAAA,UAAAA;GAAY,GAAA,KAAA,CAAA;AAAA,EAAA,OAClE3B,GAAI,CAAA;AACR,MAAA,EAAQuB,OAAO,GAAI,CAAA,SAAA,EAAWA,OAAQ,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC9C,MAAA,EAAQC,aAAa,GAAI,CAAA,gBAAA,EAAkBA,aAAc,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACjE,MAAA,EAAQC,WAAW,GAAI,CAAA,cAAA,EAAgBA,WAAY,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC3D,MAAA,EAAQC,YAAY,GAAI,CAAA,eAAA,EAAiBA,YAAa,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC9D,MAAA,EAAQC,UAAU,GAAI,CAAA,aAAA,EAAeA,UAAW,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACxD,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN,CAAC,CAAA;AAEM,MAAMC,UAAU,GAAG5B,GAAiB,CAAA;AAC3C,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;IAAE6B,MAAM;IAAEC,SAAS;IAAEC,QAAQ;IAAEC,SAAS;IAAEC,QAAQ;AAAEC,IAAAA,KAAAA;GAAO,GAAA,KAAA,CAAA;AAAA,EAAA,OAC5DlC,GAAI,CAAA;AACR,MAAA,EAAQ6B,MAAM,KAAKd,SAAS,GACjB,CAAA,QAAA,EAAU,OAAOc,MAAM,KAAK,QAAQ,GAAI,GAAEA,MAAO,CAAA,EAAA,CAAG,GAAGA,MAAO,CAAA,CAAA,CAAE,GACjE,EAAG,CAAA;AACb,MAAA,EAAQC,SAAS,GAAI,CAAA,YAAA,EAAcA,SAAU,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACrD,MAAA,EAAQC,QAAQ,GAAI,CAAA,WAAA,EAAaA,QAAS,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAClD,MAAA,EAAQC,SAAS,GAAI,CAAA,YAAA,EAAcA,SAAU,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACrD,MAAA,EAAQC,QAAQ,GAAI,CAAA,WAAA,EAAaA,QAAS,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAClD,MAAA,EAAQC,KAAK,KAAKnB,SAAS,GAChB,CAAA,OAAA,EAAS,OAAOmB,KAAK,KAAK,QAAQ,GAAI,GAAEA,KAAM,CAAA,EAAA,CAAG,GAAGA,KAAM,CAAA,CAAA,CAAE,GAC7D,EAAG,CAAA;AACb,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN,CAAC,CAAA;AAEM,MAAMC,eAAe,GAAGnC,GAAsB,CAAA;AACrD,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;IAAEoC,QAAQ;IAAEC,GAAG;IAAEC,MAAM;IAAEC,IAAI;IAAEC,KAAK;AAAEC,IAAAA,MAAAA;GAAQ,GAAA,KAAA,CAAA;AAAA,EAAA,OAC/CzC,GAAI,CAAA;AACR,MAAA,EAAQoC,QAAQ,GAAI,CAAA,UAAA,EAAYA,QAAS,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACjD,MAAA,EAAQC,GAAG,GAAI,CAAA,KAAA,EAAOA,GAAI,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAClC,MAAA,EAAQC,MAAM,GAAI,CAAA,QAAA,EAAUA,MAAO,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC3C,MAAA,EAAQC,IAAI,GAAI,CAAA,MAAA,EAAQA,IAAK,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACrC,MAAA,EAAQC,KAAK,GAAI,CAAA,OAAA,EAASA,KAAM,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACxC,MAAA,EAAQC,MAAM,GAAI,CAAA,SAAA,EAAWA,MAAO,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC5C,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN,CAAC,CAAA;AAEM,MAAMC,WAAW,GAAG1C,GAAqB,CAAA;AAChD,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;IACD2C,YAAY;IACZC,UAAU;IACVC,aAAa;IACbC,QAAQ;IACRC,GAAG;AACHC,IAAAA,cAAAA;GACD,GAAA,KAAA,CAAA;AAAA,EAAA,OACChD,GAAI,CAAA;AACR,MAAA,EAAQ2C,YAAY,GAAI,CAAA,eAAA,EAAiBA,YAAa,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC9D,MAAA,EAAQC,UAAU,GAAI,CAAA,aAAA,EAAeA,UAAW,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACxD,MAAA,EAAQC,aAAa,GAAI,CAAA,gBAAA,EAAkBA,aAAc,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACjE,MAAA,EAAQC,QAAQ,GAAI,CAAA,WAAA,EAAaA,QAAS,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAClD,WAAA,EAAaC,GAAI,CAAA;AACjB,MAAA,EAAQC,cAAc,GAAI,CAAA,iBAAA,EAAmBA,cAAe,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACpE,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN,CAAC,CAAA;AAEM,MAAMC,QAAQ,GAAGjD,GAAqB,CAAA;AAC7C,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;IACD2C,YAAY;IACZC,UAAU;IACVG,GAAG;IACHG,eAAe;IACfC,YAAY;IACZC,iBAAiB;IACjBC,mBAAmB;IACnBC,gBAAgB;IAChBN,cAAc;AACdO,IAAAA,YAAAA;GACD,GAAA,KAAA,CAAA;AAAA,EAAA,OACCvD,GAAI,CAAA;AACR,MAAA,EAAQ2C,YAAY,GAAI,CAAA,eAAA,EAAiBA,YAAa,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC9D,MAAA,EAAQC,UAAU,GAAI,CAAA,aAAA,EAAeA,UAAW,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACxD,MAAA,EAAQG,GAAG,GAAI,CAAA,KAAA,EAAOA,GAAI,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAClC,MAAA,EAAQG,eAAe,GAAI,CAAA,mBAAA,EAAqBA,eAAgB,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACxE,MAAA,EAAQC,YAAY,GAAI,CAAA,gBAAA,EAAkBA,YAAa,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC/D,MAAA,EAAQC,iBAAiB,GAAI,CAAA,qBAAA,EAAuBA,iBAAkB,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC9E,MAAA,EAAQC,mBAAmB,GAChB,CAAA,uBAAA,EAAyBA,mBAAoB,CAAA,CAAA,CAAE,GAChD,EAAG,CAAA;AACb,MAAA,EAAQC,gBAAgB,GAAI,CAAA,oBAAA,EAAsBA,gBAAiB,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC3E,MAAA,EAAQN,cAAc,GAAI,CAAA,iBAAA,EAAmBA,cAAe,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACpE,MAAA,EAAQO,YAAY,GAAI,CAAA,eAAA,EAAiBA,YAAa,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC9D,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN,CAAC,CAAA;AAEM,MAAMC,WAAW,GAAGxD,GAAkB,CAAA;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,EAAID,UAAW,CAAA;AACf,EAAA,EAAIiB,WAAY,CAAA;AAChB,EAAA,EAAIY,UAAW,CAAA;AACf,EAAA,EAAIO,eAAgB,CAAA;AACpB,CAAC,CAAA;AAEM,MAAMsB,aAAa,GAAGzD,GAAoB,CAAA;AACjD,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;AAAE0D,IAAAA,OAAAA;GAAS,GAAA,KAAA,CAAA;AAAA,EAAA,OAAMA,OAAO,GAAI,CAAA,SAAA,EAAWA,OAAQ,CAAA,CAAA,CAAE,GAAG,EAAE,CAAA;AAAA,CAAE,CAAA;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,EAAIpC,mBAAoB,CAAA;AACxB,EAAA,EAAIoB,WAAY,CAAA;AAChB,EAAA,EAAIO,QAAS,CAAA;AACb,CAAC;;ACrKD;AACA;AACA;AACO,MAAMU,UAAU,GAAGC,MAAM,CAACC,IAAsB,CAAA;AACvD;AACA,EAAA,EAAIL,WAAY,CAAA;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;AAAEM,IAAAA,MAAAA;GAAQ,GAAA,IAAA,CAAA;AAAA,EAAA,OACXA,MAAM,IACN,CAAC,GAAGC,MAAM,CAACC,IAAI,CAAClF,YAAY,CAAC,EAAE,GAAGiF,MAAM,CAACC,IAAI,CAAC3E,mBAAmB,CAAC,CAAC,CAAC4E,OAAO,CACzEH,MAAM,CACP,KAAK,CAAC,CAAC,GACJ9D,GAAI,CAAA;AACZ,qCAAA,EAAuC8D,MAAO,CAAA;AAC9C,QAAA,CAAS,GACD9D,GAAI,CAAA;AACZ,iBAAmB8D,EAAAA,MAAM,IAAI9D,GAAI,CAAuC,qCAAA,CAAA,CAAA;AACxE,QAAS,CAAA,CAAA;AAAA,CAAC,CAAA;AACV;AACA,EAAA,EAAI,KAAe,IAAA;EAAA,IAAd;AAAEkE,IAAAA,KAAAA;GAAO,GAAA,KAAA,CAAA;AACV,EAAA,QAAQA,KAAK;IACX,KAAKtE,QAAQ,CAACE,MAAM;AAClB,MAAA,OAAOE,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;IACH,KAAKJ,QAAQ,CAAC/D,KAAK;AACjB,MAAA,OAAOmE,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;IACH,KAAKJ,QAAQ,CAACjE,KAAK;AACjB,MAAA,OAAOqE,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;IACH,KAAKJ,QAAQ,CAACC,MAAM;AAClB,MAAA,OAAOG,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;IACH,KAAKJ,QAAQ,CAAChE,MAAM,CAAA;AACpB,IAAA;AACE,MAAA,OAAOoE,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;AAAC,GAAA;AAER,CAAE,CAAA;AACJ,CAAC;;;AC5HD,MAAMmE,gBAAc,GAAG,MAAM,CAAA;AAC7B,MAAMC,WAAS,GAAG,cAAc,CAAA;AAChC,MAAMC,eAAiC,GAAG;EACxCC,IAAI,EAAE1E,QAAQ,CAAChE,MAAAA;AACjB,CAAC,CAAA;;AAED;AACA;AACA;AACO,MAAM2I,IAAsC,gBAAGC,UAAU,CAC9D,CAACvH,KAAK,EAAEwH,GAAG,KAAK;EACd,MAAM;AACJ,MAAA,aAAa,EAAEC,UAAU;AACzB,MAAA,YAAY,EAAEvH,SAAS;MACvBwH,KAAK;MACLC,SAAS;MACTC,KAAK;MACLC,IAAI;MACJR,IAAI;AACJS,MAAAA,QAAAA;AAEF,KAAC,GAAG9H,KAAK;AADJ+H,IAAAA,cAAc,4BACf/H,KAAK,EAAAgI,WAAA,CAAA,CAAA;EAET,oBACE,KAAA,CAAA,aAAA,CAAC,UAAU,EAAA,QAAA,CAAA,EAAA,EACLD,cAAc,EAAA;AAClB,IAAA,MAAM,EAAEH,KAAM;AACd,IAAA,KAAK,EAAEP,IAAK;IACZ,aAAanH,EAAAA,SAAS,GAAIuH,UAAU,GAAGA,UAAU,GAAG3D,SAAS,GAAI,IAAK;AACtE,IAAA,YAAA,EAAY5D,SAAU;IACtB,SAAS,EAAE+H,UAAU,CAACX,IAAI,CAACK,SAAS,EAAEA,SAAS,CAAE;AACjD,IAAA,GAAG,EAAEH,GAAAA;AAAkC,GAAA,CAAA,eAEvC,wCACMM,QAAQ,EAAA;IACZ,aAAa5H,EAAAA,SAAS,GAAIuH,UAAU,GAAGA,UAAU,GAAG3D,SAAS,GAAI,IAAK;AACtE,IAAA,YAAA,EAAY5D,SAAU;AACtB,IAAA,SAAS,EAAC,OAAO;AACjB,IAAA,MAAM,EAAC,KAAK;AACZ,IAAA,mBAAmB,EAAC,eAAe;AACnC,IAAA,IAAI,EAAC,KAAK;AACV,IAAA,OAAO,EAAC,WAAW;AACnB,IAAA,KAAK,EAAC,KAAA;GAEN,CAAA,eAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAM,IAAA,CAAC,EAAE2H,IAAK;AAAC,IAAA,IAAI,EAAC,cAAA;AAAc,GAAA,CAAG,CACjC,EACLH,KAAK,GAAGA,KAAK,GAAG,IAAI,CACV,CAAA;AAEjB,CAAC,CACF,CAAA;AACDJ,IAAI,CAACK,SAAS,GAAGR,WAAS,CAAA;AAC1BG,IAAI,CAACY,YAAY,GAAGd,eAAa,CAAA;AACjCE,IAAI,CAACrI,WAAW,GAAGiI,gBAAc;;AClDjC;AACA;AACA;AACO,MAAMiB,aAAa,GAAG;AAC3BzG,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,QAAQ,EAAE,UAAA;AACZ,CAAU;;ACZV;AACA;AACA;AACO,MAAMwG,YAAY,GAAGzB,MAAM,CAAC0B,MAA0B,CAAA;AAC7D,EAAA,EAAI9B,WAAY,CAAA;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;IAAE+B,QAAQ;IAAEzB,MAAM;IAAE0B,SAAS;AAAEC,IAAAA,WAAAA;GAAa,GAAA,IAAA,CAAA;AAAA,EAAA,OAAKzF,GAAI,CAAA;AAC1D,aAAeuF,EAAAA,QAAQ,KAAKH,aAAa,CAACxG,SAAS,GAAG,UAAU,GAAG,UAAW,CAAA;AAC9E;AACA,IAAA,EAAM2G,QAAQ,KAAKH,aAAa,CAACxG,SAAS,GAClCoB,GAAI,CAAA;AACZ,4BAA8BwF,EAAAA,SAAS,GACxB,CAAA,oBAAA,EAAsB1B,MAAO,CAAA,QAAA,CAAS,GACvC2B,WAAW,GACX,oCAAoC,GACpC,oCAAqC,CAAA;AACnD;AACA;AACA,mBAAA,EAAqBA,WAAW,GAChB,sCAAsC,GACrC,CAAA,oBAAA,EAAsB3B,MAAO,CAAW,SAAA,CAAA,CAAA;AACzD;AACA,QAAA,CAAS,GACDyB,QAAQ,KAAKH,aAAa,CAACvG,QAAQ,GACnCmB,GAAI,CAAA;AACZ,4BAA8BwF,EAAAA,SAAS,GACxB,CAAA,oBAAA,EAAsB1B,MAAO,CAAA,QAAA,CAAS,GACvC2B,WAAW,GACX,MAAM,GACN,MAAO,CAAA;AACrB;AACA;AACA,mBAAA,EAAqBA,WAAW,GAChB,sCAAsC,GACrC,CAAA,oBAAA,EAAsB3B,MAAO,CAAW,SAAA,CAAA,CAAA;AACzD;AACA,QAAA,CAAS,GACD9D,GAAI,CAAA;AACZ,4BAAA,EAA8BwF,SAAS,GACxB,CAAsB1B,oBAAAA,EAAAA,MAAO,CAAiB,gBAAA,CAAA,GAC/C2B,WAAW,GACX,wCAAwC,GACvC,CAAsB3B,oBAAAA,EAAAA,MAAO,CAAW,SAAA,CAAA,CAAA;AACvD;AACA;AACA,mBAAA,EAAqB2B,WAAW,GAChB,sCAAsC,GACtC,oCAAqC,CAAA;AACrD;AACA,QAAU,CAAA,CAAA;AACV;AACA,IAAA,EAAMF,QAAQ,KAAKH,aAAa,CAACxG,SAAS,GAClCoB,GAAI,CAAA;AACZ;AACA,YAAA,EAAcyF,WAAW,GACT,sCAAsC,GACrC,CAAA,oBAAA,EAAsB3B,MAAO,CAAW,SAAA,CAAA,CAAA;AACzD,QAAA,CAAS,GACD,EAAG,CAAA;AACX,EAAG,CAAA,CAAA;AAAA,CAAC,CAAA;AACJ;AACA;AACA;AACA;AACA;AACA,IAAM,EAAA,KAAA,IAAA;EAAA,IAAC;IAAEyB,QAAQ;IAAEzB,MAAM;IAAE0B,SAAS;AAAEC,IAAAA,WAAAA;GAAa,GAAA,KAAA,CAAA;AAAA,EAAA,OAAKzF,GAAI,CAAA;AAC5D,cAAA,EAAgByF,WAAW,GAAG,SAAS,GAAG,SAAU,CAAA;AACpD;AACA,MAAA,EAAQF,QAAQ,KAAKH,aAAa,CAACxG,SAAS,GAClCoB,GAAI,CAAA;AACd,8BAAA,EAAgCwF,SAAS,GACxB,CAAsB1B,oBAAAA,EAAAA,MAAO,CAAe,cAAA,CAAA,GAC7C2B,WAAW,GACX,oCAAoC,GACnC,CAAsB3B,oBAAAA,EAAAA,MAAO,CAAS,OAAA,CAAA,CAAA;AACvD;AACA;AACA,qBAAA,EAAuB2B,WAAW,GAChB,sCAAsC,GACrC,CAAA,oBAAA,EAAsB3B,MAAO,CAAa,WAAA,CAAA,CAAA;AAC7D;AACA,UAAA,CAAW,GACDyB,QAAQ,KAAKH,aAAa,CAACvG,QAAQ,GACnCmB,GAAI,CAAA;AACd,8BAAA,EAAgCwF,SAAS,GACxB,CAAsB1B,oBAAAA,EAAAA,MAAO,CAAe,cAAA,CAAA,GAC7C2B,WAAW,GACX,MAAM,GACL,CAAsB3B,oBAAAA,EAAAA,MAAO,CAAS,OAAA,CAAA,CAAA;AACvD;AACA;AACA,qBAAA,EAAuB2B,WAAW,GAChB,sCAAsC,GACrC,CAAA,oBAAA,EAAsB3B,MAAO,CAAa,WAAA,CAAA,CAAA;AAC7D;AACA,UAAA,CAAW,GACD9D,GAAI,CAAA;AACd,8BAAA,EAAgCwF,SAAS,GACxB,CAAsB1B,oBAAAA,EAAAA,MAAO,CAAuB,sBAAA,CAAA,GACrD2B,WAAW,GACX,wCAAwC,GACvC,CAAsB3B,oBAAAA,EAAAA,MAAO,CAAa,WAAA,CAAA,CAAA;AAC3D;AACA;AACA,qBAAA,EAAuB2B,WAAW,GAChB,sCAAsC,GACtC,oCAAqC,CAAA;AACvD;AACA,UAAY,CAAA,CAAA;AACZ;AACA,MAAA,EAAQF,QAAQ,KAAKH,aAAa,CAACxG,SAAS,GAClCoB,GAAI,CAAA;AACd;AACA,cAAA,EAAgByF,WAAW,GACT,sCAAsC,GACrC,CAAA,oBAAA,EAAsB3B,MAAO,CAAW,SAAA,CAAA,CAAA;AAC3D,UAAA,CAAW,GACA,CAAA;AACX;AACA,MAAQ,CAAA,CAAA;AACR,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN;AACA;AACA,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;AAAE4B,IAAAA,UAAAA;GAAY,GAAA,KAAA,CAAA;AAAA,EAAA,OACfA,UAAU,GACL,CAAA;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAA,CAAO,GACC,EAAE,CAAA;AAAA,CAAC,CAAA;AACX,CAAC;;;;;;;;;;;;ACxJD,qBAAe;AACb,EAAA,OAAO,EAAElH,MAAI;AACb,EAAA,OAAO,EAAEC,MAAAA;AACX,CAAC;;ACID;AACA;AACA;AACO,MAAMkH,WAAW,GAAG;AACzB9F,EAAAA,MAAM,EAAE,QAAQ;AAChBlE,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,OAAA;AACT,CAAU;;ACdH,MAAM+J,aAAa,GAAGhC,MAAM,CAACiC,GAAwB,CAAA;AAC5D,EAAA,EAAIrC,WAAY,CAAA;AAChB;AACA;AACA;AACA;AACA,CAAC;;ACPM,MAAMsC,mBAAmB,gBAC9BtK,KAAK,CAACC,aAAa,CAA2B,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;ACiBrD,MAAMsK,WAAW,GAAG;AAClBhH,EAAAA,OAAO,EAAEiH,cAAc;AACvBtG,EAAAA,SAAS,EAAEuG,gBAAgB;AAC3B,EAAA,SAAS,EAAEC,aAAa;AACxB3G,EAAAA,OAAO,EAAE4G,cAAc;AACvB1G,EAAAA,QAAQ,EAAE2G,eAAe;AACzB5G,EAAAA,OAAO,EAAE6G,cAAc;AACvBjH,EAAAA,QAAQ,EAAEkH,eAAe;AACzB3G,EAAAA,KAAK,EAAE4G,YAAY;AACnBjH,EAAAA,OAAO,EAAEkH,cAAAA;AACX,CAAC,CAAA;AAED,MAAMrC,gBAAc,GAAG,SAAS,CAAA;AAChC,MAAMC,WAAS,GAAG,gBAAgB,CAAA;AAClC,MAAMC,eAAoC,GAAG;EAC3CQ,KAAK,EAAE/F,YAAY,CAACC,OAAO;EAC3BuF,IAAI,EAAEqB,WAAW,CAAC/J,MAAAA;AACpB,CAAC,CAAA;AAED,MAAM6K,eAAe,GACnBnC,IAAiB,IACqB;AACtC,EAAA,QAAQA,IAAI;IACV,KAAKqB,WAAW,CAAC9F,MAAM;MACrB,OAAO;AAAEqC,QAAAA,KAAK,EAAE,EAAE;AAAEL,QAAAA,MAAM,EAAE,EAAA;OAAI,CAAA;IAClC,KAAK8D,WAAW,CAAChK,KAAK;MACpB,OAAO;AAAEuG,QAAAA,KAAK,EAAE,EAAE;AAAEL,QAAAA,MAAM,EAAE,EAAA;OAAI,CAAA;IAClC,KAAK8D,WAAW,CAAC9J,KAAK;MACpB,OAAO;AAAEqG,QAAAA,KAAK,EAAE,EAAE;AAAEL,QAAAA,MAAM,EAAE,EAAA;OAAI,CAAA;IAClC,KAAK8D,WAAW,CAAC/J,MAAM,CAAA;AACvB,IAAA;MACE,OAAO;AAAEsG,QAAAA,KAAK,EAAE,EAAE;AAAEL,QAAAA,MAAM,EAAE,EAAA;OAAI,CAAA;AAAC,GAAA;AAEvC,CAAC,CAAA;;AAED;AACA;AACA;AACO,MAAM6E,OAA6C,gBAAGlC,UAAU,CACrE,CAACvH,KAAK,EAAEwH,GAAG,KAAK;EACd,MAAM;AACJ,MAAA,aAAa,EAAEC,UAAU;AACzB,MAAA,YAAY,EAAEvH,SAAS;MACvByH,SAAS;AACTC,MAAAA,KAAK,EAAE8B,UAAU;AACjBrC,MAAAA,IAAAA;AAEF,KAAC,GAAGrH,KAAK;AADJ+H,IAAAA,cAAc,4BACf/H,KAAK,EAAAgI,WAAA,CAAA,CAAA;EAET,MAAM;IAAE/C,KAAK;AAAEL,IAAAA,MAAAA;AAAO,GAAC,GAAG4E,eAAe,CAACnC,IAAI,CAAE,CAAA;AAChD,EAAA,MAAMsC,iBAAiB,GAAGC,UAAU,CAACf,mBAAmB,CAAC,CAAA;AACzD,EAAA,MAAMjB,KAAK,GACT8B,UAAU,KAAK7H,YAAY,CAACC,OAAO,IACnC6H,iBAAiB,IACjBA,iBAAiB,CAACE,YAAY,GAC1BF,iBAAiB,CAACE,YAAY,GAC9BH,UAAU,CAAA;AAEhB,EAAA,MAAMI,eAAe,GAAGC,yCAA2B,CAACC,cAAY,CAAC,CAAA;AAEjE,EAAA,oBACE,oBAAC,aAAa,EAAA,QAAA,CAAA;AACZ,IAAA,GAAG,EAAEF,eAAe,CAACG,MAAM,CAAC,SAAS,CAAA;AAAE,GAAA,EACnClC,cAAc,EAAA;IAClB,aAAa7H,EAAAA,SAAS,GAAIuH,UAAU,GAAGA,UAAU,GAAG3D,SAAS,GAAI,IAAK;AACtE,IAAA,YAAA,EAAY5D,SAAU;IACtB,SAAS,EAAE+H,UAAU,CAACwB,OAAO,CAAC9B,SAAS,EAAEA,SAAS,CAAE;AACpD,IAAA,MAAM,EAAE/C,MAAO;AACf,IAAA,GAAG,EAAE4C,GAAmC;AACxC,IAAA,GAAG,EAAEsB,WAAW,CAAClB,KAAK,CAAG;AACzB,IAAA,KAAK,EAAE3C,KAAM;AACb,IAAA,MAAM,EAAE2C,KAAM;AACd,IAAA,KAAK,EAAEP,IAAAA;GACP,CAAA,CAAA,CAAA;AAEN,CAAC,CACF,CAAA;AACDoC,OAAO,CAAC9B,SAAS,GAAGR,WAAS,CAAA;AAC7BsC,OAAO,CAACvB,YAAY,GAAGd,eAAa,CAAA;AACpCqC,OAAO,CAACxK,WAAW,GAAGiI,gBAAc;;AChGpC;AACA;AACA;AACO,MAAMgD,gBAAgB,GAAGvD,MAAM,CAACyB,YAAY,CAAyB,CAAA;AAC5E,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;AAAEE,IAAAA,QAAAA;GAAU,GAAA,IAAA,CAAA;AAAA,EAAA,OAAKvF,GAAI,CAAA;AAC1B,aAAeuF,EAAAA,QAAQ,KAAK7G,iBAAiB,CAACE,SAAS,GAAG,KAAK,GAAG,KAAM,CAAA;AACxE,EAAG,CAAA,CAAA;AAAA,CAAC,CAAA;AACJ,CAAC;;;ACDD,MAAMuF,gBAAc,GAAG,YAAY,CAAA;AACnC,MAAMC,WAAS,GAAG,qBAAqB,CAAA;AACvC,MAAMC,eAAuC,GAAG;EAC9CQ,KAAK,EAAE/F,YAAY,CAACC,OAAO;AAC3B8C,EAAAA,MAAM,EAAE,aAAa;EACrBuF,OAAO,EAAE1I,iBAAiB,CAACG,QAAAA;AAC7B,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACO,MAAMwI,UAAoD,gBAAG7C,UAAU,CAC5E,CAACvH,KAAK,EAAEwH,GAAG,KAAK;AACd,EAAA,MAAM6C,SAAS,GAAG7C,GAAG,IAAI8C,MAAM,EAAqB,CAAA;EACpD,MAAM;IAAEC,WAAW;AAAEC,IAAAA,SAAAA;GAAW,GAAGC,SAAS,CAAAC,cAAA,CAAAA,cAAA,CAAA,EAAA,EAErC1K,KAAK,CAAA,EAAA,EAAA,EAAA;AACR2K,IAAAA,UAAU,EAAE3K,KAAK,CAAC2K,UAAU,IAAI3K,KAAK,CAAC4K,QAAQ;AAC9CC,IAAAA,mBAAmB,EAAE,IAAA;AAAI,GAAA,CAAA,EAE3BR,SAAS,CACV,CAAA;EAED,MAAM;MACJ1C,SAAS;MACTC,KAAK;MACLgD,QAAQ;MACR/C,IAAI;MACJiD,QAAQ;MACRH,UAAU;AACV;MACAI,OAAO;AACPZ,MAAAA,OAAAA;AAEF,KAAC,GAAGnK,KAAK;AADJ+H,IAAAA,cAAc,4BACf/H,KAAK,EAAAgI,WAAA,CAAA,CAAA;EAETjI,4BAA4B,CAACC,KAAK,CAAC,CAAA;AAEnC,EAAA,oBACE,KAAC,CAAA,aAAA,CAAA,gBAAgB,EACX+H,QAAAA,CAAAA,EAAAA,EAAAA,cAAc,EACdwC,WAAW,EAAA;AACf,IAAA,MAAM,EAAEI,UAAU,IAAIC,QAAQ,GAAG9G,SAAS,GAAG8D,KAAM;IACnD,SAAS,EAAEkD,QAAQ,IAAIN,SAAU;IACjC,WAAW,EAAEG,UAAU,IAAIC,QAAS;AACpC,IAAA,QAAQ,EAAET,OAAQ;IAClB,eAAeQ,EAAAA,UAAU,IAAIC,QAAS;IACtC,SAAS,EAAE3C,UAAU,CAACmC,UAAU,CAACzC,SAAS,EAAEA,SAAS,CAAE;IACvD,QAAQ,EAAEgD,UAAU,IAAIC,QAAS;AACjC,IAAA,GAAG,EAAEP,SAAAA;AAA0C,GAAA,CAAA,eAE/C,oBAAC,IAAI,EAAA;AAAC,IAAA,IAAI,EAAExC,IAAK;AAAC,IAAA,KAAK,EAAE8C,UAAU,IAAIC,QAAQ,GAAG9G,SAAS,GAAG8D,KAAAA;AAAM,GAAA,CAAG,CACtD,CAAA;AAEvB,CAAC,CACF,CAAA;AACDwC,UAAU,CAACzC,SAAS,GAAGR,WAAS,CAAA;AAChCiD,UAAU,CAAClC,YAAY,GAAGd,eAAa,CAAA;AACvCgD,UAAU,CAACnL,WAAW,GAAGiI,gBAAc;;AClEvC;AACA;AACA;AACO,MAAM8D,mBAAmB,GAAGrE,MAAM,CAACsE,GAA8B,CAAA;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,EAAI,IAAe,IAAA;EAAA,IAAd;AAAEhE,IAAAA,KAAAA;GAAO,GAAA,IAAA,CAAA;AACV,EAAA,QAAQA,KAAK;IACX,KAAKxI,UAAU,CAACC,KAAK;AACnB,MAAA,OAAOqE,GAAI,CAAA;AACnB;AACA,QAAS,CAAA,CAAA;IACH,KAAKtE,UAAU,CAACG,KAAK;AACnB,MAAA,OAAOmE,GAAI,CAAA;AACnB;AACA,QAAS,CAAA,CAAA;IACH,KAAKtE,UAAU,CAACE,MAAM,CAAA;AACtB,IAAA;AACE,MAAA,OAAOoE,GAAI,CAAA;AACnB;AACA,QAAS,CAAA,CAAA;AAAC,GAAA;AAER,CAAE,CAAA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAA;AAEM,MAAMmI,qBAAqB,GAAGvE,MAAM,CAACwE,eAAe,CAAE,CAAA;AAC7D;AACA;AACA;AACA;AACA,CAAC;;ACnED;AACA;AACA;AACO,MAAMC,0BAA0B,GAAGzE,MAAM,CAACsE,GAAqC,CAAA;AACtF;AACA,EAAA,EAAIzE,aAAc,CAAA;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;ACRD,MAAMU,gBAAc,GAAG,sBAAsB,CAAA;AAC7C,MAAMC,WAAS,GAAG,gCAAgC,CAAA;AAClD,MAAMC,eAAiD,GAAG;AACxDxB,EAAAA,aAAa,EAAE,KAAA;AACjB,CAAC,CAAA;;AAED;AACA;AACA;AACO,MAAMyF,oBAGZ,gBAAG9D,UAAU,CAAC,CAACvH,KAAK,EAAEwH,GAAG,KAAK;EAC7B,MAAM;MAAE8D,QAAQ;AAAE3D,MAAAA,SAAAA;AAA6B,KAAC,GAAG3H,KAAK;AAAxB+H,IAAAA,cAAc,4BAAK/H,KAAK,EAAAgI,WAAA,CAAA,CAAA;EAExD,MAAM;IAAEuD,UAAU;AAAEC,IAAAA,YAAAA;GAAc,GAAGC,gBAAgB,EAAE,CAAA;EAEvD,oBACE,KAAA,CAAA,aAAA,CAAC,0BAA0B,EAAA,QAAA,CAAA,EAAA,EACrB1D,cAAc,EAAA;IAClB,SAAS,EAAEE,UAAU,CAACoD,oBAAoB,CAAC1D,SAAS,EAAEA,SAAS,CAAE;IACjE,GAAG,EAAE+D,YAAY,CAAC,CAAClE,GAAG,EAAE+D,UAAU,CAAC,CAAE;AACrC,IAAA,QAAQ,EAAEC,YAAY,KAAK,SAAS,GAAG,CAAC,CAAC,GAAG1H,SAAAA;AAAU,GAAA,CAAA,EAErDwH,QAAQ,CACkB,CAAA;AAEjC,CAAC,EAAC;AACFD,oBAAoB,CAAC1D,SAAS,GAAGR,WAAS,CAAA;AAC1CkE,oBAAoB,CAACnD,YAAY,GAAGd,eAAa,CAAA;AACjDiE,oBAAoB,CAACpM,WAAW,GAAGiI,gBAAc;;ACnCjD;AACA;AACA;AACO,MAAMyE,uBAAuB,GAAGhF,MAAM,CAACsE,GAAkC,CAAA;AAChF,EAAA,EAAIzE,aAAc,CAAA;AAClB;AACA;AACA,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;IAAEoF,UAAU;AAAEC,IAAAA,aAAAA;GAAe,GAAA,IAAA,CAAA;AAAA,EAAA,OAAK9I,GAAI,CAAA;AAC3C,6BAA+B6I,EAAAA,UAAU,GAAGC,aAAc,CAAA;AAC1D,EAAG,CAAA,CAAA;AAAA,CAAC,CAAA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;ACvDD;AACA;AACA;AACO,MAAMC,qBAAqB,GAAG,CACnCtE,GAAkC,EAClCuE,IAAqB,KAClB;EACH,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGC,QAAQ,CAAU,EAAE,CAAY,CAAA;AAExEC,EAAAA,SAAS,CAAC,MAAM;IACd,IAAI3E,GAAG,CAAC4E,OAAO,EAAE;AACfH,MAAAA,eAAe,CAACzE,GAAG,CAAC4E,OAAO,CAACC,qBAAqB,EAAE,CAAC,CAAA;AACtD,KAAA;GACD,EAAEN,IAAI,CAAC,CAAA;AAER,EAAA,OAAOC,YAAY,CAAA;AACrB,CAAC;;;ACRD,MAAM9E,gBAAc,GAAG,mBAAmB,CAAA;AAC1C,MAAMC,WAAS,GAAG,6BAA6B,CAAA;AAC/C,MAAMC,eAA8C,GAAG,EAAE,CAAA;;AAEzD;AACA;AACA;AACO,MAAMkF,iBAA+D,gBAC1E/E,UAAU,CAAC,CAACvH,KAAK,EAAEwH,GAAG,KAAK;EACzB,MAAM;MAAE8D,QAAQ;AAAE3D,MAAAA,SAAAA;AAA6B,KAAC,GAAG3H,KAAK;AAAxB+H,IAAAA,cAAc,4BAAK/H,KAAK,EAAAgI,WAAA,CAAA,CAAA;EAExD,MAAM;IAAEuD,UAAU;IAAEgB,OAAO;IAAEC,cAAc;IAAEC,SAAS;AAAEjB,IAAAA,YAAAA;GAAc,GACpEC,gBAAgB,EAAE,CAAA;EAEpB,MAAM;IAAE7G,MAAM,EAAE8H,YAAY,GAAG,CAAA;GAAG,GAAGZ,qBAAqB,CACxDW,SAAS,EACT,CAACnB,QAAQ,EAAEmB,SAAS,CAAC,CACtB,CAAA;EACD,MAAM;IAAE7H,MAAM,EAAE+H,aAAa,GAAG,CAAA;GAAG,GAAGb,qBAAqB,CACzDP,UAAU,EACV,CAACD,QAAQ,EAAEC,UAAU,CAAC,CACvB,CAAA;;AAED;EACA,oBACE,KAAA,CAAA,aAAA,CAAC,uBAAuB,EAAA,QAAA,CAAA,EAAA,EAClBxD,cAAc,EAAA;IAClB,SAAS,EAAEE,UAAU,CAACqE,iBAAiB,CAAC3E,SAAS,EAAEA,SAAS,CAAE;IAC9D,GAAG,EAAE+D,YAAY,CAAC,CAAClE,GAAG,EAAE+E,OAAO,CAAC,CAAE;IAClC,QAAQ,EAAEf,YAAY,KAAK,MAAM,GAAG,CAAC,CAAC,GAAG1H,SAAU;AACnD,IAAA,UAAU,EAAE8I,IAAI,CAACC,GAAG,CAACH,YAAY,EAAEF,cAAc,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAG;IACjE,aAAa,EAAE,CAACG,aAAa,KAAK,CAAC,GAAG,CAAC,GAAGA,aAAa,GAAG,EAAE,IAAI,EAAA;AAAG,GAAA,CAAA,EAElErB,QAAQ,CACe,CAAA;AAE9B,CAAC,EAAC;AACJgB,iBAAiB,CAAC3E,SAAS,GAAGR,WAAS,CAAA;AACvCmF,iBAAiB,CAACpE,YAAY,GAAGd,eAAa,CAAA;AAC9CkF,iBAAiB,CAACrN,WAAW,GAAGiI,gBAAc;;AC7C9C;AACA;AACA;AACO,MAAM4F,aAAa,GAAGnG,MAAM,CAACC,IAAyB,CAAA;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,EAAIL,WAAY,CAAA;AAChB;AACA,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;AAAE+B,IAAAA,QAAAA;GAAU,GAAA,IAAA,CAAA;AAAA,EAAA,OACbA,QAAQ,KAAK,IAAI,GACbvF,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,QAAA,CAAS,GACDuF,QAAQ,KAAK,IAAI,GACjBvF,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA,QAAA,CAAS,GACDuF,QAAQ,KAAK,IAAI,GACjBvF,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA,QAAA,CAAS,GACDuF,QAAQ,KAAK,IAAI,GACjBvF,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA,QAAA,CAAS,GACDuF,QAAQ,KAAK,IAAI,GACjBvF,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA,QAAA,CAAS,GACDA,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;AAAA,CAAC,CAAA;AACV;AACA,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;AAAEgK,IAAAA,OAAAA;GAAS,GAAA,KAAA,CAAA;EAAA,OACZA,OAAO,GACHhK,GAAI,CAAA;AACZ;AACA;AACA;AACA,QAAA,CAAS,GACDA,GAAI,CAAA;AACZ;AACA,QAAS,CAAA,CAAA;AAAA,CAAC,CAAA;AACV,CAAC;;;ACvED,MAAMmE,gBAAc,GAAG,SAAS,CAAA;AAChC,MAAMC,WAAS,GAAG,iBAAiB,CAAA;AACnC,MAAMC,eAAoC,GAAG,EAAE,CAAA;;AAE/C;AACA;AACA;AACO,MAAM4F,OAA2C,gBAAGzF,UAAU,CACnE,CAACvH,KAAK,EAAEwH,GAAG,KAAK;EACd,MAAM;MAAEyF,EAAE;MAAE3B,QAAQ;MAAE3D,SAAS;MAAEuF,MAAM;AAAE/C,MAAAA,OAAAA;AAA2B,KAAC,GACnEnK,KAAK;AAD8C+H,IAAAA,cAAc,4BACjE/H,KAAK,EAAAgI,WAAA,CAAA,CAAA;AAEP,EAAA,oBACE,oBAAC,aAAa,EAAA,QAAA,CAAA;AACZ,IAAA,EAAE,EAAEiF,EAAAA;AAAG,GAAA,EACHlF,cAAc,EAAA;IAClB,SAAS,EAAEE,UAAU,CAAC+E,OAAO,CAACrF,SAAS,EAAEA,SAAS,CAAE;AACpD,IAAA,GAAG,EAAEH,GAAiC;AACtC,IAAA,OAAO,EAAE0F,MAAO;IAChB,QAAQ,EAAE/C,OAAO,GAAGA,OAAO,GAAG8C,EAAE,KAAK,MAAM,GAAG,MAAM,GAAGA,EAAAA;AAAG,GAAA,CAAA,EAEzD3B,QAAQ,CACK,CAAA;AAEpB,CAAC,CACF,CAAA;AACD0B,OAAO,CAACrF,SAAS,GAAGR,WAAS,CAAA;AAC7B6F,OAAO,CAAC9E,YAAY,GAAGd,eAAa,CAAA;AACpC4F,OAAO,CAAC/N,WAAW,GAAGiI,gBAAc;;AC/BpC;AACA;AACA;AACO,MAAMiG,yBAAyB,GAAGxG,MAAM,CAACsE,GAAoC,CAAA;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;ACxBD,MAAM/D,gBAAc,GAAG,qBAAqB,CAAA;AAC5C,MAAMC,WAAS,GAAG,+BAA+B,CAAA;AACjD,MAAMC,eAAgD,GAAG,EAAE,CAAA;;AAE3D;AACA;AACA;AACO,MAAMgG,mBAGZ,gBAAG7F,UAAU,CAAC,CAACvH,KAAK,EAAEwH,GAAG,KAAK;EAC7B,MAAM;MACJ8D,QAAQ;MACR3D,SAAS;MACT0F,MAAM;MACNC,YAAY;MACZzF,IAAI;AACJ0F,MAAAA,SAAAA;AAEF,KAAC,GAAGvN,KAAK;AADJ+H,IAAAA,cAAc,4BACf/H,KAAK,EAAAgI,WAAA,CAAA,CAAA;EAET,MAAM;IAAEwF,UAAU;IAAEC,gBAAgB;IAAEhB,SAAS;AAAEjB,IAAAA,YAAAA;GAAc,GAC7DC,gBAAgB,EAAE,CAAA;EACpB,MAAMiC,OAAO,GAAGC,KAAK,EAAE,CAAA;EACvB,MAAMC,aAAa,GAAGD,KAAK,EAAE,CAAA;;AAE7B;AACA;EACApP,KAAK,CAACsP,eAAe,CAAC,MAAM;IAC1BL,UAAU,CAACE,OAAO,CAAC,CAAA;AACnB,IAAA,OAAO,MAAMF,UAAU,CAAC1J,SAAS,CAAC,CAAA;AACpC,GAAC,EAAE,CAAC4J,OAAO,EAAEF,UAAU,CAAC,CAAC,CAAA;;AAEzB;AACA;EACAjP,KAAK,CAACsP,eAAe,CAAC,MAAM;IAC1BJ,gBAAgB,CAACG,aAAa,CAAC,CAAA;AAC/B,IAAA,OAAO,MAAMH,gBAAgB,CAAC3J,SAAS,CAAC,CAAA;AAC1C,GAAC,EAAE,CAAC8J,aAAa,EAAEH,gBAAgB,CAAC,CAAC,CAAA;EAErC,oBACE,KAAA,CAAA,aAAA,CAAC,yBAAyB,EAAA,QAAA,CAAA,EAAA,EACpB1F,cAAc,EAAA;IAClB,SAAS,EAAEE,UAAU,CAACmF,mBAAmB,CAACzF,SAAS,EAAEA,SAAS,CAAE;IAChE,GAAG,EAAE+D,YAAY,CAAC,CAAClE,GAAG,EAAEiF,SAAS,CAAC,CAAE;AACpC,IAAA,QAAQ,EAAEjB,YAAY,KAAK,QAAQ,GAAG,CAAC,CAAC,GAAG1H,SAAAA;AAAU,GAAA,CAAA,EAEpDyJ,SAAS,gBACR,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAG,CAAA,EAAEH,mBAAmB,CAACzF,SAAU,CAAA,WAAA,CAAA;GAC9C4F,EAAAA,SAAS,CACN,GACJ,IAAI,EACPF,MAAM,gBACL,oBAAC,OAAO,EAAA,QAAA,CAAA;AACN,IAAA,EAAE,EAAC,IAAI;AACP,IAAA,KAAK,EAAC,OAAO;AACb,IAAA,SAAS,EAAG,CAAA,EAAED,mBAAmB,CAACzF,SAAU,CAAU,QAAA,CAAA;AACtD,IAAA,EAAE,EAAE+F,OAAQ;AACZ,IAAA,OAAO,EAAC,IAAA;AAAI,GAAA,EACRJ,YAAY,CAAA,EAEfzF,IAAI,gBAAG,oBAAC,IAAI,EAAA;AAAC,IAAA,IAAI,EAAEA,IAAK;IAAC,aAAY,EAAA,MAAA;GAAS,CAAA,GAAG,IAAI,EACrDwF,MAAM,CACC,GACR,IAAI,EACP/B,QAAQ,gBAAG,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,EAAE,EAAEsC,aAAAA;AAAc,GAAA,EAAEtC,QAAQ,CAAO,GAAG,IAAI,CACjC,CAAA;AAEhC,CAAC,EAAC;AACF8B,mBAAmB,CAACzF,SAAS,GAAGR,WAAS,CAAA;AACzCiG,mBAAmB,CAAClF,YAAY,GAAGd,eAAa,CAAA;AAChDgG,mBAAmB,CAACnO,WAAW,GAAGiI,gBAAc;;;AC3DhD,MAAMA,gBAAc,GAAG,eAAe,CAAA;AACtC,MAAMC,WAAS,GAAG,wBAAwB,CAAA;AAC1C,MAAMC,eAA0C,GAAG,EAAE,CAAA;;AAErD;AACA;AACA;AACO,MAAM0G,iBAA2D,gBACtEvG,UAAU,CAAC,CAACvH,KAAK,EAAEwH,GAAG,KAAK;EACzB,MAAM;MAAE8D,QAAQ;AAAE3D,MAAAA,SAAAA;AAA6B,KAAC,GAAG3H,KAAK;AAAxB+H,IAAAA,cAAc,4BAAK/H,KAAK,EAAAgI,WAAA,CAAA,CAAA;EACxD,MAAM;AACJ+F,IAAAA,OAAO,EAAEC,eAAe;IACxBC,gBAAgB;IAChBC,IAAI;IACJR,OAAO;IACPE,aAAa;IACbO,UAAU;IACV3B,cAAc;AACdhB,IAAAA,YAAY,EAAE4C,iBAAiB;IAC/B/G,IAAI;IACJoF,SAAS;IACTF,OAAO;AACPhB,IAAAA,UAAAA;GACD,GAAGE,gBAAgB,EAAE,CAAA;EACtB,MAAM;IAAE4C,SAAS;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAGC,mBAAmB,CAACP,eAAe,CAAC,CAAA;EAClE,MAAMQ,SAAS,GAAG9C,YAAY,CAAC,CAACwC,IAAI,CAACO,WAAW,EAAEjH,GAAG,CAAC,CAAC,CAAA;AAEvD,EAAA,MAAMsC,eAAe,GAAGC,yCAA2B,CAACC,cAAY,CAAC,CAAA;AAEjE,EAAA,MAAM,CAAC,CAACqD,MAAM,CAAC,EAAE,CAACqB,IAAI,CAAC,EAAE,CAACC,OAAO,CAAC,CAAC,GAAGvP,mBAAmB,CACvDb,KAAK,CAACqQ,QAAQ,CAACC,OAAO,CAACvD,QAAQ,CAAC,EAChC,CACEzM,WAAW,CAAC,qBAAqB,CAAC,EAClCA,WAAW,CAAC,mBAAmB,CAAC,EAChCA,WAAW,CAAC,sBAAsB,CAAC,CACpC,CACF,CAAA;EAED,MAAM2M,YAGO,GACX4C,iBAAiB,KAAK,QAAQ,GAC1B3B,SAAS,GACT2B,iBAAiB,KAAK,MAAM,GAC5B7B,OAAO,GACP6B,iBAAiB,KAAK,SAAS,GAC/B7C,UAAU,GACV6C,iBAAiB,GACjBA,iBAAiB,GACjBtK,SAAS,CAAA;AAEf,EAAA,oBACE,oBAAC,cAAc,EAAA,IAAA,EACZuK,SAAS,iBACR,oBAAC,qBAAqB,EAAA;IAAC,UAAU,EAAA,IAAA;AAAC,IAAA,KAAK,EAAEC,MAAAA;AAAO,GAAA,eAC9C,oBAAC,oBAAoB,EAAA;AACnB,IAAA,OAAO,EAAEN,eAAgB;AACzB,IAAA,YAAY,EAAExC,YAAY,GAAGA,YAAY,GAAG1H,SAAAA;AAAU,GAAA,eAEtD,oBAAC,mBAAmB,EAAA,QAAA,CAAA;AAClB,IAAA,SAAS,EAAEmE,UAAU,CAAC6G,aAAa,CAACnH,SAAS,EAAEA,SAAS,CAAA;AAAE,GAAA,EACtDI,cAAc,EAAA;AAClB,IAAA,GAAG,EAAEyG,SAAU;AACf,IAAA,iBAAA,EAAiBd,OAAQ;IACzB,kBAAkBE,EAAAA,aAAAA;GACdK,EAAAA,gBAAgB,CAACjO,KAAK,CAAC,EAAA;AAC3B,IAAA,KAAK,EAAEsO,MAAO;AACd,IAAA,KAAK,EAAEjH,IAAAA;GAENgG,CAAAA,EAAAA,MAAM,IAAIb,cAAc,gBACvB,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAG,CAAA,EAAEsB,iBAAiB,CAACnG,SAAU,CAAA,QAAA,CAAA;AAAU,GAAA,EACtD0F,MAAM,EAENb,cAAc,gBACb,oBAAC,UAAU,EAAA;AACT,IAAA,YAAA,EAAY1C,eAAe,CAACG,MAAM,CAAC,OAAO,CAAE;AAC5C,IAAA,SAAS,EAAG,CAAA,EAAE6D,iBAAiB,CAACnG,SAAU,CAAsB,oBAAA,CAAA;AAChE,IAAA,KAAK,EAAC,UAAU;AAChB,IAAA,IAAI,EAAEoH,QAAS;AACf,IAAA,OAAO,EAAE,MAAMZ,UAAU,CAAC,KAAK,CAAA;GAC/B,CAAA,GACA,IAAI,CACJ,GACJ,IAAI,EAEPO,IAAI,IAAIC,OAAO,gBACd,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAG,CAAA,EAAEb,iBAAiB,CAACnG,SAAU,CAAA,SAAA,CAAA;GAC5C+G,EAAAA,IAAI,EACJC,OAAO,CACJ,GACJ,IAAI,CACY,CACD,CAE1B,CACc,CAAA;AAErB,CAAC,EAAC;AACJb,iBAAiB,CAACnG,SAAS,GAAGR,WAAS,CAAA;AACvC2G,iBAAiB,CAAC5F,YAAY,GAAGd,eAAa,CAAA;AAC9C0G,iBAAiB,CAAC7O,WAAW,GAAGiI,gBAAc,CAAA;AAEvC,MAAM4H,aAAa,GAAGhI,MAAM,CAACkI,MAAM,CAAClB,iBAAiB,EAAE;AAC5DmB,EAAAA,MAAM,EAAE7B,mBAAmB;AAC3B8B,EAAAA,IAAI,EAAE5C,iBAAiB;AACvB6C,EAAAA,OAAO,EAAE9D,oBAAAA;AACX,CAAC;;AC1HD,MAAMnE,gBAAc,GAAG,eAAe,CAAA;AACtC,MAAMC,WAAS,GAAG,wBAAwB,CAAA;AAC1C,MAAMC,eAA0C,GAAG,EAAE,CAAA;;AAErD;AACA;AACA;AACO,MAAMgI,aAA0D,gBACrE7H,UAAU,CAAC,CAACvH,KAAK,EAAEwH,GAAG,KAAK;EACzB,MAAM;AAAE8D,IAAAA,QAAAA;AAAS,GAAC,GAAGtL,KAAK,CAAA;EAE1B,MAAM;IAAEqP,iBAAiB;IAAEC,MAAM;IAAEnB,UAAU;AAAED,IAAAA,IAAAA;GAAM,GAAGzC,gBAAgB,EAAE,CAAA;AAC1E,EAAA,MAAM8D,WAAW,GAAIjE,QAAQ,CAAS9D,GAAG,CAAA;AACzC,EAAA,MAAMgI,UAAU,GAAG9D,YAAY,CAAC,CAACwC,IAAI,CAACuB,YAAY,EAAEjI,GAAG,EAAE+H,WAAW,CAAC,CAAC,CAAA;EAEtE,IACE1Q,WAAW,CAAC,QAAQ,CAAC,CAACyM,QAAQ,CAAC,IAC/BzM,WAAW,CAAC,YAAY,CAAC,CAACyM,QAAQ,CAAC,IACnCzM,WAAW,CAAC,YAAY,CAAC,CAACyM,QAAQ,CAAC,EACnC;AACA,IAAA,oBAAO/M,KAAK,CAACmR,YAAY,CAACpE,QAAQ,oCAC7B+D,iBAAiB,CAAA3E,cAAA,CAAAA,cAAA,CAAA;AAClBlD,MAAAA,GAAG,EAAEgI,UAAAA;AAAU,KAAA,EACZxP,KAAK,CAAA,EACJsL,QAAQ,CAAkBtL,KAAK,CACnC,CAAA,CAAA,EAAA,EAAA,EAAA;AACF+K,MAAAA,OAAO,EAAE,MAAMoD,UAAU,CAAC,CAACmB,MAAM,CAAC;AAClCxE,MAAAA,QAAQ,EAAEwE,MAAAA;KACV,CAAA,CAAA,CAAA;AACJ,GAAA;EAEA,oBAAO,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,EAAGhE,QAAQ,CAAI,CAAA;AACxB,CAAC,EAAC;AACJ8D,aAAa,CAACzH,SAAS,GAAGR,WAAS,CAAA;AACnCiI,aAAa,CAAClH,YAAY,GAAGd,eAAa,CAAA;AAC1CgI,aAAa,CAACnQ,WAAW,GAAGiI,gBAAc;;AClCnC,SAASyI,SAAS,CAOS,IAAA,EAAA;EAAA,IAPR;IACxBC,WAAW;IACXpD,cAAc;IACdhB,YAAY;AACZ8D,IAAAA,MAAM,EAAEO,WAAW;IACnBC,MAAM;AACNzI,IAAAA,IAAAA;GAC8B,GAAA,IAAA,CAAA;AAC9B,EAAA,MAAMoF,SAAS,GAAGnC,MAAM,CAAC,IAAI,CAAC,CAAA;AAC9B,EAAA,MAAMiC,OAAO,GAAGjC,MAAM,CAAC,IAAI,CAAC,CAAA;AAC5B,EAAA,MAAMiB,UAAU,GAAGjB,MAAM,CAAC,IAAI,CAAC,CAAA;EAC/B,MAAM,CAACoD,OAAO,EAAEF,UAAU,CAAC,GAAGjP,KAAK,CAAC2N,QAAQ,EAAsB,CAAA;EAClE,MAAM,CAAC0B,aAAa,EAAEH,gBAAgB,CAAC,GACrClP,KAAK,CAAC2N,QAAQ,EAAsB,CAAA;AAEtC,EAAA,MAAM,CAACoD,MAAM,EAAES,SAAS,CAAC,GAAG7D,QAAQ,CAAC2D,WAAW,aAAXA,WAAW,KAAA,KAAA,CAAA,GAAXA,WAAW,GAAID,WAAW,CAAC,CAAA;AAEhEzD,EAAAA,SAAS,CAAC,MAAM;IACd4D,SAAS,CAACF,WAAW,KAAXA,IAAAA,IAAAA,WAAW,cAAXA,WAAW,GAAID,WAAW,CAAC,CAAA;AACvC,GAAC,EAAE,CAACC,WAAW,EAAED,WAAW,CAAC,CAAC,CAAA;AAE9B,EAAA,MAAMzB,UAAU,GAAG6B,WAAW,CAC3BC,SAAkB,IAAK;AACtB,IAAA,IAAIH,MAAM,EAAE;MACVA,MAAM,CAACG,SAAS,CAAC,CAAA;AACnB,KAAA;AACA,IAAA,IAAIJ,WAAW,KAAK/L,SAAS,IAAI+L,WAAW,KAAK,IAAI,EAAE;MACrDE,SAAS,CAACE,SAAS,CAAC,CAAA;AACtB,KAAA;AACF,GAAC,EACD,CAACH,MAAM,CAAC,CACT,CAAA;EAED,MAAMI,IAAI,GAAGC,WAAW,CAAC;AACvBC,IAAAA,IAAI,EAAEd,MAAM;AACZe,IAAAA,YAAY,EAAElC,UAAAA;AAChB,GAAC,CAAC,CAAA;AAEF,EAAA,MAAMJ,OAAO,GAAGmC,IAAI,CAACnC,OAAO,CAAA;AAE5B,EAAA,MAAMuC,OAAO,GAAGC,UAAU,CAACxC,OAAO,EAAE;AAAEyC,IAAAA,iBAAiB,EAAE,WAAA;AAAY,GAAC,CAAC,CAAA;AACvE,EAAA,MAAMC,IAAI,GAAGC,OAAO,CAAC3C,OAAO,CAAC,CAAA;EAE7B,MAAM4C,YAAY,GAAGC,eAAe,CAAC,CAACN,OAAO,EAAEG,IAAI,CAAC,CAAC,CAAA;EAErD,OAAOlS,KAAK,CAACsS,OAAO,CAClB,MAAAnG,cAAA,CAAAA,cAAA,CAAAA,cAAA,CAAA;IACE4E,MAAM;AACNnB,IAAAA,UAAAA;GACGwC,EAAAA,YAAY,GACZT,IAAI,CAAA,EAAA,EAAA,EAAA;IACPxC,OAAO;IACPE,aAAa;IACbJ,UAAU;IACVC,gBAAgB;IAChBjB,cAAc;IACdhB,YAAY;IACZnE,IAAI;IACJoF,SAAS;IACTF,OAAO;AACPhB,IAAAA,UAAAA;GACA,CAAA,EACF,CACE+D,MAAM,EACNnB,UAAU,EACVwC,YAAY,EACZT,IAAI,EACJxC,OAAO,EACPE,aAAa,EACbpB,cAAc,EACdhB,YAAY,EACZnE,IAAI,EACJoF,SAAS,EACTF,OAAO,EACPhB,UAAU,CACX,CACF,CAAA;AACH;;AC7EA,MAAMrE,gBAAc,GAAG,QAAQ,CAAA;AAC/B,MAAMC,WAAS,GAAG,gBAAgB,CAAA;AAClC,MAAMC,eAAmC,GAAG;AAC1CoF,EAAAA,cAAc,EAAE,IAAI;EACpBnF,IAAI,EAAE5I,UAAU,CAACE,MAAAA;AACnB,CAAC,CAAA;;AAED;AACA;AACA;AACamS,MAAAA,UAGZ,GAAI9Q,KAAK,IAAK;EACb,MAAM;IACJsL,QAAQ;IACRsE,WAAW;IACXpD,cAAc;IACdhB,YAAY;IACZ8D,MAAM;IACNQ,MAAM;AACNzI,IAAAA,IAAAA;AACF,GAAC,GAAGrH,KAAK,CAAA;EAET,MAAM+Q,MAAM,GAAGpB,SAAS,CAAC;IACvBC,WAAW;IACXpD,cAAc;IACdhB,YAAY;IACZ8D,MAAM;IACNQ,MAAM;AACNzI,IAAAA,IAAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,MAAM,CAAC,CAAC2J,OAAO,CAAC,EAAE,CAACC,OAAO,CAAC,CAAC,GAAG7R,mBAAmB,CAChDb,KAAK,CAACqQ,QAAQ,CAACC,OAAO,CAACvD,QAAQ,CAAC,EAChC,CAACzM,WAAW,CAAC,eAAe,CAAC,EAAEA,WAAW,CAAC,eAAe,CAAC,CAAC,CAC7D,CAAA;EAED,oBACE,KAAA,CAAA,aAAA,CAAC,aAAa,CAAC,QAAQ,EAAA;AAAC,IAAA,KAAK,EAAEkS,MAAAA;GAC5BC,EAAAA,OAAO,EACPC,OAAO,CACe,CAAA;AAE7B,EAAC;AACDH,UAAU,CAACnJ,SAAS,GAAGR,WAAS,CAAA;AAChC2J,UAAU,CAAC5I,YAAY,GAAGd,eAAa,CAAA;AACvC0J,UAAU,CAAC7R,WAAW,GAAGiI,gBAAc,CAAA;AAEhC,MAAMgK,MAAM,GAAGpK,MAAM,CAACkI,MAAM,CAAC8B,UAAU,EAAE;AAC9CK,EAAAA,OAAO,EAAE/B,aAAa;AACtBgC,EAAAA,OAAO,EAAEtC,aAAAA;AACX,CAAC;;AC1DM,MAAMrD,gBAAgB,GAAG,MAAM;AACpC,EAAA,MAAMsC,OAAO,GAAGxP,KAAK,CAACqL,UAAU,CAACtL,aAAa,CAAC,CAAA;EAE/C,IAAIyP,OAAO,IAAI,IAAI,EAAE;AACnB,IAAA,MAAM,IAAIsD,KAAK,CAAC,iDAAiD,CAAC,CAAA;AACpE,GAAA;AAEA,EAAA,OAAOtD,OAAO,CAAA;AAChB;;ACRO,MAAMuD,cAAc,gBAAG/S,KAAK,CAACC,aAAa,CAAsB,IAAI;;ACC3E;AACA;AACA;;AAGA;AACA;AACA;AACO,MAAM+S,gBAAgB,GAAG;AAC9BnM,EAAAA,GAAG,EAAE,KAAK;AACVG,EAAAA,KAAK,EAAE,OAAO;AACdF,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,IAAI,EAAE,MAAM;AACZ,EAAA,WAAW,EAAE,WAAW;AACxB,EAAA,SAAS,EAAE,SAAS;AACpB,EAAA,aAAa,EAAE,aAAa;AAC5B,EAAA,WAAW,EAAE,WAAW;AACxB,EAAA,cAAc,EAAE,cAAc;AAC9B,EAAA,YAAY,EAAE,YAAY;AAC1B,EAAA,YAAY,EAAE,YAAY;AAC1B,EAAA,UAAU,EAAE,UAAA;AACd;;ACrBA;AACA;AACA;AACO,MAAMkM,oBAAoB,GAAG7K,MAAM,CAACsE,GAA+B,CAAA;AAC1E,EAAA,EAAIzE,aAAc,CAAA;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;ACbD,MAAMU,gBAAc,GAAG,gBAAgB,CAAA;AACvC,MAAMC,WAAS,GAAG,yBAAyB,CAAA;AAC3C,MAAMC,eAA2C,GAAG,EAAE,CAAA;;AAEtD;AACA;AACA;AACO,MAAMqK,cAAyD,gBACpElK,UAAU,CAAC,CAACvH,KAAK,EAAEwH,GAAG,KAAK;EACzB,MAAM;IAAE8D,QAAQ;IAAE3D,SAAS;AAAE+J,IAAAA,KAAAA;AAAM,GAAC,GAAG1R,KAAK,CAAA;EAC5C,MAAM;AACJ+N,IAAAA,OAAO,EAAEC,eAAe;IACxBC,gBAAgB;IAChB0D,OAAO;IACPrC,MAAM;IACNpB,IAAI;IACJ0D,QAAQ;IACRC,CAAC;AACDC,IAAAA,CAAAA;GACD,GAAGC,iBAAiB,EAAE,CAAA;EACvB,MAAMC,UAAU,GAAGtG,YAAY,CAAC,CAACwC,IAAI,CAACO,WAAW,EAAEjH,GAAG,CAAC,CAAC,CAAA;AAExD,EAAA,oBACE,oBAAC,cAAc,EAAA,IAAA,EACZ8H,MAAM,iBACL,oBAAC,oBAAoB,EAAA;AAAC,IAAA,OAAO,EAAEtB,eAAgB;AAAC,IAAA,KAAK,EAAE2D,OAAAA;AAAQ,GAAA,eAC7D,oBAAC,oBAAoB,EAAA,QAAA,CAAA;IACnB,SAAS,EAAE1J,UAAU,CAACwJ,cAAc,CAAC9J,SAAS,EAAEA,SAAS,CAAE;AAC3D,IAAA,GAAG,EAAEqK,UAAW;IAChB,KAAK,EAAAtH,cAAA,CAAA;AACHvF,MAAAA,QAAQ,EAAEyM,QAAQ;AAClBxM,MAAAA,GAAG,EAAE0M,CAAC,KAAA,IAAA,IAADA,CAAC,KAADA,KAAAA,CAAAA,GAAAA,CAAC,GAAI,CAAC;AACXxM,MAAAA,IAAI,EAAEuM,CAAC,KAAA,IAAA,IAADA,CAAC,KAADA,KAAAA,CAAAA,GAAAA,CAAC,GAAI,CAAC;AACZ5M,MAAAA,KAAK,EAAE,aAAA;AAAa,KAAA,EACjByM,KAAK,CAAA;GAENzD,EAAAA,gBAAgB,CAACjO,KAAK,CAAC,GAE1BsL,QAAQ,CACY,CAE1B,CACc,CAAA;AAErB,CAAC,EAAC;AACJmG,cAAc,CAAC9J,SAAS,GAAGR,WAAS,CAAA;AACpCsK,cAAc,CAACvJ,YAAY,GAAGd,eAAa,CAAA;AAC3CqK,cAAc,CAACxS,WAAW,GAAGiI,gBAAc;;ACpD3C,MAAMA,gBAAc,GAAG,gBAAgB,CAAA;AACvC,MAAMC,WAAS,GAAG,yBAAyB,CAAA;AAC3C,MAAMC,eAA2C,GAAG,EAAE,CAAA;;AAEtD;AACA;AACA;AACO,MAAM6K,cAA4D,gBACvE1K,UAAU,CAAC,CAACvH,KAAK,EAAEwH,GAAG,KAAK;EACzB,MAAM;AAAE8D,IAAAA,QAAAA;AAAS,GAAC,GAAGtL,KAAK,CAAA;EAE1B,MAAM;IAAEqP,iBAAiB;IAAEC,MAAM;IAAEnB,UAAU;AAAED,IAAAA,IAAAA;GAAM,GAAG6D,iBAAiB,EAAE,CAAA;AAC3E,EAAA,MAAMxC,WAAW,GAAIjE,QAAQ,CAAS9D,GAAG,CAAA;AACzC,EAAA,MAAMgI,UAAU,GAAG9D,YAAY,CAAC,CAACwC,IAAI,CAACuB,YAAY,EAAEjI,GAAG,EAAE+H,WAAW,CAAC,CAAC,CAAA;EAEtE,IACE1Q,WAAW,CAAC,QAAQ,CAAC,CAACyM,QAAQ,CAAC,IAC/BzM,WAAW,CAAC,YAAY,CAAC,CAACyM,QAAQ,CAAC,IACnCzM,WAAW,CAAC,YAAY,CAAC,CAACyM,QAAQ,CAAC,EACnC;AACA,IAAA,oBAAO/M,KAAK,CAACmR,YAAY,CAACpE,QAAQ,oCAC7B+D,iBAAiB,CAAA3E,cAAA,CAAAA,cAAA,CAAA;AAClBlD,MAAAA,GAAG,EAAEgI,UAAAA;AAAU,KAAA,EACZxP,KAAK,CAAA,EACJsL,QAAQ,CAAkBtL,KAAK,CACnC,CAAA,CAAA,EAAA,EAAA,EAAA;AACF+K,MAAAA,OAAO,EAAE,MAAMoD,UAAU,CAAC,CAACmB,MAAM,CAAC;AAClCxE,MAAAA,QAAQ,EAAEwE,MAAAA;KACV,CAAA,CAAA,CAAA;AACJ,GAAA;EAEA,oBAAO,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,EAAGhE,QAAQ,CAAI,CAAA;AACxB,CAAC,EAAC;AACJ2G,cAAc,CAACtK,SAAS,GAAGR,WAAS,CAAA;AACpC8K,cAAc,CAAC/J,YAAY,GAAGd,eAAa,CAAA;AAC3C6K,cAAc,CAAChT,WAAW,GAAGiI,gBAAc;;AC9BpC,SAASgL,UAAU,CAMS,IAAA,EAAA;EAAA,IANR;IACzBtC,WAAW;IACXuC,SAAS;IACTR,OAAO;AACPrC,IAAAA,MAAM,EAAEO,WAAW;AACnBC,IAAAA,MAAAA;GAC+B,GAAA,IAAA,CAAA;AAC/B,EAAA,MAAM,CAACR,MAAM,EAAES,SAAS,CAAC,GAAG7D,QAAQ,CAAC2D,WAAW,aAAXA,WAAW,KAAA,KAAA,CAAA,GAAXA,WAAW,GAAID,WAAW,CAAC,CAAA;AAEhEzD,EAAAA,SAAS,CAAC,MAAM;IACd4D,SAAS,CAACF,WAAW,KAAXA,IAAAA,IAAAA,WAAW,cAAXA,WAAW,GAAID,WAAW,CAAC,CAAA;AACvC,GAAC,EAAE,CAACC,WAAW,EAAED,WAAW,CAAC,CAAC,CAAA;AAE9B,EAAA,MAAMzB,UAAU,GAAG6B,WAAW,CAC3BC,SAAkB,IAAK;AACtB,IAAA,IAAIH,MAAM,EAAE;MACVA,MAAM,CAACG,SAAS,CAAC,CAAA;AACnB,KAAA;AACA,IAAA,IAAIJ,WAAW,KAAK/L,SAAS,IAAI+L,WAAW,KAAK,IAAI,EAAE;MACrDE,SAAS,CAACE,SAAS,CAAC,CAAA;AACtB,KAAA;AACF,GAAC,EACD,CAACH,MAAM,CAAC,CACT,CAAA;EAED,MAAMI,IAAI,GAAGC,WAAW,CAAC;IACvBgC,SAAS;AACT/B,IAAAA,IAAI,EAAEd,MAAM;AACZe,IAAAA,YAAY,EAAElC,UAAU;AACxBiE,IAAAA,oBAAoB,EAAEC,UAAU;IAChCC,UAAU,EAAE,CACVC,MAAM,CAAC,CAAC,CAAC,EACTC,IAAI,CAAC;AACHC,MAAAA,yBAAyB,EAAE,KAAA;KAC5B,CAAC,EACFC,KAAK,CAAC;AAAEpO,MAAAA,OAAO,EAAE,CAAA;AAAE,KAAC,CAAC,CAAA;AAEzB,GAAC,CAAC,CAAA;AAEF,EAAA,MAAMyJ,OAAO,GAAGmC,IAAI,CAACnC,OAAO,CAAA;AAE5B,EAAA,MAAMuC,OAAO,GAAGC,UAAU,CAACxC,OAAO,CAAC,CAAA;AACnC,EAAA,MAAM0C,IAAI,GAAGC,OAAO,CAAC3C,OAAO,CAAC,CAAA;EAE7B,MAAM4C,YAAY,GAAGC,eAAe,CAAC,CAACN,OAAO,EAAEG,IAAI,CAAC,CAAC,CAAA;EAErD,OAAOlS,KAAK,CAACsS,OAAO,CAClB,MAAAnG,cAAA,CAAAA,cAAA,CAAAA,cAAA,CAAA;IACE4E,MAAM;AACNnB,IAAAA,UAAAA;GACGwC,EAAAA,YAAY,GACZT,IAAI,CAAA,EAAA,EAAA,EAAA;AACPyB,IAAAA,OAAAA;AAAO,GAAA,CACP,EACF,CAACrC,MAAM,EAAEnB,UAAU,EAAEwC,YAAY,EAAET,IAAI,EAAEyB,OAAO,CAAC,CAClD,CAAA;AACH;;AC5DA,MAAMzK,gBAAc,GAAG,SAAS,CAAA;AAChC,MAAMC,WAAS,GAAG,iBAAiB,CAAA;AACnC,MAAMC,eAAoC,GAAG;AAC3CuK,EAAAA,OAAO,EAAE,KAAK;EACdQ,SAAS,EAAEZ,gBAAgB,CAAClM,MAAAA;AAC9B,CAAC,CAAA;;AAED;AACA;AACA;AACasN,MAAAA,WAGZ,GAAI3S,KAAK,IAAK;EACb,MAAM;IAAEsL,QAAQ;IAAEsE,WAAW;IAAEuC,SAAS;IAAER,OAAO;IAAErC,MAAM;AAAEQ,IAAAA,MAAAA;AAAO,GAAC,GAAG9P,KAAK,CAAA;EAE3E,MAAM4S,OAAO,GAAGV,UAAU,CAAC;IACzBtC,WAAW;IACXuC,SAAS;IACTR,OAAO;IACPrC,MAAM;AACNQ,IAAAA,MAAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,MAAM,CAAC,CAACkB,OAAO,CAAC,EAAE,CAACC,OAAO,CAAC,CAAC,GAAG7R,mBAAmB,CAChDb,KAAK,CAACqQ,QAAQ,CAACC,OAAO,CAACvD,QAAQ,CAAC,EAChC,CAACzM,WAAW,CAAC,gBAAgB,CAAC,EAAEA,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAC/D,CAAA;EAED,oBACE,KAAA,CAAA,aAAA,CAAC,cAAc,CAAC,QAAQ,EAAA;AAAC,IAAA,KAAK,EAAE+T,OAAAA;GAC7B5B,EAAAA,OAAO,EACPC,OAAO,CACgB,CAAA;AAE9B,EAAC;AACD0B,WAAW,CAAChL,SAAS,GAAGR,WAAS,CAAA;AACjCwL,WAAW,CAACzK,YAAY,GAAGd,eAAa,CAAA;AACxCuL,WAAW,CAAC1T,WAAW,GAAGiI,gBAAc,CAAA;AAEjC,MAAM2L,OAAO,GAAG/L,MAAM,CAACkI,MAAM,CAAC2D,WAAW,EAAE;AAChDxB,EAAAA,OAAO,EAAEc,cAAc;AACvBb,EAAAA,OAAO,EAAEK,cAAAA;AACX,CAAC;;ACjDM,MAAMM,iBAAiB,GAAG,MAAM;AACrC,EAAA,MAAMhE,OAAO,GAAGxP,KAAK,CAACqL,UAAU,CAAC0H,cAAc,CAAC,CAAA;EAEhD,IAAIvD,OAAO,IAAI,IAAI,EAAE;AACnB,IAAA,MAAM,IAAIsD,KAAK,CAAC,mDAAmD,CAAC,CAAA;AACtE,GAAA;AAEA,EAAA,OAAOtD,OAAO,CAAA;AAChB;;ACRA;AACA;AACA;AACO,MAAM+E,YAAY,GAAG;AAC1B/Q,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,IAAI,EAAE,MAAM;AACZ6Q,EAAAA,OAAO,EAAE,SAAA;AACX,EAAU;AAGH,MAAMC,cAAc,GAAG;AAC5B,EAAA,WAAW,EAAE,WAAW;AACxB,EAAA,YAAY,EAAE,YAAY;AAC1B,EAAA,UAAU,EAAE,UAAU;AACtB,EAAA,cAAc,EAAE,cAAc;AAC9B,EAAA,eAAe,EAAE,eAAe;AAChC,EAAA,aAAa,EAAE,aAAA;AACjB;;;;;;;;;;;;ACnBA,mBAAe;AACb,EAAA,OAAO,EAAEzR,IAAI;AACb,EAAA,OAAO,EAAEC,IAAAA;AACX,CAAC;;ACFD;AACA;AACA;AACO,MAAMyR,WAAW,GAAGtM,MAAM,CAACsE,GAAsB,CAAA;AACxD,EAAA,EAAI1E,WAAY,CAAA;AAChB;AACA;AACA;AACA;AACA;AACA,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;IAAE2M,SAAS;AAAE5K,IAAAA,QAAAA;GAAU,GAAA,IAAA,CAAA;AAAA,EAAA,OAAKvF,GAAI,CAAA;AACrC,sBAAwBuF,EAAAA,QAAQ,KAAK,SAAS,GACtC,oCAAoC,GACnC,CAAA,oBAAA,EAAsBA,QAAS,CAAS,OAAA,CAAA,CAAA;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAAA,EAAgDA,QAAS,CAAA;AACzD;AACA;AACA;AACA;AACA,kBAAA,EAAoB4K,SAAS,GAAG,KAAK,GAAG,OAAQ,CAAA;AAChD;AACA;AACA,EAAG,CAAA,CAAA;AAAA,CAAC,CAAA;AACJ,CAAC;;AClCD;AACA;AACA;AACO,MAAMC,aAAa,GAAGxM,MAAM,CAACsE,GAAwB,CAAA;AAC5D,WAAa,EAAA,IAAA,IAAA;EAAA,IAAC;AAAEmI,IAAAA,MAAAA;GAAQ,GAAA,IAAA,CAAA;AAAA,EAAA,OAAMA,MAAM,GAAG,aAAa,GAAG,MAAM,CAAA;AAAA,CAAE,CAAA;AAC/D;AACA,EAAA,EAAI7M,WAAY,CAAA;AAChB,EAAA,EAAIlC,mBAAoB,CAAA;AACxB,EAAA,EAAIoB,WAAY,CAAA;AAChB,CAAC;;;ACXD,MAAMyB,gBAAc,GAAG,SAAS,CAAA;AAChC,MAAMC,WAAS,GAAG,kBAAkB,CAAA;AACpC,MAAMC,eAAoC,GAAG;AAC3CtB,EAAAA,GAAG,EAAE,MAAA;AACP,CAAC,CAAA;;AAED;AACA;AACA;AACO,MAAMuN,OAA2C,gBAAG9L,UAAU,CACnE,CAACvH,KAAK,EAAEwH,GAAG,KAAK;EACd,MAAM;MAAE8D,QAAQ;AAAE3D,MAAAA,SAAAA;AAA6B,KAAC,GAAG3H,KAAK;AAAxB+H,IAAAA,cAAc,4BAAK/H,KAAK,EAAAgI,WAAA,CAAA,CAAA;EAExD,oBACE,KAAA,CAAA,aAAA,CAAC,aAAa,EAAA,QAAA,CAAA,EAAA,EACRD,cAAc,EAAA;IAClB,SAAS,EAAEE,UAAU,CAACoL,OAAO,CAAC1L,SAAS,EAAEA,SAAS,CAAE;AACpD,IAAA,GAAG,EAAEH,GAAAA;AAAiC,GAAA,CAAA,EAErC8D,QAAQ,CACK,CAAA;AAEpB,CAAC,CACF,CAAA;AACD+H,OAAO,CAAC1L,SAAS,GAAGR,WAAS,CAAA;AAC7BkM,OAAO,CAACnL,YAAY,GAAGd,eAAa,CAAA;AACpCiM,OAAO,CAACpU,WAAW,GAAGiI,gBAAc;;;ACRpC,MAAMA,gBAAc,GAAG,OAAO,CAAA;AAC9B,MAAMC,WAAS,GAAG,eAAe,CAAA;AACjC,MAAMC,eAAkC,GAAG;AACzC+C,EAAAA,OAAO,EAAE,MAAM;AACfmJ,EAAAA,WAAW,EAAE,IAAA;AACf,CAAC,CAAA;AAED,MAAMC,UAAU,GAAIpJ,OAAqB,IAAK;AAC5C,EAAA,QAAQA,OAAO;IACb,KAAK2I,YAAY,CAAC5Q,IAAI,CAAA;AACtB,IAAA;AACE,MAAA,oBAAO,oBAAC,IAAI,EAAA;AAAC,QAAA,IAAI,EAAEsR,cAAe;QAAC,KAAK,EAAE3R,YAAY,CAACK,IAAAA;OAAQ,CAAA,CAAA;IACjE,KAAK4Q,YAAY,CAAC9Q,KAAK;AACrB,MAAA,oBAAO,oBAAC,IAAI,EAAA;AAAC,QAAA,IAAI,EAAEyR,cAAe;QAAC,KAAK,EAAE5R,YAAY,CAACG,KAAAA;OAAS,CAAA,CAAA;IAClE,KAAK8Q,YAAY,CAAC/Q,OAAO;AACvB,MAAA,oBAAO,oBAAC,IAAI,EAAA;AAAC,QAAA,IAAI,EAAE2R,cAAe;QAAC,KAAK,EAAE7R,YAAY,CAACE,OAAAA;OAAW,CAAA,CAAA;IACpE,KAAK+Q,YAAY,CAAC7Q,OAAO;AACvB,MAAA,oBAAO,oBAAC,IAAI,EAAA;AAAC,QAAA,IAAI,EAAE0R,QAAS;QAAC,KAAK,EAAE9R,YAAY,CAACI,OAAAA;OAAW,CAAA,CAAA;IAC9D,KAAK6Q,YAAY,CAACC,OAAO;AACvB,MAAA,oBAAO,oBAAC,OAAO,EAAA;AAAC,QAAA,IAAI,EAAC,OAAA;OAAU,CAAA,CAAA;AAAC,GAAA;AAEtC,CAAC,CAAA;;AAED;AACA;AACA;AACO,MAAMa,KAGZ,gBAAGrM,UAAU,CAAC,CAACvH,KAAK,EAAEwH,GAAG,KAAK;EAC7B,MAAM;MACJ8D,QAAQ;MACR3D,SAAS;MACTkM,UAAU;MACVP,WAAW;MACXQ,KAAK;AACL3J,MAAAA,OAAAA;AAEF,KAAC,GAAGnK,KAAK;AADJ+H,IAAAA,cAAc,4BACf/H,KAAK,EAAAgI,WAAA,CAAA,CAAA;AAET,EAAA,MAAM8B,eAAe,GAAGC,yCAA2B,CAACC,YAAY,CAAC,CAAA;AAEjE,EAAA,MAAMnC,IAAI,GAAG0L,UAAU,CAACpJ,OAAO,CAAE,CAAA;EAEjC,oBACE,KAAA,CAAA,aAAA,CAAC,WAAW,EAAA,QAAA,CAAA,EAAA,EACNpC,cAAc,EAAA;IAClB,SAAS,EAAEE,UAAU,CAAC2L,KAAK,CAACjM,SAAS,EAAEA,SAAS,CAAE;AAClD,IAAA,GAAG,EAAEH,GAAiC;AACtC,IAAA,SAAS,EAAEhH,OAAO,CAACsT,KAAK,CAAE;AAC1B,IAAA,QAAQ,EAAE3J,OAAAA;AAAQ,GAAA,CAAA,eAElB,oBAAC,OAAO,EAAA;AACN,IAAA,SAAS,EAAG,CAAA,EAAEyJ,KAAK,CAACjM,SAAU,CAAU,QAAA,CAAA;AACxC,IAAA,cAAc,EAAC,eAAA;AAAe,GAAA,eAE9B,oBAAC,OAAO,EAAA;AAAC,IAAA,cAAc,EAAC,eAAe;AAAC,IAAA,aAAa,EAAC,QAAQ;AAAC,IAAA,GAAG,EAAC,GAAA;AAAG,GAAA,eACpE,oBAAC,OAAO,EAAA;AACN,IAAA,SAAS,EAAG,CAAA,EAAEiM,KAAK,CAACjM,SAAU,CAAgB,cAAA,CAAA;AAC9C,IAAA,GAAG,EAAC,MAAM;AACV,IAAA,UAAU,EAAC,YAAA;AAAY,GAAA,EAEtBE,IAAI,EACJiM,KAAK,gBAAG,oBAAC,OAAO,EAAA;AAAC,IAAA,EAAE,EAAC,IAAA;AAAI,GAAA,EAAEA,KAAK,CAAW,GAAG,IAAI,CAC1C,EAETxI,QAAQ,gBACP,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAG,CAAA,EAAEsI,KAAK,CAACjM,SAAU,CAAA,SAAA,CAAA;GAAa2D,EAAAA,QAAQ,CAAO,GAC7D,IAAI,CACA,EAETgI,WAAW,KAAK,IAAI,gBACnB,KAAA,CAAA,aAAA,CAAC,UAAU,EAAA;AACT,IAAA,YAAA,EAAYxJ,eAAe,CAACG,MAAM,CAAC,OAAO,CAAE;AAC5C,IAAA,SAAS,EAAG,CAAA,EAAE2J,KAAK,CAACjM,SAAU,CAAsB,oBAAA,CAAA;AACpD,IAAA,IAAI,EAAEoH,QAAS;AACf,IAAA,OAAO,EAAE8E,UAAAA;GACT,CAAA,GACAhV,WAAW,CAAC,QAAQ,CAAC,CAACyU,WAAW,CAAC,IACpCzU,WAAW,CAAC,YAAY,CAAC,CAACyU,WAAW,CAAC,gBACtC/U,KAAK,CAACmR,YAAY,CAAC4D,WAAW,EAAE;AAC9B1L,IAAAA,KAAK,EAAEuC,OAAO,KAAK,SAAS,GAAG,SAAS,GAAIA,OAAuB;AACnEY,IAAAA,OAAO,EAAE,MAAM;AAAA,MAAA,IAAA,qBAAA,EAAA,kBAAA,CAAA;AACb,MAAA,CAAA,qBAAA,GAAA,CAAA,kBAAA,GAAAuI,WAAW,CAACtT,KAAK,EAAC+K,OAAO,0DAAzB,qBAA6B,CAAA,IAAA,CAAA,kBAAA,CAAA,CAAA;AAC7B8I,MAAAA,UAAU,KAAVA,IAAAA,IAAAA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,EAAI,CAAA;AAChB,KAAA;AACF,GAAC,CAAC,GACA,IAAI,CACA,CACE,CAAA;AAElB,CAAC,EAAC;AACFD,KAAK,CAACjM,SAAS,GAAGR,WAAS,CAAA;AAC3ByM,KAAK,CAAC1L,YAAY,GAAGd,eAAa,CAAA;AAClCwM,KAAK,CAAC3U,WAAW,GAAGiI,gBAAc;;AClH3B,MAAM6M,aAAa,GAAGpN,MAAM,CAACsE,GAAI,CAAA;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAA;;AAED;AACA;AACA;AACO,MAAM+I,oBAAoB,GAAGrN,MAAM,CACxCsN,gBAAc,C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"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/dialog/context.ts","../src/components/dialog/types.ts","../../design-system/src/types/colors.ts","../../design-system/src/utils/isComponent.ts","../../design-system/src/utils/partitionComponents.ts","../../design-system/src/utils/warnIfNoAccessibleLabelFound.ts","../../design-system/src/hooks/useBoundingRect.ts","../../design-system/src/components/icon-button/types.ts","../../design-system/src/components/icon/types.ts","../../design-system/src/components/shared/styles.ts","../../design-system/src/components/icon/styles.ts","../../design-system/src/components/icon/Icon.tsx","../../design-system/src/components/button/types.ts","../../design-system/src/components/button/styles.ts","../../design-system/src/components/spinner/intl/index.ts","../../design-system/src/components/spinner/types.ts","../../design-system/src/components/spinner/styles.ts","../../design-system/src/components/app-container/context.ts","../../design-system/src/components/spinner/Spinner.tsx","../../design-system/src/components/icon-button/styles.ts","../../design-system/src/components/icon-button/IconButton.tsx","../../design-system/src/components/heading/styles.ts","../../design-system/src/components/heading/Heading.tsx","../../design-system/src/components/flexbox/styles.ts","../../design-system/src/components/flexbox/Flexbox.tsx","../src/components/dialog-content/intl/index.ts","../src/components/dialog-content/styles.ts","../src/components/dialog-content-actions/styles.ts","../src/components/dialog-content-actions/DialogContentActions.tsx","../src/components/dialog-content-body/styles.ts","../src/components/dialog-content-body/DialogContentBody.tsx","../src/components/dialog-content-header/styles.ts","../src/components/dialog-content-header/DialogContentHeader.tsx","../src/components/dialog-content/DialogContent.tsx","../src/components/dialog-trigger/DialogTrigger.tsx","../src/components/dialog/useDialog.tsx","../src/components/dialog/Dialog.tsx","../src/components/dialog/useDialogContext.tsx","../src/components/popover/context.ts","../src/components/popover/types.ts","../src/components/popover-content/styles.ts","../src/components/popover-content/PopoverContent.tsx","../src/components/popover-trigger/PopoverTrigger.tsx","../src/components/popover/usePopover.tsx","../src/components/popover/Popover.tsx","../src/components/popover/usePopoverContext.tsx","../src/components/toast/types.ts","../src/components/toast/intl/index.ts","../src/components/toast/styles.ts","../src/components/toast/Toast.tsx","../src/components/toast-container/styles.ts","../src/components/toast-container/ToastContainer.tsx","../src/components/toast-container/useToast.tsx","../src/components/tooltip/context.ts","../src/components/tooltip/types.ts","../src/components/tooltip-content/styles.ts","../src/components/tooltip-content/TooltipContent.tsx","../src/components/tooltip-trigger/TooltipTrigger.tsx","../src/components/tooltip/useTooltip.tsx","../src/components/tooltip/Tooltip.tsx","../src/components/tooltip/useTooltipContext.tsx"],"sourcesContent":["import React from 'react';\nimport { DialogState } from './types';\n\nexport const DialogContext = React.createContext<DialogState | null>(null);\n","import { Dispatch, ReactNode, SetStateAction } from 'react';\nimport { ValueOf } from '@redsift/design-system';\nimport { useDialog } from './useDialog';\n\n/**\n * Context props.\n */\nexport type DialogState =\n | (ReturnType<typeof useDialog> & {\n setLabelId: Dispatch<SetStateAction<string | undefined>>;\n setDescriptionId: Dispatch<SetStateAction<string | undefined>>;\n })\n | null;\n\n/**\n * Component variant.\n */\nexport const DialogSize = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n} as const;\nexport type DialogSize = ValueOf<typeof DialogSize>;\n\n/**\n * Component props.\n */\nexport interface DialogProps {\n /** Children. Can only be DialogTrigger and DialogContent. */\n children: ReactNode;\n /**\n * Default open status.\n * Used for uncontrolled version.\n */\n defaultOpen?: boolean;\n /** Whether the Close icon button is displayed or not. */\n hasCloseButton?: boolean;\n /** Which element to initially focus. Can be either a number (tabbable index), a ref to en element, or a shortcut pointing towards a section of the dialog. See the accessibility section in the documentation to know which one to use. */\n initialFocus?:\n | number\n | React.MutableRefObject<HTMLElement | null>\n | 'header'\n | 'body'\n | 'actions';\n /**\n * Whether the component is opened or not.\n * Used for controlled version.\n */\n isOpen?: boolean;\n /** Method to handle component change. */\n onOpen?: (open: boolean) => void;\n /** Dialog size. */\n size?: DialogSize;\n}\n\nexport type StyledDialogProps = DialogProps;\n","import { ValueOf } from './helpers';\n\n/**\n * Color palette.\n */\nexport const ColorPalette = {\n default: 'default',\n success: 'success',\n error: 'error',\n warning: 'warning',\n info: 'info',\n question: 'question',\n 'no-data': 'no-data',\n} as const;\nexport type ColorPalette = ValueOf<typeof ColorPalette>;\n\nexport const ProductColorPalette = {\n website: 'website',\n ondmarc: 'ondmarc',\n oninbox: 'oninbox',\n ondomain: 'ondomain',\n hardenize: 'hardenize',\n tools: 'tools',\n} as const;\nexport type ProductColorPalette = ValueOf<typeof ProductColorPalette>;\n\nexport const DataVizColorPalette = {\n purple: 'purple',\n blue: 'blue',\n green: 'green',\n red: 'red',\n pink: 'pink',\n cyan: 'cyan',\n orange: 'orange',\n yellow: 'yellow',\n brown: 'brown',\n grey: 'grey',\n} as const;\nexport type DataVizColorPalette = ValueOf<typeof DataVizColorPalette>;\n\nexport const NeutralColorPalette = {\n black: 'black',\n darkgrey: 'darkgrey',\n midgrey: 'midgrey',\n lightgrey: 'lightgrey',\n xlightgrey: 'xlightgrey',\n white: 'white',\n} as const;\nexport type NeutralColorPalette = ValueOf<typeof NeutralColorPalette>;\n","import React, { ReactNode, ReactElement } from 'react';\nimport { Comp } from '../types';\n\n/**\n * Create a predicate function that checks if a ReactNode is a react element from the given component.\n *\n * @param component React function component or the component name\n * @return predicate returning true if value is instance of the component\n */\nexport const isComponent =\n <C>(component: Comp<C, any> | string) =>\n (instance: ReactNode): instance is ReactElement => {\n const componentName =\n typeof component === 'string' ? component : component.displayName;\n\n return (\n React.isValidElement(instance) &&\n (instance.type as Comp<any>).displayName === componentName\n );\n };\n","/**\n * Return components based on list of predicates.\n *\n * @param components Array of components\n * @param predicates Array of predicates\n * @return an array of arrays of components based on the given array of predicates\n */\nexport function partitionComponents<T>(\n components: T[],\n predicates: Array<(t: T) => boolean>\n): T[][] {\n const elements: T[][] = [...predicates.map(() => []), []];\n components.forEach((component) => {\n let found = false;\n predicates.forEach((predicate, index) => {\n if (predicate(component)) {\n elements[index].push(component);\n found = true;\n }\n });\n if (!found) {\n elements[elements.length - 1].push(component);\n }\n });\n return elements;\n}\n","import { ComponentProps, DependencyList } from 'react';\n\n/**\n * Display a warning if no label was found for screen readers and assistive technologies.\n *\n * @param props Component props containing the aria-label and aria-labelledby params to check for.\n * @param additionalKeysToCheck Additional props to check that can act as a label for screen readers (i.e. children).\n */\nexport const warnIfNoAccessibleLabelFound = (\n props: ComponentProps<keyof JSX.IntrinsicElements>,\n additionalKeysToCheck?: DependencyList\n): void => {\n const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby } = props;\n\n const hasText =\n additionalKeysToCheck &&\n additionalKeysToCheck.filter((key) => !!key).length > 0;\n const hasAriaLabel = Boolean(ariaLabel || ariaLabelledby);\n\n if (!hasAriaLabel && !hasText) {\n console.warn('You must provide a label for accessibility');\n }\n};\n","import { useState, useEffect, MutableRefObject, DependencyList } from 'react';\n\n/**\n * Get the bounding rect of a component.\n */\nexport const useBoundingClientRect = (\n ref: MutableRefObject<HTMLElement>,\n deps?: DependencyList\n) => {\n const [boundingRect, setBoundingRect] = useState<DOMRect>({} as DOMRect);\n\n useEffect(() => {\n if (ref.current) {\n setBoundingRect(ref.current.getBoundingClientRect());\n }\n }, deps);\n\n return boundingRect;\n};\n","import { ComponentProps } from 'react';\nimport { PressEvent } from '@react-types/shared';\nimport {\n ColorPalette,\n ProductColorPalette,\n StylingProps,\n ValueOf,\n} from '../../types';\n\n/**\n * Component variant.\n */\nexport const IconButtonVariant = {\n primary: 'primary',\n secondary: 'secondary',\n unstyled: 'unstyled',\n} as const;\nexport type IconButtonVariant = ValueOf<typeof IconButtonVariant>;\n\n/**\n * Component color.\n */\nexport type IconButtonColor = ColorPalette | ProductColorPalette;\n\n/**\n * Component props.\n */\nexport interface IconButtonProps\n extends ComponentProps<'button'>,\n StylingProps {\n /** Color variant. */\n color?: IconButtonColor;\n /**\n * Icon path data (`d` property of the `path` SVG element).<br />\n * See <a href=\"https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths\">https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths</a>.<br />\n * Recommended path data come from mdi/js.<br />\n * See <a href=\"https://www.npmjs.com/package/@mdi/js\">https://www.npmjs.com/package/@mdi/js</a>.\n */\n icon: string;\n /** Whether the component is active or not. */\n isActive?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Preferred method to handle click, press and touch. */\n onPress?: (e: PressEvent) => void;\n /** Button variant. */\n variant?: IconButtonVariant;\n}\n\nexport type StyledIconButtonProps = Omit<\n IconButtonProps,\n 'isActive' | 'isDisabled' | 'variant' | 'color' | 'icon'\n> & {\n $color: IconButtonProps['color'];\n $isActive: IconButtonProps['isActive'];\n $isDisabled: IconButtonProps['isDisabled'];\n $variant: IconButtonProps['variant'];\n};\n","import { ComponentProps, ReactElement } from 'react';\nimport {\n ColorPalette,\n LayoutProps,\n PositioningProps,\n ProductColorPalette,\n SpacingProps,\n ValueOf,\n} from '../../types';\n\n/**\n * Component size.\n */\nexport const IconSize = {\n xsmall: 'xsmall',\n small: 'small',\n medium: 'medium',\n large: 'large',\n xlarge: 'xlarge',\n} as const;\nexport type IconSize = ValueOf<typeof IconSize>;\n\n/**\n * Component props.\n */\nexport interface IconProps\n extends ComponentProps<'span'>,\n LayoutProps,\n SpacingProps,\n PositioningProps {\n /** Indicates whether the element is exposed to an accessibility API. */\n 'aria-hidden'?: boolean | 'false' | 'true';\n /** A screen reader only label for the Icon. */\n 'aria-label'?: string;\n /** Color variant. Either from color palette or hex or rgb strings. */\n color?: ColorPalette | ProductColorPalette | string;\n /** Whether the icon has a badge attached to it. */\n badge?: ReactElement;\n /**\n * Icon path data (`d` property of the `path` SVG element).<br />\n * See <a href=\"https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths\">https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths</a>.<br />\n * Recommended path data come from mdi/js.<br />\n * See <a href=\"https://www.npmjs.com/package/@mdi/js\">https://www.npmjs.com/package/@mdi/js</a>.\n */\n icon: string;\n /** Icon size. */\n size?: IconSize;\n /** Additional properties to forward to the SVG tag. */\n svgProps?: ComponentProps<'svg'>;\n}\n\nexport type StyledIconProps = Omit<\n IconProps,\n 'color' | 'size' | 'icon' | 'svgProps'\n> & {\n $color: IconProps['color'];\n $size: IconProps['size'];\n};\n","import { css } from 'styled-components';\nimport {\n LayoutProps,\n SpacingProps,\n SizingProps,\n PositioningProps,\n FlexLayoutProps,\n GridLayoutProps,\n StylingProps,\n ContainerProps,\n InternalSpacingProps,\n} from '../../types';\n\nexport const baseLayout = css<LayoutProps>`\n ${({\n flex,\n flexGrow,\n flexShrink,\n flexBasis,\n alignSelf,\n justifySelf,\n order,\n gridArea,\n gridColumn,\n gridRow,\n gridColumnStart,\n gridColumnEnd,\n gridRowStart,\n gridRowEnd,\n }) =>\n css`\n ${flex ? `flex: ${flex};` : ''}\n ${flexGrow !== undefined ? `flex-grow: ${flexGrow};` : ''}\n ${flexShrink !== undefined ? `flex-shrink: ${flexShrink};` : ''}\n ${flexBasis ? `flex-basis: ${flexBasis};` : ''}\n ${alignSelf ? `align-self: ${alignSelf};` : ''}\n ${justifySelf ? `justify-self: ${justifySelf};` : ''}\n ${order !== undefined ? `order: ${order};` : ''}\n ${gridArea ? `grid-area: ${gridArea};` : ''}\n ${gridColumn ? `grid-column: ${gridColumn};` : ''}\n ${gridRow ? `grid-row: ${gridRow};` : ''}\n ${gridColumnStart ? `grid-column-start: ${gridColumnStart};` : ''}\n ${gridColumnEnd ? `grid-column-end: ${gridColumnEnd};` : ''}\n ${gridRowStart ? `grid-row-start: ${gridRowStart};` : ''}\n ${gridRowEnd ? `grid-row-end: ${gridRowEnd};` : ''}\n `}\n`;\n\nexport const baseSpacing = css<SpacingProps>`\n ${({ margin, marginBottom, marginLeft, marginRight, marginTop }) =>\n css`\n ${margin ? `margin: ${margin};` : ''}\n ${marginBottom ? `margin-bottom: ${marginBottom};` : ''}\n ${marginLeft ? `margin-left: ${marginLeft};` : ''}\n ${marginRight ? `margin-right: ${marginRight};` : ''}\n ${marginTop ? `margin-top: ${marginTop};` : ''}\n `}\n`;\n\nexport const baseInternalSpacing = css<InternalSpacingProps>`\n ${({ padding, paddingBottom, paddingLeft, paddingRight, paddingTop }) =>\n css`\n ${padding ? `padding: ${padding};` : ''}\n ${paddingBottom ? `padding-bottom: ${paddingBottom};` : ''}\n ${paddingLeft ? `padding-left: ${paddingLeft};` : ''}\n ${paddingRight ? `padding-right: ${paddingRight};` : ''}\n ${paddingTop ? `padding-top: ${paddingTop};` : ''}\n `}\n`;\n\nexport const baseSizing = css<SizingProps>`\n ${({ height, maxHeight, maxWidth, minHeight, minWidth, width }) =>\n css`\n ${height !== undefined\n ? `height: ${typeof height === 'number' ? `${height}px` : height};`\n : ''}\n ${maxHeight ? `max-height: ${maxHeight};` : ''}\n ${maxWidth ? `max-width: ${maxWidth};` : ''}\n ${minHeight ? `min-height: ${minHeight};` : ''}\n ${minWidth ? `min-width: ${minWidth};` : ''}\n ${width !== undefined\n ? `width: ${typeof width === 'number' ? `${width}px` : width};`\n : ''}\n `}\n`;\n\nexport const basePositioning = css<PositioningProps>`\n ${({ position, top, bottom, left, right, zIndex }) =>\n css`\n ${position ? `position: ${position};` : ''}\n ${top ? `top: ${top};` : ''}\n ${bottom ? `bottom: ${bottom};` : ''}\n ${left ? `left: ${left};` : ''}\n ${right ? `right: ${right};` : ''}\n ${zIndex ? `z-index: ${zIndex};` : ''}\n `}\n`;\n\nexport const baseFlexbox = css<FlexLayoutProps>`\n ${({\n alignContent,\n alignItems,\n flexDirection,\n flexWrap,\n gap,\n justifyContent,\n }) =>\n css`\n ${alignContent ? `align-content: ${alignContent};` : ''}\n ${alignItems ? `align-items: ${alignItems};` : ''}\n ${flexDirection ? `flex-direction: ${flexDirection};` : ''}\n ${flexWrap ? `flex-wrap: ${flexWrap};` : ''}\n gap: ${gap};\n ${justifyContent ? `justify-content: ${justifyContent};` : ''}\n `}\n`;\n\nexport const baseGrid = css<GridLayoutProps>`\n ${({\n alignContent,\n alignItems,\n gap,\n gridAutoColumns,\n gridAutoRows,\n gridTemplateAreas,\n gridTemplateColumns,\n gridTemplateRows,\n justifyContent,\n justifyItems,\n }) =>\n css`\n ${alignContent ? `align-content: ${alignContent};` : ''}\n ${alignItems ? `align-items: ${alignItems};` : ''}\n ${gap ? `gap: ${gap};` : ''}\n ${gridAutoColumns ? `grid-auto-columns: ${gridAutoColumns};` : ''}\n ${gridAutoRows ? `grid-auto-rows: ${gridAutoRows};` : ''}\n ${gridTemplateAreas ? `grid-template-areas: ${gridTemplateAreas};` : ''}\n ${gridTemplateColumns\n ? `grid-template-columns: ${gridTemplateColumns};`\n : ''}\n ${gridTemplateRows ? `grid-template-rows: ${gridTemplateRows};` : ''}\n ${justifyContent ? `justify-content: ${justifyContent};` : ''}\n ${justifyItems ? `justify-items: ${justifyItems};` : ''}\n `}\n`;\n\nexport const baseStyling = css<StylingProps>`\n font-family: var(--redsift-typography-body-font-family);\n font-size: var(--redsift-typography-body-font-size);\n font-weight: var(--redsift-typography-body-font-weight);\n line-height: var(--redsift-typography-body-line-height);\n color: var(--redsift-color-neutral-black);\n\n ${baseLayout}\n ${baseSpacing}\n ${baseSizing}\n ${basePositioning}\n`;\n\nexport const baseContainer = css<ContainerProps>`\n ${({ display }) => (display ? `display: ${display};` : '')}\n font-family: var(--redsift-typography-body-font-family);\n font-size: var(--redsift-typography-body-font-size);\n font-weight: var(--redsift-typography-body-font-weight);\n line-height: var(--redsift-typography-body-line-height);\n color: var(--redsift-color-neutral-black);\n\n ${baseInternalSpacing}\n ${baseFlexbox}\n ${baseGrid}\n`;\n","import styled, { css } from 'styled-components';\nimport { ColorPalette, ProductColorPalette } from '../../types';\nimport { baseStyling } from '../shared';\nimport { StyledIconProps, IconSize } from './types';\n\n/**\n * Component style.\n */\nexport const StyledIcon = styled.span<StyledIconProps>`\n position: relative;\n ${baseStyling}\n\n font-style: normal;\n\n svg {\n vertical-align: -0.125em;\n }\n\n ${({ $color }) =>\n $color &&\n [...Object.keys(ColorPalette), ...Object.keys(ProductColorPalette)].indexOf(\n $color\n ) !== -1\n ? css`\n color: var(--redsift-color-${$color}-primary);\n `\n : css`\n color: ${$color || css`var(--redsift-color-neutral-darkgrey)`};\n `}\n\n ${({ $size }) => {\n switch ($size) {\n case IconSize.xlarge:\n return css`\n font-size: 40px;\n height: 40px;\n line-height: 40px;\n width: 40px;\n\n & .redsift-badge-standard {\n position: absolute;\n right: -24px;\n top: -2px;\n }\n\n & .redsift-badge-dot {\n position: absolute;\n right: -14px;\n top: 6px;\n }\n `;\n case IconSize.large:\n return css`\n font-size: 28px;\n height: 28px;\n line-height: 28px;\n width: 28px;\n\n & .redsift-badge-standard {\n position: absolute;\n right: -24px;\n top: -4px;\n }\n\n & .redsift-badge-dot {\n position: absolute;\n right: -14px;\n top: 2px;\n }\n `;\n case IconSize.small:\n return css`\n font-size: 20px;\n height: 20px;\n line-height: 20px;\n width: 20px;\n\n & .redsift-badge-standard {\n position: absolute;\n right: -24px;\n top: -8px;\n }\n\n & .redsift-badge-dot {\n position: absolute;\n right: -14px;\n top: 1px;\n }\n `;\n case IconSize.xsmall:\n return css`\n font-size: 16px;\n height: 16px;\n line-height: 16px;\n width: 16px;\n\n & .redsift-badge-standard {\n position: absolute;\n right: -24px;\n top: -12px;\n }\n\n & .redsift-badge-dot {\n position: absolute;\n right: -14px;\n top: -1px;\n }\n `;\n case IconSize.medium:\n default:\n return css`\n font-size: 24px;\n height: 24px;\n line-height: 24px;\n width: 24px;\n\n & .redsift-badge-standard {\n position: absolute;\n right: -24px;\n top: -5px;\n }\n\n & .redsift-badge-dot {\n position: absolute;\n right: -14px;\n top: 1px;\n }\n `;\n }\n }}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '../../types';\nimport { StyledIcon } from './styles';\nimport { IconProps, IconSize } from './types';\n\nconst COMPONENT_NAME = 'Icon';\nconst CLASSNAME = 'redsift-icon';\nconst DEFAULT_PROPS: Partial<IconProps> = {\n size: IconSize.medium,\n};\n\n/**\n * The Icon component.\n */\nexport const Icon: Comp<IconProps, HTMLSpanElement> = forwardRef(\n (props, ref) => {\n const {\n 'aria-hidden': ariaHidden,\n 'aria-label': ariaLabel,\n badge,\n className,\n color,\n icon,\n size,\n svgProps,\n ...forwardedProps\n } = props;\n\n return (\n <StyledIcon\n {...forwardedProps}\n $color={color}\n $size={size}\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n className={classNames(Icon.className, className)}\n ref={ref as RefObject<HTMLSpanElement>}\n >\n <svg\n {...svgProps}\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n focusable=\"false\"\n height=\"1em\"\n preserveAspectRatio=\"xMidYMid meet\"\n role=\"img\"\n viewBox=\"0 0 24 24\"\n width=\"1em\"\n >\n <path d={icon} fill=\"currentColor\" />\n </svg>\n {badge ? badge : null}\n </StyledIcon>\n );\n }\n);\nIcon.className = CLASSNAME;\nIcon.defaultProps = DEFAULT_PROPS;\nIcon.displayName = COMPONENT_NAME;\n","import { ComponentProps } from 'react';\nimport { PressEvent } from '@react-types/shared';\nimport {\n ColorPalette,\n ProductColorPalette,\n StylingProps,\n ValueOf,\n} from '../../types';\n\n/**\n * Component variant.\n */\nexport const ButtonVariant = {\n primary: 'primary',\n secondary: 'secondary',\n unstyled: 'unstyled',\n} as const;\nexport type ButtonVariant = ValueOf<typeof ButtonVariant>;\n\n/**\n * Component color.\n */\nexport type ButtonColor = ColorPalette | ProductColorPalette;\n\n/**\n * Component props.\n */\nexport interface ButtonProps extends ComponentProps<'button'>, StylingProps {\n /** Color variant. The product colors are available but should only be used to display the Button in the color of another product. To display a Button with a color of the current product, use `default`. */\n color?: ButtonColor;\n /** Whether the component take the full width or not. */\n fullWidth?: boolean;\n /** Whether the component is active or not. */\n isActive?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Whether the component is in a loading state or not. */\n isLoading?: boolean;\n /**\n * Icon path data (`d` property of the `path` SVG element).<br />\n * See <a href=\"https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths\">https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths</a>.<br />\n * Recommended path data come from mdi/js.<br />\n * See <a href=\"https://www.npmjs.com/package/@mdi/js\">https://www.npmjs.com/package/@mdi/js</a>.\n */\n leftIcon?: string;\n /** Preferred method to handle click, press and touch. */\n onPress?: (e: PressEvent) => void;\n /**\n * Icon path data (`d` property of the `path` SVG element).<br />\n * See <a href=\"https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths\">https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths</a>.<br />\n * Recommended path data come from mdi/js.<br />\n * See <a href=\"https://www.npmjs.com/package/@mdi/js\">https://www.npmjs.com/package/@mdi/js</a>.\n */\n rightIcon?: string;\n /** Button variant. */\n variant?: ButtonVariant;\n}\n\nexport type StyledButtonProps = Omit<\n ButtonProps,\n 'isActive' | 'isDisabled' | 'variant' | 'color' | 'size' | 'fullWidth'\n> & {\n $color: ButtonProps['color'];\n $fullWidth?: ButtonProps['fullWidth'];\n $isActive: ButtonProps['isActive'];\n $isDisabled: ButtonProps['isDisabled'];\n $variant: ButtonProps['variant'];\n};\n","import styled, { css } from 'styled-components';\nimport { baseStyling } from '../shared';\nimport { StyledButtonProps, ButtonVariant } from './types';\n\n/**\n * Component style.\n */\nexport const StyledButton = styled.button<StyledButtonProps>`\n ${baseStyling}\n\n align-items: center;\n background: none;\n border: none;\n display: flex;\n font-family: var(--redsift-typography-button-font-family);\n font-size: var(--redsift-typography-button-font-size);\n font-weight: var(--redsift-typography-button-font-weight);\n gap: 8px;\n justify-content: center;\n line-height: var(--redsift-typography-button-line-height);\n text-decoration: none;\n text-transform: var(--redsift-typography-button-text-transform);\n\n ${({ $variant, $color, $isActive, $isDisabled }) => css`\n padding: ${$variant === ButtonVariant.secondary ? '7px 15px' : '8px 16px'};\n\n ${$variant === ButtonVariant.secondary\n ? css`\n background-color: ${$isActive\n ? `var(--redsift-color-${$color}-active)`\n : $isDisabled\n ? 'var(--redsift-color-neutral-white)'\n : 'var(--redsift-color-neutral-white)'};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-primary)`};\n }\n `\n : $variant === ButtonVariant.unstyled\n ? css`\n background-color: ${$isActive\n ? `var(--redsift-color-${$color}-active)`\n : $isDisabled\n ? 'none'\n : 'none'};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-primary)`};\n }\n `\n : css`\n background-color: ${$isActive\n ? `var(--redsift-color-${$color}-primary-active)`\n : $isDisabled\n ? 'var(--redsift-color-neutral-lightgrey)'\n : `var(--redsift-color-${$color}-primary)`};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : 'var(--redsift-color-neutral-white)'};\n }\n `}\n\n ${$variant === ButtonVariant.secondary\n ? css`\n border: 1px solid\n ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-primary)`};\n `\n : ''}\n `};\n\n &:hover,\n &:focus-visible {\n outline: none;\n\n ${({ $variant, $color, $isActive, $isDisabled }) => css`\n cursor: ${$isDisabled ? 'default' : 'pointer'};\n\n ${$variant === ButtonVariant.secondary\n ? css`\n background-color: ${$isActive\n ? `var(--redsift-color-${$color}-active-hover)`\n : $isDisabled\n ? 'var(--redsift-color-neutral-white)'\n : `var(--redsift-color-${$color}-hover)`};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-secondary)`};\n }\n `\n : $variant === ButtonVariant.unstyled\n ? css`\n background-color: ${$isActive\n ? `var(--redsift-color-${$color}-active-hover)`\n : $isDisabled\n ? 'none'\n : `var(--redsift-color-${$color}-hover)`};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-secondary)`};\n }\n `\n : css`\n background-color: ${$isActive\n ? `var(--redsift-color-${$color}-primary-active-hover)`\n : $isDisabled\n ? 'var(--redsift-color-neutral-lightgrey)'\n : `var(--redsift-color-${$color}-secondary)`};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : 'var(--redsift-color-neutral-white)'};\n }\n `}\n\n ${$variant === ButtonVariant.secondary\n ? css`\n border: 1px solid\n ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-primary)`};\n `\n : `\n border: none;\n `}\n `};\n }\n\n ${({ $fullWidth }) =>\n $fullWidth\n ? `\n width: 100%;\n flex-grow: 1;\n\n .redsift-icon.left {\n margin-right: unset;\n }\n\n .redsift-icon.right {\n margin-left: unset;\n }\n `\n : ''}\n`;\n","import enUS from './en-US.json';\nimport frFR from './fr-FR.json';\n\nexport default {\n 'en-US': enUS,\n 'fr-FR': frFR,\n};\n","import { ComponentProps } from 'react';\nimport {\n ColorPalette,\n LayoutProps,\n PositioningProps,\n ProductColorPalette,\n SpacingProps,\n ValueOf,\n} from '../../types';\n\n/**\n * Component size.\n */\nexport const SpinnerSize = {\n xsmall: 'xsmall',\n small: 'small',\n medium: 'medium',\n large: 'large',\n} as const;\nexport type SpinnerSize = ValueOf<typeof SpinnerSize>;\n\n/**\n * Component color.\n */\nexport type SpinnerColor =\n | typeof ColorPalette.default\n | typeof ColorPalette.question\n | typeof ColorPalette['no-data']\n | ProductColorPalette;\n\n/**\n * Component props.\n */\nexport interface SpinnerProps\n extends ComponentProps<'img'>,\n LayoutProps,\n SpacingProps,\n PositioningProps {\n /** Indicates whether the element is exposed to an accessibility API. */\n 'aria-hidden'?: boolean | 'false' | 'true';\n /** A screen reader only label for the Spinner. */\n 'aria-label'?: string;\n /** Color variant. The product colors are available but should only be used to display the Spinner in the color of another product. To display a Spinner with a color of the current product, use `default`. */\n color?: SpinnerColor;\n /** Spinner size. */\n size?: SpinnerSize;\n}\n\nexport type StyledSpinnerProps = Omit<SpinnerProps, 'color'> & {\n $color?: SpinnerProps['color'];\n $size?: SpinnerProps['size'];\n};\n","import styled from 'styled-components';\nimport { baseStyling } from '../shared';\nimport { StyledSpinnerProps } from './types';\n\nexport const StyledSpinner = styled.img<StyledSpinnerProps>`\n ${baseStyling}\n\n display: inline;\n line-height: 0px;\n vertical-align: -0.125em;\n`;\n","import React from 'react';\nimport { AppContainerState } from './types';\n\nexport const AppContainerContext =\n React.createContext<AppContainerState | null>(null);\n","import React, { forwardRef, RefObject, useContext } from 'react';\nimport classNames from 'classnames';\nimport { ColorPalette, Comp } from '../../types';\n\nimport { useLocalizedStringFormatter } from 'react-aria';\nimport intlMessages from './intl';\n\nimport { SpinnerProps, SpinnerSize } from './types';\nimport { StyledSpinner } from './styles';\nimport { AppContainerContext } from '../app-container';\n\nimport spinnerDefault from './images/spinner-default.svg';\nimport spinnerHardenize from './images/spinner-hardenize.svg';\nimport spinnerNoData from './images/spinner-no-data.svg';\nimport spinnerOndmarc from './images/spinner-ondmarc.svg';\nimport spinnerOndomain from './images/spinner-ondomain.svg';\nimport spinnerOninbox from './images/spinner-oninbox.svg';\nimport spinnerQuestion from './images/spinner-question.svg';\nimport spinnerTools from './images/spinner-tools.svg';\nimport spinnerWebsite from './images/spinner-website.svg';\n\nconst colorToFile = {\n default: spinnerDefault,\n hardenize: spinnerHardenize,\n 'no-data': spinnerNoData,\n ondmarc: spinnerOndmarc,\n ondomain: spinnerOndomain,\n oninbox: spinnerOninbox,\n question: spinnerQuestion,\n tools: spinnerTools,\n website: spinnerWebsite,\n};\n\nconst COMPONENT_NAME = 'Spinner';\nconst CLASSNAME = 'redsift-shield';\nconst DEFAULT_PROPS: Partial<SpinnerProps> = {\n color: ColorPalette.default,\n size: SpinnerSize.medium,\n};\n\nconst sizeToDimension = (\n size: SpinnerSize\n): { width: number; height: number } => {\n switch (size) {\n case SpinnerSize.xsmall:\n return { width: 15, height: 15 };\n case SpinnerSize.small:\n return { width: 24, height: 24 };\n case SpinnerSize.large:\n return { width: 56, height: 56 };\n case SpinnerSize.medium:\n default:\n return { width: 40, height: 40 };\n }\n};\n\n/**\n * The Spinner component.\n */\nexport const Spinner: Comp<SpinnerProps, HTMLImageElement> = forwardRef(\n (props, ref) => {\n const {\n 'aria-hidden': ariaHidden,\n 'aria-label': ariaLabel,\n className,\n color: propsColor,\n size,\n ...forwardedProps\n } = props;\n\n const { width, height } = sizeToDimension(size!);\n const appContainerState = useContext(AppContainerContext);\n const color =\n propsColor === ColorPalette.default &&\n appContainerState &&\n appContainerState.productTheme\n ? appContainerState.productTheme\n : propsColor;\n\n const stringFormatter = useLocalizedStringFormatter(intlMessages);\n\n return (\n <StyledSpinner\n alt={stringFormatter.format('loading')}\n {...forwardedProps}\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n className={classNames(Spinner.className, className)}\n height={height}\n ref={ref as RefObject<HTMLImageElement>}\n src={colorToFile[color!]}\n width={width}\n $color={color}\n $size={size}\n />\n );\n }\n);\nSpinner.className = CLASSNAME;\nSpinner.defaultProps = DEFAULT_PROPS;\nSpinner.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { StyledButton } from '../button';\nimport { IconButtonVariant, StyledIconButtonProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledIconButton = styled(StyledButton)<StyledIconButtonProps>`\n ${({ $variant }) => css`\n padding: ${$variant === IconButtonVariant.secondary ? '7px' : '8px'};\n `};\n`;\n","import React, { forwardRef, RefObject, useRef } from 'react';\nimport classNames from 'classnames';\nimport { useButton, AriaButtonProps } from 'react-aria';\nimport { ColorPalette, Comp } from '../../types';\nimport { Icon } from '../icon';\nimport { warnIfNoAccessibleLabelFound } from '../../utils/warnIfNoAccessibleLabelFound';\nimport { StyledIconButton } from './styles';\nimport { IconButtonProps, IconButtonVariant } from './types';\n\nconst COMPONENT_NAME = 'IconButton';\nconst CLASSNAME = 'redsift-icon-button';\nconst DEFAULT_PROPS: Partial<IconButtonProps> = {\n color: ColorPalette.default,\n height: 'fit-content',\n variant: IconButtonVariant.unstyled,\n};\n\n/**\n * The Icon Button is a component that contains only one icon as a child, without text.\n *\n * This component should use aria-label, aria-labelledby or aria-describedby to make this\n * component usable with a screen reader.\n */\nexport const IconButton: Comp<IconButtonProps, HTMLButtonElement> = forwardRef(\n (props, ref) => {\n const buttonRef = ref || useRef<HTMLButtonElement>();\n const { buttonProps, isPressed } = useButton(\n {\n ...props,\n isDisabled: props.isDisabled || props.disabled,\n preventFocusOnPress: true,\n } as AriaButtonProps<'button'>,\n buttonRef as RefObject<HTMLButtonElement>\n );\n\n const {\n className,\n color,\n disabled,\n icon,\n isActive,\n isDisabled,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onPress,\n variant,\n ...forwardedProps\n } = props;\n\n warnIfNoAccessibleLabelFound(props);\n\n return (\n <StyledIconButton\n {...forwardedProps}\n {...buttonProps}\n $color={isDisabled || disabled ? undefined : color}\n $isActive={isActive || isPressed}\n $isDisabled={isDisabled || disabled}\n $variant={variant}\n aria-disabled={isDisabled || disabled}\n className={classNames(IconButton.className, className)}\n disabled={isDisabled || disabled}\n ref={buttonRef as RefObject<HTMLButtonElement>}\n >\n <Icon icon={icon} color={isDisabled || disabled ? undefined : color} />\n </StyledIconButton>\n );\n }\n);\nIconButton.className = CLASSNAME;\nIconButton.defaultProps = DEFAULT_PROPS;\nIconButton.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { baseStyling } from '../shared';\nimport { StyledHeadingProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledHeading = styled.span<StyledHeadingProps>`\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font: inherit;\n vertical-align: baseline;\n\n ${baseStyling}\n\n ${({ $variant }) =>\n $variant === 'h1'\n ? css`\n color: var(--redsift-color-neutral-black);\n font-family: var(--redsift-typography-h1-font-family);\n font-size: var(--redsift-typography-h1-font-size);\n font-weight: var(--redsift-typography-h1-font-weight);\n line-height: var(--redsift-typography-h1-line-height);\n text-transform: var(--redsift-typography-h1-text-transform);\n `\n : $variant === 'h2'\n ? css`\n color: var(--redsift-color-neutral-black);\n font-family: var(--redsift-typography-h2-font-family);\n font-size: var(--redsift-typography-h2-font-size);\n font-weight: var(--redsift-typography-h2-font-weight);\n line-height: var(--redsift-typography-h2-line-height);\n `\n : $variant === 'h3'\n ? css`\n color: var(--redsift-color-neutral-black);\n font-family: var(--redsift-typography-h3-font-family);\n font-size: var(--redsift-typography-h3-font-size);\n font-weight: var(--redsift-typography-h3-font-weight);\n line-height: var(--redsift-typography-h3-line-height);\n `\n : $variant === 'h4'\n ? css`\n color: var(--redsift-color-neutral-black);\n font-family: var(--redsift-typography-h4-font-family);\n font-size: var(--redsift-typography-h4-font-size);\n font-weight: var(--redsift-typography-h4-font-weight);\n line-height: var(--redsift-typography-h4-line-height);\n `\n : $variant === 'h5'\n ? css`\n color: var(--redsift-color-neutral-black);\n font-family: var(--redsift-typography-h5-font-family);\n font-size: var(--redsift-typography-h5-font-size);\n font-weight: var(--redsift-typography-h5-font-weight);\n line-height: var(--redsift-typography-h5-line-height);\n `\n : css`\n color: var(--redsift-color-neutral-black);\n font-family: var(--redsift-typography-body-font-family);\n font-size: var(--redsift-typography-body-font-size);\n font-weight: var(--redsift-typography-body-font-weight);\n line-height: var(--redsift-typography-body-line-height);\n `}\n\n ${({ $noWrap }) =>\n $noWrap\n ? css`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `\n : css`\n word-break: break-word;\n `}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '../../types';\nimport { StyledHeading } from './styles';\nimport { HeadingProps } from './types';\n\nconst COMPONENT_NAME = 'Heading';\nconst CLASSNAME = 'redsift-heading';\nconst DEFAULT_PROPS: Partial<HeadingProps> = {};\n\n/**\n * The Heading component.\n */\nexport const Heading: Comp<HeadingProps, HTMLDivElement> = forwardRef(\n (props, ref) => {\n const { as, children, className, noWrap, variant, ...forwardedProps } =\n props;\n\n return (\n <StyledHeading\n as={as}\n {...forwardedProps}\n className={classNames(Heading.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n $noWrap={noWrap}\n $variant={variant ? variant : as === 'span' ? 'body' : as}\n >\n {children}\n </StyledHeading>\n );\n }\n);\nHeading.className = CLASSNAME;\nHeading.defaultProps = DEFAULT_PROPS;\nHeading.displayName = COMPONENT_NAME;\n","import styled from 'styled-components';\nimport { baseFlexbox, baseInternalSpacing, baseStyling } from '../shared';\nimport { StyledFlexboxProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledFlexbox = styled.div<StyledFlexboxProps>`\n display: ${({ inline }) => (inline ? 'inline-flex' : 'flex')};\n\n ${baseStyling}\n ${baseInternalSpacing}\n ${baseFlexbox}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '../../types';\nimport { StyledFlexbox } from './styles';\nimport { FlexboxProps } from './types';\n\nconst COMPONENT_NAME = 'Flexbox';\nconst CLASSNAME = 'redsift-flex-box';\nconst DEFAULT_PROPS: Partial<FlexboxProps> = {\n gap: '16px',\n};\n\n/**\n * The Flexbox component.\n */\nexport const Flexbox: Comp<FlexboxProps, HTMLDivElement> = forwardRef(\n (props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n return (\n <StyledFlexbox\n {...forwardedProps}\n className={classNames(Flexbox.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n >\n {children}\n </StyledFlexbox>\n );\n }\n);\nFlexbox.className = CLASSNAME;\nFlexbox.defaultProps = DEFAULT_PROPS;\nFlexbox.displayName = COMPONENT_NAME;\n","import enUS from './en-US.json';\nimport frFR from './fr-FR.json';\n\nexport default {\n 'en-US': enUS,\n 'fr-FR': frFR,\n};\n","import { FloatingOverlay } from '@floating-ui/react';\nimport styled, { css } from 'styled-components';\nimport { DialogSize } from '../dialog/types';\nimport { StyledDialogContentProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledDialogContent = styled.div<StyledDialogContentProps>`\n background-color: var(--redsift-color-neutral-white);\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);\n color: var(--redsift-color-neutral-black);\n display: flex;\n filter: drop-shadow(0px 4px 5px rgba(0, 0, 0, 0.14))\n drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.12));\n flex-direction: column;\n font-family: var(--redsift-typography-dialog-font-family);\n font-size: var(--redsift-typography-dialog-font-size);\n font-weight: var(--redsift-typography-dialog-font-weight);\n line-height: var(--redsift-typography-dialog-line-height);\n margin: 32px;\n max-width: calc(100vw - 48px);\n padding: 24px;\n width: 540px;\n z-index: var(--redsift-layout-z-index-dialog);\n\n ${({ $size }) => {\n switch ($size) {\n case DialogSize.small:\n return css`\n width: 540px;\n `;\n case DialogSize.large:\n return css`\n width: 800px;\n `;\n case DialogSize.medium:\n default:\n return css`\n width: 700px;\n `;\n }\n }}\n\n &:focus-visible {\n outline: none;\n }\n\n .redsift-dialog-content__header {\n align-items: flex-start;\n display: flex;\n justify-content: space-between;\n }\n\n .redsift-card-header__icon-button {\n margin-top: 8px;\n margin-left: auto;\n margin-right: 8px;\n\n [dir='rtl'] & {\n margin-left: 8px;\n margin-right: auto;\n }\n }\n`;\n\nexport const StyledFloatingOverlay = styled(FloatingOverlay)`\n background: rgba(0, 0, 0, 0.8);\n display: grid;\n place-items: center;\n z-index: var(--redsift-layout-z-index-overlay);\n`;\n","import styled from 'styled-components';\nimport { baseContainer } from '@redsift/design-system';\nimport { StyledDialogContentActionsProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledDialogContentActions = styled.div<StyledDialogContentActionsProps>`\n display: flex;\n ${baseContainer}\n\n margin-top: 8px;\n margin-bottom: 8px;\n\n &:focus-visible {\n outline: none;\n }\n`;\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Comp } from '@redsift/design-system';\nimport { StyledDialogContentActions } from './styles';\nimport { DialogContentActionsProps } from './types';\nimport { useDialogContext } from '../dialog';\n\nconst COMPONENT_NAME = 'DialogContentActions';\nconst CLASSNAME = 'redsift-dialog-content-actions';\nconst DEFAULT_PROPS: Partial<DialogContentActionsProps> = {\n flexDirection: 'row',\n};\n\n/**\n * The DialogContentActions component.\n */\nexport const DialogContentActions: Comp<\n DialogContentActionsProps,\n HTMLDivElement\n> = forwardRef((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n const { actionsRef, initialFocus } = useDialogContext();\n\n return (\n <StyledDialogContentActions\n {...forwardedProps}\n className={classNames(DialogContentActions.className, className)}\n ref={useMergeRefs([ref, actionsRef])}\n tabIndex={initialFocus === 'actions' ? -1 : undefined}\n >\n {children}\n </StyledDialogContentActions>\n );\n});\nDialogContentActions.className = CLASSNAME;\nDialogContentActions.defaultProps = DEFAULT_PROPS;\nDialogContentActions.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { baseContainer } from '@redsift/design-system';\nimport { StyledDialogContentBodyProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledDialogContentBody = styled.div<StyledDialogContentBodyProps>`\n ${baseContainer}\n\n overflow-y: auto;\n ${({ $marginTop, $marginBottom }) => css`\n max-height: calc(100vh - ${$marginTop + $marginBottom}px);\n `}\n\n color: var(--redsift-color-neutral-darkgrey);\n font-family: var(--redsift-typography-body2-font-family);\n font-size: var(--redsift-typography-body2-font-size);\n font-weight: var(--redsift-typography-body2-font-weight);\n line-height: var(--redsift-typography-body2-line-height);\n padding: 0 24px;\n margin: 16px -24px;\n\n &:focus-visible {\n outline: none;\n }\n\n scrollbar-color: var(--redsift-color-neutral-midgrey) transparent;\n scrollbar-width: thin;\n\n &::-webkit-scrollbar {\n block-size: 9px;\n inline-size: 9px;\n }\n\n &::-webkit-scrollbar-thumb {\n background-clip: padding-box;\n background-color: var(--redsift-color-neutral-midgrey);\n border-radius: 0px;\n border-left: 2px solid transparent;\n border-right: 2px solid transparent;\n }\n\n &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n\n &::-webkit-scrollbar-thumb:horizontal,\n &::-webkit-scrollbar-thumb:vertical {\n &:hover {\n background-color: var(--redsift-color-neutral-darkgrey);\n }\n }\n\n &::-webkit-scrollbar-corner {\n visibility: hidden;\n }\n`;\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Comp, useBoundingClientRect } from '@redsift/design-system';\nimport { StyledDialogContentBody } from './styles';\nimport { DialogContentBodyProps } from './types';\nimport { useDialogContext } from '../dialog';\n\nconst COMPONENT_NAME = 'DialogContentBody';\nconst CLASSNAME = 'redsift-dialog-content-body';\nconst DEFAULT_PROPS: Partial<DialogContentBodyProps> = {};\n\n/**\n * The DialogContentBody component.\n */\nexport const DialogContentBody: Comp<DialogContentBodyProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n const { actionsRef, bodyRef, hasCloseButton, headerRef, initialFocus } =\n useDialogContext();\n\n const { height: headerHeight = 0 } = useBoundingClientRect(\n headerRef as any,\n [children, headerRef]\n );\n const { height: actionsHeight = 0 } = useBoundingClientRect(\n actionsRef as any,\n [children, actionsRef]\n );\n\n /* istanbul ignore next */\n return (\n <StyledDialogContentBody\n {...forwardedProps}\n className={classNames(DialogContentBody.className, className)}\n ref={useMergeRefs([ref, bodyRef])}\n tabIndex={initialFocus === 'body' ? -1 : undefined}\n $marginTop={Math.max(headerHeight, hasCloseButton ? 40 : 0) + 80}\n $marginBottom={(actionsHeight === 0 ? 0 : actionsHeight + 16) + 80}\n >\n {children}\n </StyledDialogContentBody>\n );\n });\nDialogContentBody.className = CLASSNAME;\nDialogContentBody.defaultProps = DEFAULT_PROPS;\nDialogContentBody.displayName = COMPONENT_NAME;\n","import styled from 'styled-components';\nimport { StyledDialogContentHeaderProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledDialogContentHeader = styled.div<StyledDialogContentHeaderProps>`\n color: var(--redsift-color-neutral-black);\n\n &:focus-visible {\n outline: none;\n }\n\n .redsift-dialog-content-header__header {\n align-items: center;\n display: flex;\n gap: 8px;\n padding: 10px 0px;\n margin: 0px;\n\n .redsift-icon {\n color: var(--redsift-color-neutral-black);\n padding-right: 8px;\n font-size: 30px;\n line-height: 30px;\n height: 30px;\n }\n }\n\n .redsift-dialog-content-header__subheader {\n font-family: var(--redsift-typography-body-font-family);\n font-size: var(--redsift-typography-body-font-size);\n font-weight: var(--redsift-typography-body-font-weight);\n line-height: var(--redsift-typography-body-line-height);\n }\n`;\n","import React, { forwardRef, useId } from 'react';\nimport classNames from 'classnames';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Icon, Heading, Comp } from '@redsift/design-system';\nimport { StyledDialogContentHeader } from './styles';\nimport { DialogContentHeaderProps } from './types';\nimport { useDialogContext } from '../dialog';\n\nconst COMPONENT_NAME = 'DialogContentHeader';\nconst CLASSNAME = 'redsift-dialog-content-header';\nconst DEFAULT_PROPS: Partial<DialogContentHeaderProps> = {};\n\n/**\n * The DialogContentHeader component.\n */\nexport const DialogContentHeader: Comp<\n DialogContentHeaderProps,\n HTMLDivElement\n> = forwardRef((props, ref) => {\n const {\n children,\n className,\n header,\n headingProps,\n icon,\n subheader,\n ...forwardedProps\n } = props;\n\n const { setLabelId, setDescriptionId, headerRef, initialFocus } =\n useDialogContext();\n const labelId = useId();\n const descriptionId = useId();\n\n // Only sets `aria-labelledby` on the Dialog root element\n // if this component is mounted inside it.\n React.useLayoutEffect(() => {\n setLabelId(labelId);\n return () => setLabelId(undefined);\n }, [labelId, setLabelId]);\n\n // Only sets `aria-describedby` on the Dialog root element\n // if this component is mounted inside it.\n React.useLayoutEffect(() => {\n setDescriptionId(descriptionId);\n return () => setDescriptionId(undefined);\n }, [descriptionId, setDescriptionId]);\n\n return (\n <StyledDialogContentHeader\n {...forwardedProps}\n className={classNames(DialogContentHeader.className, className)}\n ref={useMergeRefs([ref, headerRef])}\n tabIndex={initialFocus === 'header' ? -1 : undefined}\n >\n {subheader ? (\n <div className={`${DialogContentHeader.className}__subheader`}>\n {subheader}\n </div>\n ) : null}\n {header ? (\n <Heading\n as=\"h2\"\n color=\"black\"\n className={`${DialogContentHeader.className}__header`}\n id={labelId}\n variant=\"h2\"\n {...headingProps}\n >\n {icon ? <Icon icon={icon} aria-hidden=\"true\" /> : null}\n {header}\n </Heading>\n ) : null}\n {children ? <div id={descriptionId}>{children}</div> : null}\n </StyledDialogContentHeader>\n );\n});\nDialogContentHeader.className = CLASSNAME;\nDialogContentHeader.defaultProps = DEFAULT_PROPS;\nDialogContentHeader.displayName = COMPONENT_NAME;\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport {\n useMergeRefs,\n FloatingPortal,\n FloatingFocusManager,\n useTransitionStyles,\n} from '@floating-ui/react';\nimport { mdiClose } from '@redsift/icons';\n\nimport { useLocalizedStringFormatter } from 'react-aria';\nimport intlMessages from './intl';\n\nimport {\n Comp,\n IconButton,\n isComponent,\n partitionComponents,\n} from '@redsift/design-system';\nimport { DialogContentProps } from './types';\nimport { useDialogContext } from '../dialog';\nimport { StyledDialogContent, StyledFloatingOverlay } from './styles';\nimport { DialogContentActions } from '../dialog-content-actions';\nimport { DialogContentBody } from '../dialog-content-body';\nimport { DialogContentHeader } from '../dialog-content-header';\n\nconst COMPONENT_NAME = 'DialogContent';\nconst CLASSNAME = 'redsift-dialog-content';\nconst DEFAULT_PROPS: Partial<DialogContentProps> = {};\n\n/**\n * The DialogContent component.\n */\nexport const BaseDialogContent: Comp<DialogContentProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n const {\n context: floatingContext,\n getFloatingProps,\n refs,\n labelId,\n descriptionId,\n handleOpen,\n hasCloseButton,\n initialFocus: propsInitialFocus,\n size,\n headerRef,\n bodyRef,\n actionsRef,\n } = useDialogContext();\n const { isMounted, styles } = useTransitionStyles(floatingContext);\n const dialogRef = useMergeRefs([refs.setFloating, ref]);\n\n const stringFormatter = useLocalizedStringFormatter(intlMessages);\n\n const [[header], [body], [actions]] = partitionComponents(\n React.Children.toArray(children),\n [\n isComponent('DialogContentHeader'),\n isComponent('DialogContentBody'),\n isComponent('DialogContentActions'),\n ]\n );\n\n const initialFocus:\n | number\n | React.MutableRefObject<HTMLElement | null>\n | undefined =\n propsInitialFocus === 'header'\n ? headerRef\n : propsInitialFocus === 'body'\n ? bodyRef\n : propsInitialFocus === 'actions'\n ? actionsRef\n : propsInitialFocus\n ? propsInitialFocus\n : undefined;\n\n return (\n <FloatingPortal>\n {isMounted && (\n <StyledFloatingOverlay lockScroll style={styles}>\n <FloatingFocusManager\n context={floatingContext}\n initialFocus={initialFocus ? initialFocus : undefined}\n >\n <StyledDialogContent\n className={classNames(DialogContent.className, className)}\n {...forwardedProps}\n ref={dialogRef}\n aria-labelledby={labelId}\n aria-describedby={descriptionId}\n {...getFloatingProps(props)}\n style={styles}\n $size={size!}\n >\n {header || hasCloseButton ? (\n <div className={`${BaseDialogContent.className}__header`}>\n {header}\n\n {hasCloseButton ? (\n <IconButton\n aria-label={stringFormatter.format('close')}\n className={`${BaseDialogContent.className}-header__icon-button`}\n color=\"question\"\n icon={mdiClose}\n onPress={() => handleOpen(false)}\n />\n ) : null}\n </div>\n ) : null}\n\n {body || actions ? (\n <div className={`${BaseDialogContent.className}__content`}>\n {body}\n {actions}\n </div>\n ) : null}\n </StyledDialogContent>\n </FloatingFocusManager>\n </StyledFloatingOverlay>\n )}\n </FloatingPortal>\n );\n });\nBaseDialogContent.className = CLASSNAME;\nBaseDialogContent.defaultProps = DEFAULT_PROPS;\nBaseDialogContent.displayName = COMPONENT_NAME;\n\nexport const DialogContent = Object.assign(BaseDialogContent, {\n Header: DialogContentHeader,\n Body: DialogContentBody,\n Actions: DialogContentActions,\n});\n","import React, { forwardRef, ReactElement } from 'react';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Comp, isComponent } from '@redsift/design-system';\nimport { useDialogContext } from '../dialog';\nimport { DialogTriggerProps } from './types';\n\nconst COMPONENT_NAME = 'DialogTrigger';\nconst CLASSNAME = 'redsift-dialog-trigger';\nconst DEFAULT_PROPS: Partial<DialogTriggerProps> = {};\n\n/**\n * The DialogTrigger component.\n */\nexport const DialogTrigger: Comp<DialogTriggerProps, HTMLButtonElement> =\n forwardRef((props, ref) => {\n const { children } = props;\n\n const { getReferenceProps, isOpen, handleOpen, refs } = useDialogContext();\n const childrenRef = (children as any).ref;\n const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);\n\n if (\n isComponent('Button')(children) ||\n isComponent('IconButton')(children) ||\n isComponent('LinkButton')(children)\n ) {\n return React.cloneElement(children, {\n ...getReferenceProps({\n ref: triggerRef,\n ...props,\n ...(children as ReactElement).props,\n }),\n onPress: () => handleOpen(!isOpen),\n isActive: isOpen,\n });\n }\n\n return <>{children}</>;\n });\nDialogTrigger.className = CLASSNAME;\nDialogTrigger.defaultProps = DEFAULT_PROPS;\nDialogTrigger.displayName = COMPONENT_NAME;\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport {\n useFloating,\n useDismiss,\n useRole,\n useInteractions,\n} from '@floating-ui/react';\nimport { DialogProps } from './types';\n\nexport function useDialog({\n defaultOpen,\n hasCloseButton,\n initialFocus,\n isOpen: propsIsOpen,\n onOpen,\n size,\n}: Omit<DialogProps, 'children'>) {\n const headerRef = useRef(null);\n const bodyRef = useRef(null);\n const actionsRef = useRef(null);\n const [labelId, setLabelId] = React.useState<string | undefined>();\n const [descriptionId, setDescriptionId] =\n React.useState<string | undefined>();\n\n const [isOpen, setIsOpen] = useState(propsIsOpen ?? defaultOpen);\n\n useEffect(() => {\n setIsOpen(propsIsOpen ?? defaultOpen);\n }, [propsIsOpen, defaultOpen]);\n\n const handleOpen = useCallback(\n (collapsed: boolean) => {\n if (onOpen) {\n onOpen(collapsed);\n }\n if (propsIsOpen === undefined || propsIsOpen === null) {\n setIsOpen(collapsed);\n }\n },\n [onOpen]\n );\n\n const data = useFloating({\n open: isOpen,\n onOpenChange: handleOpen,\n });\n\n const context = data.context;\n\n const dismiss = useDismiss(context, { outsidePressEvent: 'mousedown' });\n const role = useRole(context);\n\n const interactions = useInteractions([dismiss, role]);\n\n return React.useMemo(\n () => ({\n isOpen,\n handleOpen,\n ...interactions,\n ...data,\n labelId,\n descriptionId,\n setLabelId,\n setDescriptionId,\n hasCloseButton,\n initialFocus,\n size,\n headerRef,\n bodyRef,\n actionsRef,\n }),\n [\n isOpen,\n handleOpen,\n interactions,\n data,\n labelId,\n descriptionId,\n hasCloseButton,\n initialFocus,\n size,\n headerRef,\n bodyRef,\n actionsRef,\n ]\n );\n}\n","import React from 'react';\nimport { partitionComponents, isComponent } from '@redsift/design-system';\nimport { DialogContent } from '../dialog-content';\nimport { DialogTrigger } from '../dialog-trigger';\n\nimport { DialogContext } from './context';\nimport { DialogProps, DialogSize } from './types';\nimport { useDialog } from './useDialog';\n\nconst COMPONENT_NAME = 'Dialog';\nconst CLASSNAME = 'redsift-dialog';\nconst DEFAULT_PROPS: Partial<DialogProps> = {\n hasCloseButton: true,\n size: DialogSize.medium,\n};\n\n/**\n * The Dialog component.\n */\nexport const BaseDialog: React.FC<DialogProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const {\n children,\n defaultOpen,\n hasCloseButton = DEFAULT_PROPS.hasCloseButton,\n initialFocus,\n isOpen,\n onOpen,\n size,\n } = props;\n\n const dialog = useDialog({\n defaultOpen,\n hasCloseButton,\n initialFocus,\n isOpen,\n onOpen,\n size,\n });\n\n const [[trigger], [content]] = partitionComponents(\n React.Children.toArray(children),\n [isComponent('DialogTrigger'), isComponent('DialogContent')]\n );\n\n return (\n <DialogContext.Provider value={dialog}>\n {trigger}\n {content}\n </DialogContext.Provider>\n );\n};\nBaseDialog.className = CLASSNAME;\nBaseDialog.defaultProps = DEFAULT_PROPS;\nBaseDialog.displayName = COMPONENT_NAME;\n\nexport const Dialog = Object.assign(BaseDialog, {\n Trigger: DialogTrigger,\n Content: DialogContent,\n});\n","import React from 'react';\nimport { DialogContext } from './context';\n\nexport const useDialogContext = () => {\n const context = React.useContext(DialogContext);\n\n if (context == null) {\n throw new Error('Dialog components must be wrapped in <Dialog />');\n }\n\n return context;\n};\n","import React from 'react';\nimport { PopoverState } from './types';\n\nexport const PopoverContext = React.createContext<PopoverState | null>(null);\n","import { ReactNode } from 'react';\nimport { ValueOf } from '@redsift/design-system';\nimport { usePopover } from './usePopover';\n\n/**\n * Context props.\n */\nexport type PopoverState = ReturnType<typeof usePopover> | null;\n\n/**\n * Component variant.\n */\nexport const PopoverPlacement = {\n top: 'top',\n right: 'right',\n bottom: 'bottom',\n left: 'left',\n 'top-start': 'top-start',\n 'top-end': 'top-end',\n 'right-start': 'right-start',\n 'right-end': 'right-end',\n 'bottom-start': 'bottom-start',\n 'bottom-end': 'bottom-end',\n 'left-start': 'left-start',\n 'left-end': 'left-end',\n} as const;\nexport type PopoverPlacement = ValueOf<typeof PopoverPlacement>;\n\n/**\n * Component props.\n */\nexport interface PopoverProps {\n /** Children. Can only be PopoverTrigger and PopoverContent. */\n children: ReactNode;\n /**\n * Default open status.\n * Used for uncontrolled version.\n */\n defaultOpen?: boolean;\n /** Default placement of the popover. */\n placement?: PopoverPlacement;\n /** Whether the popover is a modal or not. */\n isModal?: boolean;\n /**\n * Whether the component is opened or not.\n * Used for controlled version.\n */\n isOpen?: boolean;\n /** Method to handle component change. */\n onOpen?: (open: boolean) => void;\n}\n\nexport type StyledPopoverProps = PopoverProps;\n","import styled from 'styled-components';\nimport { baseContainer } from '@redsift/design-system';\nimport { StyledPopoverContentProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledPopoverContent = styled.div<StyledPopoverContentProps>`\n ${baseContainer}\n align-items: center;\n background-color: var(--redsift-color-neutral-white);\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);\n color: var(--redsift-color-neutral-black);\n display: flex;\n filter: drop-shadow(0px 4px 5px rgba(0, 0, 0, 0.14))\n drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.12));\n font-family: var(--redsift-typography-popover-font-family);\n font-size: var(--redsift-typography-popover-font-size);\n font-weight: var(--redsift-typography-popover-font-weight);\n line-height: var(--redsift-typography-popover-line-height);\n max-width: calc(100vw - 48px);\n z-index: var(--redsift-layout-z-index-popover);\n\n &:focus-visible {\n outline: none;\n }\n`;\n","import React, { forwardRef } from 'react';\nimport {\n useMergeRefs,\n FloatingPortal,\n FloatingFocusManager,\n} from '@floating-ui/react';\n\nimport { Comp } from '@redsift/design-system';\nimport { PopoverContentProps } from './types';\nimport { usePopoverContext } from '../popover';\nimport { StyledPopoverContent } from './styles';\nimport classNames from 'classnames';\n\nconst COMPONENT_NAME = 'PopoverContent';\nconst CLASSNAME = 'redsift-popover-content';\nconst DEFAULT_PROPS: Partial<PopoverContentProps> = {};\n\n/**\n * The PopoverContent component.\n */\nexport const PopoverContent: Comp<PopoverContentProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const { children, className, style } = props;\n const {\n context: floatingContext,\n getFloatingProps,\n isModal,\n isOpen,\n refs,\n strategy,\n x,\n y,\n } = usePopoverContext();\n const popoverRef = useMergeRefs([refs.setFloating, ref]);\n\n return (\n <FloatingPortal>\n {isOpen && (\n <FloatingFocusManager context={floatingContext} modal={isModal}>\n <StyledPopoverContent\n className={classNames(PopoverContent.className, className)}\n ref={popoverRef}\n style={{\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n width: 'fit-content',\n ...style,\n }}\n {...getFloatingProps(props)}\n >\n {children}\n </StyledPopoverContent>\n </FloatingFocusManager>\n )}\n </FloatingPortal>\n );\n });\nPopoverContent.className = CLASSNAME;\nPopoverContent.defaultProps = DEFAULT_PROPS;\nPopoverContent.displayName = COMPONENT_NAME;\n","import React, { forwardRef, ReactElement } from 'react';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Comp, isComponent } from '@redsift/design-system';\nimport { usePopoverContext } from '../popover';\nimport { PopoverTriggerProps } from './types';\n\nconst COMPONENT_NAME = 'PopoverTrigger';\nconst CLASSNAME = 'redsift-popover-trigger';\nconst DEFAULT_PROPS: Partial<PopoverTriggerProps> = {};\n\n/**\n * The PopoverTrigger component.\n */\nexport const PopoverTrigger: Comp<PopoverTriggerProps, HTMLButtonElement> =\n forwardRef((props, ref) => {\n const { children } = props;\n\n const { getReferenceProps, isOpen, handleOpen, refs } = usePopoverContext();\n const childrenRef = (children as any).ref;\n const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);\n\n if (\n isComponent('Button')(children) ||\n isComponent('IconButton')(children) ||\n isComponent('LinkButton')(children)\n ) {\n return React.cloneElement(children, {\n ...getReferenceProps({\n ref: triggerRef,\n ...props,\n ...(children as ReactElement).props,\n }),\n onPress: () => handleOpen(!isOpen),\n isActive: isOpen,\n });\n }\n\n return <>{children}</>;\n });\nPopoverTrigger.className = CLASSNAME;\nPopoverTrigger.defaultProps = DEFAULT_PROPS;\nPopoverTrigger.displayName = COMPONENT_NAME;\n","import React, { useCallback, useEffect, useState } from 'react';\nimport {\n useFloating,\n autoUpdate,\n offset,\n flip,\n shift,\n useDismiss,\n useRole,\n useInteractions,\n} from '@floating-ui/react';\nimport { PopoverProps } from './types';\n\nexport function usePopover({\n defaultOpen,\n placement,\n isModal,\n isOpen: propsIsOpen,\n onOpen,\n}: Omit<PopoverProps, 'children'>) {\n const [isOpen, setIsOpen] = useState(propsIsOpen ?? defaultOpen);\n\n useEffect(() => {\n setIsOpen(propsIsOpen ?? defaultOpen);\n }, [propsIsOpen, defaultOpen]);\n\n const handleOpen = useCallback(\n (collapsed: boolean) => {\n if (onOpen) {\n onOpen(collapsed);\n }\n if (propsIsOpen === undefined || propsIsOpen === null) {\n setIsOpen(collapsed);\n }\n },\n [onOpen]\n );\n\n const data = useFloating({\n placement,\n open: isOpen,\n onOpenChange: handleOpen,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset(2),\n flip({\n fallbackAxisSideDirection: 'end',\n }),\n shift({ padding: 2 }),\n ],\n });\n\n const context = data.context;\n\n const dismiss = useDismiss(context);\n const role = useRole(context);\n\n const interactions = useInteractions([dismiss, role]);\n\n return React.useMemo(\n () => ({\n isOpen,\n handleOpen,\n ...interactions,\n ...data,\n isModal,\n }),\n [isOpen, handleOpen, interactions, data, isModal]\n );\n}\n","import React from 'react';\nimport { partitionComponents, isComponent } from '@redsift/design-system';\nimport { PopoverContent } from '../popover-content';\nimport { PopoverTrigger } from '../popover-trigger';\n\nimport { PopoverContext } from './context';\nimport { PopoverPlacement, PopoverProps } from './types';\nimport { usePopover } from './usePopover';\n\nconst COMPONENT_NAME = 'Popover';\nconst CLASSNAME = 'redsift-popover';\nconst DEFAULT_PROPS: Partial<PopoverProps> = {\n isModal: false,\n placement: PopoverPlacement.bottom,\n};\n\n/**\n * The Popover component.\n */\nexport const BasePopover: React.FC<PopoverProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const { children, defaultOpen, placement, isModal, isOpen, onOpen } = props;\n\n const popover = usePopover({\n defaultOpen,\n placement,\n isModal,\n isOpen,\n onOpen,\n });\n\n const [[trigger], [content]] = partitionComponents(\n React.Children.toArray(children),\n [isComponent('PopoverTrigger'), isComponent('PopoverContent')]\n );\n\n return (\n <PopoverContext.Provider value={popover}>\n {trigger}\n {content}\n </PopoverContext.Provider>\n );\n};\nBasePopover.className = CLASSNAME;\nBasePopover.defaultProps = DEFAULT_PROPS;\nBasePopover.displayName = COMPONENT_NAME;\n\nexport const Popover = Object.assign(BasePopover, {\n Trigger: PopoverTrigger,\n Content: PopoverContent,\n});\n","import React from 'react';\nimport { PopoverContext } from './context';\n\nexport const usePopoverContext = () => {\n const context = React.useContext(PopoverContext);\n\n if (context == null) {\n throw new Error('Popover components must be wrapped in <Popover />');\n }\n\n return context;\n};\n","import { ComponentProps, ReactNode } from 'react';\nimport { ValueOf, SizingProps, SpacingProps } from '@redsift/design-system';\n\n/**\n * Component variant.\n */\nexport const ToastVariant = {\n success: 'success',\n error: 'error',\n warning: 'warning',\n info: 'info',\n loading: 'loading',\n} as const;\nexport type ToastVariant = ValueOf<typeof ToastVariant>;\n\nexport const ToastPlacement = {\n 'top-right': 'top-right',\n 'top-center': 'top-center',\n 'top-left': 'top-left',\n 'bottom-right': 'bottom-right',\n 'bottom-center': 'bottom-center',\n 'bottom-left': 'bottom-left',\n} as const;\nexport type ToastPlacement = ValueOf<typeof ToastPlacement>;\n\n/**\n * Component props.\n */\nexport interface ToastProps\n extends Omit<ComponentProps<'div'>, 'id' | 'style'>,\n SpacingProps,\n SizingProps {\n /** Whether the component has a close button or not. */\n closeButton?: boolean | ReactNode;\n /** Title. */\n title?: string;\n /** Variant */\n variant?: ToastVariant;\n}\n\nexport type StyledToastProps = Omit<ToastProps, 'variant' | 'id'> & {\n $hasTitle: boolean;\n $variant: ToastProps['variant'];\n};\n","import enUS from './en-US.json';\nimport frFR from './fr-FR.json';\n\nexport default {\n 'en-US': enUS,\n 'fr-FR': frFR,\n};\n","import styled, { css } from 'styled-components';\nimport { baseStyling } from '@redsift/design-system';\nimport { StyledToastProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledToast = styled.div<StyledToastProps>`\n ${baseStyling}\n\n padding: 16px;\n box-shadow: 0px 2px 4px -1px rgb(0 0 0 / 20%), 0px 4px 5px rgb(0 0 0 / 14%),\n 0px 1px 10px rgb(0 0 0 / 12%);\n\n ${({ $hasTitle, $variant }) => css`\n background-color: ${$variant === 'loading'\n ? 'var(--redsift-color-neutral-white)'\n : `var(--redsift-color-${$variant}-hover)`};\n\n .redsift-toast__header {\n h5 {\n line-height: 26px;\n }\n }\n\n .redsift-toast-header__icon-button {\n padding: 0px;\n .redsift-icon {\n color: var(--redsift-color-neutral-black);\n }\n\n &:hover,\n &:focus-visible {\n background-color: var(--redsift-color-${$variant}-active);\n }\n }\n\n .redsift-toast__content {\n margin-top: ${$hasTitle ? '8px' : '-24px'};\n margin-left: 38px;\n }\n `}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\n\nimport { useLocalizedStringFormatter } from 'react-aria';\nimport intlMessages from './intl';\n\nimport {\n mdiAlert,\n mdiAlertCircle,\n mdiCheckCircle,\n mdiClose,\n mdiInformation,\n} from '@redsift/icons';\nimport {\n ColorPalette,\n Comp,\n Icon,\n Heading,\n Flexbox,\n Spinner,\n isComponent,\n ButtonColor,\n IconButton,\n} from '@redsift/design-system';\nimport { StyledToast } from './styles';\nimport { ToastProps, ToastVariant } from './types';\n\nconst COMPONENT_NAME = 'Toast';\nconst CLASSNAME = 'redsift-toast';\nconst DEFAULT_PROPS: Partial<ToastProps> = {\n variant: 'info',\n closeButton: true,\n};\n\nconst getVariant = (variant: ToastVariant) => {\n switch (variant) {\n case ToastVariant.info:\n default:\n return <Icon icon={mdiInformation} color={ColorPalette.info} />;\n case ToastVariant.error:\n return <Icon icon={mdiAlertCircle} color={ColorPalette.error} />;\n case ToastVariant.success:\n return <Icon icon={mdiCheckCircle} color={ColorPalette.success} />;\n case ToastVariant.warning:\n return <Icon icon={mdiAlert} color={ColorPalette.warning} />;\n case ToastVariant.loading:\n return <Spinner size=\"small\" />;\n }\n};\n\n/**\n * The Toast component.\n */\nexport const Toast: Comp<\n ToastProps & { closeToast?: () => void },\n HTMLDivElement\n> = forwardRef((props, ref) => {\n const {\n children,\n className,\n closeToast,\n closeButton,\n title,\n variant,\n ...forwardedProps\n } = props;\n\n const stringFormatter = useLocalizedStringFormatter(intlMessages);\n\n const icon = getVariant(variant!);\n\n return (\n <StyledToast\n {...forwardedProps}\n className={classNames(Toast.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n $hasTitle={Boolean(title)}\n $variant={variant}\n >\n <Flexbox\n className={`${Toast.className}__header`}\n justifyContent=\"space-between\"\n >\n <Flexbox justifyContent=\"space-between\" flexDirection=\"column\" gap=\"0\">\n <Flexbox\n className={`${Toast.className}-header__title`}\n gap=\"14px\"\n alignItems=\"flex-start\"\n >\n {icon}\n {title ? <Heading as=\"h5\">{title}</Heading> : null}\n </Flexbox>\n\n {children ? (\n <div className={`${Toast.className}__content`}>{children}</div>\n ) : null}\n </Flexbox>\n\n {closeButton === true ? (\n <IconButton\n aria-label={stringFormatter.format('close')}\n className={`${Toast.className}-header__icon-button`}\n icon={mdiClose}\n onPress={closeToast}\n />\n ) : isComponent('Button')(closeButton) ||\n isComponent('IconButton')(closeButton) ? (\n React.cloneElement(closeButton, {\n color: variant === 'loading' ? 'default' : (variant as ButtonColor),\n onPress: () => {\n closeButton.props.onPress?.();\n closeToast?.();\n },\n })\n ) : null}\n </Flexbox>\n </StyledToast>\n );\n});\nToast.className = CLASSNAME;\nToast.defaultProps = DEFAULT_PROPS;\nToast.displayName = COMPONENT_NAME;\n","import styled from 'styled-components';\nimport { ToastContainer } from 'react-toastify';\nimport { StyledToastContainerProps } from './types';\n\nexport const ReactToastify = styled.div`\n :root {\n --toastify-color-light: #fff;\n --toastify-color-dark: #121212;\n --toastify-color-info: #3498db;\n --toastify-color-success: #07bc0c;\n --toastify-color-warning: #f1c40f;\n --toastify-color-error: #e74c3c;\n --toastify-color-transparent: rgba(255, 255, 255, 0.7);\n --toastify-icon-color-info: var(--toastify-color-info);\n --toastify-icon-color-success: var(--toastify-color-success);\n --toastify-icon-color-warning: var(--toastify-color-warning);\n --toastify-icon-color-error: var(--toastify-color-error);\n --toastify-toast-width: 320px;\n --toastify-toast-background: #fff;\n --toastify-toast-min-height: 64px;\n --toastify-toast-max-height: 800px;\n --toastify-font-family: sans-serif;\n --toastify-z-index: 9999;\n --toastify-text-color-light: #757575;\n --toastify-text-color-dark: #fff;\n --toastify-text-color-info: #fff;\n --toastify-text-color-success: #fff;\n --toastify-text-color-warning: #fff;\n --toastify-text-color-error: #fff;\n --toastify-spinner-color: #616161;\n --toastify-spinner-color-empty-area: #e0e0e0;\n --toastify-color-progress-light: linear-gradient(\n to right,\n #4cd964,\n #5ac8fa,\n #007aff,\n #34aadc,\n #5856d6,\n #ff2d55\n );\n --toastify-color-progress-dark: #bb86fc;\n --toastify-color-progress-info: var(--toastify-color-info);\n --toastify-color-progress-success: var(--toastify-color-success);\n --toastify-color-progress-warning: var(--toastify-color-warning);\n --toastify-color-progress-error: var(--toastify-color-error);\n }\n\n .Toastify__toast-container {\n z-index: var(--toastify-z-index);\n -webkit-transform: translate3d(0, 0, var(--toastify-z-index) px);\n position: fixed;\n padding: 4px;\n width: var(--toastify-toast-width);\n box-sizing: border-box;\n color: #fff;\n }\n .Toastify__toast-container--top-left {\n top: 1em;\n left: 1em;\n }\n .Toastify__toast-container--top-center {\n top: 1em;\n left: 50%;\n transform: translateX(-50%);\n }\n .Toastify__toast-container--top-right {\n top: 1em;\n right: 1em;\n }\n .Toastify__toast-container--bottom-left {\n bottom: 1em;\n left: 1em;\n }\n .Toastify__toast-container--bottom-center {\n bottom: 1em;\n left: 50%;\n transform: translateX(-50%);\n }\n .Toastify__toast-container--bottom-right {\n bottom: 1em;\n right: 1em;\n }\n\n @media only screen and (max-width: 480px) {\n .Toastify__toast-container {\n width: 100vw;\n padding: 0;\n left: 0;\n margin: 0;\n }\n .Toastify__toast-container--top-left,\n .Toastify__toast-container--top-center,\n .Toastify__toast-container--top-right {\n top: 0;\n transform: translateX(0);\n }\n .Toastify__toast-container--bottom-left,\n .Toastify__toast-container--bottom-center,\n .Toastify__toast-container--bottom-right {\n bottom: 0;\n transform: translateX(0);\n }\n .Toastify__toast-container--rtl {\n right: 0;\n left: initial;\n }\n }\n .Toastify__toast {\n position: relative;\n min-height: var(--toastify-toast-min-height);\n box-sizing: border-box;\n margin-bottom: 1rem;\n padding: 8px;\n border-radius: 4px;\n box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.1),\n 0 2px 15px 0 rgba(0, 0, 0, 0.05);\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: justify;\n justify-content: space-between;\n max-height: var(--toastify-toast-max-height);\n overflow: hidden;\n font-family: var(--toastify-font-family);\n cursor: default;\n direction: ltr;\n /* webkit only issue #791 */\n z-index: 0;\n }\n .Toastify__toast--rtl {\n direction: rtl;\n }\n .Toastify__toast--close-on-click {\n cursor: pointer;\n }\n .Toastify__toast-body {\n margin: auto 0;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n padding: 6px;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n }\n .Toastify__toast-body > div:last-child {\n word-break: break-word;\n -ms-flex: 1;\n flex: 1;\n }\n .Toastify__toast-icon {\n -webkit-margin-end: 10px;\n margin-inline-end: 10px;\n width: 20px;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n display: -ms-flexbox;\n display: flex;\n }\n\n .Toastify--animate {\n animation-fill-mode: both;\n animation-duration: 0.7s;\n }\n\n .Toastify--animate-icon {\n animation-fill-mode: both;\n animation-duration: 0.3s;\n }\n\n @media only screen and (max-width: 480px) {\n .Toastify__toast {\n margin-bottom: 0;\n border-radius: 0;\n }\n }\n .Toastify__toast-theme--dark {\n background: var(--toastify-color-dark);\n color: var(--toastify-text-color-dark);\n }\n .Toastify__toast-theme--light {\n background: var(--toastify-color-light);\n color: var(--toastify-text-color-light);\n }\n .Toastify__toast-theme--colored.Toastify__toast--default {\n background: var(--toastify-color-light);\n color: var(--toastify-text-color-light);\n }\n .Toastify__toast-theme--colored.Toastify__toast--info {\n color: var(--toastify-text-color-info);\n background: var(--toastify-color-info);\n }\n .Toastify__toast-theme--colored.Toastify__toast--success {\n color: var(--toastify-text-color-success);\n background: var(--toastify-color-success);\n }\n .Toastify__toast-theme--colored.Toastify__toast--warning {\n color: var(--toastify-text-color-warning);\n background: var(--toastify-color-warning);\n }\n .Toastify__toast-theme--colored.Toastify__toast--error {\n color: var(--toastify-text-color-error);\n background: var(--toastify-color-error);\n }\n\n .Toastify__progress-bar-theme--light {\n background: var(--toastify-color-progress-light);\n }\n .Toastify__progress-bar-theme--dark {\n background: var(--toastify-color-progress-dark);\n }\n .Toastify__progress-bar--info {\n background: var(--toastify-color-progress-info);\n }\n .Toastify__progress-bar--success {\n background: var(--toastify-color-progress-success);\n }\n .Toastify__progress-bar--warning {\n background: var(--toastify-color-progress-warning);\n }\n .Toastify__progress-bar--error {\n background: var(--toastify-color-progress-error);\n }\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--error {\n background: var(--toastify-color-transparent);\n }\n\n .Toastify__close-button {\n color: #fff;\n background: transparent;\n outline: none;\n border: none;\n padding: 0;\n cursor: pointer;\n opacity: 0.7;\n transition: 0.3s ease;\n -ms-flex-item-align: start;\n align-self: flex-start;\n }\n .Toastify__close-button--light {\n color: #000;\n opacity: 0.3;\n }\n .Toastify__close-button > svg {\n fill: currentColor;\n height: 16px;\n width: 14px;\n }\n .Toastify__close-button:hover,\n .Toastify__close-button:focus {\n opacity: 1;\n }\n\n @keyframes Toastify__trackProgress {\n 0% {\n transform: scaleX(1);\n }\n 100% {\n transform: scaleX(0);\n }\n }\n .Toastify__progress-bar {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 5px;\n z-index: var(--toastify-z-index);\n opacity: 0.7;\n transform-origin: left;\n }\n .Toastify__progress-bar--animated {\n animation: Toastify__trackProgress linear 1 forwards;\n }\n .Toastify__progress-bar--controlled {\n transition: transform 0.2s;\n }\n .Toastify__progress-bar--rtl {\n right: 0;\n left: initial;\n transform-origin: right;\n }\n\n .Toastify__spinner {\n width: 20px;\n height: 20px;\n box-sizing: border-box;\n border: 2px solid;\n border-radius: 100%;\n border-color: var(--toastify-spinner-color-empty-area);\n border-right-color: var(--toastify-spinner-color);\n animation: Toastify__spin 0.65s linear infinite;\n }\n\n @keyframes Toastify__bounceInRight {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n from {\n opacity: 0;\n transform: translate3d(3000px, 0, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(-25px, 0, 0);\n }\n 75% {\n transform: translate3d(10px, 0, 0);\n }\n 90% {\n transform: translate3d(-5px, 0, 0);\n }\n to {\n transform: none;\n }\n }\n @keyframes Toastify__bounceOutRight {\n 20% {\n opacity: 1;\n transform: translate3d(-20px, 0, 0);\n }\n to {\n opacity: 0;\n transform: translate3d(2000px, 0, 0);\n }\n }\n @keyframes Toastify__bounceInLeft {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 0% {\n opacity: 0;\n transform: translate3d(-3000px, 0, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(25px, 0, 0);\n }\n 75% {\n transform: translate3d(-10px, 0, 0);\n }\n 90% {\n transform: translate3d(5px, 0, 0);\n }\n to {\n transform: none;\n }\n }\n @keyframes Toastify__bounceOutLeft {\n 20% {\n opacity: 1;\n transform: translate3d(20px, 0, 0);\n }\n to {\n opacity: 0;\n transform: translate3d(-2000px, 0, 0);\n }\n }\n @keyframes Toastify__bounceInUp {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n from {\n opacity: 0;\n transform: translate3d(0, 3000px, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(0, -20px, 0);\n }\n 75% {\n transform: translate3d(0, 10px, 0);\n }\n 90% {\n transform: translate3d(0, -5px, 0);\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n }\n @keyframes Toastify__bounceOutUp {\n 20% {\n transform: translate3d(0, -10px, 0);\n }\n 40%,\n 45% {\n opacity: 1;\n transform: translate3d(0, 20px, 0);\n }\n to {\n opacity: 0;\n transform: translate3d(0, -2000px, 0);\n }\n }\n @keyframes Toastify__bounceInDown {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 0% {\n opacity: 0;\n transform: translate3d(0, -3000px, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(0, 25px, 0);\n }\n 75% {\n transform: translate3d(0, -10px, 0);\n }\n 90% {\n transform: translate3d(0, 5px, 0);\n }\n to {\n transform: none;\n }\n }\n @keyframes Toastify__bounceOutDown {\n 20% {\n transform: translate3d(0, 10px, 0);\n }\n 40%,\n 45% {\n opacity: 1;\n transform: translate3d(0, -20px, 0);\n }\n to {\n opacity: 0;\n transform: translate3d(0, 2000px, 0);\n }\n }\n .Toastify__bounce-enter--top-left,\n .Toastify__bounce-enter--bottom-left {\n animation-name: Toastify__bounceInLeft;\n }\n .Toastify__bounce-enter--top-right,\n .Toastify__bounce-enter--bottom-right {\n animation-name: Toastify__bounceInRight;\n }\n .Toastify__bounce-enter--top-center {\n animation-name: Toastify__bounceInDown;\n }\n .Toastify__bounce-enter--bottom-center {\n animation-name: Toastify__bounceInUp;\n }\n\n .Toastify__bounce-exit--top-left,\n .Toastify__bounce-exit--bottom-left {\n animation-name: Toastify__bounceOutLeft;\n }\n .Toastify__bounce-exit--top-right,\n .Toastify__bounce-exit--bottom-right {\n animation-name: Toastify__bounceOutRight;\n }\n .Toastify__bounce-exit--top-center {\n animation-name: Toastify__bounceOutUp;\n }\n .Toastify__bounce-exit--bottom-center {\n animation-name: Toastify__bounceOutDown;\n }\n\n @keyframes Toastify__zoomIn {\n from {\n opacity: 0;\n transform: scale3d(0.3, 0.3, 0.3);\n }\n 50% {\n opacity: 1;\n }\n }\n @keyframes Toastify__zoomOut {\n from {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n transform: scale3d(0.3, 0.3, 0.3);\n }\n to {\n opacity: 0;\n }\n }\n .Toastify__zoom-enter {\n animation-name: Toastify__zoomIn;\n }\n\n .Toastify__zoom-exit {\n animation-name: Toastify__zoomOut;\n }\n\n @keyframes Toastify__flipIn {\n from {\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n animation-timing-function: ease-in;\n opacity: 0;\n }\n 40% {\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n animation-timing-function: ease-in;\n }\n 60% {\n transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n opacity: 1;\n }\n 80% {\n transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n }\n to {\n transform: perspective(400px);\n }\n }\n @keyframes Toastify__flipOut {\n from {\n transform: perspective(400px);\n }\n 30% {\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n opacity: 1;\n }\n to {\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n opacity: 0;\n }\n }\n .Toastify__flip-enter {\n animation-name: Toastify__flipIn;\n }\n\n .Toastify__flip-exit {\n animation-name: Toastify__flipOut;\n }\n\n @keyframes Toastify__slideInRight {\n from {\n transform: translate3d(110%, 0, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n }\n @keyframes Toastify__slideInLeft {\n from {\n transform: translate3d(-110%, 0, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n }\n @keyframes Toastify__slideInUp {\n from {\n transform: translate3d(0, 110%, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n }\n @keyframes Toastify__slideInDown {\n from {\n transform: translate3d(0, -110%, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n }\n @keyframes Toastify__slideOutRight {\n from {\n transform: translate3d(0, 0, 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(110%, 0, 0);\n }\n }\n @keyframes Toastify__slideOutLeft {\n from {\n transform: translate3d(0, 0, 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(-110%, 0, 0);\n }\n }\n @keyframes Toastify__slideOutDown {\n from {\n transform: translate3d(0, 0, 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(0, 500px, 0);\n }\n }\n @keyframes Toastify__slideOutUp {\n from {\n transform: translate3d(0, 0, 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(0, -500px, 0);\n }\n }\n .Toastify__slide-enter--top-left,\n .Toastify__slide-enter--bottom-left {\n animation-name: Toastify__slideInLeft;\n }\n .Toastify__slide-enter--top-right,\n .Toastify__slide-enter--bottom-right {\n animation-name: Toastify__slideInRight;\n }\n .Toastify__slide-enter--top-center {\n animation-name: Toastify__slideInDown;\n }\n .Toastify__slide-enter--bottom-center {\n animation-name: Toastify__slideInUp;\n }\n\n .Toastify__slide-exit--top-left,\n .Toastify__slide-exit--bottom-left {\n animation-name: Toastify__slideOutLeft;\n }\n .Toastify__slide-exit--top-right,\n .Toastify__slide-exit--bottom-right {\n animation-name: Toastify__slideOutRight;\n }\n .Toastify__slide-exit--top-center {\n animation-name: Toastify__slideOutUp;\n }\n .Toastify__slide-exit--bottom-center {\n animation-name: Toastify__slideOutDown;\n }\n\n @keyframes Toastify__spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n }\n`;\n\n/**\n * Component style.\n */\nexport const StyledToastContainer = styled(\n ToastContainer\n)<StyledToastContainerProps>`\n --toastify-color-light: var(--redsift-color-neutral-white);\n --toastify-color-dark: var(--redsift-color-neutral-black);\n --toastify-color-info: var(--redsift-color-info-primary);\n --toastify-color-success: var(--redsift-color-success-primary);\n --toastify-color-warning: var(--redsift-color-warning-primary);\n --toastify-color-error: var(--redsift-color-error-primary);\n --toastify-color-transparent: rgba(255, 255, 255, 0.7);\n --toastify-icon-color-info: var(--toastify-color-info);\n --toastify-icon-color-success: var(--toastify-color-success);\n --toastify-icon-color-warning: var(--toastify-color-warning);\n --toastify-icon-color-error: var(--toastify-color-error);\n --toastify-toast-width: 'fit-content';\n --toastify-toast-background: var(--redsift-color-neutral-white);\n --toastify-toast-min-height: 58px;\n --toastify-toast-max-height: 800px;\n --toastify-font-family: sans-serif;\n --toastify-z-index: var(--redsift-layout-z-index-tooltip);\n --toastify-text-color-light: var(--redsift-color-neutral-black);\n --toastify-text-color-dark: var(--redsift-color-neutral-white);\n --toastify-text-color-info: var(--redsift-color-neutral-white);\n --toastify-text-color-success: var(--redsift-color-neutral-white);\n --toastify-text-color-warning: var(--redsift-color-neutral-white);\n --toastify-text-color-error: var(--redsift-color-neutral-white);\n --toastify-spinner-color: var(--redsift-color-neutral-darkgrey);\n --toastify-spinner-color-empty-area: var(--redsift-color-neutral-lightgrey);\n --toastify-color-progress-light: var(--redsift-color-neutral-darkgrey);\n --toastify-color-progress-dark: var(--redsift-color-neutral-xlightgrey);\n --toastify-color-progress-default: var(--redsift-color-default-primary);\n --toastify-color-progress-info: var(--toastify-color-info);\n --toastify-color-progress-success: var(--toastify-color-success);\n --toastify-color-progress-warning: var(--toastify-color-warning);\n --toastify-color-progress-error: var(--toastify-color-error);\n\n min-width: 350px;\n max-width: 600px;\n\n .Toastify__toast {\n border-radius: unset;\n box-shadow: 0px 2px 4px -1px rgb(0 0 0 / 20%), 0px 4px 5px rgb(0 0 0 / 14%),\n 0px 1px 10px rgb(0 0 0 / 12%);\n padding: 0;\n }\n\n .Toastify__toast-body {\n padding: 0;\n }\n\n .Toastify__toast-theme--colored.Toastify__toast--default {\n background: none;\n }\n .Toastify__toast-theme--colored.Toastify__toast--info {\n background: none;\n }\n .Toastify__toast-theme--colored.Toastify__toast--success {\n background: none;\n }\n .Toastify__toast-theme--colored.Toastify__toast--warning {\n background: none;\n }\n .Toastify__toast-theme--colored.Toastify__toast--error {\n background: none;\n }\n\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--default {\n background: var(--toastify-color-progress-default);\n }\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--info {\n background: var(--toastify-color-progress-info);\n }\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--success {\n background: var(--toastify-color-progress-success);\n }\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning {\n background: var(--toastify-color-progress-warning);\n }\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--error {\n background: var(--toastify-color-progress-error);\n }\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport { Slide } from 'react-toastify';\n\nimport { Comp } from '@redsift/design-system';\nimport { ReactToastify, StyledToastContainer } from './styles';\nimport { ToastContainerProps } from './types';\n\nconst COMPONENT_NAME = 'ToastContainer';\nconst CLASSNAME = 'redsift-toast-container';\nconst DEFAULT_PROPS: Partial<ToastContainerProps> = {\n autoClose: 5000,\n closeOnClick: false,\n draggable: true,\n pauseOnFocusLoss: true,\n pauseOnHover: true,\n placement: 'top-right',\n};\n\n/**\n * The ToastContainer component.\n */\nexport const ToastContainer: Comp<ToastContainerProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const { placement, ...forwardedProps } = props;\n\n return (\n <ReactToastify>\n <StyledToastContainer\n {...forwardedProps}\n className={ToastContainer.className}\n closeButton={false}\n icon={false}\n newestOnTop={placement!.includes('bottom')}\n position={placement}\n ref={ref as RefObject<HTMLDivElement>}\n theme=\"colored\"\n transition={Slide}\n />\n </ReactToastify>\n );\n });\nToastContainer.className = CLASSNAME;\nToastContainer.defaultProps = DEFAULT_PROPS;\nToastContainer.displayName = COMPONENT_NAME;\n","import React from 'react';\nimport { toast } from 'react-toastify';\nimport { Toast } from '../toast';\nimport { useToastProps, useToastReturnType } from './types';\n\nconst notify: useToastReturnType['notify'] = (\n { content, closeButton, placement, title, variant = 'info', ...options },\n props\n) => {\n return toast(\n <Toast title={title} variant={variant} closeButton={closeButton} {...props}>\n {content}\n </Toast>,\n {\n type: variant === 'loading' ? 'default' : variant,\n ...(placement && { position: placement }),\n ...options,\n }\n );\n};\n\nconst update: useToastReturnType['update'] = (\n id,\n { content, closeButton, placement, title, variant = 'info', ...options },\n props\n) => {\n toast.update(id, {\n render: ({ closeToast }) => (\n <Toast\n title={title}\n variant={variant}\n closeButton={closeButton}\n closeToast={closeToast}\n {...props}\n >\n {content}\n </Toast>\n ),\n type: variant === 'loading' ? 'default' : variant,\n ...(placement && { position: placement }),\n ...options,\n });\n};\n\nconst promise: useToastReturnType['promise'] = (\n promise,\n { pending, success, error },\n { closeButton, placement, ...options } = {},\n props\n) => {\n toast.promise(promise, {\n pending: {\n render: ({ closeToast }) => (\n <Toast\n closeButton={closeButton}\n title={pending.title}\n variant=\"loading\"\n closeToast={closeToast}\n {...props}\n >\n {pending.content}\n </Toast>\n ),\n type: 'default',\n ...(placement && { position: placement }),\n ...options,\n },\n success: {\n render: ({ closeToast }) => (\n <Toast\n closeButton={closeButton}\n title={success.title}\n variant=\"success\"\n closeToast={closeToast}\n {...props}\n >\n {success.content}\n </Toast>\n ),\n type: 'success',\n ...(placement && { position: placement }),\n ...options,\n },\n error: {\n render: ({ closeToast }) => (\n <Toast\n closeButton={closeButton}\n title={error.title}\n variant=\"error\"\n closeToast={closeToast}\n {...props}\n >\n {error.content}\n </Toast>\n ),\n type: 'error',\n ...(placement && { position: placement }),\n ...options,\n },\n });\n};\n\nexport const useToast: useToastProps = () => {\n return {\n notify: notify,\n clearWaitingQueue: toast.clearWaitingQueue,\n dismiss: toast.dismiss,\n done: toast.done,\n error: (options, props) => {\n return notify({ variant: 'error', ...options }, props);\n },\n info: (options, props) => {\n return notify({ variant: 'info', ...options }, props);\n },\n isActive: toast.isActive,\n loading: (options, props) => {\n return notify({ variant: 'loading', ...options }, props);\n },\n promise: promise,\n success: (options, props) => {\n return notify({ variant: 'success', ...options }, props);\n },\n update: update,\n warning: (options, props) => {\n return notify({ variant: 'warning', ...options }, props);\n },\n };\n};\n","import React from 'react';\nimport { TooltipState } from './types';\n\nexport const TooltipContext = React.createContext<TooltipState | null>(null);\n","import { ReactNode } from 'react';\nimport { ValueOf } from '@redsift/design-system';\nimport { useTooltip } from './useTooltip';\n\n/**\n * Context props.\n */\nexport type TooltipState = ReturnType<typeof useTooltip> | null;\n\n/**\n * Component variant.\n */\nexport const TooltipPlacement = {\n top: 'top',\n right: 'right',\n bottom: 'bottom',\n left: 'left',\n 'top-start': 'top-start',\n 'top-end': 'top-end',\n 'right-start': 'right-start',\n 'right-end': 'right-end',\n 'bottom-start': 'bottom-start',\n 'bottom-end': 'bottom-end',\n 'left-start': 'left-start',\n 'left-end': 'left-end',\n} as const;\nexport type TooltipPlacement = ValueOf<typeof TooltipPlacement>;\n\n/**\n * Component props.\n */\nexport interface TooltipProps {\n /** Children. Can only be TooltipTrigger and TooltilContent. */\n children: ReactNode;\n /**\n * Default open status.\n * Used for uncontrolled version.\n */\n defaultOpen?: boolean;\n /** Delay time (in ms) for the tooltip to show up. */\n delay?: number;\n /** Default placement of the tooltip. */\n placement?: TooltipPlacement;\n /**\n * Whether the component is opened or not.\n * Used for controlled version.\n */\n isOpen?: boolean;\n /** Method to handle component change. */\n onOpen?: (open: boolean) => void;\n /** Id to the tooltip content. */\n tooltipId?: string;\n}\n\nexport type StyledTooltipProps = TooltipProps;\n","import styled, { css } from 'styled-components';\nimport { baseContainer } from '@redsift/design-system';\nimport { TooltipPlacement } from '../tooltip';\nimport { StyledTooltipContentProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledTooltipContent = styled.div<StyledTooltipContentProps>`\n ${baseContainer}\n\n align-items: center;\n background-color: var(--redsift-color-neutral-white);\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);\n color: var(--redsift-color-neutral-black);\n display: flex;\n filter: drop-shadow(0px 4px 5px rgba(0, 0, 0, 0.14))\n drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.12));\n font-family: var(--redsift-typography-tooltip-font-family);\n font-size: var(--redsift-typography-tooltip-font-size);\n font-weight: var(--redsift-typography-tooltip-font-weight);\n line-height: var(--redsift-typography-tooltip-line-height);\n max-width: calc(100vw - 48px);\n padding: 4px 8px;\n z-index: var(--redsift-layout-z-index-tooltip);\n\n .redsift-tooltip-content__arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: var(--redsift-color-neutral-white);\n border-style: solid;\n }\n\n ${({ $placement }) => {\n switch ($placement) {\n case TooltipPlacement.left:\n case TooltipPlacement['left-end']:\n case TooltipPlacement['left-start']:\n return css`\n .redsift-tooltip-content__arrow {\n border-width: 6px 0 6px 6px;\n border-top-color: transparent;\n border-right-color: transparent;\n border-bottom-color: transparent;\n }\n `;\n case TooltipPlacement.top:\n case TooltipPlacement['top-end']:\n case TooltipPlacement['top-start']:\n return css`\n .redsift-tooltip-content__arrow {\n border-width: 6px 6px 0;\n border-right-color: transparent;\n border-bottom-color: transparent;\n border-left-color: transparent;\n }\n `;\n case TooltipPlacement.right:\n case TooltipPlacement['right-end']:\n case TooltipPlacement['right-start']:\n return css`\n .redsift-tooltip-content__arrow {\n border-width: 6px 6px 6px 0;\n border-top-color: transparent;\n border-bottom-color: transparent;\n border-left-color: transparent;\n }\n `;\n case TooltipPlacement.bottom:\n case TooltipPlacement['bottom-end']:\n case TooltipPlacement['bottom-start']:\n default:\n return css`\n .redsift-tooltip-content__arrow {\n border-width: 0 6px 6px;\n border-top-color: transparent;\n border-right-color: transparent;\n border-left-color: transparent;\n }\n `;\n }\n }}\n`;\n","import React, { forwardRef } from 'react';\nimport { useMergeRefs, FloatingPortal } from '@floating-ui/react';\n\nimport { Comp } from '@redsift/design-system';\nimport { TooltipContentProps } from './types';\nimport { TooltipPlacement, useTooltipContext } from '../tooltip';\nimport { StyledTooltipContent } from './styles';\nimport classNames from 'classnames';\n\nconst COMPONENT_NAME = 'TooltipContent';\nconst CLASSNAME = 'redsift-tooltip-content';\nconst DEFAULT_PROPS: Partial<TooltipContentProps> = {};\n\n/**\n * The TooltipContent component.\n */\nexport const TooltipContent: Comp<TooltipContentProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const { children, className, style } = props;\n const {\n getFloatingProps,\n isOpen,\n placement,\n refs,\n strategy,\n tooltipId,\n x,\n y,\n middlewareData: { arrow: { x: arrowX, y: arrowY } = {} },\n } = useTooltipContext();\n const popoverRef = useMergeRefs([refs.setFloating, ref]);\n\n const { arrowRef } = useTooltipContext();\n\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[placement.split('-')[0]];\n\n return (\n <FloatingPortal id={tooltipId}>\n {isOpen && (\n <StyledTooltipContent\n className={classNames(TooltipContent.className, className)}\n ref={popoverRef}\n style={{\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n visibility: x == null ? 'hidden' : 'visible',\n ...style,\n }}\n {...getFloatingProps(props)}\n $placement={placement as TooltipPlacement}\n >\n <div\n ref={arrowRef}\n className={`${TooltipContent.className}__arrow`}\n style={{\n left: arrowX != null ? `${arrowX}px` : '',\n top: arrowY != null ? `${arrowY}px` : '',\n [staticSide!]: '-6px',\n }}\n />\n <div className={`${TooltipContent.className}__inner`}>\n {children}\n </div>\n </StyledTooltipContent>\n )}\n </FloatingPortal>\n );\n });\nTooltipContent.className = CLASSNAME;\nTooltipContent.defaultProps = DEFAULT_PROPS;\nTooltipContent.displayName = COMPONENT_NAME;\n","import React, { forwardRef, ReactElement } from 'react';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Comp } from '@redsift/design-system';\nimport { useTooltipContext } from '../tooltip';\nimport { TooltipTriggerProps } from './types';\n\nconst COMPONENT_NAME = 'TooltipTrigger';\nconst CLASSNAME = 'redsift-tooltip-trigger';\nconst DEFAULT_PROPS: Partial<TooltipTriggerProps> = {};\n\n/**\n * The TooltipTrigger component.\n */\nexport const TooltipTrigger: Comp<TooltipTriggerProps, HTMLSpanElement> =\n forwardRef((props, ref) => {\n const { children } = props;\n\n const { getReferenceProps, refs, tooltipId } = useTooltipContext();\n const childrenRef = (children as any).ref;\n const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);\n\n if (React.isValidElement(children)) {\n return React.cloneElement(children as ReactElement, {\n ...getReferenceProps({\n ref: triggerRef,\n ...props,\n 'aria-describedby': tooltipId,\n ...children.props,\n }),\n });\n }\n\n return (\n <span ref={triggerRef} {...getReferenceProps(props)}>\n {children}\n </span>\n );\n });\nTooltipTrigger.className = CLASSNAME;\nTooltipTrigger.defaultProps = DEFAULT_PROPS;\nTooltipTrigger.displayName = COMPONENT_NAME;\n","import React, { useCallback, useEffect, useId, useRef, useState } from 'react';\nimport {\n useFloating,\n arrow,\n autoUpdate,\n offset,\n flip,\n shift,\n useHover,\n useFocus,\n useDismiss,\n useRole,\n useInteractions,\n} from '@floating-ui/react';\nimport { TooltipProps } from './types';\n\nexport function useTooltip({\n defaultOpen,\n delay,\n placement,\n isOpen: propsIsOpen,\n onOpen,\n tooltipId: propsTooltipId,\n}: Omit<TooltipProps, 'children'>) {\n const arrowRef = useRef(null);\n const [isOpen, setIsOpen] = useState(propsIsOpen ?? defaultOpen);\n\n const tooltipId = propsTooltipId ?? useId();\n\n useEffect(() => {\n setIsOpen(propsIsOpen ?? defaultOpen);\n }, [propsIsOpen, defaultOpen]);\n\n const handleOpen = useCallback(\n (collapsed: boolean) => {\n if (onOpen) {\n onOpen(collapsed);\n }\n if (propsIsOpen === undefined || propsIsOpen === null) {\n setIsOpen(collapsed);\n }\n },\n [onOpen]\n );\n\n const data = useFloating({\n placement,\n open: isOpen,\n onOpenChange: handleOpen,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset(8),\n flip({\n fallbackAxisSideDirection: 'start',\n }),\n shift({ padding: 8 }),\n arrow({\n element: arrowRef,\n }),\n ],\n });\n\n const context = data.context;\n\n const hover = useHover(context, {\n move: false,\n delay: {\n open: delay,\n close: 0,\n },\n });\n const focus = useFocus(context);\n const dismiss = useDismiss(context);\n const role = useRole(context, { role: 'tooltip' });\n\n const interactions = useInteractions([hover, focus, dismiss, role]);\n\n return React.useMemo(\n () => ({\n isOpen,\n handleOpen,\n ...interactions,\n ...data,\n arrowRef,\n tooltipId,\n }),\n [isOpen, handleOpen, interactions, data, arrowRef, tooltipId]\n );\n}\n","import React from 'react';\nimport { partitionComponents, isComponent } from '@redsift/design-system';\nimport { TooltipContent } from '../tooltip-content';\nimport { TooltipTrigger } from '../tooltip-trigger';\n\nimport { TooltipContext } from './context';\nimport { TooltipPlacement, TooltipProps } from './types';\nimport { useTooltip } from './useTooltip';\n\nconst COMPONENT_NAME = 'Tooltip';\nconst CLASSNAME = 'redsift-tooltip';\nconst DEFAULT_PROPS: Partial<TooltipProps> = {\n delay: 500,\n placement: TooltipPlacement.top,\n};\n\n/**\n * The Tooltip component.\n */\nexport const BaseTooltip: React.FC<TooltipProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const { children, defaultOpen, delay, isOpen, onOpen, placement, tooltipId } =\n props;\n\n const tooltip = useTooltip({\n defaultOpen,\n delay,\n placement,\n isOpen,\n onOpen,\n tooltipId,\n });\n\n const [[trigger], [content]] = partitionComponents(\n React.Children.toArray(children),\n [isComponent('TooltipTrigger'), isComponent('TooltipContent')]\n );\n\n return (\n <TooltipContext.Provider value={tooltip}>\n {trigger}\n {content}\n </TooltipContext.Provider>\n );\n};\nBaseTooltip.className = CLASSNAME;\nBaseTooltip.defaultProps = DEFAULT_PROPS;\nBaseTooltip.displayName = COMPONENT_NAME;\n\nexport const Tooltip = Object.assign(BaseTooltip, {\n Trigger: TooltipTrigger,\n Content: TooltipContent,\n});\n","import React from 'react';\nimport { TooltipContext } from './context';\n\nexport const useTooltipContext = () => {\n const context = React.useContext(TooltipContext);\n\n if (context == null) {\n throw new Error('Tooltip components must be wrapped in <Tooltip />');\n }\n\n return context;\n};\n"],"names":["DialogContext","React","createContext","DialogSize","small","medium","large","ColorPalette","default","success","error","warning","info","question","ProductColorPalette","website","ondmarc","oninbox","ondomain","hardenize","tools","isComponent","component","instance","componentName","displayName","isValidElement","type","partitionComponents","components","predicates","elements","map","forEach","found","predicate","index","push","length","warnIfNoAccessibleLabelFound","props","additionalKeysToCheck","ariaLabel","ariaLabelledby","hasText","filter","key","hasAriaLabel","Boolean","console","warn","useBoundingClientRect","ref","deps","boundingRect","setBoundingRect","useState","useEffect","current","getBoundingClientRect","IconButtonVariant","primary","secondary","unstyled","IconSize","xsmall","xlarge","baseLayout","css","flex","flexGrow","flexShrink","flexBasis","alignSelf","justifySelf","order","gridArea","gridColumn","gridRow","gridColumnStart","gridColumnEnd","gridRowStart","gridRowEnd","undefined","baseSpacing","margin","marginBottom","marginLeft","marginRight","marginTop","baseInternalSpacing","padding","paddingBottom","paddingLeft","paddingRight","paddingTop","baseSizing","height","maxHeight","maxWidth","minHeight","minWidth","width","basePositioning","position","top","bottom","left","right","zIndex","baseFlexbox","alignContent","alignItems","flexDirection","flexWrap","gap","justifyContent","baseGrid","gridAutoColumns","gridAutoRows","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","justifyItems","baseStyling","baseContainer","display","StyledIcon","styled","span","$color","Object","keys","indexOf","$size","COMPONENT_NAME","CLASSNAME","DEFAULT_PROPS","size","Icon","forwardRef","ariaHidden","badge","className","color","icon","svgProps","forwardedProps","_excluded","classNames","defaultProps","ButtonVariant","StyledButton","button","$variant","$isActive","$isDisabled","$fullWidth","enUS","frFR","SpinnerSize","StyledSpinner","img","AppContainerContext","colorToFile","spinnerDefault","spinnerHardenize","spinnerNoData","spinnerOndmarc","spinnerOndomain","spinnerOninbox","spinnerQuestion","spinnerTools","spinnerWebsite","sizeToDimension","Spinner","propsColor","appContainerState","useContext","productTheme","stringFormatter","useLocalizedStringFormatter","intlMessages","format","StyledIconButton","variant","IconButton","buttonRef","useRef","buttonProps","isPressed","useButton","_objectSpread","isDisabled","disabled","preventFocusOnPress","isActive","onPress","StyledHeading","$noWrap","Heading","as","children","noWrap","StyledFlexbox","div","inline","Flexbox","StyledDialogContent","StyledFloatingOverlay","FloatingOverlay","StyledDialogContentActions","DialogContentActions","actionsRef","initialFocus","useDialogContext","useMergeRefs","StyledDialogContentBody","$marginTop","$marginBottom","DialogContentBody","bodyRef","hasCloseButton","headerRef","headerHeight","actionsHeight","Math","max","StyledDialogContentHeader","DialogContentHeader","header","headingProps","subheader","setLabelId","setDescriptionId","labelId","useId","descriptionId","useLayoutEffect","BaseDialogContent","context","floatingContext","getFloatingProps","refs","handleOpen","propsInitialFocus","isMounted","styles","useTransitionStyles","dialogRef","setFloating","body","actions","Children","toArray","DialogContent","mdiClose","assign","Header","Body","Actions","DialogTrigger","getReferenceProps","isOpen","childrenRef","triggerRef","setReference","cloneElement","useDialog","defaultOpen","propsIsOpen","onOpen","setIsOpen","useCallback","collapsed","data","useFloating","open","onOpenChange","dismiss","useDismiss","outsidePressEvent","role","useRole","interactions","useInteractions","useMemo","BaseDialog","dialog","trigger","content","Dialog","Trigger","Content","Error","PopoverContext","PopoverPlacement","StyledPopoverContent","PopoverContent","style","isModal","strategy","x","y","usePopoverContext","popoverRef","PopoverTrigger","usePopover","placement","whileElementsMounted","autoUpdate","middleware","offset","flip","fallbackAxisSideDirection","shift","BasePopover","popover","Popover","ToastVariant","loading","ToastPlacement","StyledToast","$hasTitle","closeButton","getVariant","mdiInformation","mdiAlertCircle","mdiCheckCircle","mdiAlert","Toast","closeToast","title","ReactToastify","StyledToastContainer","ToastContainer","autoClose","closeOnClick","draggable","pauseOnFocusLoss","pauseOnHover","includes","Slide","notify","options","toast","update","id","render","promise","pending","useToast","clearWaitingQueue","done","TooltipContext","TooltipPlacement","StyledTooltipContent","$placement","TooltipContent","tooltipId","middlewareData","arrow","arrowX","arrowY","useTooltipContext","arrowRef","staticSide","split","visibility","TooltipTrigger","useTooltip","delay","propsTooltipId","element","hover","useHover","move","close","focus","useFocus","BaseTooltip","tooltip","Tooltip"],"mappings":";;;;;;;;AAGO,MAAMA,aAAa,gBAAGC,KAAK,CAACC,aAAa,CAAqB,IAAI;;ACCzE;AACA;AACA;;AAQA;AACA;AACA;AACO,MAAMC,UAAU,GAAG;AACxBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,OAAA;AACT;;ACnBA;AACA;AACA;AACO,MAAMC,YAAY,GAAG;AAC1BC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,QAAQ,EAAE,UAAU;AACpB,EAAA,SAAS,EAAE,SAAA;AACb,CAAU,CAAA;AAGH,MAAMC,mBAAmB,GAAG;AACjCC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,KAAK,EAAE,OAAA;AACT,CAAU;;ACpBV;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,WAAW,GAClBC,SAAgC,IACnCC,QAAmB,IAA+B;EACjD,MAAMC,aAAa,GACjB,OAAOF,SAAS,KAAK,QAAQ,GAAGA,SAAS,GAAGA,SAAS,CAACG,WAAW,CAAA;AAEnE,EAAA,oBACExB,KAAK,CAACyB,cAAc,CAACH,QAAQ,CAAC,IAC7BA,QAAQ,CAACI,IAAI,CAAeF,WAAW,KAAKD,aAAa,CAAA;AAE9D,CAAC;;ACnBH;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASI,mBAAmB,CACjCC,UAAe,EACfC,UAAoC,EAC7B;AACP,EAAA,MAAMC,QAAe,GAAG,CAAC,GAAGD,UAAU,CAACE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;AACzDH,EAAAA,UAAU,CAACI,OAAO,CAAEX,SAAS,IAAK;IAChC,IAAIY,KAAK,GAAG,KAAK,CAAA;AACjBJ,IAAAA,UAAU,CAACG,OAAO,CAAC,CAACE,SAAS,EAAEC,KAAK,KAAK;AACvC,MAAA,IAAID,SAAS,CAACb,SAAS,CAAC,EAAE;AACxBS,QAAAA,QAAQ,CAACK,KAAK,CAAC,CAACC,IAAI,CAACf,SAAS,CAAC,CAAA;AAC/BY,QAAAA,KAAK,GAAG,IAAI,CAAA;AACd,OAAA;AACF,KAAC,CAAC,CAAA;IACF,IAAI,CAACA,KAAK,EAAE;MACVH,QAAQ,CAACA,QAAQ,CAACO,MAAM,GAAG,CAAC,CAAC,CAACD,IAAI,CAACf,SAAS,CAAC,CAAA;AAC/C,KAAA;AACF,GAAC,CAAC,CAAA;AACF,EAAA,OAAOS,QAAQ,CAAA;AACjB;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMQ,4BAA4B,GAAG,CAC1CC,KAAkD,EAClDC,qBAAsC,KAC7B;EACT,MAAM;AAAE,IAAA,YAAY,EAAEC,SAAS;AAAE,IAAA,iBAAiB,EAAEC,cAAAA;AAAe,GAAC,GAAGH,KAAK,CAAA;AAE5E,EAAA,MAAMI,OAAO,GACXH,qBAAqB,IACrBA,qBAAqB,CAACI,MAAM,CAAEC,GAAG,IAAK,CAAC,CAACA,GAAG,CAAC,CAACR,MAAM,GAAG,CAAC,CAAA;AACzD,EAAA,MAAMS,YAAY,GAAGC,OAAO,CAACN,SAAS,IAAIC,cAAc,CAAC,CAAA;AAEzD,EAAA,IAAI,CAACI,YAAY,IAAI,CAACH,OAAO,EAAE;AAC7BK,IAAAA,OAAO,CAACC,IAAI,CAAC,4CAA4C,CAAC,CAAA;AAC5D,GAAA;AACF,CAAC;;ACpBD;AACA;AACA;AACO,MAAMC,qBAAqB,GAAG,CACnCC,GAAkC,EAClCC,IAAqB,KAClB;EACH,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGC,QAAQ,CAAU,EAAE,CAAY,CAAA;AAExEC,EAAAA,SAAS,CAAC,MAAM;IACd,IAAIL,GAAG,CAACM,OAAO,EAAE;AACfH,MAAAA,eAAe,CAACH,GAAG,CAACM,OAAO,CAACC,qBAAqB,EAAE,CAAC,CAAA;AACtD,KAAA;GACD,EAAEN,IAAI,CAAC,CAAA;AAER,EAAA,OAAOC,YAAY,CAAA;AACrB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTD;AACA;AACA;AACO,MAAMM,iBAAiB,GAAG;AAC/BC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,QAAQ,EAAE,UAAA;AACZ,CAAU;;ACNV;AACA;AACA;AACO,MAAMC,QAAQ,GAAG;AACtBC,EAAAA,MAAM,EAAE,QAAQ;AAChB7D,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,OAAO;AACd4D,EAAAA,MAAM,EAAE,QAAA;AACV,CAAU;;ACNH,MAAMC,UAAU,GAAGC,GAAiB,CAAA;AAC3C,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;IACDC,IAAI;IACJC,QAAQ;IACRC,UAAU;IACVC,SAAS;IACTC,SAAS;IACTC,WAAW;IACXC,KAAK;IACLC,QAAQ;IACRC,UAAU;IACVC,OAAO;IACPC,eAAe;IACfC,aAAa;IACbC,YAAY;AACZC,IAAAA,UAAAA;GACD,GAAA,IAAA,CAAA;AAAA,EAAA,OACCd,GAAI,CAAA;AACR,MAAA,EAAQC,IAAI,GAAI,CAAA,MAAA,EAAQA,IAAK,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACrC,MAAQC,EAAAA,QAAQ,KAAKa,SAAS,GAAI,cAAab,QAAS,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAChE,MAAQC,EAAAA,UAAU,KAAKY,SAAS,GAAI,gBAAeZ,UAAW,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACtE,MAAA,EAAQC,SAAS,GAAI,CAAA,YAAA,EAAcA,SAAU,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACrD,MAAA,EAAQC,SAAS,GAAI,CAAA,YAAA,EAAcA,SAAU,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACrD,MAAA,EAAQC,WAAW,GAAI,CAAA,cAAA,EAAgBA,WAAY,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC3D,MAAQC,EAAAA,KAAK,KAAKQ,SAAS,GAAI,UAASR,KAAM,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACtD,MAAA,EAAQC,QAAQ,GAAI,CAAA,WAAA,EAAaA,QAAS,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAClD,MAAA,EAAQC,UAAU,GAAI,CAAA,aAAA,EAAeA,UAAW,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACxD,MAAA,EAAQC,OAAO,GAAI,CAAA,UAAA,EAAYA,OAAQ,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC/C,MAAA,EAAQC,eAAe,GAAI,CAAA,mBAAA,EAAqBA,eAAgB,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACxE,MAAA,EAAQC,aAAa,GAAI,CAAA,iBAAA,EAAmBA,aAAc,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAClE,MAAA,EAAQC,YAAY,GAAI,CAAA,gBAAA,EAAkBA,YAAa,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC/D,MAAA,EAAQC,UAAU,GAAI,CAAA,cAAA,EAAgBA,UAAW,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACzD,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN,CAAC,CAAA;AAEM,MAAME,WAAW,GAAGhB,GAAkB,CAAA;AAC7C,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;IAAEiB,MAAM;IAAEC,YAAY;IAAEC,UAAU;IAAEC,WAAW;AAAEC,IAAAA,SAAAA;GAAW,GAAA,KAAA,CAAA;AAAA,EAAA,OAC7DrB,GAAI,CAAA;AACR,MAAA,EAAQiB,MAAM,GAAI,CAAA,QAAA,EAAUA,MAAO,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC3C,MAAA,EAAQC,YAAY,GAAI,CAAA,eAAA,EAAiBA,YAAa,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC9D,MAAA,EAAQC,UAAU,GAAI,CAAA,aAAA,EAAeA,UAAW,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACxD,MAAA,EAAQC,WAAW,GAAI,CAAA,cAAA,EAAgBA,WAAY,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC3D,MAAA,EAAQC,SAAS,GAAI,CAAA,YAAA,EAAcA,SAAU,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACrD,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN,CAAC,CAAA;AAEM,MAAMC,mBAAmB,GAAGtB,GAA0B,CAAA;AAC7D,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;IAAEuB,OAAO;IAAEC,aAAa;IAAEC,WAAW;IAAEC,YAAY;AAAEC,IAAAA,UAAAA;GAAY,GAAA,KAAA,CAAA;AAAA,EAAA,OAClE3B,GAAI,CAAA;AACR,MAAA,EAAQuB,OAAO,GAAI,CAAA,SAAA,EAAWA,OAAQ,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC9C,MAAA,EAAQC,aAAa,GAAI,CAAA,gBAAA,EAAkBA,aAAc,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACjE,MAAA,EAAQC,WAAW,GAAI,CAAA,cAAA,EAAgBA,WAAY,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC3D,MAAA,EAAQC,YAAY,GAAI,CAAA,eAAA,EAAiBA,YAAa,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC9D,MAAA,EAAQC,UAAU,GAAI,CAAA,aAAA,EAAeA,UAAW,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACxD,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN,CAAC,CAAA;AAEM,MAAMC,UAAU,GAAG5B,GAAiB,CAAA;AAC3C,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;IAAE6B,MAAM;IAAEC,SAAS;IAAEC,QAAQ;IAAEC,SAAS;IAAEC,QAAQ;AAAEC,IAAAA,KAAAA;GAAO,GAAA,KAAA,CAAA;AAAA,EAAA,OAC5DlC,GAAI,CAAA;AACR,MAAA,EAAQ6B,MAAM,KAAKd,SAAS,GACjB,CAAA,QAAA,EAAU,OAAOc,MAAM,KAAK,QAAQ,GAAI,GAAEA,MAAO,CAAA,EAAA,CAAG,GAAGA,MAAO,CAAA,CAAA,CAAE,GACjE,EAAG,CAAA;AACb,MAAA,EAAQC,SAAS,GAAI,CAAA,YAAA,EAAcA,SAAU,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACrD,MAAA,EAAQC,QAAQ,GAAI,CAAA,WAAA,EAAaA,QAAS,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAClD,MAAA,EAAQC,SAAS,GAAI,CAAA,YAAA,EAAcA,SAAU,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACrD,MAAA,EAAQC,QAAQ,GAAI,CAAA,WAAA,EAAaA,QAAS,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAClD,MAAA,EAAQC,KAAK,KAAKnB,SAAS,GAChB,CAAA,OAAA,EAAS,OAAOmB,KAAK,KAAK,QAAQ,GAAI,GAAEA,KAAM,CAAA,EAAA,CAAG,GAAGA,KAAM,CAAA,CAAA,CAAE,GAC7D,EAAG,CAAA;AACb,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN,CAAC,CAAA;AAEM,MAAMC,eAAe,GAAGnC,GAAsB,CAAA;AACrD,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;IAAEoC,QAAQ;IAAEC,GAAG;IAAEC,MAAM;IAAEC,IAAI;IAAEC,KAAK;AAAEC,IAAAA,MAAAA;GAAQ,GAAA,KAAA,CAAA;AAAA,EAAA,OAC/CzC,GAAI,CAAA;AACR,MAAA,EAAQoC,QAAQ,GAAI,CAAA,UAAA,EAAYA,QAAS,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACjD,MAAA,EAAQC,GAAG,GAAI,CAAA,KAAA,EAAOA,GAAI,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAClC,MAAA,EAAQC,MAAM,GAAI,CAAA,QAAA,EAAUA,MAAO,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC3C,MAAA,EAAQC,IAAI,GAAI,CAAA,MAAA,EAAQA,IAAK,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACrC,MAAA,EAAQC,KAAK,GAAI,CAAA,OAAA,EAASA,KAAM,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACxC,MAAA,EAAQC,MAAM,GAAI,CAAA,SAAA,EAAWA,MAAO,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC5C,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN,CAAC,CAAA;AAEM,MAAMC,WAAW,GAAG1C,GAAqB,CAAA;AAChD,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;IACD2C,YAAY;IACZC,UAAU;IACVC,aAAa;IACbC,QAAQ;IACRC,GAAG;AACHC,IAAAA,cAAAA;GACD,GAAA,KAAA,CAAA;AAAA,EAAA,OACChD,GAAI,CAAA;AACR,MAAA,EAAQ2C,YAAY,GAAI,CAAA,eAAA,EAAiBA,YAAa,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC9D,MAAA,EAAQC,UAAU,GAAI,CAAA,aAAA,EAAeA,UAAW,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACxD,MAAA,EAAQC,aAAa,GAAI,CAAA,gBAAA,EAAkBA,aAAc,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACjE,MAAA,EAAQC,QAAQ,GAAI,CAAA,WAAA,EAAaA,QAAS,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAClD,WAAA,EAAaC,GAAI,CAAA;AACjB,MAAA,EAAQC,cAAc,GAAI,CAAA,iBAAA,EAAmBA,cAAe,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACpE,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN,CAAC,CAAA;AAEM,MAAMC,QAAQ,GAAGjD,GAAqB,CAAA;AAC7C,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;IACD2C,YAAY;IACZC,UAAU;IACVG,GAAG;IACHG,eAAe;IACfC,YAAY;IACZC,iBAAiB;IACjBC,mBAAmB;IACnBC,gBAAgB;IAChBN,cAAc;AACdO,IAAAA,YAAAA;GACD,GAAA,KAAA,CAAA;AAAA,EAAA,OACCvD,GAAI,CAAA;AACR,MAAA,EAAQ2C,YAAY,GAAI,CAAA,eAAA,EAAiBA,YAAa,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC9D,MAAA,EAAQC,UAAU,GAAI,CAAA,aAAA,EAAeA,UAAW,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACxD,MAAA,EAAQG,GAAG,GAAI,CAAA,KAAA,EAAOA,GAAI,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAClC,MAAA,EAAQG,eAAe,GAAI,CAAA,mBAAA,EAAqBA,eAAgB,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACxE,MAAA,EAAQC,YAAY,GAAI,CAAA,gBAAA,EAAkBA,YAAa,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC/D,MAAA,EAAQC,iBAAiB,GAAI,CAAA,qBAAA,EAAuBA,iBAAkB,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC9E,MAAA,EAAQC,mBAAmB,GAChB,CAAA,uBAAA,EAAyBA,mBAAoB,CAAA,CAAA,CAAE,GAChD,EAAG,CAAA;AACb,MAAA,EAAQC,gBAAgB,GAAI,CAAA,oBAAA,EAAsBA,gBAAiB,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC3E,MAAA,EAAQN,cAAc,GAAI,CAAA,iBAAA,EAAmBA,cAAe,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AACpE,MAAA,EAAQO,YAAY,GAAI,CAAA,eAAA,EAAiBA,YAAa,CAAA,CAAA,CAAE,GAAG,EAAG,CAAA;AAC9D,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN,CAAC,CAAA;AAEM,MAAMC,WAAW,GAAGxD,GAAkB,CAAA;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,EAAID,UAAW,CAAA;AACf,EAAA,EAAIiB,WAAY,CAAA;AAChB,EAAA,EAAIY,UAAW,CAAA;AACf,EAAA,EAAIO,eAAgB,CAAA;AACpB,CAAC,CAAA;AAEM,MAAMsB,aAAa,GAAGzD,GAAoB,CAAA;AACjD,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;AAAE0D,IAAAA,OAAAA;GAAS,GAAA,KAAA,CAAA;AAAA,EAAA,OAAMA,OAAO,GAAI,CAAA,SAAA,EAAWA,OAAQ,CAAA,CAAA,CAAE,GAAG,EAAE,CAAA;AAAA,CAAE,CAAA;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,EAAIpC,mBAAoB,CAAA;AACxB,EAAA,EAAIoB,WAAY,CAAA;AAChB,EAAA,EAAIO,QAAS,CAAA;AACb,CAAC;;ACrKD;AACA;AACA;AACO,MAAMU,UAAU,GAAGC,MAAM,CAACC,IAAsB,CAAA;AACvD;AACA,EAAA,EAAIL,WAAY,CAAA;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;AAAEM,IAAAA,MAAAA;GAAQ,GAAA,IAAA,CAAA;AAAA,EAAA,OACXA,MAAM,IACN,CAAC,GAAGC,MAAM,CAACC,IAAI,CAAC7H,YAAY,CAAC,EAAE,GAAG4H,MAAM,CAACC,IAAI,CAACtH,mBAAmB,CAAC,CAAC,CAACuH,OAAO,CACzEH,MAAM,CACP,KAAK,CAAC,CAAC,GACJ9D,GAAI,CAAA;AACZ,qCAAA,EAAuC8D,MAAO,CAAA;AAC9C,QAAA,CAAS,GACD9D,GAAI,CAAA;AACZ,iBAAmB8D,EAAAA,MAAM,IAAI9D,GAAI,CAAuC,qCAAA,CAAA,CAAA;AACxE,QAAS,CAAA,CAAA;AAAA,CAAC,CAAA;AACV;AACA,EAAA,EAAI,KAAe,IAAA;EAAA,IAAd;AAAEkE,IAAAA,KAAAA;GAAO,GAAA,KAAA,CAAA;AACV,EAAA,QAAQA,KAAK;IACX,KAAKtE,QAAQ,CAACE,MAAM;AAClB,MAAA,OAAOE,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;IACH,KAAKJ,QAAQ,CAAC1D,KAAK;AACjB,MAAA,OAAO8D,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;IACH,KAAKJ,QAAQ,CAAC5D,KAAK;AACjB,MAAA,OAAOgE,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;IACH,KAAKJ,QAAQ,CAACC,MAAM;AAClB,MAAA,OAAOG,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;IACH,KAAKJ,QAAQ,CAAC3D,MAAM,CAAA;AACpB,IAAA;AACE,MAAA,OAAO+D,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;AAAC,GAAA;AAER,CAAE,CAAA;AACJ,CAAC;;;AC5HD,MAAMmE,gBAAc,GAAG,MAAM,CAAA;AAC7B,MAAMC,WAAS,GAAG,cAAc,CAAA;AAChC,MAAMC,eAAiC,GAAG;EACxCC,IAAI,EAAE1E,QAAQ,CAAC3D,MAAAA;AACjB,CAAC,CAAA;;AAED;AACA;AACA;AACO,MAAMsI,IAAsC,gBAAGC,UAAU,CAC9D,CAACpG,KAAK,EAAEY,GAAG,KAAK;EACd,MAAM;AACJ,MAAA,aAAa,EAAEyF,UAAU;AACzB,MAAA,YAAY,EAAEnG,SAAS;MACvBoG,KAAK;MACLC,SAAS;MACTC,KAAK;MACLC,IAAI;MACJP,IAAI;AACJQ,MAAAA,QAAAA;AAEF,KAAC,GAAG1G,KAAK;AADJ2G,IAAAA,cAAc,4BACf3G,KAAK,EAAA4G,WAAA,CAAA,CAAA;EAET,oBACE,KAAA,CAAA,aAAA,CAAC,UAAU,EAAA,QAAA,CAAA,EAAA,EACLD,cAAc,EAAA;AAClB,IAAA,MAAM,EAAEH,KAAM;AACd,IAAA,KAAK,EAAEN,IAAK;IACZ,aAAahG,EAAAA,SAAS,GAAImG,UAAU,GAAGA,UAAU,GAAG1D,SAAS,GAAI,IAAK;AACtE,IAAA,YAAA,EAAYzC,SAAU;IACtB,SAAS,EAAE2G,UAAU,CAACV,IAAI,CAACI,SAAS,EAAEA,SAAS,CAAE;AACjD,IAAA,GAAG,EAAE3F,GAAAA;AAAkC,GAAA,CAAA,eAEvC,wCACM8F,QAAQ,EAAA;IACZ,aAAaxG,EAAAA,SAAS,GAAImG,UAAU,GAAGA,UAAU,GAAG1D,SAAS,GAAI,IAAK;AACtE,IAAA,YAAA,EAAYzC,SAAU;AACtB,IAAA,SAAS,EAAC,OAAO;AACjB,IAAA,MAAM,EAAC,KAAK;AACZ,IAAA,mBAAmB,EAAC,eAAe;AACnC,IAAA,IAAI,EAAC,KAAK;AACV,IAAA,OAAO,EAAC,WAAW;AACnB,IAAA,KAAK,EAAC,KAAA;GAEN,CAAA,eAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAM,IAAA,CAAC,EAAEuG,IAAK;AAAC,IAAA,IAAI,EAAC,cAAA;AAAc,GAAA,CAAG,CACjC,EACLH,KAAK,GAAGA,KAAK,GAAG,IAAI,CACV,CAAA;AAEjB,CAAC,CACF,CAAA;AACDH,IAAI,CAACI,SAAS,GAAGP,WAAS,CAAA;AAC1BG,IAAI,CAACW,YAAY,GAAGb,eAAa,CAAA;AACjCE,IAAI,CAAClH,WAAW,GAAG8G,gBAAc;;AClDjC;AACA;AACA;AACO,MAAMgB,aAAa,GAAG;AAC3B1F,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,QAAQ,EAAE,UAAA;AACZ,CAAU;;ACZV;AACA;AACA;AACO,MAAMyF,YAAY,GAAGxB,MAAM,CAACyB,MAA0B,CAAA;AAC7D,EAAA,EAAI7B,WAAY,CAAA;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;IAAE8B,QAAQ;IAAExB,MAAM;IAAEyB,SAAS;AAAEC,IAAAA,WAAAA;GAAa,GAAA,IAAA,CAAA;AAAA,EAAA,OAAKxF,GAAI,CAAA;AAC1D,aAAesF,EAAAA,QAAQ,KAAKH,aAAa,CAACzF,SAAS,GAAG,UAAU,GAAG,UAAW,CAAA;AAC9E;AACA,IAAA,EAAM4F,QAAQ,KAAKH,aAAa,CAACzF,SAAS,GAClCM,GAAI,CAAA;AACZ,4BAA8BuF,EAAAA,SAAS,GACxB,CAAA,oBAAA,EAAsBzB,MAAO,CAAA,QAAA,CAAS,GACvC0B,WAAW,GACX,oCAAoC,GACpC,oCAAqC,CAAA;AACnD;AACA;AACA,mBAAA,EAAqBA,WAAW,GAChB,sCAAsC,GACrC,CAAA,oBAAA,EAAsB1B,MAAO,CAAW,SAAA,CAAA,CAAA;AACzD;AACA,QAAA,CAAS,GACDwB,QAAQ,KAAKH,aAAa,CAACxF,QAAQ,GACnCK,GAAI,CAAA;AACZ,4BAA8BuF,EAAAA,SAAS,GACxB,CAAA,oBAAA,EAAsBzB,MAAO,CAAA,QAAA,CAAS,GACvC0B,WAAW,GACX,MAAM,GACN,MAAO,CAAA;AACrB;AACA;AACA,mBAAA,EAAqBA,WAAW,GAChB,sCAAsC,GACrC,CAAA,oBAAA,EAAsB1B,MAAO,CAAW,SAAA,CAAA,CAAA;AACzD;AACA,QAAA,CAAS,GACD9D,GAAI,CAAA;AACZ,4BAAA,EAA8BuF,SAAS,GACxB,CAAsBzB,oBAAAA,EAAAA,MAAO,CAAiB,gBAAA,CAAA,GAC/C0B,WAAW,GACX,wCAAwC,GACvC,CAAsB1B,oBAAAA,EAAAA,MAAO,CAAW,SAAA,CAAA,CAAA;AACvD;AACA;AACA,mBAAA,EAAqB0B,WAAW,GAChB,sCAAsC,GACtC,oCAAqC,CAAA;AACrD;AACA,QAAU,CAAA,CAAA;AACV;AACA,IAAA,EAAMF,QAAQ,KAAKH,aAAa,CAACzF,SAAS,GAClCM,GAAI,CAAA;AACZ;AACA,YAAA,EAAcwF,WAAW,GACT,sCAAsC,GACrC,CAAA,oBAAA,EAAsB1B,MAAO,CAAW,SAAA,CAAA,CAAA;AACzD,QAAA,CAAS,GACD,EAAG,CAAA;AACX,EAAG,CAAA,CAAA;AAAA,CAAC,CAAA;AACJ;AACA;AACA;AACA;AACA;AACA,IAAM,EAAA,KAAA,IAAA;EAAA,IAAC;IAAEwB,QAAQ;IAAExB,MAAM;IAAEyB,SAAS;AAAEC,IAAAA,WAAAA;GAAa,GAAA,KAAA,CAAA;AAAA,EAAA,OAAKxF,GAAI,CAAA;AAC5D,cAAA,EAAgBwF,WAAW,GAAG,SAAS,GAAG,SAAU,CAAA;AACpD;AACA,MAAA,EAAQF,QAAQ,KAAKH,aAAa,CAACzF,SAAS,GAClCM,GAAI,CAAA;AACd,8BAAA,EAAgCuF,SAAS,GACxB,CAAsBzB,oBAAAA,EAAAA,MAAO,CAAe,cAAA,CAAA,GAC7C0B,WAAW,GACX,oCAAoC,GACnC,CAAsB1B,oBAAAA,EAAAA,MAAO,CAAS,OAAA,CAAA,CAAA;AACvD;AACA;AACA,qBAAA,EAAuB0B,WAAW,GAChB,sCAAsC,GACrC,CAAA,oBAAA,EAAsB1B,MAAO,CAAa,WAAA,CAAA,CAAA;AAC7D;AACA,UAAA,CAAW,GACDwB,QAAQ,KAAKH,aAAa,CAACxF,QAAQ,GACnCK,GAAI,CAAA;AACd,8BAAA,EAAgCuF,SAAS,GACxB,CAAsBzB,oBAAAA,EAAAA,MAAO,CAAe,cAAA,CAAA,GAC7C0B,WAAW,GACX,MAAM,GACL,CAAsB1B,oBAAAA,EAAAA,MAAO,CAAS,OAAA,CAAA,CAAA;AACvD;AACA;AACA,qBAAA,EAAuB0B,WAAW,GAChB,sCAAsC,GACrC,CAAA,oBAAA,EAAsB1B,MAAO,CAAa,WAAA,CAAA,CAAA;AAC7D;AACA,UAAA,CAAW,GACD9D,GAAI,CAAA;AACd,8BAAA,EAAgCuF,SAAS,GACxB,CAAsBzB,oBAAAA,EAAAA,MAAO,CAAuB,sBAAA,CAAA,GACrD0B,WAAW,GACX,wCAAwC,GACvC,CAAsB1B,oBAAAA,EAAAA,MAAO,CAAa,WAAA,CAAA,CAAA;AAC3D;AACA;AACA,qBAAA,EAAuB0B,WAAW,GAChB,sCAAsC,GACtC,oCAAqC,CAAA;AACvD;AACA,UAAY,CAAA,CAAA;AACZ;AACA,MAAA,EAAQF,QAAQ,KAAKH,aAAa,CAACzF,SAAS,GAClCM,GAAI,CAAA;AACd;AACA,cAAA,EAAgBwF,WAAW,GACT,sCAAsC,GACrC,CAAA,oBAAA,EAAsB1B,MAAO,CAAW,SAAA,CAAA,CAAA;AAC3D,UAAA,CAAW,GACA,CAAA;AACX;AACA,MAAQ,CAAA,CAAA;AACR,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN;AACA;AACA,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;AAAE2B,IAAAA,UAAAA;GAAY,GAAA,KAAA,CAAA;AAAA,EAAA,OACfA,UAAU,GACL,CAAA;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAA,CAAO,GACC,EAAE,CAAA;AAAA,CAAC,CAAA;AACX,CAAC;;;;;;;;;;;;ACxJD,qBAAe;AACb,EAAA,OAAO,EAAEC,MAAI;AACb,EAAA,OAAO,EAAEC,MAAAA;AACX,CAAC;;ACID;AACA;AACA;AACO,MAAMC,WAAW,GAAG;AACzB/F,EAAAA,MAAM,EAAE,QAAQ;AAChB7D,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,OAAA;AACT,CAAU;;ACdH,MAAM2J,aAAa,GAAGjC,MAAM,CAACkC,GAAwB,CAAA;AAC5D,EAAA,EAAItC,WAAY,CAAA;AAChB;AACA;AACA;AACA;AACA,CAAC;;ACPM,MAAMuC,mBAAmB,gBAC9BlK,KAAK,CAACC,aAAa,CAA2B,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;ACiBrD,MAAMkK,WAAW,GAAG;AAClB5J,EAAAA,OAAO,EAAE6J,cAAc;AACvBlJ,EAAAA,SAAS,EAAEmJ,gBAAgB;AAC3B,EAAA,SAAS,EAAEC,aAAa;AACxBvJ,EAAAA,OAAO,EAAEwJ,cAAc;AACvBtJ,EAAAA,QAAQ,EAAEuJ,eAAe;AACzBxJ,EAAAA,OAAO,EAAEyJ,cAAc;AACvB7J,EAAAA,QAAQ,EAAE8J,eAAe;AACzBvJ,EAAAA,KAAK,EAAEwJ,YAAY;AACnB7J,EAAAA,OAAO,EAAE8J,cAAAA;AACX,CAAC,CAAA;AAED,MAAMtC,gBAAc,GAAG,SAAS,CAAA;AAChC,MAAMC,WAAS,GAAG,gBAAgB,CAAA;AAClC,MAAMC,eAAoC,GAAG;EAC3CO,KAAK,EAAEzI,YAAY,CAACC,OAAO;EAC3BkI,IAAI,EAAEsB,WAAW,CAAC3J,MAAAA;AACpB,CAAC,CAAA;AAED,MAAMyK,eAAe,GACnBpC,IAAiB,IACqB;AACtC,EAAA,QAAQA,IAAI;IACV,KAAKsB,WAAW,CAAC/F,MAAM;MACrB,OAAO;AAAEqC,QAAAA,KAAK,EAAE,EAAE;AAAEL,QAAAA,MAAM,EAAE,EAAA;OAAI,CAAA;IAClC,KAAK+D,WAAW,CAAC5J,KAAK;MACpB,OAAO;AAAEkG,QAAAA,KAAK,EAAE,EAAE;AAAEL,QAAAA,MAAM,EAAE,EAAA;OAAI,CAAA;IAClC,KAAK+D,WAAW,CAAC1J,KAAK;MACpB,OAAO;AAAEgG,QAAAA,KAAK,EAAE,EAAE;AAAEL,QAAAA,MAAM,EAAE,EAAA;OAAI,CAAA;IAClC,KAAK+D,WAAW,CAAC3J,MAAM,CAAA;AACvB,IAAA;MACE,OAAO;AAAEiG,QAAAA,KAAK,EAAE,EAAE;AAAEL,QAAAA,MAAM,EAAE,EAAA;OAAI,CAAA;AAAC,GAAA;AAEvC,CAAC,CAAA;;AAED;AACA;AACA;AACO,MAAM8E,OAA6C,gBAAGnC,UAAU,CACrE,CAACpG,KAAK,EAAEY,GAAG,KAAK;EACd,MAAM;AACJ,MAAA,aAAa,EAAEyF,UAAU;AACzB,MAAA,YAAY,EAAEnG,SAAS;MACvBqG,SAAS;AACTC,MAAAA,KAAK,EAAEgC,UAAU;AACjBtC,MAAAA,IAAAA;AAEF,KAAC,GAAGlG,KAAK;AADJ2G,IAAAA,cAAc,4BACf3G,KAAK,EAAA4G,WAAA,CAAA,CAAA;EAET,MAAM;IAAE9C,KAAK;AAAEL,IAAAA,MAAAA;AAAO,GAAC,GAAG6E,eAAe,CAACpC,IAAI,CAAE,CAAA;AAChD,EAAA,MAAMuC,iBAAiB,GAAGC,UAAU,CAACf,mBAAmB,CAAC,CAAA;AACzD,EAAA,MAAMnB,KAAK,GACTgC,UAAU,KAAKzK,YAAY,CAACC,OAAO,IACnCyK,iBAAiB,IACjBA,iBAAiB,CAACE,YAAY,GAC1BF,iBAAiB,CAACE,YAAY,GAC9BH,UAAU,CAAA;AAEhB,EAAA,MAAMI,eAAe,GAAGC,2BAA2B,CAACC,cAAY,CAAC,CAAA;AAEjE,EAAA,oBACE,oBAAC,aAAa,EAAA,QAAA,CAAA;AACZ,IAAA,GAAG,EAAEF,eAAe,CAACG,MAAM,CAAC,SAAS,CAAA;AAAE,GAAA,EACnCpC,cAAc,EAAA;IAClB,aAAazG,EAAAA,SAAS,GAAImG,UAAU,GAAGA,UAAU,GAAG1D,SAAS,GAAI,IAAK;AACtE,IAAA,YAAA,EAAYzC,SAAU;IACtB,SAAS,EAAE2G,UAAU,CAAC0B,OAAO,CAAChC,SAAS,EAAEA,SAAS,CAAE;AACpD,IAAA,MAAM,EAAE9C,MAAO;AACf,IAAA,GAAG,EAAE7C,GAAmC;AACxC,IAAA,GAAG,EAAEgH,WAAW,CAACpB,KAAK,CAAG;AACzB,IAAA,KAAK,EAAE1C,KAAM;AACb,IAAA,MAAM,EAAE0C,KAAM;AACd,IAAA,KAAK,EAAEN,IAAAA;GACP,CAAA,CAAA,CAAA;AAEN,CAAC,CACF,CAAA;AACDqC,OAAO,CAAChC,SAAS,GAAGP,WAAS,CAAA;AAC7BuC,OAAO,CAACzB,YAAY,GAAGb,eAAa,CAAA;AACpCsC,OAAO,CAACtJ,WAAW,GAAG8G,gBAAc;;AChGpC;AACA;AACA;AACO,MAAMiD,gBAAgB,GAAGxD,MAAM,CAACwB,YAAY,CAAyB,CAAA;AAC5E,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;AAAEE,IAAAA,QAAAA;GAAU,GAAA,IAAA,CAAA;AAAA,EAAA,OAAKtF,GAAI,CAAA;AAC1B,aAAesF,EAAAA,QAAQ,KAAK9F,iBAAiB,CAACE,SAAS,GAAG,KAAK,GAAG,KAAM,CAAA;AACxE,EAAG,CAAA,CAAA;AAAA,CAAC,CAAA;AACJ,CAAC;;;ACFD,MAAMyE,gBAAc,GAAG,YAAY,CAAA;AACnC,MAAMC,WAAS,GAAG,qBAAqB,CAAA;AACvC,MAAMC,eAAuC,GAAG;EAC9CO,KAAK,EAAEzI,YAAY,CAACC,OAAO;AAC3ByF,EAAAA,MAAM,EAAE,aAAa;EACrBwF,OAAO,EAAE7H,iBAAiB,CAACG,QAAAA;AAC7B,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACO,MAAM2H,UAAoD,gBAAG9C,UAAU,CAC5E,CAACpG,KAAK,EAAEY,GAAG,KAAK;AACd,EAAA,MAAMuI,SAAS,GAAGvI,GAAG,IAAIwI,MAAM,EAAqB,CAAA;EACpD,MAAM;IAAEC,WAAW;AAAEC,IAAAA,SAAAA;GAAW,GAAGC,SAAS,CAAAC,cAAA,CAAAA,cAAA,CAAA,EAAA,EAErCxJ,KAAK,CAAA,EAAA,EAAA,EAAA;AACRyJ,IAAAA,UAAU,EAAEzJ,KAAK,CAACyJ,UAAU,IAAIzJ,KAAK,CAAC0J,QAAQ;AAC9CC,IAAAA,mBAAmB,EAAE,IAAA;AAAI,GAAA,CAAA,EAE3BR,SAAS,CACV,CAAA;EAED,MAAM;MACJ5C,SAAS;MACTC,KAAK;MACLkD,QAAQ;MACRjD,IAAI;MACJmD,QAAQ;MACRH,UAAU;AACV;MACAI,OAAO;AACPZ,MAAAA,OAAAA;AAEF,KAAC,GAAGjJ,KAAK;AADJ2G,IAAAA,cAAc,4BACf3G,KAAK,EAAA4G,WAAA,CAAA,CAAA;EAET7G,4BAA4B,CAACC,KAAK,CAAC,CAAA;AAEnC,EAAA,oBACE,KAAC,CAAA,aAAA,CAAA,gBAAgB,EACX2G,QAAAA,CAAAA,EAAAA,EAAAA,cAAc,EACd0C,WAAW,EAAA;AACf,IAAA,MAAM,EAAEI,UAAU,IAAIC,QAAQ,GAAG/G,SAAS,GAAG6D,KAAM;IACnD,SAAS,EAAEoD,QAAQ,IAAIN,SAAU;IACjC,WAAW,EAAEG,UAAU,IAAIC,QAAS;AACpC,IAAA,QAAQ,EAAET,OAAQ;IAClB,eAAeQ,EAAAA,UAAU,IAAIC,QAAS;IACtC,SAAS,EAAE7C,UAAU,CAACqC,UAAU,CAAC3C,SAAS,EAAEA,SAAS,CAAE;IACvD,QAAQ,EAAEkD,UAAU,IAAIC,QAAS;AACjC,IAAA,GAAG,EAAEP,SAAAA;AAA0C,GAAA,CAAA,eAE/C,oBAAC,IAAI,EAAA;AAAC,IAAA,IAAI,EAAE1C,IAAK;AAAC,IAAA,KAAK,EAAEgD,UAAU,IAAIC,QAAQ,GAAG/G,SAAS,GAAG6D,KAAAA;AAAM,GAAA,CAAG,CACtD,CAAA;AAEvB,CAAC,CACF,CAAA;AACD0C,UAAU,CAAC3C,SAAS,GAAGP,WAAS,CAAA;AAChCkD,UAAU,CAACpC,YAAY,GAAGb,eAAa,CAAA;AACvCiD,UAAU,CAACjK,WAAW,GAAG8G,gBAAc;;AClEvC;AACA;AACA;AACO,MAAM+D,aAAa,GAAGtE,MAAM,CAACC,IAAyB,CAAA;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,EAAIL,WAAY,CAAA;AAChB;AACA,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;AAAE8B,IAAAA,QAAAA;GAAU,GAAA,IAAA,CAAA;AAAA,EAAA,OACbA,QAAQ,KAAK,IAAI,GACbtF,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,QAAA,CAAS,GACDsF,QAAQ,KAAK,IAAI,GACjBtF,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA,QAAA,CAAS,GACDsF,QAAQ,KAAK,IAAI,GACjBtF,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA,QAAA,CAAS,GACDsF,QAAQ,KAAK,IAAI,GACjBtF,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA,QAAA,CAAS,GACDsF,QAAQ,KAAK,IAAI,GACjBtF,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA,QAAA,CAAS,GACDA,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;AAAA,CAAC,CAAA;AACV;AACA,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;AAAEmI,IAAAA,OAAAA;GAAS,GAAA,KAAA,CAAA;EAAA,OACZA,OAAO,GACHnI,GAAI,CAAA;AACZ;AACA;AACA;AACA,QAAA,CAAS,GACDA,GAAI,CAAA;AACZ;AACA,QAAS,CAAA,CAAA;AAAA,CAAC,CAAA;AACV,CAAC;;;ACvED,MAAMmE,gBAAc,GAAG,SAAS,CAAA;AAChC,MAAMC,WAAS,GAAG,iBAAiB,CAAA;AACnC,MAAMC,eAAoC,GAAG,EAAE,CAAA;;AAE/C;AACA;AACA;AACO,MAAM+D,OAA2C,gBAAG5D,UAAU,CACnE,CAACpG,KAAK,EAAEY,GAAG,KAAK;EACd,MAAM;MAAEqJ,EAAE;MAAEC,QAAQ;MAAE3D,SAAS;MAAE4D,MAAM;AAAElB,MAAAA,OAAAA;AAA2B,KAAC,GACnEjJ,KAAK;AAD8C2G,IAAAA,cAAc,4BACjE3G,KAAK,EAAA4G,WAAA,CAAA,CAAA;AAEP,EAAA,oBACE,oBAAC,aAAa,EAAA,QAAA,CAAA;AACZ,IAAA,EAAE,EAAEqD,EAAAA;AAAG,GAAA,EACHtD,cAAc,EAAA;IAClB,SAAS,EAAEE,UAAU,CAACmD,OAAO,CAACzD,SAAS,EAAEA,SAAS,CAAE;AACpD,IAAA,GAAG,EAAE3F,GAAiC;AACtC,IAAA,OAAO,EAAEuJ,MAAO;IAChB,QAAQ,EAAElB,OAAO,GAAGA,OAAO,GAAGgB,EAAE,KAAK,MAAM,GAAG,MAAM,GAAGA,EAAAA;AAAG,GAAA,CAAA,EAEzDC,QAAQ,CACK,CAAA;AAEpB,CAAC,CACF,CAAA;AACDF,OAAO,CAACzD,SAAS,GAAGP,WAAS,CAAA;AAC7BgE,OAAO,CAAClD,YAAY,GAAGb,eAAa,CAAA;AACpC+D,OAAO,CAAC/K,WAAW,GAAG8G,gBAAc;;AC9BpC;AACA;AACA;AACO,MAAMqE,aAAa,GAAG5E,MAAM,CAAC6E,GAAwB,CAAA;AAC5D,WAAa,EAAA,IAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,MAAAA;GAAQ,GAAA,IAAA,CAAA;AAAA,EAAA,OAAMA,MAAM,GAAG,aAAa,GAAG,MAAM,CAAA;AAAA,CAAE,CAAA;AAC/D;AACA,EAAA,EAAIlF,WAAY,CAAA;AAChB,EAAA,EAAIlC,mBAAoB,CAAA;AACxB,EAAA,EAAIoB,WAAY,CAAA;AAChB,CAAC;;;ACPD,MAAMyB,gBAAc,GAAG,SAAS,CAAA;AAChC,MAAMC,WAAS,GAAG,kBAAkB,CAAA;AACpC,MAAMC,eAAoC,GAAG;AAC3CtB,EAAAA,GAAG,EAAE,MAAA;AACP,CAAC,CAAA;;AAED;AACA;AACA;AACO,MAAM4F,OAA2C,gBAAGnE,UAAU,CACnE,CAACpG,KAAK,EAAEY,GAAG,KAAK;EACd,MAAM;MAAEsJ,QAAQ;AAAE3D,MAAAA,SAAAA;AAA6B,KAAC,GAAGvG,KAAK;AAAxB2G,IAAAA,cAAc,4BAAK3G,KAAK,EAAA4G,WAAA,CAAA,CAAA;EAExD,oBACE,KAAA,CAAA,aAAA,CAAC,aAAa,EAAA,QAAA,CAAA,EAAA,EACRD,cAAc,EAAA;IAClB,SAAS,EAAEE,UAAU,CAAC0D,OAAO,CAAChE,SAAS,EAAEA,SAAS,CAAE;AACpD,IAAA,GAAG,EAAE3F,GAAAA;AAAiC,GAAA,CAAA,EAErCsJ,QAAQ,CACK,CAAA;AAEpB,CAAC,CACF,CAAA;AACDK,OAAO,CAAChE,SAAS,GAAGP,WAAS,CAAA;AAC7BuE,OAAO,CAACzD,YAAY,GAAGb,eAAa,CAAA;AACpCsE,OAAO,CAACtL,WAAW,GAAG8G,gBAAc;;;;;;;;;;;;AC7BpC,qBAAe;AACb,EAAA,OAAO,EAAEuB,MAAI;AACb,EAAA,OAAO,EAAEC,MAAAA;AACX,CAAC;;ACDD;AACA;AACA;AACO,MAAMiD,mBAAmB,GAAGhF,MAAM,CAAC6E,GAA8B,CAAA;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,EAAI,IAAe,IAAA;EAAA,IAAd;AAAEvE,IAAAA,KAAAA;GAAO,GAAA,IAAA,CAAA;AACV,EAAA,QAAQA,KAAK;IACX,KAAKnI,UAAU,CAACC,KAAK;AACnB,MAAA,OAAOgE,GAAI,CAAA;AACnB;AACA,QAAS,CAAA,CAAA;IACH,KAAKjE,UAAU,CAACG,KAAK;AACnB,MAAA,OAAO8D,GAAI,CAAA;AACnB;AACA,QAAS,CAAA,CAAA;IACH,KAAKjE,UAAU,CAACE,MAAM,CAAA;AACtB,IAAA;AACE,MAAA,OAAO+D,GAAI,CAAA;AACnB;AACA,QAAS,CAAA,CAAA;AAAC,GAAA;AAER,CAAE,CAAA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAA;AAEM,MAAM6I,qBAAqB,GAAGjF,MAAM,CAACkF,eAAe,CAAE,CAAA;AAC7D;AACA;AACA;AACA;AACA,CAAC;;ACnED;AACA;AACA;AACO,MAAMC,0BAA0B,GAAGnF,MAAM,CAAC6E,GAAqC,CAAA;AACtF;AACA,EAAA,EAAIhF,aAAc,CAAA;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;ACRD,MAAMU,gBAAc,GAAG,sBAAsB,CAAA;AAC7C,MAAMC,WAAS,GAAG,gCAAgC,CAAA;AAClD,MAAMC,eAAiD,GAAG;AACxDxB,EAAAA,aAAa,EAAE,KAAA;AACjB,CAAC,CAAA;;AAED;AACA;AACA;AACO,MAAMmG,oBAGZ,gBAAGxE,UAAU,CAAC,CAACpG,KAAK,EAAEY,GAAG,KAAK;EAC7B,MAAM;MAAEsJ,QAAQ;AAAE3D,MAAAA,SAAAA;AAA6B,KAAC,GAAGvG,KAAK;AAAxB2G,IAAAA,cAAc,4BAAK3G,KAAK,EAAA4G,WAAA,CAAA,CAAA;EAExD,MAAM;IAAEiE,UAAU;AAAEC,IAAAA,YAAAA;GAAc,GAAGC,gBAAgB,EAAE,CAAA;EAEvD,oBACE,KAAA,CAAA,aAAA,CAAC,0BAA0B,EAAA,QAAA,CAAA,EAAA,EACrBpE,cAAc,EAAA;IAClB,SAAS,EAAEE,UAAU,CAAC+D,oBAAoB,CAACrE,SAAS,EAAEA,SAAS,CAAE;IACjE,GAAG,EAAEyE,YAAY,CAAC,CAACpK,GAAG,EAAEiK,UAAU,CAAC,CAAE;AACrC,IAAA,QAAQ,EAAEC,YAAY,KAAK,SAAS,GAAG,CAAC,CAAC,GAAGnI,SAAAA;AAAU,GAAA,CAAA,EAErDuH,QAAQ,CACkB,CAAA;AAEjC,CAAC,EAAC;AACFU,oBAAoB,CAACrE,SAAS,GAAGP,WAAS,CAAA;AAC1C4E,oBAAoB,CAAC9D,YAAY,GAAGb,eAAa,CAAA;AACjD2E,oBAAoB,CAAC3L,WAAW,GAAG8G,gBAAc;;ACnCjD;AACA;AACA;AACO,MAAMkF,uBAAuB,GAAGzF,MAAM,CAAC6E,GAAkC,CAAA;AAChF,EAAA,EAAIhF,aAAc,CAAA;AAClB;AACA;AACA,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;IAAE6F,UAAU;AAAEC,IAAAA,aAAAA;GAAe,GAAA,IAAA,CAAA;AAAA,EAAA,OAAKvJ,GAAI,CAAA;AAC3C,6BAA+BsJ,EAAAA,UAAU,GAAGC,aAAc,CAAA;AAC1D,EAAG,CAAA,CAAA;AAAA,CAAC,CAAA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AChDD,MAAMpF,gBAAc,GAAG,mBAAmB,CAAA;AAC1C,MAAMC,WAAS,GAAG,6BAA6B,CAAA;AAC/C,MAAMC,eAA8C,GAAG,EAAE,CAAA;;AAEzD;AACA;AACA;AACO,MAAMmF,iBAA+D,gBAC1EhF,UAAU,CAAC,CAACpG,KAAK,EAAEY,GAAG,KAAK;EACzB,MAAM;MAAEsJ,QAAQ;AAAE3D,MAAAA,SAAAA;AAA6B,KAAC,GAAGvG,KAAK;AAAxB2G,IAAAA,cAAc,4BAAK3G,KAAK,EAAA4G,WAAA,CAAA,CAAA;EAExD,MAAM;IAAEiE,UAAU;IAAEQ,OAAO;IAAEC,cAAc;IAAEC,SAAS;AAAET,IAAAA,YAAAA;GAAc,GACpEC,gBAAgB,EAAE,CAAA;EAEpB,MAAM;IAAEtH,MAAM,EAAE+H,YAAY,GAAG,CAAA;GAAG,GAAG7K,qBAAqB,CACxD4K,SAAS,EACT,CAACrB,QAAQ,EAAEqB,SAAS,CAAC,CACtB,CAAA;EACD,MAAM;IAAE9H,MAAM,EAAEgI,aAAa,GAAG,CAAA;GAAG,GAAG9K,qBAAqB,CACzDkK,UAAU,EACV,CAACX,QAAQ,EAAEW,UAAU,CAAC,CACvB,CAAA;;AAED;EACA,oBACE,KAAA,CAAA,aAAA,CAAC,uBAAuB,EAAA,QAAA,CAAA,EAAA,EAClBlE,cAAc,EAAA;IAClB,SAAS,EAAEE,UAAU,CAACuE,iBAAiB,CAAC7E,SAAS,EAAEA,SAAS,CAAE;IAC9D,GAAG,EAAEyE,YAAY,CAAC,CAACpK,GAAG,EAAEyK,OAAO,CAAC,CAAE;IAClC,QAAQ,EAAEP,YAAY,KAAK,MAAM,GAAG,CAAC,CAAC,GAAGnI,SAAU;AACnD,IAAA,UAAU,EAAE+I,IAAI,CAACC,GAAG,CAACH,YAAY,EAAEF,cAAc,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAG;IACjE,aAAa,EAAE,CAACG,aAAa,KAAK,CAAC,GAAG,CAAC,GAAGA,aAAa,GAAG,EAAE,IAAI,EAAA;AAAG,GAAA,CAAA,EAElEvB,QAAQ,CACe,CAAA;AAE9B,CAAC,EAAC;AACJkB,iBAAiB,CAAC7E,SAAS,GAAGP,WAAS,CAAA;AACvCoF,iBAAiB,CAACtE,YAAY,GAAGb,eAAa,CAAA;AAC9CmF,iBAAiB,CAACnM,WAAW,GAAG8G,gBAAc;;AC7C9C;AACA;AACA;AACO,MAAM6F,yBAAyB,GAAGpG,MAAM,CAAC6E,GAAoC,CAAA;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AC1BD,MAAMtE,gBAAc,GAAG,qBAAqB,CAAA;AAC5C,MAAMC,WAAS,GAAG,+BAA+B,CAAA;AACjD,MAAMC,eAAgD,GAAG,EAAE,CAAA;;AAE3D;AACA;AACA;AACO,MAAM4F,mBAGZ,gBAAGzF,UAAU,CAAC,CAACpG,KAAK,EAAEY,GAAG,KAAK;EAC7B,MAAM;MACJsJ,QAAQ;MACR3D,SAAS;MACTuF,MAAM;MACNC,YAAY;MACZtF,IAAI;AACJuF,MAAAA,SAAAA;AAEF,KAAC,GAAGhM,KAAK;AADJ2G,IAAAA,cAAc,4BACf3G,KAAK,EAAA4G,WAAA,CAAA,CAAA;EAET,MAAM;IAAEqF,UAAU;IAAEC,gBAAgB;IAAEX,SAAS;AAAET,IAAAA,YAAAA;GAAc,GAC7DC,gBAAgB,EAAE,CAAA;EACpB,MAAMoB,OAAO,GAAGC,KAAK,EAAE,CAAA;EACvB,MAAMC,aAAa,GAAGD,KAAK,EAAE,CAAA;;AAE7B;AACA;EACA3O,KAAK,CAAC6O,eAAe,CAAC,MAAM;IAC1BL,UAAU,CAACE,OAAO,CAAC,CAAA;AACnB,IAAA,OAAO,MAAMF,UAAU,CAACtJ,SAAS,CAAC,CAAA;AACpC,GAAC,EAAE,CAACwJ,OAAO,EAAEF,UAAU,CAAC,CAAC,CAAA;;AAEzB;AACA;EACAxO,KAAK,CAAC6O,eAAe,CAAC,MAAM;IAC1BJ,gBAAgB,CAACG,aAAa,CAAC,CAAA;AAC/B,IAAA,OAAO,MAAMH,gBAAgB,CAACvJ,SAAS,CAAC,CAAA;AAC1C,GAAC,EAAE,CAAC0J,aAAa,EAAEH,gBAAgB,CAAC,CAAC,CAAA;EAErC,oBACE,KAAA,CAAA,aAAA,CAAC,yBAAyB,EAAA,QAAA,CAAA,EAAA,EACpBvF,cAAc,EAAA;IAClB,SAAS,EAAEE,UAAU,CAACgF,mBAAmB,CAACtF,SAAS,EAAEA,SAAS,CAAE;IAChE,GAAG,EAAEyE,YAAY,CAAC,CAACpK,GAAG,EAAE2K,SAAS,CAAC,CAAE;AACpC,IAAA,QAAQ,EAAET,YAAY,KAAK,QAAQ,GAAG,CAAC,CAAC,GAAGnI,SAAAA;AAAU,GAAA,CAAA,EAEpDqJ,SAAS,gBACR,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAG,CAAA,EAAEH,mBAAmB,CAACtF,SAAU,CAAA,WAAA,CAAA;GAC9CyF,EAAAA,SAAS,CACN,GACJ,IAAI,EACPF,MAAM,gBACL,oBAAC,OAAO,EAAA,QAAA,CAAA;AACN,IAAA,EAAE,EAAC,IAAI;AACP,IAAA,KAAK,EAAC,OAAO;AACb,IAAA,SAAS,EAAG,CAAA,EAAED,mBAAmB,CAACtF,SAAU,CAAU,QAAA,CAAA;AACtD,IAAA,EAAE,EAAE4F,OAAQ;AACZ,IAAA,OAAO,EAAC,IAAA;AAAI,GAAA,EACRJ,YAAY,CAAA,EAEftF,IAAI,gBAAG,oBAAC,IAAI,EAAA;AAAC,IAAA,IAAI,EAAEA,IAAK;IAAC,aAAY,EAAA,MAAA;GAAS,CAAA,GAAG,IAAI,EACrDqF,MAAM,CACC,GACR,IAAI,EACP5B,QAAQ,gBAAG,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,EAAE,EAAEmC,aAAAA;AAAc,GAAA,EAAEnC,QAAQ,CAAO,GAAG,IAAI,CACjC,CAAA;AAEhC,CAAC,EAAC;AACF2B,mBAAmB,CAACtF,SAAS,GAAGP,WAAS,CAAA;AACzC6F,mBAAmB,CAAC/E,YAAY,GAAGb,eAAa,CAAA;AAChD4F,mBAAmB,CAAC5M,WAAW,GAAG8G,gBAAc;;;ACtDhD,MAAMA,gBAAc,GAAG,eAAe,CAAA;AACtC,MAAMC,WAAS,GAAG,wBAAwB,CAAA;AAC1C,MAAMC,eAA0C,GAAG,EAAE,CAAA;;AAErD;AACA;AACA;AACO,MAAMsG,iBAA2D,gBACtEnG,UAAU,CAAC,CAACpG,KAAK,EAAEY,GAAG,KAAK;EACzB,MAAM;MAAEsJ,QAAQ;AAAE3D,MAAAA,SAAAA;AAA6B,KAAC,GAAGvG,KAAK;AAAxB2G,IAAAA,cAAc,4BAAK3G,KAAK,EAAA4G,WAAA,CAAA,CAAA;EACxD,MAAM;AACJ4F,IAAAA,OAAO,EAAEC,eAAe;IACxBC,gBAAgB;IAChBC,IAAI;IACJR,OAAO;IACPE,aAAa;IACbO,UAAU;IACVtB,cAAc;AACdR,IAAAA,YAAY,EAAE+B,iBAAiB;IAC/B3G,IAAI;IACJqF,SAAS;IACTF,OAAO;AACPR,IAAAA,UAAAA;GACD,GAAGE,gBAAgB,EAAE,CAAA;EACtB,MAAM;IAAE+B,SAAS;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAGC,mBAAmB,CAACP,eAAe,CAAC,CAAA;EAClE,MAAMQ,SAAS,GAAGjC,YAAY,CAAC,CAAC2B,IAAI,CAACO,WAAW,EAAEtM,GAAG,CAAC,CAAC,CAAA;AAEvD,EAAA,MAAMgI,eAAe,GAAGC,2BAA2B,CAACC,cAAY,CAAC,CAAA;AAEjE,EAAA,MAAM,CAAC,CAACgD,MAAM,CAAC,EAAE,CAACqB,IAAI,CAAC,EAAE,CAACC,OAAO,CAAC,CAAC,GAAGhO,mBAAmB,CACvD3B,KAAK,CAAC4P,QAAQ,CAACC,OAAO,CAACpD,QAAQ,CAAC,EAChC,CACErL,WAAW,CAAC,qBAAqB,CAAC,EAClCA,WAAW,CAAC,mBAAmB,CAAC,EAChCA,WAAW,CAAC,sBAAsB,CAAC,CACpC,CACF,CAAA;EAED,MAAMiM,YAGO,GACX+B,iBAAiB,KAAK,QAAQ,GAC1BtB,SAAS,GACTsB,iBAAiB,KAAK,MAAM,GAC5BxB,OAAO,GACPwB,iBAAiB,KAAK,SAAS,GAC/BhC,UAAU,GACVgC,iBAAiB,GACjBA,iBAAiB,GACjBlK,SAAS,CAAA;AAEf,EAAA,oBACE,oBAAC,cAAc,EAAA,IAAA,EACZmK,SAAS,iBACR,oBAAC,qBAAqB,EAAA;IAAC,UAAU,EAAA,IAAA;AAAC,IAAA,KAAK,EAAEC,MAAAA;AAAO,GAAA,eAC9C,oBAAC,oBAAoB,EAAA;AACnB,IAAA,OAAO,EAAEN,eAAgB;AACzB,IAAA,YAAY,EAAE3B,YAAY,GAAGA,YAAY,GAAGnI,SAAAA;AAAU,GAAA,eAEtD,oBAAC,mBAAmB,EAAA,QAAA,CAAA;AAClB,IAAA,SAAS,EAAEkE,UAAU,CAAC0G,aAAa,CAAChH,SAAS,EAAEA,SAAS,CAAA;AAAE,GAAA,EACtDI,cAAc,EAAA;AAClB,IAAA,GAAG,EAAEsG,SAAU;AACf,IAAA,iBAAA,EAAiBd,OAAQ;IACzB,kBAAkBE,EAAAA,aAAAA;GACdK,EAAAA,gBAAgB,CAAC1M,KAAK,CAAC,EAAA;AAC3B,IAAA,KAAK,EAAE+M,MAAO;AACd,IAAA,KAAK,EAAE7G,IAAAA;GAEN4F,CAAAA,EAAAA,MAAM,IAAIR,cAAc,gBACvB,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAG,CAAA,EAAEiB,iBAAiB,CAAChG,SAAU,CAAA,QAAA,CAAA;AAAU,GAAA,EACtDuF,MAAM,EAENR,cAAc,gBACb,oBAAC,UAAU,EAAA;AACT,IAAA,YAAA,EAAY1C,eAAe,CAACG,MAAM,CAAC,OAAO,CAAE;AAC5C,IAAA,SAAS,EAAG,CAAA,EAAEwD,iBAAiB,CAAChG,SAAU,CAAsB,oBAAA,CAAA;AAChE,IAAA,KAAK,EAAC,UAAU;AAChB,IAAA,IAAI,EAAEiH,QAAS;AACf,IAAA,OAAO,EAAE,MAAMZ,UAAU,CAAC,KAAK,CAAA;GAC/B,CAAA,GACA,IAAI,CACJ,GACJ,IAAI,EAEPO,IAAI,IAAIC,OAAO,gBACd,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAG,CAAA,EAAEb,iBAAiB,CAAChG,SAAU,CAAA,SAAA,CAAA;GAC5C4G,EAAAA,IAAI,EACJC,OAAO,CACJ,GACJ,IAAI,CACY,CACD,CAE1B,CACc,CAAA;AAErB,CAAC,EAAC;AACJb,iBAAiB,CAAChG,SAAS,GAAGP,WAAS,CAAA;AACvCuG,iBAAiB,CAACzF,YAAY,GAAGb,eAAa,CAAA;AAC9CsG,iBAAiB,CAACtN,WAAW,GAAG8G,gBAAc,CAAA;AAEvC,MAAMwH,aAAa,GAAG5H,MAAM,CAAC8H,MAAM,CAAClB,iBAAiB,EAAE;AAC5DmB,EAAAA,MAAM,EAAE7B,mBAAmB;AAC3B8B,EAAAA,IAAI,EAAEvC,iBAAiB;AACvBwC,EAAAA,OAAO,EAAEhD,oBAAAA;AACX,CAAC;;AC9HD,MAAM7E,gBAAc,GAAG,eAAe,CAAA;AACtC,MAAMC,WAAS,GAAG,wBAAwB,CAAA;AAC1C,MAAMC,eAA0C,GAAG,EAAE,CAAA;;AAErD;AACA;AACA;AACO,MAAM4H,aAA0D,gBACrEzH,UAAU,CAAC,CAACpG,KAAK,EAAEY,GAAG,KAAK;EACzB,MAAM;AAAEsJ,IAAAA,QAAAA;AAAS,GAAC,GAAGlK,KAAK,CAAA;EAE1B,MAAM;IAAE8N,iBAAiB;IAAEC,MAAM;IAAEnB,UAAU;AAAED,IAAAA,IAAAA;GAAM,GAAG5B,gBAAgB,EAAE,CAAA;AAC1E,EAAA,MAAMiD,WAAW,GAAI9D,QAAQ,CAAStJ,GAAG,CAAA;AACzC,EAAA,MAAMqN,UAAU,GAAGjD,YAAY,CAAC,CAAC2B,IAAI,CAACuB,YAAY,EAAEtN,GAAG,EAAEoN,WAAW,CAAC,CAAC,CAAA;EAEtE,IACEnP,WAAW,CAAC,QAAQ,CAAC,CAACqL,QAAQ,CAAC,IAC/BrL,WAAW,CAAC,YAAY,CAAC,CAACqL,QAAQ,CAAC,IACnCrL,WAAW,CAAC,YAAY,CAAC,CAACqL,QAAQ,CAAC,EACnC;AACA,IAAA,oBAAOzM,KAAK,CAAC0Q,YAAY,CAACjE,QAAQ,oCAC7B4D,iBAAiB,CAAAtE,cAAA,CAAAA,cAAA,CAAA;AAClB5I,MAAAA,GAAG,EAAEqN,UAAAA;AAAU,KAAA,EACZjO,KAAK,CAAA,EACJkK,QAAQ,CAAkBlK,KAAK,CACnC,CAAA,CAAA,EAAA,EAAA,EAAA;AACF6J,MAAAA,OAAO,EAAE,MAAM+C,UAAU,CAAC,CAACmB,MAAM,CAAC;AAClCnE,MAAAA,QAAQ,EAAEmE,MAAAA;KACV,CAAA,CAAA,CAAA;AACJ,GAAA;EAEA,oBAAO,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,EAAG7D,QAAQ,CAAI,CAAA;AACxB,CAAC,EAAC;AACJ2D,aAAa,CAACtH,SAAS,GAAGP,WAAS,CAAA;AACnC6H,aAAa,CAAC/G,YAAY,GAAGb,eAAa,CAAA;AAC1C4H,aAAa,CAAC5O,WAAW,GAAG8G,gBAAc;;ACjCnC,SAASqI,SAAS,CAOS,IAAA,EAAA;EAAA,IAPR;IACxBC,WAAW;IACX/C,cAAc;IACdR,YAAY;AACZiD,IAAAA,MAAM,EAAEO,WAAW;IACnBC,MAAM;AACNrI,IAAAA,IAAAA;GAC8B,GAAA,IAAA,CAAA;AAC9B,EAAA,MAAMqF,SAAS,GAAGnC,MAAM,CAAC,IAAI,CAAC,CAAA;AAC9B,EAAA,MAAMiC,OAAO,GAAGjC,MAAM,CAAC,IAAI,CAAC,CAAA;AAC5B,EAAA,MAAMyB,UAAU,GAAGzB,MAAM,CAAC,IAAI,CAAC,CAAA;EAC/B,MAAM,CAAC+C,OAAO,EAAEF,UAAU,CAAC,GAAGxO,KAAK,CAACuD,QAAQ,EAAsB,CAAA;EAClE,MAAM,CAACqL,aAAa,EAAEH,gBAAgB,CAAC,GACrCzO,KAAK,CAACuD,QAAQ,EAAsB,CAAA;AAEtC,EAAA,MAAM,CAAC+M,MAAM,EAAES,SAAS,CAAC,GAAGxN,QAAQ,CAACsN,WAAW,aAAXA,WAAW,KAAA,KAAA,CAAA,GAAXA,WAAW,GAAID,WAAW,CAAC,CAAA;AAEhEpN,EAAAA,SAAS,CAAC,MAAM;IACduN,SAAS,CAACF,WAAW,KAAXA,IAAAA,IAAAA,WAAW,cAAXA,WAAW,GAAID,WAAW,CAAC,CAAA;AACvC,GAAC,EAAE,CAACC,WAAW,EAAED,WAAW,CAAC,CAAC,CAAA;AAE9B,EAAA,MAAMzB,UAAU,GAAG6B,WAAW,CAC3BC,SAAkB,IAAK;AACtB,IAAA,IAAIH,MAAM,EAAE;MACVA,MAAM,CAACG,SAAS,CAAC,CAAA;AACnB,KAAA;AACA,IAAA,IAAIJ,WAAW,KAAK3L,SAAS,IAAI2L,WAAW,KAAK,IAAI,EAAE;MACrDE,SAAS,CAACE,SAAS,CAAC,CAAA;AACtB,KAAA;AACF,GAAC,EACD,CAACH,MAAM,CAAC,CACT,CAAA;EAED,MAAMI,IAAI,GAAGC,WAAW,CAAC;AACvBC,IAAAA,IAAI,EAAEd,MAAM;AACZe,IAAAA,YAAY,EAAElC,UAAAA;AAChB,GAAC,CAAC,CAAA;AAEF,EAAA,MAAMJ,OAAO,GAAGmC,IAAI,CAACnC,OAAO,CAAA;AAE5B,EAAA,MAAMuC,OAAO,GAAGC,UAAU,CAACxC,OAAO,EAAE;AAAEyC,IAAAA,iBAAiB,EAAE,WAAA;AAAY,GAAC,CAAC,CAAA;AACvE,EAAA,MAAMC,IAAI,GAAGC,OAAO,CAAC3C,OAAO,CAAC,CAAA;EAE7B,MAAM4C,YAAY,GAAGC,eAAe,CAAC,CAACN,OAAO,EAAEG,IAAI,CAAC,CAAC,CAAA;EAErD,OAAOzR,KAAK,CAAC6R,OAAO,CAClB,MAAA9F,cAAA,CAAAA,cAAA,CAAAA,cAAA,CAAA;IACEuE,MAAM;AACNnB,IAAAA,UAAAA;GACGwC,EAAAA,YAAY,GACZT,IAAI,CAAA,EAAA,EAAA,EAAA;IACPxC,OAAO;IACPE,aAAa;IACbJ,UAAU;IACVC,gBAAgB;IAChBZ,cAAc;IACdR,YAAY;IACZ5E,IAAI;IACJqF,SAAS;IACTF,OAAO;AACPR,IAAAA,UAAAA;GACA,CAAA,EACF,CACEkD,MAAM,EACNnB,UAAU,EACVwC,YAAY,EACZT,IAAI,EACJxC,OAAO,EACPE,aAAa,EACbf,cAAc,EACdR,YAAY,EACZ5E,IAAI,EACJqF,SAAS,EACTF,OAAO,EACPR,UAAU,CACX,CACF,CAAA;AACH;;AC7EA,MAAM9E,gBAAc,GAAG,QAAQ,CAAA;AAC/B,MAAMC,WAAS,GAAG,gBAAgB,CAAA;AAClC,MAAMC,eAAmC,GAAG;AAC1CqF,EAAAA,cAAc,EAAE,IAAI;EACpBpF,IAAI,EAAEvI,UAAU,CAACE,MAAAA;AACnB,CAAC,CAAA;;AAED;AACA;AACA;AACa0R,MAAAA,UAGZ,GAAIvP,KAAK,IAAK;EACb,MAAM;IACJkK,QAAQ;IACRmE,WAAW;IACX/C,cAAc,GAAGrF,eAAa,CAACqF,cAAc;IAC7CR,YAAY;IACZiD,MAAM;IACNQ,MAAM;AACNrI,IAAAA,IAAAA;AACF,GAAC,GAAGlG,KAAK,CAAA;EAET,MAAMwP,MAAM,GAAGpB,SAAS,CAAC;IACvBC,WAAW;IACX/C,cAAc;IACdR,YAAY;IACZiD,MAAM;IACNQ,MAAM;AACNrI,IAAAA,IAAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,MAAM,CAAC,CAACuJ,OAAO,CAAC,EAAE,CAACC,OAAO,CAAC,CAAC,GAAGtQ,mBAAmB,CAChD3B,KAAK,CAAC4P,QAAQ,CAACC,OAAO,CAACpD,QAAQ,CAAC,EAChC,CAACrL,WAAW,CAAC,eAAe,CAAC,EAAEA,WAAW,CAAC,eAAe,CAAC,CAAC,CAC7D,CAAA;EAED,oBACE,KAAA,CAAA,aAAA,CAAC,aAAa,CAAC,QAAQ,EAAA;AAAC,IAAA,KAAK,EAAE2Q,MAAAA;GAC5BC,EAAAA,OAAO,EACPC,OAAO,CACe,CAAA;AAE7B,EAAC;AACDH,UAAU,CAAChJ,SAAS,GAAGP,WAAS,CAAA;AAChCuJ,UAAU,CAACzI,YAAY,GAAGb,eAAa,CAAA;AACvCsJ,UAAU,CAACtQ,WAAW,GAAG8G,gBAAc,CAAA;AAEhC,MAAM4J,MAAM,GAAGhK,MAAM,CAAC8H,MAAM,CAAC8B,UAAU,EAAE;AAC9CK,EAAAA,OAAO,EAAE/B,aAAa;AACtBgC,EAAAA,OAAO,EAAEtC,aAAAA;AACX,CAAC;;AC1DM,MAAMxC,gBAAgB,GAAG,MAAM;AACpC,EAAA,MAAMyB,OAAO,GAAG/O,KAAK,CAACiL,UAAU,CAAClL,aAAa,CAAC,CAAA;EAE/C,IAAIgP,OAAO,IAAI,IAAI,EAAE;AACnB,IAAA,MAAM,IAAIsD,KAAK,CAAC,iDAAiD,CAAC,CAAA;AACpE,GAAA;AAEA,EAAA,OAAOtD,OAAO,CAAA;AAChB;;ACRO,MAAMuD,cAAc,gBAAGtS,KAAK,CAACC,aAAa,CAAsB,IAAI;;ACC3E;AACA;AACA;;AAGA;AACA;AACA;AACO,MAAMsS,gBAAgB,GAAG;AAC9B/L,EAAAA,GAAG,EAAE,KAAK;AACVG,EAAAA,KAAK,EAAE,OAAO;AACdF,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,IAAI,EAAE,MAAM;AACZ,EAAA,WAAW,EAAE,WAAW;AACxB,EAAA,SAAS,EAAE,SAAS;AACpB,EAAA,aAAa,EAAE,aAAa;AAC5B,EAAA,WAAW,EAAE,WAAW;AACxB,EAAA,cAAc,EAAE,cAAc;AAC9B,EAAA,YAAY,EAAE,YAAY;AAC1B,EAAA,YAAY,EAAE,YAAY;AAC1B,EAAA,UAAU,EAAE,UAAA;AACd;;ACrBA;AACA;AACA;AACO,MAAM8L,oBAAoB,GAAGzK,MAAM,CAAC6E,GAA+B,CAAA;AAC1E,EAAA,EAAIhF,aAAc,CAAA;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;ACbD,MAAMU,gBAAc,GAAG,gBAAgB,CAAA;AACvC,MAAMC,WAAS,GAAG,yBAAyB,CAAA;AAC3C,MAAMC,eAA2C,GAAG,EAAE,CAAA;;AAEtD;AACA;AACA;AACO,MAAMiK,cAAyD,gBACpE9J,UAAU,CAAC,CAACpG,KAAK,EAAEY,GAAG,KAAK;EACzB,MAAM;IAAEsJ,QAAQ;IAAE3D,SAAS;AAAE4J,IAAAA,KAAAA;AAAM,GAAC,GAAGnQ,KAAK,CAAA;EAC5C,MAAM;AACJwM,IAAAA,OAAO,EAAEC,eAAe;IACxBC,gBAAgB;IAChB0D,OAAO;IACPrC,MAAM;IACNpB,IAAI;IACJ0D,QAAQ;IACRC,CAAC;AACDC,IAAAA,CAAAA;GACD,GAAGC,iBAAiB,EAAE,CAAA;EACvB,MAAMC,UAAU,GAAGzF,YAAY,CAAC,CAAC2B,IAAI,CAACO,WAAW,EAAEtM,GAAG,CAAC,CAAC,CAAA;AAExD,EAAA,oBACE,oBAAC,cAAc,EAAA,IAAA,EACZmN,MAAM,iBACL,oBAAC,oBAAoB,EAAA;AAAC,IAAA,OAAO,EAAEtB,eAAgB;AAAC,IAAA,KAAK,EAAE2D,OAAAA;AAAQ,GAAA,eAC7D,oBAAC,oBAAoB,EAAA,QAAA,CAAA;IACnB,SAAS,EAAEvJ,UAAU,CAACqJ,cAAc,CAAC3J,SAAS,EAAEA,SAAS,CAAE;AAC3D,IAAA,GAAG,EAAEkK,UAAW;IAChB,KAAK,EAAAjH,cAAA,CAAA;AACHxF,MAAAA,QAAQ,EAAEqM,QAAQ;AAClBpM,MAAAA,GAAG,EAAEsM,CAAC,KAAA,IAAA,IAADA,CAAC,KAADA,KAAAA,CAAAA,GAAAA,CAAC,GAAI,CAAC;AACXpM,MAAAA,IAAI,EAAEmM,CAAC,KAAA,IAAA,IAADA,CAAC,KAADA,KAAAA,CAAAA,GAAAA,CAAC,GAAI,CAAC;AACZxM,MAAAA,KAAK,EAAE,aAAA;AAAa,KAAA,EACjBqM,KAAK,CAAA;GAENzD,EAAAA,gBAAgB,CAAC1M,KAAK,CAAC,GAE1BkK,QAAQ,CACY,CAE1B,CACc,CAAA;AAErB,CAAC,EAAC;AACJgG,cAAc,CAAC3J,SAAS,GAAGP,WAAS,CAAA;AACpCkK,cAAc,CAACpJ,YAAY,GAAGb,eAAa,CAAA;AAC3CiK,cAAc,CAACjR,WAAW,GAAG8G,gBAAc;;ACrD3C,MAAMA,gBAAc,GAAG,gBAAgB,CAAA;AACvC,MAAMC,WAAS,GAAG,yBAAyB,CAAA;AAC3C,MAAMC,eAA2C,GAAG,EAAE,CAAA;;AAEtD;AACA;AACA;AACO,MAAMyK,cAA4D,gBACvEtK,UAAU,CAAC,CAACpG,KAAK,EAAEY,GAAG,KAAK;EACzB,MAAM;AAAEsJ,IAAAA,QAAAA;AAAS,GAAC,GAAGlK,KAAK,CAAA;EAE1B,MAAM;IAAE8N,iBAAiB;IAAEC,MAAM;IAAEnB,UAAU;AAAED,IAAAA,IAAAA;GAAM,GAAG6D,iBAAiB,EAAE,CAAA;AAC3E,EAAA,MAAMxC,WAAW,GAAI9D,QAAQ,CAAStJ,GAAG,CAAA;AACzC,EAAA,MAAMqN,UAAU,GAAGjD,YAAY,CAAC,CAAC2B,IAAI,CAACuB,YAAY,EAAEtN,GAAG,EAAEoN,WAAW,CAAC,CAAC,CAAA;EAEtE,IACEnP,WAAW,CAAC,QAAQ,CAAC,CAACqL,QAAQ,CAAC,IAC/BrL,WAAW,CAAC,YAAY,CAAC,CAACqL,QAAQ,CAAC,IACnCrL,WAAW,CAAC,YAAY,CAAC,CAACqL,QAAQ,CAAC,EACnC;AACA,IAAA,oBAAOzM,KAAK,CAAC0Q,YAAY,CAACjE,QAAQ,oCAC7B4D,iBAAiB,CAAAtE,cAAA,CAAAA,cAAA,CAAA;AAClB5I,MAAAA,GAAG,EAAEqN,UAAAA;AAAU,KAAA,EACZjO,KAAK,CAAA,EACJkK,QAAQ,CAAkBlK,KAAK,CACnC,CAAA,CAAA,EAAA,EAAA,EAAA;AACF6J,MAAAA,OAAO,EAAE,MAAM+C,UAAU,CAAC,CAACmB,MAAM,CAAC;AAClCnE,MAAAA,QAAQ,EAAEmE,MAAAA;KACV,CAAA,CAAA,CAAA;AACJ,GAAA;EAEA,oBAAO,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,EAAG7D,QAAQ,CAAI,CAAA;AACxB,CAAC,EAAC;AACJwG,cAAc,CAACnK,SAAS,GAAGP,WAAS,CAAA;AACpC0K,cAAc,CAAC5J,YAAY,GAAGb,eAAa,CAAA;AAC3CyK,cAAc,CAACzR,WAAW,GAAG8G,gBAAc;;AC7BpC,SAAS4K,UAAU,CAMS,IAAA,EAAA;EAAA,IANR;IACzBtC,WAAW;IACXuC,SAAS;IACTR,OAAO;AACPrC,IAAAA,MAAM,EAAEO,WAAW;AACnBC,IAAAA,MAAAA;GAC+B,GAAA,IAAA,CAAA;AAC/B,EAAA,MAAM,CAACR,MAAM,EAAES,SAAS,CAAC,GAAGxN,QAAQ,CAACsN,WAAW,aAAXA,WAAW,KAAA,KAAA,CAAA,GAAXA,WAAW,GAAID,WAAW,CAAC,CAAA;AAEhEpN,EAAAA,SAAS,CAAC,MAAM;IACduN,SAAS,CAACF,WAAW,KAAXA,IAAAA,IAAAA,WAAW,cAAXA,WAAW,GAAID,WAAW,CAAC,CAAA;AACvC,GAAC,EAAE,CAACC,WAAW,EAAED,WAAW,CAAC,CAAC,CAAA;AAE9B,EAAA,MAAMzB,UAAU,GAAG6B,WAAW,CAC3BC,SAAkB,IAAK;AACtB,IAAA,IAAIH,MAAM,EAAE;MACVA,MAAM,CAACG,SAAS,CAAC,CAAA;AACnB,KAAA;AACA,IAAA,IAAIJ,WAAW,KAAK3L,SAAS,IAAI2L,WAAW,KAAK,IAAI,EAAE;MACrDE,SAAS,CAACE,SAAS,CAAC,CAAA;AACtB,KAAA;AACF,GAAC,EACD,CAACH,MAAM,CAAC,CACT,CAAA;EAED,MAAMI,IAAI,GAAGC,WAAW,CAAC;IACvBgC,SAAS;AACT/B,IAAAA,IAAI,EAAEd,MAAM;AACZe,IAAAA,YAAY,EAAElC,UAAU;AACxBiE,IAAAA,oBAAoB,EAAEC,UAAU;IAChCC,UAAU,EAAE,CACVC,MAAM,CAAC,CAAC,CAAC,EACTC,IAAI,CAAC;AACHC,MAAAA,yBAAyB,EAAE,KAAA;KAC5B,CAAC,EACFC,KAAK,CAAC;AAAEhO,MAAAA,OAAO,EAAE,CAAA;AAAE,KAAC,CAAC,CAAA;AAEzB,GAAC,CAAC,CAAA;AAEF,EAAA,MAAMqJ,OAAO,GAAGmC,IAAI,CAACnC,OAAO,CAAA;AAE5B,EAAA,MAAMuC,OAAO,GAAGC,UAAU,CAACxC,OAAO,CAAC,CAAA;AACnC,EAAA,MAAM0C,IAAI,GAAGC,OAAO,CAAC3C,OAAO,CAAC,CAAA;EAE7B,MAAM4C,YAAY,GAAGC,eAAe,CAAC,CAACN,OAAO,EAAEG,IAAI,CAAC,CAAC,CAAA;EAErD,OAAOzR,KAAK,CAAC6R,OAAO,CAClB,MAAA9F,cAAA,CAAAA,cAAA,CAAAA,cAAA,CAAA;IACEuE,MAAM;AACNnB,IAAAA,UAAAA;GACGwC,EAAAA,YAAY,GACZT,IAAI,CAAA,EAAA,EAAA,EAAA;AACPyB,IAAAA,OAAAA;AAAO,GAAA,CACP,EACF,CAACrC,MAAM,EAAEnB,UAAU,EAAEwC,YAAY,EAAET,IAAI,EAAEyB,OAAO,CAAC,CAClD,CAAA;AACH;;AC5DA,MAAMrK,gBAAc,GAAG,SAAS,CAAA;AAChC,MAAMC,WAAS,GAAG,iBAAiB,CAAA;AACnC,MAAMC,eAAoC,GAAG;AAC3CmK,EAAAA,OAAO,EAAE,KAAK;EACdQ,SAAS,EAAEZ,gBAAgB,CAAC9L,MAAAA;AAC9B,CAAC,CAAA;;AAED;AACA;AACA;AACakN,MAAAA,WAGZ,GAAIpR,KAAK,IAAK;EACb,MAAM;IAAEkK,QAAQ;IAAEmE,WAAW;IAAEuC,SAAS;IAAER,OAAO;IAAErC,MAAM;AAAEQ,IAAAA,MAAAA;AAAO,GAAC,GAAGvO,KAAK,CAAA;EAE3E,MAAMqR,OAAO,GAAGV,UAAU,CAAC;IACzBtC,WAAW;IACXuC,SAAS;IACTR,OAAO;IACPrC,MAAM;AACNQ,IAAAA,MAAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,MAAM,CAAC,CAACkB,OAAO,CAAC,EAAE,CAACC,OAAO,CAAC,CAAC,GAAGtQ,mBAAmB,CAChD3B,KAAK,CAAC4P,QAAQ,CAACC,OAAO,CAACpD,QAAQ,CAAC,EAChC,CAACrL,WAAW,CAAC,gBAAgB,CAAC,EAAEA,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAC/D,CAAA;EAED,oBACE,KAAA,CAAA,aAAA,CAAC,cAAc,CAAC,QAAQ,EAAA;AAAC,IAAA,KAAK,EAAEwS,OAAAA;GAC7B5B,EAAAA,OAAO,EACPC,OAAO,CACgB,CAAA;AAE9B,EAAC;AACD0B,WAAW,CAAC7K,SAAS,GAAGP,WAAS,CAAA;AACjCoL,WAAW,CAACtK,YAAY,GAAGb,eAAa,CAAA;AACxCmL,WAAW,CAACnS,WAAW,GAAG8G,gBAAc,CAAA;AAEjC,MAAMuL,OAAO,GAAG3L,MAAM,CAAC8H,MAAM,CAAC2D,WAAW,EAAE;AAChDxB,EAAAA,OAAO,EAAEc,cAAc;AACvBb,EAAAA,OAAO,EAAEK,cAAAA;AACX,CAAC;;ACjDM,MAAMM,iBAAiB,GAAG,MAAM;AACrC,EAAA,MAAMhE,OAAO,GAAG/O,KAAK,CAACiL,UAAU,CAACqH,cAAc,CAAC,CAAA;EAEhD,IAAIvD,OAAO,IAAI,IAAI,EAAE;AACnB,IAAA,MAAM,IAAIsD,KAAK,CAAC,mDAAmD,CAAC,CAAA;AACtE,GAAA;AAEA,EAAA,OAAOtD,OAAO,CAAA;AAChB;;ACRA;AACA;AACA;AACO,MAAM+E,YAAY,GAAG;AAC1BtT,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,IAAI,EAAE,MAAM;AACZoT,EAAAA,OAAO,EAAE,SAAA;AACX,EAAU;AAGH,MAAMC,cAAc,GAAG;AAC5B,EAAA,WAAW,EAAE,WAAW;AACxB,EAAA,YAAY,EAAE,YAAY;AAC1B,EAAA,UAAU,EAAE,UAAU;AACtB,EAAA,cAAc,EAAE,cAAc;AAC9B,EAAA,eAAe,EAAE,eAAe;AAChC,EAAA,aAAa,EAAE,aAAA;AACjB;;;;;;;;;;;;ACnBA,mBAAe;AACb,EAAA,OAAO,EAAEnK,IAAI;AACb,EAAA,OAAO,EAAEC,IAAAA;AACX,CAAC;;ACFD;AACA;AACA;AACO,MAAMmK,WAAW,GAAGlM,MAAM,CAAC6E,GAAsB,CAAA;AACxD,EAAA,EAAIjF,WAAY,CAAA;AAChB;AACA;AACA;AACA;AACA;AACA,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;IAAEuM,SAAS;AAAEzK,IAAAA,QAAAA;GAAU,GAAA,IAAA,CAAA;AAAA,EAAA,OAAKtF,GAAI,CAAA;AACrC,sBAAwBsF,EAAAA,QAAQ,KAAK,SAAS,GACtC,oCAAoC,GACnC,CAAA,oBAAA,EAAsBA,QAAS,CAAS,OAAA,CAAA,CAAA;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAAA,EAAgDA,QAAS,CAAA;AACzD;AACA;AACA;AACA;AACA,kBAAA,EAAoByK,SAAS,GAAG,KAAK,GAAG,OAAQ,CAAA;AAChD;AACA;AACA,EAAG,CAAA,CAAA;AAAA,CAAC,CAAA;AACJ,CAAC;;;ACfD,MAAM5L,gBAAc,GAAG,OAAO,CAAA;AAC9B,MAAMC,WAAS,GAAG,eAAe,CAAA;AACjC,MAAMC,eAAkC,GAAG;AACzCgD,EAAAA,OAAO,EAAE,MAAM;AACf2I,EAAAA,WAAW,EAAE,IAAA;AACf,CAAC,CAAA;AAED,MAAMC,UAAU,GAAI5I,OAAqB,IAAK;AAC5C,EAAA,QAAQA,OAAO;IACb,KAAKsI,YAAY,CAACnT,IAAI,CAAA;AACtB,IAAA;AACE,MAAA,oBAAO,oBAAC,IAAI,EAAA;AAAC,QAAA,IAAI,EAAE0T,cAAe;QAAC,KAAK,EAAE/T,YAAY,CAACK,IAAAA;OAAQ,CAAA,CAAA;IACjE,KAAKmT,YAAY,CAACrT,KAAK;AACrB,MAAA,oBAAO,oBAAC,IAAI,EAAA;AAAC,QAAA,IAAI,EAAE6T,cAAe;QAAC,KAAK,EAAEhU,YAAY,CAACG,KAAAA;OAAS,CAAA,CAAA;IAClE,KAAKqT,YAAY,CAACtT,OAAO;AACvB,MAAA,oBAAO,oBAAC,IAAI,EAAA;AAAC,QAAA,IAAI,EAAE+T,cAAe;QAAC,KAAK,EAAEjU,YAAY,CAACE,OAAAA;OAAW,CAAA,CAAA;IACpE,KAAKsT,YAAY,CAACpT,OAAO;AACvB,MAAA,oBAAO,oBAAC,IAAI,EAAA;AAAC,QAAA,IAAI,EAAE8T,QAAS;QAAC,KAAK,EAAElU,YAAY,CAACI,OAAAA;OAAW,CAAA,CAAA;IAC9D,KAAKoT,YAAY,CAACC,OAAO;AACvB,MAAA,oBAAO,oBAAC,OAAO,EAAA;AAAC,QAAA,IAAI,EAAC,OAAA;OAAU,CAAA,CAAA;AAAC,GAAA;AAEtC,CAAC,CAAA;;AAED;AACA;AACA;AACO,MAAMU,KAGZ,gBAAG9L,UAAU,CAAC,CAACpG,KAAK,EAAEY,GAAG,KAAK;EAC7B,MAAM;MACJsJ,QAAQ;MACR3D,SAAS;MACT4L,UAAU;MACVP,WAAW;MACXQ,KAAK;AACLnJ,MAAAA,OAAAA;AAEF,KAAC,GAAGjJ,KAAK;AADJ2G,IAAAA,cAAc,4BACf3G,KAAK,EAAA4G,WAAA,CAAA,CAAA;AAET,EAAA,MAAMgC,eAAe,GAAGC,2BAA2B,CAACC,YAAY,CAAC,CAAA;AAEjE,EAAA,MAAMrC,IAAI,GAAGoL,UAAU,CAAC5I,OAAO,CAAE,CAAA;EAEjC,oBACE,KAAA,CAAA,aAAA,CAAC,WAAW,EAAA,QAAA,CAAA,EAAA,EACNtC,cAAc,EAAA;IAClB,SAAS,EAAEE,UAAU,CAACqL,KAAK,CAAC3L,SAAS,EAAEA,SAAS,CAAE;AAClD,IAAA,GAAG,EAAE3F,GAAiC;AACtC,IAAA,SAAS,EAAEJ,OAAO,CAAC4R,KAAK,CAAE;AAC1B,IAAA,QAAQ,EAAEnJ,OAAAA;AAAQ,GAAA,CAAA,eAElB,oBAAC,OAAO,EAAA;AACN,IAAA,SAAS,EAAG,CAAA,EAAEiJ,KAAK,CAAC3L,SAAU,CAAU,QAAA,CAAA;AACxC,IAAA,cAAc,EAAC,eAAA;AAAe,GAAA,eAE9B,oBAAC,OAAO,EAAA;AAAC,IAAA,cAAc,EAAC,eAAe;AAAC,IAAA,aAAa,EAAC,QAAQ;AAAC,IAAA,GAAG,EAAC,GAAA;AAAG,GAAA,eACpE,oBAAC,OAAO,EAAA;AACN,IAAA,SAAS,EAAG,CAAA,EAAE2L,KAAK,CAAC3L,SAAU,CAAgB,cAAA,CAAA;AAC9C,IAAA,GAAG,EAAC,MAAM;AACV,IAAA,UAAU,EAAC,YAAA;AAAY,GAAA,EAEtBE,IAAI,EACJ2L,KAAK,gBAAG,oBAAC,OAAO,EAAA;AAAC,IAAA,EAAE,EAAC,IAAA;AAAI,GAAA,EAAEA,KAAK,CAAW,GAAG,IAAI,CAC1C,EAETlI,QAAQ,gBACP,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAG,CAAA,EAAEgI,KAAK,CAAC3L,SAAU,CAAA,SAAA,CAAA;GAAa2D,EAAAA,QAAQ,CAAO,GAC7D,IAAI,CACA,EAET0H,WAAW,KAAK,IAAI,gBACnB,KAAA,CAAA,aAAA,CAAC,UAAU,EAAA;AACT,IAAA,YAAA,EAAYhJ,eAAe,CAACG,MAAM,CAAC,OAAO,CAAE;AAC5C,IAAA,SAAS,EAAG,CAAA,EAAEmJ,KAAK,CAAC3L,SAAU,CAAsB,oBAAA,CAAA;AACpD,IAAA,IAAI,EAAEiH,QAAS;AACf,IAAA,OAAO,EAAE2E,UAAAA;GACT,CAAA,GACAtT,WAAW,CAAC,QAAQ,CAAC,CAAC+S,WAAW,CAAC,IACpC/S,WAAW,CAAC,YAAY,CAAC,CAAC+S,WAAW,CAAC,gBACtCnU,KAAK,CAAC0Q,YAAY,CAACyD,WAAW,EAAE;AAC9BpL,IAAAA,KAAK,EAAEyC,OAAO,KAAK,SAAS,GAAG,SAAS,GAAIA,OAAuB;AACnEY,IAAAA,OAAO,EAAE,MAAM;AAAA,MAAA,IAAA,qBAAA,EAAA,kBAAA,CAAA;AACb,MAAA,CAAA,qBAAA,GAAA,CAAA,kBAAA,GAAA+H,WAAW,CAAC5R,KAAK,EAAC6J,OAAO,0DAAzB,qBAA6B,CAAA,IAAA,CAAA,kBAAA,CAAA,CAAA;AAC7BsI,MAAAA,UAAU,KAAVA,IAAAA,IAAAA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,EAAI,CAAA;AAChB,KAAA;AACF,GAAC,CAAC,GACA,IAAI,CACA,CACE,CAAA;AAElB,CAAC,EAAC;AACFD,KAAK,CAAC3L,SAAS,GAAGP,WAAS,CAAA;AAC3BkM,KAAK,CAACpL,YAAY,GAAGb,eAAa,CAAA;AAClCiM,KAAK,CAACjT,WAAW,GAAG8G,gBAAc;;ACrH3B,MAAMsM,aAAa,GAAG7M,MAAM,CAAC6E,GAAI,CAAA;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAA;;AAED;AACA;AACA;AACO,MAAMiI,oBAAoB,GAAG9M,MAAM,CACxC+M,gBAAc,CACa,CAAA;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;ACluBD,MAAMxM,gBAAc,GAAG,gBAAgB,C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"}