@openpawlabs/diy-guides-ui 1.0.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/LICENSE +661 -0
- package/README.md +126 -0
- package/dist/components/Callout/Callout.d.ts +21 -0
- package/dist/components/Callout/Callout.d.ts.map +1 -0
- package/dist/components/Callout/Callout.stories.d.ts +31 -0
- package/dist/components/Callout/Callout.stories.d.ts.map +1 -0
- package/dist/components/Callout/Callout.test.d.ts +2 -0
- package/dist/components/Callout/Callout.test.d.ts.map +1 -0
- package/dist/components/Callout/index.d.ts +3 -0
- package/dist/components/Callout/index.d.ts.map +1 -0
- package/dist/components/DifficultyBadge/DifficultyBadge.d.ts +20 -0
- package/dist/components/DifficultyBadge/DifficultyBadge.d.ts.map +1 -0
- package/dist/components/DifficultyBadge/DifficultyBadge.stories.d.ts +37 -0
- package/dist/components/DifficultyBadge/DifficultyBadge.stories.d.ts.map +1 -0
- package/dist/components/DifficultyBadge/DifficultyBadge.test.d.ts +2 -0
- package/dist/components/DifficultyBadge/DifficultyBadge.test.d.ts.map +1 -0
- package/dist/components/DifficultyBadge/index.d.ts +3 -0
- package/dist/components/DifficultyBadge/index.d.ts.map +1 -0
- package/dist/components/GuideLayout/GuideLayout.d.ts +49 -0
- package/dist/components/GuideLayout/GuideLayout.d.ts.map +1 -0
- package/dist/components/GuideLayout/GuideLayout.stories.d.ts +33 -0
- package/dist/components/GuideLayout/GuideLayout.stories.d.ts.map +1 -0
- package/dist/components/GuideLayout/GuideLayout.test.d.ts +2 -0
- package/dist/components/GuideLayout/GuideLayout.test.d.ts.map +1 -0
- package/dist/components/GuideLayout/index.d.ts +3 -0
- package/dist/components/GuideLayout/index.d.ts.map +1 -0
- package/dist/components/GuideStep/GuideStep.d.ts +62 -0
- package/dist/components/GuideStep/GuideStep.d.ts.map +1 -0
- package/dist/components/GuideStep/GuideStep.stories.d.ts +36 -0
- package/dist/components/GuideStep/GuideStep.stories.d.ts.map +1 -0
- package/dist/components/GuideStep/GuideStep.test.d.ts +2 -0
- package/dist/components/GuideStep/GuideStep.test.d.ts.map +1 -0
- package/dist/components/GuideStep/index.d.ts +3 -0
- package/dist/components/GuideStep/index.d.ts.map +1 -0
- package/dist/components/GuideStepList/GuideStepList.d.ts +21 -0
- package/dist/components/GuideStepList/GuideStepList.d.ts.map +1 -0
- package/dist/components/GuideStepList/GuideStepList.stories.d.ts +23 -0
- package/dist/components/GuideStepList/GuideStepList.stories.d.ts.map +1 -0
- package/dist/components/GuideStepList/GuideStepList.test.d.ts +2 -0
- package/dist/components/GuideStepList/GuideStepList.test.d.ts.map +1 -0
- package/dist/components/GuideStepList/index.d.ts +3 -0
- package/dist/components/GuideStepList/index.d.ts.map +1 -0
- package/dist/components/MediaFigure/MediaFigure.d.ts +70 -0
- package/dist/components/MediaFigure/MediaFigure.d.ts.map +1 -0
- package/dist/components/MediaFigure/MediaFigure.stories.d.ts +33 -0
- package/dist/components/MediaFigure/MediaFigure.stories.d.ts.map +1 -0
- package/dist/components/MediaFigure/MediaFigure.test.d.ts +2 -0
- package/dist/components/MediaFigure/MediaFigure.test.d.ts.map +1 -0
- package/dist/components/MediaFigure/MediaFigureMedia.d.ts +8 -0
- package/dist/components/MediaFigure/MediaFigureMedia.d.ts.map +1 -0
- package/dist/components/MediaFigure/MediaFigureModel.d.ts +5 -0
- package/dist/components/MediaFigure/MediaFigureModel.d.ts.map +1 -0
- package/dist/components/MediaFigure/index.d.ts +3 -0
- package/dist/components/MediaFigure/index.d.ts.map +1 -0
- package/dist/components/ToolList/ToolList.d.ts +34 -0
- package/dist/components/ToolList/ToolList.d.ts.map +1 -0
- package/dist/components/ToolList/ToolList.stories.d.ts +24 -0
- package/dist/components/ToolList/ToolList.stories.d.ts.map +1 -0
- package/dist/components/ToolList/ToolList.test.d.ts +2 -0
- package/dist/components/ToolList/ToolList.test.d.ts.map +1 -0
- package/dist/components/ToolList/index.d.ts +3 -0
- package/dist/components/ToolList/index.d.ts.map +1 -0
- package/dist/diy-guides-ui.cjs +24 -0
- package/dist/diy-guides-ui.cjs.map +1 -0
- package/dist/diy-guides-ui.js +7749 -0
- package/dist/diy-guides-ui.js.map +1 -0
- package/dist/hooks/useControlledState.d.ts +7 -0
- package/dist/hooks/useControlledState.d.ts.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/stories/Welcome.stories.d.ts +21 -0
- package/dist/stories/Welcome.stories.d.ts.map +1 -0
- package/dist/style.css +1 -0
- package/dist/test/setup.d.ts +2 -0
- package/dist/test/setup.d.ts.map +1 -0
- package/dist/test/smoke.test.d.ts +2 -0
- package/dist/test/smoke.test.d.ts.map +1 -0
- package/dist/types/callout.d.ts +13 -0
- package/dist/types/callout.d.ts.map +1 -0
- package/dist/types/callout.test.d.ts +2 -0
- package/dist/types/callout.test.d.ts.map +1 -0
- package/dist/types/colors.d.ts +20 -0
- package/dist/types/colors.d.ts.map +1 -0
- package/dist/types/colors.test.d.ts +2 -0
- package/dist/types/colors.test.d.ts.map +1 -0
- package/dist/utils/mediaCrop.d.ts +19 -0
- package/dist/utils/mediaCrop.d.ts.map +1 -0
- package/dist/utils/mediaCrop.test.d.ts +2 -0
- package/dist/utils/mediaCrop.test.d.ts.map +1 -0
- package/package.json +81 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diy-guides-ui.cjs","sources":["../src/types/colors.ts","../src/types/callout.ts","../node_modules/react-aria/dist/private/utils/platform.mjs","../node_modules/react-aria/dist/private/utils/focusWithoutScrolling.mjs","../node_modules/react-aria/dist/private/utils/openLink.mjs","../node_modules/react-aria/dist/private/utils/useLayoutEffect.mjs","../node_modules/react-aria/dist/private/ssr/SSRProvider.mjs","../node_modules/react-aria/dist/private/utils/useId.mjs","../node_modules/react-aria/dist/private/utils/chain.mjs","../node_modules/react-aria/dist/private/utils/domHelpers.mjs","../node_modules/react-aria/node_modules/react-stately/dist/private/flags/flags.mjs","../node_modules/react-aria/dist/private/utils/shadowdom/DOMFunctions.mjs","../node_modules/react-aria/dist/private/utils/mergeRefs.mjs","../node_modules/clsx/dist/clsx.mjs","../node_modules/react-aria/dist/private/utils/mergeProps.mjs","../node_modules/react-aria/dist/private/utils/filterDOMProps.mjs","../node_modules/react-aria/dist/private/utils/runAfterTransition.mjs","../node_modules/react-aria/dist/private/utils/useGlobalListeners.mjs","../node_modules/react-aria/dist/private/utils/useLabels.mjs","../node_modules/react-aria/dist/private/utils/useObjectRef.mjs","../node_modules/react-aria/dist/private/utils/useEffectEvent.mjs","../node_modules/react-aria/dist/private/utils/useSyncRef.mjs","../node_modules/react-aria/dist/private/utils/isVirtualEvent.mjs","../node_modules/react-aria/dist/private/utils/useFormReset.mjs","../node_modules/react-aria/dist/private/utils/isElementVisible.mjs","../node_modules/react-aria/dist/private/utils/isFocusable.mjs","../node_modules/react-aria/dist/private/utils/getNonce.mjs","../node_modules/@heroui/react/dist/utils/dom.js","../node_modules/tailwind-variants/dist/chunk-LQJYWU4O.js","../node_modules/tailwind-variants/dist/chunk-RZF76H2U.js","../node_modules/tailwind-merge/dist/bundle-mjs.mjs","../node_modules/tailwind-variants/dist/index.js","../node_modules/@heroui/styles/dist/components/alert/alert.styles.js","../node_modules/@heroui/styles/dist/components/button/button.styles.js","../node_modules/@heroui/styles/dist/components/card/card.styles.js","../node_modules/@heroui/styles/dist/components/checkbox/checkbox.styles.js","../node_modules/@heroui/styles/dist/components/chip/chip.styles.js","../node_modules/@heroui/styles/dist/components/link/link.styles.js","../node_modules/@heroui/styles/dist/components/progress-bar/progress-bar.styles.js","../node_modules/@heroui/styles/dist/components/separator/separator.styles.js","../node_modules/@heroui/react/node_modules/react-aria-components/dist/private/utils.mjs","../node_modules/react-aria/dist/private/collections/Hidden.mjs","../node_modules/@heroui/react/node_modules/react-aria-components/dist/private/Label.mjs","../node_modules/react-aria/dist/private/label/useLabel.mjs","../node_modules/react-aria/dist/private/i18n/utils.mjs","../node_modules/react-aria/dist/private/i18n/useDefaultLocale.mjs","../node_modules/react-aria/dist/private/i18n/I18nProvider.mjs","../node_modules/@internationalized/number/dist/private/NumberFormatter.mjs","../node_modules/react-aria/dist/private/i18n/useNumberFormatter.mjs","../node_modules/react-aria/node_modules/react-stately/dist/private/utils/number.mjs","../node_modules/react-aria/dist/private/progress/useProgressBar.mjs","../node_modules/@heroui/react/node_modules/react-stately/dist/private/utils/number.mjs","../node_modules/@heroui/react/node_modules/react-aria-components/dist/private/ProgressBar.mjs","../node_modules/react-aria/dist/private/live-announcer/LiveAnnouncer.mjs","../node_modules/react-aria/dist/private/interactions/utils.mjs","../node_modules/react-aria/dist/private/interactions/useFocusVisible.mjs","../node_modules/react-aria/dist/private/interactions/focusSafely.mjs","../node_modules/react-aria/dist/private/interactions/useFocus.mjs","../node_modules/react-aria/dist/private/interactions/createEventHandler.mjs","../node_modules/react-aria/dist/private/interactions/useKeyboard.mjs","../node_modules/react-aria/dist/private/interactions/useFocusable.mjs","../node_modules/react-aria/dist/private/interactions/textSelection.mjs","../node_modules/react-aria/dist/private/interactions/context.mjs","../node_modules/react-aria/dist/private/interactions/usePress.mjs","../node_modules/react-aria/dist/private/button/useButton.mjs","../node_modules/react-aria/dist/private/interactions/useFocusWithin.mjs","../node_modules/react-aria/dist/private/focus/useFocusRing.mjs","../node_modules/react-aria/dist/private/interactions/useHover.mjs","../node_modules/@heroui/react/node_modules/react-aria-components/dist/private/Button.mjs","../node_modules/@heroui/react/node_modules/react-stately/dist/private/utils/useControlledState.mjs","../node_modules/@heroui/react/dist/utils/assertion.js","../node_modules/@heroui/react/dist/utils/compose.js","../node_modules/@heroui/react/dist/components/icons.js","../node_modules/@heroui/react/dist/components/surface/surface.js","../node_modules/react-aria/dist/private/visually-hidden/VisuallyHidden.mjs","../node_modules/react-aria/dist/private/collections/BaseCollection.mjs","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../node_modules/use-sync-external-store/shim/index.js","../node_modules/react-aria/dist/private/collections/CollectionBuilder.mjs","../node_modules/react-aria/dist/private/separator/useSeparator.mjs","../node_modules/@heroui/react/node_modules/react-aria-components/dist/private/Separator.mjs","../node_modules/@heroui/react/node_modules/react-aria-components/dist/private/Text.mjs","../node_modules/@heroui/react/node_modules/react-aria-components/dist/private/FieldError.mjs","../node_modules/@heroui/react/node_modules/react-aria-components/dist/private/Form.mjs","../node_modules/react-aria/dist/private/form/useFormValidation.mjs","../node_modules/react-aria/dist/private/link/useLink.mjs","../node_modules/@heroui/react/node_modules/react-aria-components/dist/private/Link.mjs","../node_modules/@heroui/react/dist/components/link/link.js","../node_modules/@heroui/react/dist/components/link/index.js","../node_modules/@heroui/react/node_modules/react-stately/dist/private/toggle/useToggleState.mjs","../node_modules/@heroui/react/dist/components/button-group/button-group.js","../node_modules/@heroui/react/dist/components/button/button.js","../node_modules/@heroui/react/dist/components/button/index.js","../node_modules/@heroui/react/dist/components/card/card.js","../node_modules/@heroui/react/dist/components/card/index.js","../node_modules/react-aria/dist/private/checkbox/utils.mjs","../node_modules/react-aria/dist/private/utils/useSlot.mjs","../node_modules/react-aria/node_modules/react-stately/dist/private/form/useFormValidationState.mjs","../node_modules/react-aria/dist/private/toggle/useToggle.mjs","../node_modules/react-aria/dist/private/checkbox/useCheckbox.mjs","../node_modules/react-aria/node_modules/react-stately/dist/private/utils/useControlledState.mjs","../node_modules/react-aria/node_modules/react-stately/dist/private/toggle/useToggleState.mjs","../node_modules/react-aria/dist/private/checkbox/useCheckboxGroupItem.mjs","../node_modules/@heroui/react/node_modules/react-aria-components/dist/private/Checkbox.mjs","../node_modules/@heroui/react/dist/components/checkbox-group/checkbox-group.js","../node_modules/@heroui/react/dist/components/checkbox/checkbox.js","../node_modules/@heroui/react/dist/components/checkbox/index.js","../node_modules/@heroui/react/dist/components/chip/chip.js","../node_modules/@heroui/react/dist/components/chip/index.js","../node_modules/@heroui/react/dist/components/progress-bar/progress-bar.js","../node_modules/@heroui/react/dist/components/progress-bar/index.js","../node_modules/@heroui/react/dist/components/separator/separator.js","../node_modules/@heroui/react/dist/components/separator/index.js","../node_modules/@heroui/react/dist/components/alert/alert.js","../node_modules/@heroui/react/dist/components/alert/index.js","../src/components/DifficultyBadge/DifficultyBadge.tsx","../src/components/Callout/Callout.tsx","../src/utils/mediaCrop.ts","../src/components/MediaFigure/MediaFigureModel.tsx","../src/components/MediaFigure/MediaFigureMedia.tsx","../src/components/MediaFigure/MediaFigure.tsx","../src/components/ToolList/ToolList.tsx","../src/hooks/useControlledState.ts","../src/components/GuideStep/GuideStep.tsx","../src/components/GuideStepList/GuideStepList.tsx","../src/components/GuideLayout/GuideLayout.tsx"],"sourcesContent":["/**\r\n * Fixed palette for visually linking step bullet dots to image annotation markers.\r\n * Each name maps to a hex value applied directly via inline styles.\r\n */\r\nexport const COLORS = {\r\n GREY: \"#7A8090\",\r\n RED: \"#E7320D\",\r\n ORANGE: \"#FF850A\",\r\n YELLOW: \"#F5E429\",\r\n GREEN: \"#14CC76\",\r\n LIGHT_BLUE: \"#20B3E9\",\r\n BLUE: \"#1738DE\",\r\n MAGENTA: \"#D945B1\",\r\n} as const;\r\n\r\nexport type GuideColor = keyof typeof COLORS;\r\n\r\n/** Convert a `#rrggbb` hex string to `rgba(r, g, b, alpha)`. */\r\nexport function hexToRgba(hex: string, alpha: number): string {\r\n const normalized = hex.replace(\"#\", \"\");\r\n const r = parseInt(normalized.slice(0, 2), 16);\r\n const g = parseInt(normalized.slice(2, 4), 16);\r\n const b = parseInt(normalized.slice(4, 6), 16);\r\n return `rgba(${r}, ${g}, ${b}, ${alpha})`;\r\n}\r\n\r\n/** Pick a readable foreground for a solid-color marker pin. */\r\nexport function markerTextColor(hex: string): string {\r\n const normalized = hex.replace(\"#\", \"\");\r\n const r = parseInt(normalized.slice(0, 2), 16);\r\n const g = parseInt(normalized.slice(2, 4), 16);\r\n const b = parseInt(normalized.slice(4, 6), 16);\r\n const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;\r\n return luminance > 0.55 ? \"#111111\" : \"#ffffff\";\r\n}\r\n","import { COLORS, type GuideColor } from \"./colors\";\r\n\r\n/**\r\n * Callout types express safety and informational tone for {@link Callout}.\r\n * Each type maps to a {@link GuideColor} accent from the shared palette.\r\n */\r\nexport type CalloutType = \"note\" | \"info\" | \"tip\" | \"caution\" | \"danger\";\r\n\r\n/** Callout type → guide palette accent (drives border, background tint, and icon). */\r\nexport const calloutTypeColor: Record<CalloutType, GuideColor> = {\r\n note: \"GREY\",\r\n info: \"LIGHT_BLUE\",\r\n tip: \"GREEN\",\r\n caution: \"ORANGE\",\r\n danger: \"RED\",\r\n};\r\n\r\n/** Resolved hex accent for a callout type. */\r\nexport function calloutTypeHex(type: CalloutType): string {\r\n return COLORS[calloutTypeColor[type]];\r\n}\r\n\r\n/** Callout type → default human-readable title. */\r\nexport const calloutTypeLabel: Record<CalloutType, string> = {\r\n note: \"Note\",\r\n info: \"Info\",\r\n tip: \"Tip\",\r\n caution: \"Caution\",\r\n danger: \"Danger\",\r\n};\r\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 */ function $2add3ce32c6007eb$var$testUserAgent(re) {\n if (typeof window === 'undefined' || window.navigator == null) return false;\n let brands = window.navigator['userAgentData']?.brands;\n return Array.isArray(brands) && brands.some((brand)=>re.test(brand.brand)) || re.test(window.navigator.userAgent);\n}\nfunction $2add3ce32c6007eb$var$testPlatform(re) {\n return typeof window !== 'undefined' && window.navigator != null ? re.test(window.navigator['userAgentData']?.platform || window.navigator.platform) : false;\n}\nfunction $2add3ce32c6007eb$var$cached(fn) {\n if (process.env.NODE_ENV === 'test') return fn;\n let res = null;\n return ()=>{\n if (res == null) res = fn();\n return res;\n };\n}\nconst $2add3ce32c6007eb$export$9ac100e40613ea10 = $2add3ce32c6007eb$var$cached(function() {\n return $2add3ce32c6007eb$var$testPlatform(/^Mac/i);\n});\nconst $2add3ce32c6007eb$export$186c6964ca17d99 = $2add3ce32c6007eb$var$cached(function() {\n return $2add3ce32c6007eb$var$testPlatform(/^iPhone/i);\n});\nconst $2add3ce32c6007eb$export$7bef049ce92e4224 = $2add3ce32c6007eb$var$cached(function() {\n return $2add3ce32c6007eb$var$testPlatform(/^iPad/i) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.\n $2add3ce32c6007eb$export$9ac100e40613ea10() && navigator.maxTouchPoints > 1;\n});\nconst $2add3ce32c6007eb$export$fedb369cb70207f1 = $2add3ce32c6007eb$var$cached(function() {\n return $2add3ce32c6007eb$export$186c6964ca17d99() || $2add3ce32c6007eb$export$7bef049ce92e4224();\n});\nconst $2add3ce32c6007eb$export$e1865c3bedcd822b = $2add3ce32c6007eb$var$cached(function() {\n return $2add3ce32c6007eb$export$9ac100e40613ea10() || $2add3ce32c6007eb$export$fedb369cb70207f1();\n});\nconst $2add3ce32c6007eb$export$78551043582a6a98 = $2add3ce32c6007eb$var$cached(function() {\n return $2add3ce32c6007eb$var$testUserAgent(/AppleWebKit/i) && !$2add3ce32c6007eb$export$6446a186d09e379e();\n});\nconst $2add3ce32c6007eb$export$6446a186d09e379e = $2add3ce32c6007eb$var$cached(function() {\n return $2add3ce32c6007eb$var$testUserAgent(/Chrome/i);\n});\nconst $2add3ce32c6007eb$export$a11b0059900ceec8 = $2add3ce32c6007eb$var$cached(function() {\n return $2add3ce32c6007eb$var$testUserAgent(/Android/i);\n});\nconst $2add3ce32c6007eb$export$b7d78993b74f766d = $2add3ce32c6007eb$var$cached(function() {\n return $2add3ce32c6007eb$var$testUserAgent(/Firefox/i);\n});\n\n\nexport {$2add3ce32c6007eb$export$9ac100e40613ea10 as isMac, $2add3ce32c6007eb$export$186c6964ca17d99 as isIPhone, $2add3ce32c6007eb$export$7bef049ce92e4224 as isIPad, $2add3ce32c6007eb$export$fedb369cb70207f1 as isIOS, $2add3ce32c6007eb$export$e1865c3bedcd822b as isAppleDevice, $2add3ce32c6007eb$export$78551043582a6a98 as isWebKit, $2add3ce32c6007eb$export$6446a186d09e379e as isChrome, $2add3ce32c6007eb$export$a11b0059900ceec8 as isAndroid, $2add3ce32c6007eb$export$b7d78993b74f766d as isFirefox};\n//# sourceMappingURL=platform.mjs.map\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 */ function $1969ac565cfec8d0$export$de79e2c695e052f3(element) {\n if ($1969ac565cfec8d0$var$supportsPreventScroll()) element.focus({\n preventScroll: true\n });\n else {\n let scrollableElements = $1969ac565cfec8d0$var$getScrollableElements(element);\n element.focus();\n $1969ac565cfec8d0$var$restoreScrollPosition(scrollableElements);\n }\n}\nlet $1969ac565cfec8d0$var$supportsPreventScrollCached = null;\nfunction $1969ac565cfec8d0$var$supportsPreventScroll() {\n if ($1969ac565cfec8d0$var$supportsPreventScrollCached == null) {\n $1969ac565cfec8d0$var$supportsPreventScrollCached = false;\n try {\n let focusElem = document.createElement('div');\n focusElem.focus({\n get preventScroll () {\n $1969ac565cfec8d0$var$supportsPreventScrollCached = true;\n return true;\n }\n });\n } catch {\n // Ignore\n }\n }\n return $1969ac565cfec8d0$var$supportsPreventScrollCached;\n}\nfunction $1969ac565cfec8d0$var$getScrollableElements(element) {\n let parent = element.parentNode;\n let scrollableElements = [];\n let rootScrollingElement = document.scrollingElement || document.documentElement;\n while(parent instanceof HTMLElement && parent !== rootScrollingElement){\n if (parent.offsetHeight < parent.scrollHeight || parent.offsetWidth < parent.scrollWidth) scrollableElements.push({\n element: parent,\n scrollTop: parent.scrollTop,\n scrollLeft: parent.scrollLeft\n });\n parent = parent.parentNode;\n }\n if (rootScrollingElement instanceof HTMLElement) scrollableElements.push({\n element: rootScrollingElement,\n scrollTop: rootScrollingElement.scrollTop,\n scrollLeft: rootScrollingElement.scrollLeft\n });\n return scrollableElements;\n}\nfunction $1969ac565cfec8d0$var$restoreScrollPosition(scrollableElements) {\n for (let { element: element, scrollTop: scrollTop, scrollLeft: scrollLeft } of scrollableElements){\n element.scrollTop = scrollTop;\n element.scrollLeft = scrollLeft;\n }\n}\n\n\nexport {$1969ac565cfec8d0$export$de79e2c695e052f3 as focusWithoutScrolling};\n//# sourceMappingURL=focusWithoutScrolling.mjs.map\n","import {focusWithoutScrolling as $1969ac565cfec8d0$export$de79e2c695e052f3} from \"./focusWithoutScrolling.mjs\";\nimport {isFirefox as $2add3ce32c6007eb$export$b7d78993b74f766d, isIPad as $2add3ce32c6007eb$export$7bef049ce92e4224, isMac as $2add3ce32c6007eb$export$9ac100e40613ea10, isWebKit as $2add3ce32c6007eb$export$78551043582a6a98} from \"./platform.mjs\";\nimport $epzQQ$react, {createContext as $epzQQ$createContext, useMemo as $epzQQ$useMemo, useContext as $epzQQ$useContext} from \"react\";\n\n/*\n * Copyright 2023 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 $caaf0dd3060ed57c$var$RouterContext = /*#__PURE__*/ (0, $epzQQ$createContext)({\n isNative: true,\n open: $caaf0dd3060ed57c$var$openSyntheticLink,\n useHref: (href)=>href\n});\nfunction $caaf0dd3060ed57c$export$323e4fc2fa4753fb(props) {\n let { children: children, navigate: navigate, useHref: useHref } = props;\n let ctx = (0, $epzQQ$useMemo)(()=>({\n isNative: false,\n open: (target, modifiers, href, routerOptions)=>{\n $caaf0dd3060ed57c$var$getSyntheticLink(target, (link)=>{\n if ($caaf0dd3060ed57c$export$efa8c9099e530235(link, modifiers)) navigate(href, routerOptions);\n else $caaf0dd3060ed57c$export$95185d699e05d4d7(link, modifiers);\n });\n },\n useHref: useHref || ((href)=>href)\n }), [\n navigate,\n useHref\n ]);\n return /*#__PURE__*/ (0, $epzQQ$react).createElement($caaf0dd3060ed57c$var$RouterContext.Provider, {\n value: ctx\n }, children);\n}\nfunction $caaf0dd3060ed57c$export$9a302a45f65d0572() {\n return (0, $epzQQ$useContext)($caaf0dd3060ed57c$var$RouterContext);\n}\nfunction $caaf0dd3060ed57c$export$efa8c9099e530235(link, modifiers) {\n // Use getAttribute here instead of link.target. Firefox will default link.target to \"_parent\" when inside an iframe.\n let target = link.getAttribute('target');\n return (!target || target === '_self') && link.origin === location.origin && !link.hasAttribute('download') && !modifiers.metaKey && // open in new tab (mac)\n !modifiers.ctrlKey && // open in new tab (windows)\n !modifiers.altKey && // download\n !modifiers.shiftKey;\n}\nfunction $caaf0dd3060ed57c$export$95185d699e05d4d7(target, modifiers, setOpening = true) {\n let { metaKey: metaKey, ctrlKey: ctrlKey, altKey: altKey, shiftKey: shiftKey } = modifiers;\n // Firefox does not recognize keyboard events as a user action by default, and the popup blocker\n // will prevent links with target=\"_blank\" from opening. However, it does allow the event if the\n // Command/Control key is held, which opens the link in a background tab. This seems like the best we can do.\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=257870 and https://bugzilla.mozilla.org/show_bug.cgi?id=746640.\n if ((0, $2add3ce32c6007eb$export$b7d78993b74f766d)() && window.event?.type?.startsWith('key') && target.target === '_blank') {\n if ((0, $2add3ce32c6007eb$export$9ac100e40613ea10)()) metaKey = true;\n else ctrlKey = true;\n }\n // WebKit does not support firing click events with modifier keys, but does support keyboard events.\n // https://github.com/WebKit/WebKit/blob/c03d0ac6e6db178f90923a0a63080b5ca210d25f/Source/WebCore/html/HTMLAnchorElement.cpp#L184\n let event = (0, $2add3ce32c6007eb$export$78551043582a6a98)() && (0, $2add3ce32c6007eb$export$9ac100e40613ea10)() && !(0, $2add3ce32c6007eb$export$7bef049ce92e4224)() && process.env.NODE_ENV !== 'test' ? new KeyboardEvent('keydown', {\n keyIdentifier: 'Enter',\n metaKey: metaKey,\n ctrlKey: ctrlKey,\n altKey: altKey,\n shiftKey: shiftKey\n }) : new MouseEvent('click', {\n metaKey: metaKey,\n ctrlKey: ctrlKey,\n altKey: altKey,\n shiftKey: shiftKey,\n detail: 1,\n bubbles: true,\n cancelable: true\n });\n $caaf0dd3060ed57c$export$95185d699e05d4d7.isOpening = setOpening;\n (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(target);\n target.dispatchEvent(event);\n $caaf0dd3060ed57c$export$95185d699e05d4d7.isOpening = false;\n}\n// https://github.com/parcel-bundler/parcel/issues/8724\n$caaf0dd3060ed57c$export$95185d699e05d4d7.isOpening = false;\nfunction $caaf0dd3060ed57c$var$getSyntheticLink(target, open) {\n if (target instanceof HTMLAnchorElement) open(target);\n else if (target.hasAttribute('data-href')) {\n let link = document.createElement('a');\n link.href = target.getAttribute('data-href');\n if (target.hasAttribute('data-target')) link.target = target.getAttribute('data-target');\n if (target.hasAttribute('data-rel')) link.rel = target.getAttribute('data-rel');\n if (target.hasAttribute('data-download')) link.download = target.getAttribute('data-download');\n if (target.hasAttribute('data-ping')) link.ping = target.getAttribute('data-ping');\n if (target.hasAttribute('data-referrer-policy')) link.referrerPolicy = target.getAttribute('data-referrer-policy');\n target.appendChild(link);\n open(link);\n target.removeChild(link);\n }\n}\nfunction $caaf0dd3060ed57c$var$openSyntheticLink(target, modifiers) {\n $caaf0dd3060ed57c$var$getSyntheticLink(target, (link)=>$caaf0dd3060ed57c$export$95185d699e05d4d7(link, modifiers));\n}\nfunction $caaf0dd3060ed57c$export$bdc77b0c0a3a85d6(props) {\n let router = $caaf0dd3060ed57c$export$9a302a45f65d0572();\n const href = router.useHref(props.href ?? '');\n return {\n 'data-href': props.href ? href : undefined,\n 'data-target': props.target,\n 'data-rel': props.rel,\n 'data-download': props.download,\n 'data-ping': props.ping,\n 'data-referrer-policy': props.referrerPolicy\n };\n}\nfunction $caaf0dd3060ed57c$export$51437d503373d223(props) {\n return {\n 'data-href': props.href,\n 'data-target': props.target,\n 'data-rel': props.rel,\n 'data-download': props.download,\n 'data-ping': props.ping,\n 'data-referrer-policy': props.referrerPolicy\n };\n}\nfunction $caaf0dd3060ed57c$export$7e924b3091a3bd18(props) {\n let router = $caaf0dd3060ed57c$export$9a302a45f65d0572();\n const href = router.useHref(props?.href ?? '');\n let linkProps = {};\n if (props) {\n for (let key of [\n 'href',\n 'target',\n 'rel',\n 'download',\n 'ping',\n 'referrerPolicy'\n ])if (key in props) linkProps[key] = key === 'href' ? href : props[key];\n }\n return linkProps;\n}\nfunction $caaf0dd3060ed57c$export$13aea1a3cb5e3f1f(e, router, href, routerOptions) {\n // If a custom router is provided, prevent default and forward if this link should client navigate.\n if (!router.isNative && e.currentTarget instanceof HTMLAnchorElement && e.currentTarget.href && // If props are applied to a router Link component, it may have already prevented default.\n !e.isDefaultPrevented() && $caaf0dd3060ed57c$export$efa8c9099e530235(e.currentTarget, e) && href) {\n e.preventDefault();\n router.open(e.currentTarget, e, href, routerOptions);\n }\n}\n\n\nexport {$caaf0dd3060ed57c$export$323e4fc2fa4753fb as RouterProvider, $caaf0dd3060ed57c$export$efa8c9099e530235 as shouldClientNavigate, $caaf0dd3060ed57c$export$95185d699e05d4d7 as openLink, $caaf0dd3060ed57c$export$9a302a45f65d0572 as useRouter, $caaf0dd3060ed57c$export$bdc77b0c0a3a85d6 as useSyntheticLinkProps, $caaf0dd3060ed57c$export$51437d503373d223 as getSyntheticLinkProps, $caaf0dd3060ed57c$export$7e924b3091a3bd18 as useLinkProps, $caaf0dd3060ed57c$export$13aea1a3cb5e3f1f as handleLinkClick};\n//# sourceMappingURL=openLink.mjs.map\n","import $3ARPR$react 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 */ \nconst $c4867b2f328c2698$export$e5c5a5f917a5871c = typeof document !== 'undefined' ? (0, $3ARPR$react).useLayoutEffect : ()=>{};\n\n\nexport {$c4867b2f328c2698$export$e5c5a5f917a5871c as useLayoutEffect};\n//# sourceMappingURL=useLayoutEffect.mjs.map\n","import $bl59K$react, {useContext as $bl59K$useContext, useState as $bl59K$useState, useMemo as $bl59K$useMemo, useLayoutEffect as $bl59K$useLayoutEffect, useRef as $bl59K$useRef} 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 */ // 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 rsp-rules/use-layout-effect-rule\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 $c7eafbbe1ea5834e$var$defaultContext = {\n prefix: String(Math.round(Math.random() * 10000000000)),\n current: 0\n};\nconst $c7eafbbe1ea5834e$var$SSRContext = /*#__PURE__*/ (0, $bl59K$react).createContext($c7eafbbe1ea5834e$var$defaultContext);\nconst $c7eafbbe1ea5834e$var$IsSSRContext = /*#__PURE__*/ (0, $bl59K$react).createContext(false);\n// This is only used in React < 18.\nfunction $c7eafbbe1ea5834e$var$LegacySSRProvider(props) {\n let cur = (0, $bl59K$useContext)($c7eafbbe1ea5834e$var$SSRContext);\n let counter = $c7eafbbe1ea5834e$var$useCounter(cur === $c7eafbbe1ea5834e$var$defaultContext);\n let [isSSR, setIsSSR] = (0, $bl59K$useState)(true);\n let value = (0, $bl59K$useMemo)(()=>({\n // If this is the first SSRProvider, start with an empty string prefix, otherwise\n // append and increment the counter.\n prefix: cur === $c7eafbbe1ea5834e$var$defaultContext ? '' : `${cur.prefix}-${counter}`,\n current: 0\n }), [\n cur,\n counter\n ]);\n // If on the client, and the component was initially server rendered,\n // then schedule a layout effect to update the component after hydration.\n if (typeof document !== 'undefined') // 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, $bl59K$useLayoutEffect)(()=>{\n setIsSSR(false);\n }, []);\n return /*#__PURE__*/ (0, $bl59K$react).createElement($c7eafbbe1ea5834e$var$SSRContext.Provider, {\n value: value\n }, /*#__PURE__*/ (0, $bl59K$react).createElement($c7eafbbe1ea5834e$var$IsSSRContext.Provider, {\n value: isSSR\n }, props.children));\n}\nlet $c7eafbbe1ea5834e$var$warnedAboutSSRProvider = false;\nfunction $c7eafbbe1ea5834e$export$9f8ac96af4b1b2ae(props) {\n if (typeof (0, $bl59K$react)['useId'] === 'function') {\n if (process.env.NODE_ENV !== 'test' && process.env.NODE_ENV !== 'production' && !$c7eafbbe1ea5834e$var$warnedAboutSSRProvider) {\n console.warn('In React 18, SSRProvider is not necessary and is a noop. You can remove it from your app.');\n $c7eafbbe1ea5834e$var$warnedAboutSSRProvider = true;\n }\n return /*#__PURE__*/ (0, $bl59K$react).createElement((0, $bl59K$react).Fragment, null, props.children);\n }\n return /*#__PURE__*/ (0, $bl59K$react).createElement($c7eafbbe1ea5834e$var$LegacySSRProvider, props);\n}\nlet $c7eafbbe1ea5834e$var$canUseDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);\nlet $c7eafbbe1ea5834e$var$componentIds = new WeakMap();\nfunction $c7eafbbe1ea5834e$var$useCounter(isDisabled = false) {\n let ctx = (0, $bl59K$useContext)($c7eafbbe1ea5834e$var$SSRContext);\n let ref = (0, $bl59K$useRef)(null);\n // eslint-disable-next-line rsp-rules/pure-render\n if (ref.current === null && !isDisabled) {\n // In strict mode, React renders components twice, and the ref will be reset to null on the second render.\n // This means our id counter will be incremented twice instead of once. This is a problem because on the\n // server, components are only rendered once and so ids generated on the server won't match the client.\n // In React 18, useId was introduced to solve this, but it is not available in older versions. So to solve this\n // we need to use some React internals to access the underlying Fiber instance, which is stable between renders.\n // This is exposed as ReactCurrentOwner in development, which is all we need since StrictMode only runs in development.\n // To ensure that we only increment the global counter once, we store the starting id for this component in\n // a weak map associated with the Fiber. On the second render, we reset the global counter to this value.\n // Since React runs the second render immediately after the first, this is safe.\n let currentOwner = // @ts-ignore\n (0, $bl59K$react).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED?.ReactCurrentOwner?.current;\n if (currentOwner) {\n let prevComponentValue = $c7eafbbe1ea5834e$var$componentIds.get(currentOwner);\n if (prevComponentValue == null) // On the first render, and first call to useId, store the id and state in our weak map.\n $c7eafbbe1ea5834e$var$componentIds.set(currentOwner, {\n id: ctx.current,\n state: currentOwner.memoizedState\n });\n else if (currentOwner.memoizedState !== prevComponentValue.state) {\n // On the second render, the memoizedState gets reset by React.\n // Reset the counter, and remove from the weak map so we don't\n // do this for subsequent useId calls.\n ctx.current = prevComponentValue.id;\n $c7eafbbe1ea5834e$var$componentIds.delete(currentOwner);\n }\n }\n // eslint-disable-next-line rsp-rules/pure-render\n ref.current = ++ctx.current;\n }\n // eslint-disable-next-line rsp-rules/pure-render\n return ref.current;\n}\nfunction $c7eafbbe1ea5834e$var$useLegacySSRSafeId(defaultId) {\n let ctx = (0, $bl59K$useContext)($c7eafbbe1ea5834e$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 === $c7eafbbe1ea5834e$var$defaultContext && !$c7eafbbe1ea5834e$var$canUseDOM && process.env.NODE_ENV !== 'production') 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 let counter = $c7eafbbe1ea5834e$var$useCounter(!!defaultId);\n let prefix = ctx === $c7eafbbe1ea5834e$var$defaultContext && process.env.NODE_ENV === 'test' ? 'react-aria' : `react-aria${ctx.prefix}`;\n return defaultId || `${prefix}-${counter}`;\n}\nfunction $c7eafbbe1ea5834e$var$useModernSSRSafeId(defaultId) {\n let id = (0, $bl59K$react).useId();\n let [didSSR] = (0, $bl59K$useState)($c7eafbbe1ea5834e$export$535bd6ca7f90a273());\n let prefix = didSSR || process.env.NODE_ENV === 'test' ? 'react-aria' : `react-aria${$c7eafbbe1ea5834e$var$defaultContext.prefix}`;\n return defaultId || `${prefix}-${id}`;\n}\nconst $c7eafbbe1ea5834e$export$619500959fc48b26 = typeof (0, $bl59K$react)['useId'] === 'function' ? $c7eafbbe1ea5834e$var$useModernSSRSafeId : $c7eafbbe1ea5834e$var$useLegacySSRSafeId;\nfunction $c7eafbbe1ea5834e$var$getSnapshot() {\n return false;\n}\nfunction $c7eafbbe1ea5834e$var$getServerSnapshot() {\n return true;\n}\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction $c7eafbbe1ea5834e$var$subscribe(onStoreChange) {\n // noop\n return ()=>{};\n}\nfunction $c7eafbbe1ea5834e$export$535bd6ca7f90a273() {\n // In React 18, we can use useSyncExternalStore to detect if we're server rendering or hydrating.\n if (typeof (0, $bl59K$react)['useSyncExternalStore'] === 'function') return (0, $bl59K$react)['useSyncExternalStore']($c7eafbbe1ea5834e$var$subscribe, $c7eafbbe1ea5834e$var$getSnapshot, $c7eafbbe1ea5834e$var$getServerSnapshot);\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return (0, $bl59K$useContext)($c7eafbbe1ea5834e$var$IsSSRContext);\n}\n\n\nexport {$c7eafbbe1ea5834e$export$9f8ac96af4b1b2ae as SSRProvider, $c7eafbbe1ea5834e$export$535bd6ca7f90a273 as useIsSSR, $c7eafbbe1ea5834e$export$619500959fc48b26 as useSSRSafeId};\n//# sourceMappingURL=SSRProvider.mjs.map\n","import {useLayoutEffect as $c4867b2f328c2698$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\nimport {useSSRSafeId as $c7eafbbe1ea5834e$export$619500959fc48b26} from \"../ssr/SSRProvider.mjs\";\nimport {useValueEffect as $1a716630a9e3a599$export$14d238f342723f25} from \"./useValueEffect.mjs\";\nimport {useState as $4QKZm$useState, useRef as $4QKZm$useRef, useEffect as $4QKZm$useEffect, useCallback as $4QKZm$useCallback} 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\n\n\n// copied from SSRProvider.tsx to reduce exports, if needed again, consider sharing\nlet $390e54f620492c70$var$canUseDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);\nlet $390e54f620492c70$export$d41a04c74483c6ef = new Map();\n// This allows us to clean up the idsUpdaterMap when the id is no longer used.\n// Map is a strong reference, so unused ids wouldn't be cleaned up otherwise.\n// This can happen in suspended components where mount/unmount is not called.\nlet $390e54f620492c70$var$registry;\nif (typeof FinalizationRegistry !== 'undefined') $390e54f620492c70$var$registry = new FinalizationRegistry((heldValue)=>{\n $390e54f620492c70$export$d41a04c74483c6ef.delete(heldValue);\n});\nfunction $390e54f620492c70$export$f680877a34711e37(defaultId) {\n let [value, setValue] = (0, $4QKZm$useState)(defaultId);\n let nextId = (0, $4QKZm$useRef)(null);\n let res = (0, $c7eafbbe1ea5834e$export$619500959fc48b26)(value);\n let cleanupRef = (0, $4QKZm$useRef)(null);\n if ($390e54f620492c70$var$registry) $390e54f620492c70$var$registry.register(cleanupRef, res);\n if ($390e54f620492c70$var$canUseDOM) {\n const cacheIdRef = $390e54f620492c70$export$d41a04c74483c6ef.get(res);\n if (cacheIdRef && !cacheIdRef.includes(nextId)) cacheIdRef.push(nextId);\n else $390e54f620492c70$export$d41a04c74483c6ef.set(res, [\n nextId\n ]);\n }\n (0, $c4867b2f328c2698$export$e5c5a5f917a5871c)(()=>{\n let r = res;\n return ()=>{\n // In Suspense, the cleanup function may be not called\n // when it is though, also remove it from the finalization registry.\n if ($390e54f620492c70$var$registry) $390e54f620492c70$var$registry.unregister(cleanupRef);\n $390e54f620492c70$export$d41a04c74483c6ef.delete(r);\n };\n }, [\n res\n ]);\n // This cannot cause an infinite loop because the ref is always cleaned up.\n // eslint-disable-next-line\n (0, $4QKZm$useEffect)(()=>{\n let newId = nextId.current;\n if (newId) setValue(newId);\n return ()=>{\n if (newId) nextId.current = null;\n };\n });\n return res;\n}\nfunction $390e54f620492c70$export$cd8c9cb68f842629(idA, idB) {\n if (idA === idB) return idA;\n let setIdsA = $390e54f620492c70$export$d41a04c74483c6ef.get(idA);\n if (setIdsA) {\n setIdsA.forEach((ref)=>ref.current = idB);\n return idB;\n }\n let setIdsB = $390e54f620492c70$export$d41a04c74483c6ef.get(idB);\n if (setIdsB) {\n setIdsB.forEach((ref)=>ref.current = idA);\n return idA;\n }\n return idB;\n}\nfunction $390e54f620492c70$export$b4cc09c592e8fdb8(depArray = []) {\n let id = $390e54f620492c70$export$f680877a34711e37();\n let [resolvedId, setResolvedId] = (0, $1a716630a9e3a599$export$14d238f342723f25)(id);\n let updateId = (0, $4QKZm$useCallback)(()=>{\n setResolvedId(function*() {\n yield id;\n yield document.getElementById(id) ? id : undefined;\n });\n }, [\n id,\n setResolvedId\n ]);\n (0, $c4867b2f328c2698$export$e5c5a5f917a5871c)(updateId, [\n id,\n updateId,\n ...depArray\n ]);\n return resolvedId;\n}\n\n\nexport {$390e54f620492c70$export$d41a04c74483c6ef as idsUpdaterMap, $390e54f620492c70$export$f680877a34711e37 as useId, $390e54f620492c70$export$cd8c9cb68f842629 as mergeIds, $390e54f620492c70$export$b4cc09c592e8fdb8 as useSlotId};\n//# sourceMappingURL=useId.mjs.map\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 * Calls all functions in the order they were chained with the same arguments.\n */ function $a4e76a5424781910$export$e08e3b67e392101e(...callbacks) {\n return (...args)=>{\n for (let callback of callbacks)if (typeof callback === 'function') callback(...args);\n };\n}\n\n\nexport {$a4e76a5424781910$export$e08e3b67e392101e as chain};\n//# sourceMappingURL=chain.mjs.map\n","const $d447af545b77c9f1$export$b204af158042fbac = (el)=>{\n return el?.ownerDocument ?? document;\n};\nconst $d447af545b77c9f1$export$f21a1ffae260145a = (el)=>{\n if (el && 'window' in el && el.window === el) return el;\n const doc = $d447af545b77c9f1$export$b204af158042fbac(el);\n return doc.defaultView || window;\n};\n/**\n * Type guard that checks if a value is a Node. Verifies the presence and type of the nodeType\n * property.\n */ function $d447af545b77c9f1$var$isNode(value) {\n return value !== null && typeof value === 'object' && 'nodeType' in value && typeof value.nodeType === 'number';\n}\nfunction $d447af545b77c9f1$export$af51f0f06c0f328a(node) {\n return $d447af545b77c9f1$var$isNode(node) && node.nodeType === Node.DOCUMENT_FRAGMENT_NODE && 'host' in node;\n}\n\n\nexport {$d447af545b77c9f1$export$b204af158042fbac as getOwnerDocument, $d447af545b77c9f1$export$f21a1ffae260145a as getOwnerWindow, $d447af545b77c9f1$export$af51f0f06c0f328a as isShadowRoot};\n//# sourceMappingURL=domHelpers.mjs.map\n","/*\n * Copyright 2023 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 */ let $6a20a7989e6c817a$var$_tableNestedRows = false;\nlet $6a20a7989e6c817a$var$_shadowDOM = false;\nfunction $6a20a7989e6c817a$export$d9d8a0f82de49530() {\n $6a20a7989e6c817a$var$_tableNestedRows = true;\n}\nfunction $6a20a7989e6c817a$export$1b00cb14a96194e6() {\n return $6a20a7989e6c817a$var$_tableNestedRows;\n}\nfunction $6a20a7989e6c817a$export$12b151d9882e9985() {\n $6a20a7989e6c817a$var$_shadowDOM = true;\n}\nfunction $6a20a7989e6c817a$export$98658e8c59125e6a() {\n return $6a20a7989e6c817a$var$_shadowDOM;\n}\n\n\nexport {$6a20a7989e6c817a$export$d9d8a0f82de49530 as enableTableNestedRows, $6a20a7989e6c817a$export$1b00cb14a96194e6 as tableNestedRows, $6a20a7989e6c817a$export$12b151d9882e9985 as enableShadowDOM, $6a20a7989e6c817a$export$98658e8c59125e6a as shadowDOM};\n//# sourceMappingURL=flags.mjs.map\n","import {getOwnerWindow as $d447af545b77c9f1$export$f21a1ffae260145a, isShadowRoot as $d447af545b77c9f1$export$af51f0f06c0f328a} from \"../domHelpers.mjs\";\nimport {shadowDOM as $eXv8n$shadowDOM} from \"react-stately/private/flags/flags\";\n\n// Source: https://github.com/microsoft/tabster/blob/a89fc5d7e332d48f68d03b1ca6e344489d1c3898/src/Shadowdomize/DOMFunctions.ts#L16\n/* eslint-disable rsp-rules/no-non-shadow-contains, rsp-rules/safe-event-target */ \n\nfunction $23f2114a1b82827e$export$4282f70798064fe0(node, otherNode) {\n if (!(0, $eXv8n$shadowDOM)()) return otherNode && node ? node.contains(otherNode) : false;\n if (!node || !otherNode) return false;\n let currentNode = otherNode;\n while(currentNode !== null){\n if (currentNode === node) return true;\n if (currentNode.tagName === 'SLOT' && currentNode.assignedSlot) // Element is slotted\n currentNode = currentNode.assignedSlot.parentNode;\n else if ((0, $d447af545b77c9f1$export$af51f0f06c0f328a)(currentNode)) // Element is in shadow root\n currentNode = currentNode.host;\n else currentNode = currentNode.parentNode;\n }\n return false;\n}\nconst $23f2114a1b82827e$export$cd4e5573fbe2b576 = (doc = document)=>{\n if (!(0, $eXv8n$shadowDOM)()) return doc.activeElement;\n let activeElement = doc.activeElement;\n while(activeElement && 'shadowRoot' in activeElement && activeElement.shadowRoot?.activeElement)activeElement = activeElement.shadowRoot.activeElement;\n return activeElement;\n};\nfunction $23f2114a1b82827e$export$e58f029f0fbfdb29(event) {\n if ((0, $eXv8n$shadowDOM)() && event.target instanceof Element && event.target.shadowRoot) {\n if ('composedPath' in event) return event.composedPath()[0] ?? null;\n else if ('composedPath' in event.nativeEvent) return event.nativeEvent.composedPath()[0] ?? null;\n }\n return event.target;\n}\nfunction $23f2114a1b82827e$export$b4f377a2b6254582(node) {\n if (!node) return false;\n // Get the active element within the node's parent shadow root (or the document). Can return null.\n let root = node.getRootNode();\n let ownerWindow = (0, $d447af545b77c9f1$export$f21a1ffae260145a)(node);\n if (!(root instanceof ownerWindow.Document || root instanceof ownerWindow.ShadowRoot)) return false;\n let activeElement = root.activeElement;\n // Check if the active element is within this node. These nodes are within the same shadow root.\n return activeElement != null && node.contains(activeElement);\n}\n\n\nexport {$23f2114a1b82827e$export$4282f70798064fe0 as nodeContains, $23f2114a1b82827e$export$cd4e5573fbe2b576 as getActiveElement, $23f2114a1b82827e$export$e58f029f0fbfdb29 as getEventTarget, $23f2114a1b82827e$export$b4f377a2b6254582 as isFocusWithin};\n//# sourceMappingURL=DOMFunctions.mjs.map\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 */ function $4064df0d6f9620e1$export$c9058316764c140e(...refs) {\n if (refs.length === 1 && refs[0]) return refs[0];\n return (value)=>{\n let hasCleanup = false;\n const cleanups = refs.map((ref)=>{\n const cleanup = $4064df0d6f9620e1$var$setRef(ref, value);\n hasCleanup ||= typeof cleanup == 'function';\n return cleanup;\n });\n if (hasCleanup) return ()=>{\n cleanups.forEach((cleanup, i)=>{\n if (typeof cleanup === 'function') cleanup();\n else $4064df0d6f9620e1$var$setRef(refs[i], null);\n });\n };\n };\n}\nfunction $4064df0d6f9620e1$var$setRef(ref, value) {\n if (typeof ref === 'function') return ref(value);\n else if (ref != null) ref.current = value;\n}\n\n\nexport {$4064df0d6f9620e1$export$c9058316764c140e as mergeRefs};\n//# sourceMappingURL=mergeRefs.mjs.map\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import {chain as $a4e76a5424781910$export$e08e3b67e392101e} from \"./chain.mjs\";\nimport {mergeIds as $390e54f620492c70$export$cd8c9cb68f842629} from \"./useId.mjs\";\nimport {mergeRefs as $4064df0d6f9620e1$export$c9058316764c140e} from \"./mergeRefs.mjs\";\nimport $aPpn7$clsx from \"clsx\";\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\n\nfunction $bbaa08b3cd72f041$export$9d1611c77c2fe928(...args) {\n // Start with a base clone of the first argument. This is a lot faster than starting\n // with an empty object and adding properties as we go.\n let result = {\n ...args[0]\n };\n for(let i = 1; i < args.length; i++){\n let props = args[i];\n for(let key in props){\n let a = result[key];\n let b = props[key];\n // Chain events\n if (typeof a === 'function' && typeof b === 'function' && // This is a lot faster than a regex.\n key[0] === 'o' && key[1] === 'n' && key.charCodeAt(2) >= /* 'A' */ 65 && key.charCodeAt(2) <= /* 'Z' */ 90) result[key] = (0, $a4e76a5424781910$export$e08e3b67e392101e)(a, b);\n else if ((key === 'className' || key === 'UNSAFE_className') && typeof a === 'string' && typeof b === 'string') result[key] = (0, $aPpn7$clsx)(a, b);\n else if (key === 'id' && a && b) result.id = (0, $390e54f620492c70$export$cd8c9cb68f842629)(a, b);\n else if (key === 'ref' && a && b) result.ref = (0, $4064df0d6f9620e1$export$c9058316764c140e)(a, b);\n else result[key] = b !== undefined ? b : a;\n }\n }\n return result;\n}\n\n\nexport {$bbaa08b3cd72f041$export$9d1611c77c2fe928 as mergeProps};\n//# sourceMappingURL=mergeProps.mjs.map\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 */ const $8e9d2fae0ecb9001$var$DOMPropNames = new Set([\n 'id'\n]);\nconst $8e9d2fae0ecb9001$var$labelablePropNames = new Set([\n 'aria-label',\n 'aria-labelledby',\n 'aria-describedby',\n 'aria-details'\n]);\n// See LinkDOMProps in dom.d.ts.\nconst $8e9d2fae0ecb9001$var$linkPropNames = new Set([\n 'href',\n 'hrefLang',\n 'target',\n 'rel',\n 'download',\n 'ping',\n 'referrerPolicy'\n]);\nconst $8e9d2fae0ecb9001$var$globalAttrs = new Set([\n 'dir',\n 'lang',\n 'hidden',\n 'inert',\n 'translate'\n]);\nconst $8e9d2fae0ecb9001$var$globalEvents = new Set([\n 'onClick',\n 'onAuxClick',\n 'onContextMenu',\n 'onDoubleClick',\n 'onMouseDown',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOut',\n 'onMouseOver',\n 'onMouseUp',\n 'onTouchCancel',\n 'onTouchEnd',\n 'onTouchMove',\n 'onTouchStart',\n 'onPointerDown',\n 'onPointerMove',\n 'onPointerUp',\n 'onPointerCancel',\n 'onPointerEnter',\n 'onPointerLeave',\n 'onPointerOver',\n 'onPointerOut',\n 'onGotPointerCapture',\n 'onLostPointerCapture',\n 'onScroll',\n 'onWheel',\n 'onAnimationStart',\n 'onAnimationEnd',\n 'onAnimationIteration',\n 'onTransitionCancel',\n 'onTransitionEnd',\n 'onTransitionRun',\n 'onTransitionStart'\n]);\nconst $8e9d2fae0ecb9001$var$propRe = /^(data-.*)$/;\nfunction $8e9d2fae0ecb9001$export$457c3d6518dd4c6f(props, opts = {}) {\n let { labelable: labelable, isLink: isLink, global: global, events: events = global, propNames: propNames } = opts;\n let filteredProps = {};\n for(const prop in props)if (Object.prototype.hasOwnProperty.call(props, prop) && ($8e9d2fae0ecb9001$var$DOMPropNames.has(prop) || labelable && $8e9d2fae0ecb9001$var$labelablePropNames.has(prop) || isLink && $8e9d2fae0ecb9001$var$linkPropNames.has(prop) || global && $8e9d2fae0ecb9001$var$globalAttrs.has(prop) || events && ($8e9d2fae0ecb9001$var$globalEvents.has(prop) || prop.endsWith('Capture') && $8e9d2fae0ecb9001$var$globalEvents.has(prop.slice(0, -7))) || propNames?.has(prop) || $8e9d2fae0ecb9001$var$propRe.test(prop))) filteredProps[prop] = props[prop];\n return filteredProps;\n}\n\n\nexport {$8e9d2fae0ecb9001$export$457c3d6518dd4c6f as filterDOMProps};\n//# sourceMappingURL=filterDOMProps.mjs.map\n","import {getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29} from \"./shadowdom/DOMFunctions.mjs\";\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 */ // We store a global list of elements that are currently transitioning,\n// mapped to a set of CSS properties that are transitioning for that element.\n// This is necessary rather than a simple count of transitions because of browser\n// bugs, e.g. Chrome sometimes fires both transitionend and transitioncancel rather\n// than one or the other. So we need to track what's actually transitioning so that\n// we can ignore these duplicate events.\n\nlet $081cb5757e08788e$var$transitionsByElement = new Map();\n// A list of callbacks to call once there are no transitioning elements.\nlet $081cb5757e08788e$var$transitionCallbacks = new Set();\nfunction $081cb5757e08788e$var$setupGlobalEvents() {\n if (typeof window === 'undefined') return;\n function isTransitionEvent(event) {\n return 'propertyName' in event;\n }\n let onTransitionStart = (e)=>{\n let eventTarget = (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e);\n if (!isTransitionEvent(e) || !eventTarget) return;\n // Add the transitioning property to the list for this element.\n let transitions = $081cb5757e08788e$var$transitionsByElement.get(eventTarget);\n if (!transitions) {\n transitions = new Set();\n $081cb5757e08788e$var$transitionsByElement.set(eventTarget, transitions);\n // The transitioncancel event must be registered on the element itself, rather than as a global\n // event. This enables us to handle when the node is deleted from the document while it is transitioning.\n // In that case, the cancel event would have nowhere to bubble to so we need to handle it directly.\n eventTarget.addEventListener('transitioncancel', onTransitionEnd, {\n once: true\n });\n }\n transitions.add(e.propertyName);\n };\n let onTransitionEnd = (e)=>{\n let eventTarget = (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e);\n if (!isTransitionEvent(e) || !eventTarget) return;\n // Remove property from list of transitioning properties.\n let properties = $081cb5757e08788e$var$transitionsByElement.get(eventTarget);\n if (!properties) return;\n properties.delete(e.propertyName);\n // If empty, remove transitioncancel event, and remove the element from the list of transitioning elements.\n if (properties.size === 0) {\n eventTarget.removeEventListener('transitioncancel', onTransitionEnd);\n $081cb5757e08788e$var$transitionsByElement.delete(eventTarget);\n }\n // If no transitioning elements, call all of the queued callbacks.\n if ($081cb5757e08788e$var$transitionsByElement.size === 0) {\n for (let cb of $081cb5757e08788e$var$transitionCallbacks)cb();\n $081cb5757e08788e$var$transitionCallbacks.clear();\n }\n };\n document.body.addEventListener('transitionrun', onTransitionStart);\n document.body.addEventListener('transitionend', onTransitionEnd);\n}\nif (typeof document !== 'undefined') {\n if (document.readyState !== 'loading') $081cb5757e08788e$var$setupGlobalEvents();\n else document.addEventListener('DOMContentLoaded', $081cb5757e08788e$var$setupGlobalEvents);\n}\n/**\n * Cleans up any elements that are no longer in the document.\n * This is necessary because we can't rely on transitionend events to fire\n * for elements that are removed from the document while transitioning.\n */ function $081cb5757e08788e$var$cleanupDetachedElements() {\n for (const [eventTarget] of $081cb5757e08788e$var$transitionsByElement)// Similar to `eventTarget instanceof Element && !eventTarget.isConnected`, but avoids\n // the explicit instanceof check, since it may be different in different contexts.\n if ('isConnected' in eventTarget && !eventTarget.isConnected) $081cb5757e08788e$var$transitionsByElement.delete(eventTarget);\n}\nfunction $081cb5757e08788e$export$24490316f764c430(fn) {\n // Wait one frame to see if an animation starts, e.g. a transition on mount.\n requestAnimationFrame(()=>{\n $081cb5757e08788e$var$cleanupDetachedElements();\n // If no transitions are running, call the function immediately.\n // Otherwise, add it to a list of callbacks to run at the end of the animation.\n if ($081cb5757e08788e$var$transitionsByElement.size === 0) fn();\n else $081cb5757e08788e$var$transitionCallbacks.add(fn);\n });\n}\n\n\nexport {$081cb5757e08788e$export$24490316f764c430 as runAfterTransition};\n//# sourceMappingURL=runAfterTransition.mjs.map\n","import {useRef as $awe0O$useRef, useCallback as $awe0O$useCallback, useEffect as $awe0O$useEffect} 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 */ \nfunction $48a7d519b337145d$export$4eaf04e54aa8eed6() {\n let globalListeners = (0, $awe0O$useRef)(new Map());\n let addGlobalListener = (0, $awe0O$useCallback)((eventTarget, type, listener, options)=>{\n // Make sure we remove the listener after it is called with the `once` option.\n let fn = options?.once ? (...args)=>{\n globalListeners.current.delete(listener);\n listener(...args);\n } : listener;\n globalListeners.current.set(listener, {\n type: type,\n eventTarget: eventTarget,\n fn: fn,\n options: options\n });\n eventTarget.addEventListener(type, fn, options);\n }, []);\n let removeGlobalListener = (0, $awe0O$useCallback)((eventTarget, type, listener, options)=>{\n let fn = globalListeners.current.get(listener)?.fn || listener;\n eventTarget.removeEventListener(type, fn, options);\n globalListeners.current.delete(listener);\n }, []);\n let removeAllGlobalListeners = (0, $awe0O$useCallback)(()=>{\n globalListeners.current.forEach((value, key)=>{\n removeGlobalListener(value.eventTarget, value.type, key, value.options);\n });\n }, [\n removeGlobalListener\n ]);\n (0, $awe0O$useEffect)(()=>{\n return removeAllGlobalListeners;\n }, [\n removeAllGlobalListeners\n ]);\n return {\n addGlobalListener: addGlobalListener,\n removeGlobalListener: removeGlobalListener,\n removeAllGlobalListeners: removeAllGlobalListeners\n };\n}\n\n\nexport {$48a7d519b337145d$export$4eaf04e54aa8eed6 as useGlobalListeners};\n//# sourceMappingURL=useGlobalListeners.mjs.map\n","import {useId as $390e54f620492c70$export$f680877a34711e37} from \"./useId.mjs\";\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 $e8ac3c3f5d4bae7f$export$d6875122194c7b44(props, defaultLabel) {\n let { id: id, 'aria-label': label, 'aria-labelledby': labelledBy } = props;\n // If there is both an aria-label and aria-labelledby,\n // combine them by pointing to the element itself.\n id = (0, $390e54f620492c70$export$f680877a34711e37)(id);\n if (labelledBy && label) {\n let ids = new Set([\n id,\n ...labelledBy.trim().split(/\\s+/)\n ]);\n labelledBy = [\n ...ids\n ].join(' ');\n } else if (labelledBy) labelledBy = labelledBy.trim().split(/\\s+/).join(' ');\n // If no labels are provided, use the default\n if (!label && !labelledBy && defaultLabel) label = defaultLabel;\n return {\n id: id,\n 'aria-label': label,\n 'aria-labelledby': labelledBy\n };\n}\n\n\nexport {$e8ac3c3f5d4bae7f$export$d6875122194c7b44 as useLabels};\n//# sourceMappingURL=useLabels.mjs.map\n","import {useRef as $i6EpZ$useRef, useCallback as $i6EpZ$useCallback, useMemo as $i6EpZ$useMemo} from \"react\";\n\n/*\n * Copyright 2021 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 $03e8ab2d84d7657a$export$4338b53315abf666(ref) {\n const objRef = (0, $i6EpZ$useRef)(null);\n const cleanupRef = (0, $i6EpZ$useRef)(undefined);\n const refEffect = (0, $i6EpZ$useCallback)((instance)=>{\n if (typeof ref === 'function') {\n const refCallback = ref;\n const refCleanup = refCallback(instance);\n return ()=>{\n if (typeof refCleanup === 'function') refCleanup();\n else refCallback(null);\n };\n } else if (ref) {\n ref.current = instance;\n return ()=>{\n ref.current = null;\n };\n }\n }, [\n ref\n ]);\n return (0, $i6EpZ$useMemo)(()=>({\n get current () {\n return objRef.current;\n },\n set current (value){\n objRef.current = value;\n if (cleanupRef.current) {\n cleanupRef.current();\n cleanupRef.current = undefined;\n }\n if (value != null) cleanupRef.current = refEffect(value);\n }\n }), [\n refEffect\n ]);\n}\n\n\nexport {$03e8ab2d84d7657a$export$4338b53315abf666 as useObjectRef};\n//# sourceMappingURL=useObjectRef.mjs.map\n","import {useLayoutEffect as $c4867b2f328c2698$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\nimport $emnFQ$react, {useRef as $emnFQ$useRef, useCallback as $emnFQ$useCallback} from \"react\";\n\n/*\n * Copyright 2023 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// Use the earliest effect type possible. useInsertionEffect runs during the mutation phase,\n// before all layout effects, but is available only in React 18 and later.\nconst $fe16bffc7a557bf0$var$useEarlyEffect = (0, $emnFQ$react)['useInsertionEffect'] ?? (0, $c4867b2f328c2698$export$e5c5a5f917a5871c);\nfunction $fe16bffc7a557bf0$export$7f54fc3180508a52(fn) {\n const ref = (0, $emnFQ$useRef)(null);\n $fe16bffc7a557bf0$var$useEarlyEffect(()=>{\n ref.current = fn;\n }, [\n fn\n ]);\n // @ts-ignore\n return (0, $emnFQ$useCallback)((...args)=>{\n const f = ref.current;\n return f?.(...args);\n }, []);\n}\n\n\nexport {$fe16bffc7a557bf0$export$7f54fc3180508a52 as useEffectEvent};\n//# sourceMappingURL=useEffectEvent.mjs.map\n","import {useLayoutEffect as $c4867b2f328c2698$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\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 $b7115c395c64f7b5$export$4debdb1a3f0fa79e(context, ref) {\n (0, $c4867b2f328c2698$export$e5c5a5f917a5871c)(()=>{\n if (context && context.ref && ref) {\n context.ref.current = ref.current;\n return ()=>{\n if (context.ref) // oxlint-disable-next-line react-hooks/exhaustive-deps\n context.ref.current = null;\n };\n }\n });\n}\n\n\nexport {$b7115c395c64f7b5$export$4debdb1a3f0fa79e as useSyncRef};\n//# sourceMappingURL=useSyncRef.mjs.map\n","import {isAndroid as $2add3ce32c6007eb$export$a11b0059900ceec8} from \"./platform.mjs\";\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 */ \nfunction $b5c62b033c25b96d$export$60278871457622de(event) {\n // JAWS/NVDA with Firefox.\n if (event.pointerType === '' && event.isTrusted) return true;\n // Android TalkBack's detail value varies depending on the event listener providing the event so we have specific logic here instead\n // If pointerType is defined, event is from a click listener. For events from mousedown listener, detail === 0 is a sufficient check\n // to detect TalkBack virtual clicks.\n if ((0, $2add3ce32c6007eb$export$a11b0059900ceec8)() && event.pointerType) return event.type === 'click' && event.buttons === 1;\n return event.detail === 0 && !event.pointerType;\n}\nfunction $b5c62b033c25b96d$export$29bf1b5f2c56cf63(event) {\n // If the pointer size is zero, then we assume it's from a screen reader.\n // Android TalkBack double tap will sometimes return a event with width and height of 1\n // and pointerType === 'mouse' so we need to check for a specific combination of event attributes.\n // Cannot use \"event.pressure === 0\" as the sole check due to Safari pointer events always returning pressure === 0\n // instead of .5, see https://bugs.webkit.org/show_bug.cgi?id=206216. event.pointerType === 'mouse' is to distingush\n // Talkback double tap from Windows Firefox touch screen press\n return !(0, $2add3ce32c6007eb$export$a11b0059900ceec8)() && event.width === 0 && event.height === 0 || event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse';\n}\n\n\nexport {$b5c62b033c25b96d$export$60278871457622de as isVirtualClick, $b5c62b033c25b96d$export$29bf1b5f2c56cf63 as isVirtualPointerEvent};\n//# sourceMappingURL=isVirtualEvent.mjs.map\n","import {useEffectEvent as $fe16bffc7a557bf0$export$7f54fc3180508a52} from \"./useEffectEvent.mjs\";\nimport {useEffect as $1HUBd$useEffect} from \"react\";\n\n/*\n * Copyright 2023 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 $3274bf1495747a7b$export$5add1d006293d136(ref, initialValue, onReset) {\n let handleReset = (0, $fe16bffc7a557bf0$export$7f54fc3180508a52)((e)=>{\n if (onReset && !e.defaultPrevented) onReset(initialValue);\n });\n (0, $1HUBd$useEffect)(()=>{\n let form = ref?.current?.form;\n form?.addEventListener('reset', handleReset);\n return ()=>{\n form?.removeEventListener('reset', handleReset);\n };\n }, [\n ref\n ]);\n}\n\n\nexport {$3274bf1495747a7b$export$5add1d006293d136 as useFormReset};\n//# sourceMappingURL=useFormReset.mjs.map\n","import {getOwnerWindow as $d447af545b77c9f1$export$f21a1ffae260145a} from \"./domHelpers.mjs\";\n\n/*\n * Copyright 2021 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 */ \nconst $ae77152785188400$var$supportsCheckVisibility = typeof Element !== 'undefined' && 'checkVisibility' in Element.prototype;\nfunction $ae77152785188400$var$isStyleVisible(element) {\n const windowObject = (0, $d447af545b77c9f1$export$f21a1ffae260145a)(element);\n if (!(element instanceof windowObject.HTMLElement) && !(element instanceof windowObject.SVGElement)) return false;\n let { display: display, visibility: visibility } = element.style;\n let isVisible = display !== 'none' && visibility !== 'hidden' && visibility !== 'collapse';\n if (isVisible) {\n const { getComputedStyle: getComputedStyle } = element.ownerDocument.defaultView;\n let { display: computedDisplay, visibility: computedVisibility } = getComputedStyle(element);\n isVisible = computedDisplay !== 'none' && computedVisibility !== 'hidden' && computedVisibility !== 'collapse';\n }\n return isVisible;\n}\nfunction $ae77152785188400$var$isAttributeVisible(element, childElement) {\n return !element.hasAttribute('hidden') && // Ignore HiddenSelect when tree walking.\n !element.hasAttribute('data-react-aria-prevent-focus') && (element.nodeName === 'DETAILS' && childElement && childElement.nodeName !== 'SUMMARY' ? element.hasAttribute('open') : true);\n}\nfunction $ae77152785188400$export$e989c0fffaa6b27a(element, childElement) {\n if ($ae77152785188400$var$supportsCheckVisibility) return element.checkVisibility({\n visibilityProperty: true\n }) && !element.closest('[data-react-aria-prevent-focus]');\n return element.nodeName !== '#comment' && $ae77152785188400$var$isStyleVisible(element) && $ae77152785188400$var$isAttributeVisible(element, childElement) && (!element.parentElement || $ae77152785188400$export$e989c0fffaa6b27a(element.parentElement, element));\n}\n\n\nexport {$ae77152785188400$export$e989c0fffaa6b27a as isElementVisible};\n//# sourceMappingURL=isElementVisible.mjs.map\n","import {isElementVisible as $ae77152785188400$export$e989c0fffaa6b27a} from \"./isElementVisible.mjs\";\n\n/*\n * Copyright 2025 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 */ \nconst $3b8b240c1bf84ab9$var$focusableElements = [\n 'input:not([disabled]):not([type=hidden])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'button:not([disabled])',\n 'a[href]',\n 'area[href]',\n 'summary',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]:not([contenteditable^=\"false\"])',\n 'permission'\n];\nconst $3b8b240c1bf84ab9$var$FOCUSABLE_ELEMENT_SELECTOR = $3b8b240c1bf84ab9$var$focusableElements.join(':not([hidden]),') + ',[tabindex]:not([disabled]):not([hidden])';\n$3b8b240c1bf84ab9$var$focusableElements.push('[tabindex]:not([tabindex=\"-1\"]):not([disabled])');\nconst $3b8b240c1bf84ab9$var$TABBABLE_ELEMENT_SELECTOR = $3b8b240c1bf84ab9$var$focusableElements.join(':not([hidden]):not([tabindex=\"-1\"]),');\nfunction $3b8b240c1bf84ab9$export$4c063cf1350e6fed(element, options) {\n return element.matches($3b8b240c1bf84ab9$var$FOCUSABLE_ELEMENT_SELECTOR) && !$3b8b240c1bf84ab9$var$isInert(element) && (options?.skipVisibilityCheck || (0, $ae77152785188400$export$e989c0fffaa6b27a)(element));\n}\nfunction $3b8b240c1bf84ab9$export$bebd5a1431fec25d(element) {\n return element.matches($3b8b240c1bf84ab9$var$TABBABLE_ELEMENT_SELECTOR) && (0, $ae77152785188400$export$e989c0fffaa6b27a)(element) && !$3b8b240c1bf84ab9$var$isInert(element);\n}\nfunction $3b8b240c1bf84ab9$var$isInert(element) {\n let node = element;\n while(node != null){\n if (node instanceof node.ownerDocument.defaultView.HTMLElement && node.inert) return true;\n node = node.parentElement;\n }\n return false;\n}\n\n\nexport {$3b8b240c1bf84ab9$export$4c063cf1350e6fed as isFocusable, $3b8b240c1bf84ab9$export$bebd5a1431fec25d as isTabbable};\n//# sourceMappingURL=isFocusable.mjs.map\n","import {getOwnerWindow as $d447af545b77c9f1$export$f21a1ffae260145a} from \"./domHelpers.mjs\";\n\n/*\n * Copyright 2026 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 $2b2d34ff061957fb$var$getWebpackNonce(doc) {\n let ownerWindow = doc?.defaultView;\n return ownerWindow?.__webpack_nonce__ || globalThis['__webpack_nonce__'] || undefined;\n}\nlet $2b2d34ff061957fb$var$nonceCache = new WeakMap();\nfunction $2b2d34ff061957fb$export$88b319273f3705b4() {\n $2b2d34ff061957fb$var$nonceCache = new WeakMap();\n}\nfunction $2b2d34ff061957fb$export$2b85b721e524d74b(doc) {\n let d = doc ?? (typeof document !== 'undefined' ? document : undefined);\n if (!d) return $2b2d34ff061957fb$var$getWebpackNonce(d);\n if ($2b2d34ff061957fb$var$nonceCache.has(d)) return $2b2d34ff061957fb$var$nonceCache.get(d);\n let meta = d.querySelector('meta[property=\"csp-nonce\"]');\n let nonce = meta && meta instanceof (0, $d447af545b77c9f1$export$f21a1ffae260145a)(meta).HTMLMetaElement && (meta.nonce || meta.content) || $2b2d34ff061957fb$var$getWebpackNonce(d) || undefined;\n if (nonce !== undefined) $2b2d34ff061957fb$var$nonceCache.set(d, nonce);\n return nonce;\n}\n\n\nexport {$2b2d34ff061957fb$export$88b319273f3705b4 as resetNonceCache, $2b2d34ff061957fb$export$2b85b721e524d74b as getNonce};\n//# sourceMappingURL=getNonce.mjs.map\n","import { mergeRefs, useLayoutEffect } from '@react-aria/utils';\nimport { forwardRef, useRef, useMemo } from 'react';\nimport { jsx } from 'react/jsx-runtime';\n\n// eslint-disable-next-line react-refresh/only-export-components\nfunction DOMElement(ElementType, props, forwardedRef) {\n const {\n render,\n ...otherProps\n } = props;\n const elementRef = useRef(null);\n const ref = useMemo(() => mergeRefs(forwardedRef, elementRef), [forwardedRef, elementRef]);\n useLayoutEffect(() => {\n if (typeof process !== \"undefined\" && process.env?.[\"NODE_ENV\"] !== \"production\" && render) {\n if (!elementRef.current) {\n console.warn(\"Ref was not connected to DOM element returned by custom `render` function. Did you forget to pass through or merge the `ref`?\");\n }\n }\n }, [ElementType, render]);\n const domProps = {\n ...otherProps,\n ref\n };\n if (render) {\n return render(domProps, undefined);\n }\n return /*#__PURE__*/jsx(ElementType, {\n ...domProps\n });\n}\nconst domComponentCache = {};\n\n// Dynamically generates and caches components for each DOM element (e.g. `dom.button`).\nconst dom = new Proxy({}, {\n get(_target, elementType) {\n if (typeof elementType !== \"string\") {\n return undefined;\n }\n let res = domComponentCache[elementType];\n if (!res) {\n res = /*#__PURE__*/forwardRef(DOMElement.bind(null, elementType));\n domComponentCache[elementType] = res;\n }\n return res;\n }\n});\n\nexport { dom };\n","// src/utils.js\nvar SPACE_REGEX = /\\s+/g;\nvar removeExtraSpaces = (str) => {\n if (typeof str !== \"string\" || !str) return str;\n return str.replace(SPACE_REGEX, \" \").trim();\n};\nvar cx = (...classnames) => {\n const classList = [];\n const buildClassString = (input) => {\n if (!input && input !== 0 && input !== 0n) return;\n if (Array.isArray(input)) {\n for (let i = 0, len = input.length; i < len; i++) buildClassString(input[i]);\n return;\n }\n const type = typeof input;\n if (type === \"string\" || type === \"number\" || type === \"bigint\") {\n if (type === \"number\" && input !== input) return;\n classList.push(String(input));\n } else if (type === \"object\") {\n const keys = Object.keys(input);\n for (let i = 0, len = keys.length; i < len; i++) {\n const key = keys[i];\n if (input[key]) classList.push(key);\n }\n }\n };\n for (let i = 0, len = classnames.length; i < len; i++) {\n const c = classnames[i];\n if (c !== null && c !== void 0) buildClassString(c);\n }\n return classList.length > 0 ? removeExtraSpaces(classList.join(\" \")) : void 0;\n};\nvar falsyToString = (value) => value === false ? \"false\" : value === true ? \"true\" : value === 0 ? \"0\" : value;\nvar isEmptyObject = (obj) => {\n if (!obj || typeof obj !== \"object\") return true;\n for (const _ in obj) return false;\n return true;\n};\nvar isEqual = (obj1, obj2) => {\n if (obj1 === obj2) return true;\n if (!obj1 || !obj2) return false;\n const keys1 = Object.keys(obj1);\n const keys2 = Object.keys(obj2);\n if (keys1.length !== keys2.length) return false;\n for (let i = 0; i < keys1.length; i++) {\n const key = keys1[i];\n if (!keys2.includes(key)) return false;\n if (obj1[key] !== obj2[key]) return false;\n }\n return true;\n};\nvar isBoolean = (value) => value === true || value === false;\nvar joinObjects = (obj1, obj2) => {\n for (const key in obj2) {\n if (Object.prototype.hasOwnProperty.call(obj2, key)) {\n const val2 = obj2[key];\n if (key in obj1) {\n obj1[key] = cx(obj1[key], val2);\n } else {\n obj1[key] = val2;\n }\n }\n }\n return obj1;\n};\nvar flat = (arr, target) => {\n for (let i = 0; i < arr.length; i++) {\n const el = arr[i];\n if (Array.isArray(el)) flat(el, target);\n else if (el) target.push(el);\n }\n};\nfunction flatArray(arr) {\n const flattened = [];\n flat(arr, flattened);\n return flattened;\n}\nvar flatMergeArrays = (...arrays) => {\n const result = [];\n flat(arrays, result);\n const filtered = [];\n for (let i = 0; i < result.length; i++) {\n if (result[i]) filtered.push(result[i]);\n }\n return filtered;\n};\nvar mergeObjects = (obj1, obj2) => {\n const result = {};\n for (const key in obj1) {\n const val1 = obj1[key];\n if (key in obj2) {\n const val2 = obj2[key];\n if (Array.isArray(val1) || Array.isArray(val2)) {\n result[key] = flatMergeArrays(val2, val1);\n } else if (typeof val1 === \"object\" && typeof val2 === \"object\" && val1 && val2) {\n result[key] = mergeObjects(val1, val2);\n } else {\n result[key] = val2 + \" \" + val1;\n }\n } else {\n result[key] = val1;\n }\n }\n for (const key in obj2) {\n if (!(key in obj1)) {\n result[key] = obj2[key];\n }\n }\n return result;\n};\n\nexport { cx, falsyToString, flat, flatArray, flatMergeArrays, isBoolean, isEmptyObject, isEqual, joinObjects, mergeObjects, removeExtraSpaces };\n","import { cx, isEmptyObject, mergeObjects, isEqual, joinObjects, flatMergeArrays, falsyToString } from './chunk-LQJYWU4O.js';\n\n// src/config.js\nvar defaultConfig = {\n twMerge: true,\n twMergeConfig: {}\n};\n\n// src/state.js\nfunction createState() {\n let cachedTwMerge = null;\n let cachedTwMergeConfig = {};\n let didTwMergeConfigChange = false;\n return {\n get cachedTwMerge() {\n return cachedTwMerge;\n },\n set cachedTwMerge(value) {\n cachedTwMerge = value;\n },\n get cachedTwMergeConfig() {\n return cachedTwMergeConfig;\n },\n set cachedTwMergeConfig(value) {\n cachedTwMergeConfig = value;\n },\n get didTwMergeConfigChange() {\n return didTwMergeConfigChange;\n },\n set didTwMergeConfigChange(value) {\n didTwMergeConfigChange = value;\n },\n reset() {\n cachedTwMerge = null;\n cachedTwMergeConfig = {};\n didTwMergeConfigChange = false;\n }\n };\n}\nvar state = createState();\n\n// src/core.js\nvar getTailwindVariants = (cn) => {\n const tv = (options, configProp) => {\n const {\n extend = null,\n slots: slotProps = {},\n variants: variantsProps = {},\n compoundVariants: compoundVariantsProps = [],\n compoundSlots = [],\n defaultVariants: defaultVariantsProps = {}\n } = options;\n const config = { ...defaultConfig, ...configProp };\n const base = extend?.base ? cx(extend.base, options?.base) : options?.base;\n const variants = extend?.variants && !isEmptyObject(extend.variants) ? mergeObjects(variantsProps, extend.variants) : variantsProps;\n const defaultVariants = extend?.defaultVariants && !isEmptyObject(extend.defaultVariants) ? { ...extend.defaultVariants, ...defaultVariantsProps } : defaultVariantsProps;\n if (!isEmptyObject(config.twMergeConfig) && !isEqual(config.twMergeConfig, state.cachedTwMergeConfig)) {\n state.didTwMergeConfigChange = true;\n state.cachedTwMergeConfig = config.twMergeConfig;\n }\n const isExtendedSlotsEmpty = isEmptyObject(extend?.slots);\n const componentSlots = !isEmptyObject(slotProps) ? {\n // add \"base\" to the slots object\n base: cx(options?.base, isExtendedSlotsEmpty && extend?.base),\n ...slotProps\n } : {};\n const slots = isExtendedSlotsEmpty ? componentSlots : joinObjects(\n { ...extend?.slots },\n isEmptyObject(componentSlots) ? { base: options?.base } : componentSlots\n );\n const compoundVariants = isEmptyObject(extend?.compoundVariants) ? compoundVariantsProps : flatMergeArrays(extend?.compoundVariants, compoundVariantsProps);\n const component = (props) => {\n if (isEmptyObject(variants) && isEmptyObject(slotProps) && isExtendedSlotsEmpty) {\n return cn(base, props?.class, props?.className)(config);\n }\n if (compoundVariants && !Array.isArray(compoundVariants)) {\n throw new TypeError(\n `The \"compoundVariants\" prop must be an array. Received: ${typeof compoundVariants}`\n );\n }\n if (compoundSlots && !Array.isArray(compoundSlots)) {\n throw new TypeError(\n `The \"compoundSlots\" prop must be an array. Received: ${typeof compoundSlots}`\n );\n }\n const getVariantValue = (variant, vrs = variants, _slotKey = null, slotProps2 = null) => {\n const variantObj = vrs[variant];\n if (!variantObj || isEmptyObject(variantObj)) {\n return null;\n }\n const variantProp = slotProps2?.[variant] ?? props?.[variant];\n if (variantProp === null) return null;\n const variantKey = falsyToString(variantProp);\n if (typeof variantKey === \"object\") {\n return null;\n }\n const defaultVariantProp = defaultVariants?.[variant];\n const key = variantKey != null ? variantKey : falsyToString(defaultVariantProp);\n const value = variantObj[key || \"false\"];\n return value;\n };\n const getVariantClassNames = () => {\n if (!variants) return null;\n const keys = Object.keys(variants);\n const result = [];\n for (let i = 0; i < keys.length; i++) {\n const value = getVariantValue(keys[i], variants);\n if (value) result.push(value);\n }\n return result;\n };\n const getVariantClassNamesBySlotKey = (slotKey, slotProps2) => {\n if (!variants || typeof variants !== \"object\") return null;\n const result = [];\n for (const variant in variants) {\n const variantValue = getVariantValue(variant, variants, slotKey, slotProps2);\n const value = slotKey === \"base\" && typeof variantValue === \"string\" ? variantValue : variantValue && variantValue[slotKey];\n if (value) result.push(value);\n }\n return result;\n };\n const propsWithoutUndefined = {};\n for (const prop in props) {\n const value = props[prop];\n if (value !== void 0) propsWithoutUndefined[prop] = value;\n }\n const getCompleteProps = (key, slotProps2) => {\n const initialProp = typeof props?.[key] === \"object\" ? {\n [key]: props[key]?.initial\n } : {};\n return {\n ...defaultVariants,\n ...propsWithoutUndefined,\n ...initialProp,\n ...slotProps2\n };\n };\n const getCompoundVariantsValue = (cv = [], slotProps2) => {\n const result = [];\n const cvLength = cv.length;\n for (let i = 0; i < cvLength; i++) {\n const { class: tvClass, className: tvClassName, ...compoundVariantOptions } = cv[i];\n let isValid = true;\n const completeProps = getCompleteProps(null, slotProps2);\n for (const key in compoundVariantOptions) {\n const value = compoundVariantOptions[key];\n const completePropsValue = completeProps[key];\n if (Array.isArray(value)) {\n if (!value.includes(completePropsValue)) {\n isValid = false;\n break;\n }\n } else {\n if ((value == null || value === false) && (completePropsValue == null || completePropsValue === false))\n continue;\n if (completePropsValue !== value) {\n isValid = false;\n break;\n }\n }\n }\n if (isValid) {\n if (tvClass) result.push(tvClass);\n if (tvClassName) result.push(tvClassName);\n }\n }\n return result;\n };\n const getCompoundVariantClassNamesBySlot = (slotProps2) => {\n const compoundClassNames = getCompoundVariantsValue(compoundVariants, slotProps2);\n if (!Array.isArray(compoundClassNames)) return compoundClassNames;\n const result = {};\n const cnFn = cn;\n for (let i = 0; i < compoundClassNames.length; i++) {\n const className = compoundClassNames[i];\n if (typeof className === \"string\") {\n result.base = cnFn(result.base, className)(config);\n } else if (typeof className === \"object\") {\n for (const slot in className) {\n result[slot] = cnFn(result[slot], className[slot])(config);\n }\n }\n }\n return result;\n };\n const getCompoundSlotClassNameBySlot = (slotProps2) => {\n if (compoundSlots.length < 1) return null;\n const result = {};\n const completeProps = getCompleteProps(null, slotProps2);\n for (let i = 0; i < compoundSlots.length; i++) {\n const {\n slots: slots2 = [],\n class: slotClass,\n className: slotClassName,\n ...slotVariants\n } = compoundSlots[i];\n if (!isEmptyObject(slotVariants)) {\n let isValid = true;\n for (const key in slotVariants) {\n const completePropsValue = completeProps[key];\n const slotVariantValue = slotVariants[key];\n if (completePropsValue === void 0 || (Array.isArray(slotVariantValue) ? !slotVariantValue.includes(completePropsValue) : slotVariantValue !== completePropsValue)) {\n isValid = false;\n break;\n }\n }\n if (!isValid) continue;\n }\n for (let j = 0; j < slots2.length; j++) {\n const slotName = slots2[j];\n if (!result[slotName]) result[slotName] = [];\n result[slotName].push([slotClass, slotClassName]);\n }\n }\n return result;\n };\n if (!isEmptyObject(slotProps) || !isExtendedSlotsEmpty) {\n const slotsFns = {};\n if (typeof slots === \"object\" && !isEmptyObject(slots)) {\n const cnFn = cn;\n for (const slotKey in slots) {\n slotsFns[slotKey] = (slotProps2) => {\n const compoundVariantClasses = getCompoundVariantClassNamesBySlot(slotProps2);\n const compoundSlotClasses = getCompoundSlotClassNameBySlot(slotProps2);\n return cnFn(\n slots[slotKey],\n getVariantClassNamesBySlotKey(slotKey, slotProps2),\n compoundVariantClasses ? compoundVariantClasses[slotKey] : void 0,\n compoundSlotClasses ? compoundSlotClasses[slotKey] : void 0,\n slotProps2?.class,\n slotProps2?.className\n )(config);\n };\n }\n }\n return slotsFns;\n }\n return cn(\n base,\n getVariantClassNames(),\n getCompoundVariantsValue(compoundVariants),\n props?.class,\n props?.className\n )(config);\n };\n const getVariantKeys = () => {\n if (!variants || typeof variants !== \"object\") return;\n return Object.keys(variants);\n };\n component.variantKeys = getVariantKeys();\n component.extend = extend;\n component.base = base;\n component.slots = slots;\n component.variants = variants;\n component.defaultVariants = defaultVariants;\n component.compoundSlots = compoundSlots;\n component.compoundVariants = compoundVariants;\n return component;\n };\n const createTV = (configProp) => {\n return (options, config) => tv(options, config ? mergeObjects(configProp, config) : configProp);\n };\n return {\n tv,\n createTV\n };\n};\n\nexport { defaultConfig, getTailwindVariants, state };\n","/**\n * Concatenates two arrays faster than the array spread operator.\n */\nconst concatArrays = (array1, array2) => {\n // Pre-allocate for better V8 optimization\n const combinedArray = new Array(array1.length + array2.length);\n for (let i = 0; i < array1.length; i++) {\n combinedArray[i] = array1[i];\n }\n for (let i = 0; i < array2.length; i++) {\n combinedArray[array1.length + i] = array2[i];\n }\n return combinedArray;\n};\n\n// Factory function ensures consistent object shapes\nconst createClassValidatorObject = (classGroupId, validator) => ({\n classGroupId,\n validator\n});\n// Factory ensures consistent ClassPartObject shape\nconst createClassPartObject = (nextPart = new Map(), validators = null, classGroupId) => ({\n nextPart,\n validators,\n classGroupId\n});\nconst CLASS_PART_SEPARATOR = '-';\nconst EMPTY_CONFLICTS = [];\n// I use two dots here because one dot is used as prefix for class groups in plugins\nconst ARBITRARY_PROPERTY_PREFIX = 'arbitrary..';\nconst createClassGroupUtils = config => {\n const classMap = createClassMap(config);\n const {\n conflictingClassGroups,\n conflictingClassGroupModifiers\n } = config;\n const getClassGroupId = className => {\n if (className.startsWith('[') && className.endsWith(']')) {\n return getGroupIdForArbitraryProperty(className);\n }\n const classParts = className.split(CLASS_PART_SEPARATOR);\n // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and skip it.\n const startIndex = classParts[0] === '' && classParts.length > 1 ? 1 : 0;\n return getGroupRecursive(classParts, startIndex, classMap);\n };\n const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {\n if (hasPostfixModifier) {\n const modifierConflicts = conflictingClassGroupModifiers[classGroupId];\n const baseConflicts = conflictingClassGroups[classGroupId];\n if (modifierConflicts) {\n if (baseConflicts) {\n // Merge base conflicts with modifier conflicts\n return concatArrays(baseConflicts, modifierConflicts);\n }\n // Only modifier conflicts\n return modifierConflicts;\n }\n // Fall back to without postfix if no modifier conflicts\n return baseConflicts || EMPTY_CONFLICTS;\n }\n return conflictingClassGroups[classGroupId] || EMPTY_CONFLICTS;\n };\n return {\n getClassGroupId,\n getConflictingClassGroupIds\n };\n};\nconst getGroupRecursive = (classParts, startIndex, classPartObject) => {\n const classPathsLength = classParts.length - startIndex;\n if (classPathsLength === 0) {\n return classPartObject.classGroupId;\n }\n const currentClassPart = classParts[startIndex];\n const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);\n if (nextClassPartObject) {\n const result = getGroupRecursive(classParts, startIndex + 1, nextClassPartObject);\n if (result) return result;\n }\n const validators = classPartObject.validators;\n if (validators === null) {\n return undefined;\n }\n // Build classRest string efficiently by joining from startIndex onwards\n const classRest = startIndex === 0 ? classParts.join(CLASS_PART_SEPARATOR) : classParts.slice(startIndex).join(CLASS_PART_SEPARATOR);\n const validatorsLength = validators.length;\n for (let i = 0; i < validatorsLength; i++) {\n const validatorObj = validators[i];\n if (validatorObj.validator(classRest)) {\n return validatorObj.classGroupId;\n }\n }\n return undefined;\n};\n/**\n * Get the class group ID for an arbitrary property.\n *\n * @param className - The class name to get the group ID for. Is expected to be string starting with `[` and ending with `]`.\n */\nconst getGroupIdForArbitraryProperty = className => className.slice(1, -1).indexOf(':') === -1 ? undefined : (() => {\n const content = className.slice(1, -1);\n const colonIndex = content.indexOf(':');\n const property = content.slice(0, colonIndex);\n return property ? ARBITRARY_PROPERTY_PREFIX + property : undefined;\n})();\n/**\n * Exported for testing only\n */\nconst createClassMap = config => {\n const {\n theme,\n classGroups\n } = config;\n return processClassGroups(classGroups, theme);\n};\n// Split into separate functions to maintain monomorphic call sites\nconst processClassGroups = (classGroups, theme) => {\n const classMap = createClassPartObject();\n for (const classGroupId in classGroups) {\n const group = classGroups[classGroupId];\n processClassesRecursively(group, classMap, classGroupId, theme);\n }\n return classMap;\n};\nconst processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {\n const len = classGroup.length;\n for (let i = 0; i < len; i++) {\n const classDefinition = classGroup[i];\n processClassDefinition(classDefinition, classPartObject, classGroupId, theme);\n }\n};\n// Split into separate functions for each type to maintain monomorphic call sites\nconst processClassDefinition = (classDefinition, classPartObject, classGroupId, theme) => {\n if (typeof classDefinition === 'string') {\n processStringDefinition(classDefinition, classPartObject, classGroupId);\n return;\n }\n if (typeof classDefinition === 'function') {\n processFunctionDefinition(classDefinition, classPartObject, classGroupId, theme);\n return;\n }\n processObjectDefinition(classDefinition, classPartObject, classGroupId, theme);\n};\nconst processStringDefinition = (classDefinition, classPartObject, classGroupId) => {\n const classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition);\n classPartObjectToEdit.classGroupId = classGroupId;\n};\nconst processFunctionDefinition = (classDefinition, classPartObject, classGroupId, theme) => {\n if (isThemeGetter(classDefinition)) {\n processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);\n return;\n }\n if (classPartObject.validators === null) {\n classPartObject.validators = [];\n }\n classPartObject.validators.push(createClassValidatorObject(classGroupId, classDefinition));\n};\nconst processObjectDefinition = (classDefinition, classPartObject, classGroupId, theme) => {\n const entries = Object.entries(classDefinition);\n const len = entries.length;\n for (let i = 0; i < len; i++) {\n const [key, value] = entries[i];\n processClassesRecursively(value, getPart(classPartObject, key), classGroupId, theme);\n }\n};\nconst getPart = (classPartObject, path) => {\n let current = classPartObject;\n const parts = path.split(CLASS_PART_SEPARATOR);\n const len = parts.length;\n for (let i = 0; i < len; i++) {\n const part = parts[i];\n let next = current.nextPart.get(part);\n if (!next) {\n next = createClassPartObject();\n current.nextPart.set(part, next);\n }\n current = next;\n }\n return current;\n};\n// Type guard maintains monomorphic check\nconst isThemeGetter = func => 'isThemeGetter' in func && func.isThemeGetter === true;\n\n// LRU cache implementation using plain objects for simplicity\nconst createLruCache = maxCacheSize => {\n if (maxCacheSize < 1) {\n return {\n get: () => undefined,\n set: () => {}\n };\n }\n let cacheSize = 0;\n let cache = Object.create(null);\n let previousCache = Object.create(null);\n const update = (key, value) => {\n cache[key] = value;\n cacheSize++;\n if (cacheSize > maxCacheSize) {\n cacheSize = 0;\n previousCache = cache;\n cache = Object.create(null);\n }\n };\n return {\n get(key) {\n let value = cache[key];\n if (value !== undefined) {\n return value;\n }\n if ((value = previousCache[key]) !== undefined) {\n update(key, value);\n return value;\n }\n },\n set(key, value) {\n if (key in cache) {\n cache[key] = value;\n } else {\n update(key, value);\n }\n }\n };\n};\nconst IMPORTANT_MODIFIER = '!';\nconst MODIFIER_SEPARATOR = ':';\nconst EMPTY_MODIFIERS = [];\n// Pre-allocated result object shape for consistency\nconst createResultObject = (modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition, isExternal) => ({\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition,\n isExternal\n});\nconst createParseClassName = config => {\n const {\n prefix,\n experimentalParseClassName\n } = config;\n /**\n * Parse class name into parts.\n *\n * Inspired by `splitAtTopLevelOnly` used in Tailwind CSS\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js\n */\n let parseClassName = className => {\n // Use simple array with push for better performance\n const modifiers = [];\n let bracketDepth = 0;\n let parenDepth = 0;\n let modifierStart = 0;\n let postfixModifierPosition;\n const len = className.length;\n for (let index = 0; index < len; index++) {\n const currentCharacter = className[index];\n if (bracketDepth === 0 && parenDepth === 0) {\n if (currentCharacter === MODIFIER_SEPARATOR) {\n modifiers.push(className.slice(modifierStart, index));\n modifierStart = index + 1;\n continue;\n }\n if (currentCharacter === '/') {\n postfixModifierPosition = index;\n continue;\n }\n }\n if (currentCharacter === '[') bracketDepth++;else if (currentCharacter === ']') bracketDepth--;else if (currentCharacter === '(') parenDepth++;else if (currentCharacter === ')') parenDepth--;\n }\n const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.slice(modifierStart);\n // Inline important modifier check\n let baseClassName = baseClassNameWithImportantModifier;\n let hasImportantModifier = false;\n if (baseClassNameWithImportantModifier.endsWith(IMPORTANT_MODIFIER)) {\n baseClassName = baseClassNameWithImportantModifier.slice(0, -1);\n hasImportantModifier = true;\n } else if (\n /**\n * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.\n * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864\n */\n baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER)) {\n baseClassName = baseClassNameWithImportantModifier.slice(1);\n hasImportantModifier = true;\n }\n const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : undefined;\n return createResultObject(modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition);\n };\n if (prefix) {\n const fullPrefix = prefix + MODIFIER_SEPARATOR;\n const parseClassNameOriginal = parseClassName;\n parseClassName = className => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.slice(fullPrefix.length)) : createResultObject(EMPTY_MODIFIERS, false, className, undefined, true);\n }\n if (experimentalParseClassName) {\n const parseClassNameOriginal = parseClassName;\n parseClassName = className => experimentalParseClassName({\n className,\n parseClassName: parseClassNameOriginal\n });\n }\n return parseClassName;\n};\n\n/**\n * Sorts modifiers according to following schema:\n * - Predefined modifiers are sorted alphabetically\n * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it\n */\nconst createSortModifiers = config => {\n // Pre-compute weights for all known modifiers for O(1) comparison\n const modifierWeights = new Map();\n // Assign weights to sensitive modifiers (highest priority, but preserve order)\n config.orderSensitiveModifiers.forEach((mod, index) => {\n modifierWeights.set(mod, 1000000 + index); // High weights for sensitive mods\n });\n return modifiers => {\n const result = [];\n let currentSegment = [];\n // Process modifiers in one pass\n for (let i = 0; i < modifiers.length; i++) {\n const modifier = modifiers[i];\n // Check if modifier is sensitive (starts with '[' or in orderSensitiveModifiers)\n const isArbitrary = modifier[0] === '[';\n const isOrderSensitive = modifierWeights.has(modifier);\n if (isArbitrary || isOrderSensitive) {\n // Sort and flush current segment alphabetically\n if (currentSegment.length > 0) {\n currentSegment.sort();\n result.push(...currentSegment);\n currentSegment = [];\n }\n result.push(modifier);\n } else {\n // Regular modifier - add to current segment for batch sorting\n currentSegment.push(modifier);\n }\n }\n // Sort and add any remaining segment items\n if (currentSegment.length > 0) {\n currentSegment.sort();\n result.push(...currentSegment);\n }\n return result;\n };\n};\nconst createConfigUtils = config => ({\n cache: createLruCache(config.cacheSize),\n parseClassName: createParseClassName(config),\n sortModifiers: createSortModifiers(config),\n ...createClassGroupUtils(config)\n});\nconst SPLIT_CLASSES_REGEX = /\\s+/;\nconst mergeClassList = (classList, configUtils) => {\n const {\n parseClassName,\n getClassGroupId,\n getConflictingClassGroupIds,\n sortModifiers\n } = configUtils;\n /**\n * Set of classGroupIds in following format:\n * `{importantModifier}{variantModifiers}{classGroupId}`\n * @example 'float'\n * @example 'hover:focus:bg-color'\n * @example 'md:!pr'\n */\n const classGroupsInConflict = [];\n const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);\n let result = '';\n for (let index = classNames.length - 1; index >= 0; index -= 1) {\n const originalClassName = classNames[index];\n const {\n isExternal,\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition\n } = parseClassName(originalClassName);\n if (isExternal) {\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n continue;\n }\n let hasPostfixModifier = !!maybePostfixModifierPosition;\n let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);\n if (!classGroupId) {\n if (!hasPostfixModifier) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n continue;\n }\n classGroupId = getClassGroupId(baseClassName);\n if (!classGroupId) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n continue;\n }\n hasPostfixModifier = false;\n }\n // Fast path: skip sorting for empty or single modifier\n const variantModifier = modifiers.length === 0 ? '' : modifiers.length === 1 ? modifiers[0] : sortModifiers(modifiers).join(':');\n const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;\n const classId = modifierId + classGroupId;\n if (classGroupsInConflict.indexOf(classId) > -1) {\n // Tailwind class omitted due to conflict\n continue;\n }\n classGroupsInConflict.push(classId);\n const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);\n for (let i = 0; i < conflictGroups.length; ++i) {\n const group = conflictGroups[i];\n classGroupsInConflict.push(modifierId + group);\n }\n // Tailwind class not in conflict\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n }\n return result;\n};\n\n/**\n * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.\n *\n * Specifically:\n * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js\n * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts\n *\n * Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)\n */\nconst twJoin = (...classLists) => {\n let index = 0;\n let argument;\n let resolvedValue;\n let string = '';\n while (index < classLists.length) {\n if (argument = classLists[index++]) {\n if (resolvedValue = toValue(argument)) {\n string && (string += ' ');\n string += resolvedValue;\n }\n }\n }\n return string;\n};\nconst toValue = mix => {\n // Fast path for strings\n if (typeof mix === 'string') {\n return mix;\n }\n let resolvedValue;\n let string = '';\n for (let k = 0; k < mix.length; k++) {\n if (mix[k]) {\n if (resolvedValue = toValue(mix[k])) {\n string && (string += ' ');\n string += resolvedValue;\n }\n }\n }\n return string;\n};\nconst createTailwindMerge = (createConfigFirst, ...createConfigRest) => {\n let configUtils;\n let cacheGet;\n let cacheSet;\n let functionToCall;\n const initTailwindMerge = classList => {\n const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());\n configUtils = createConfigUtils(config);\n cacheGet = configUtils.cache.get;\n cacheSet = configUtils.cache.set;\n functionToCall = tailwindMerge;\n return tailwindMerge(classList);\n };\n const tailwindMerge = classList => {\n const cachedResult = cacheGet(classList);\n if (cachedResult) {\n return cachedResult;\n }\n const result = mergeClassList(classList, configUtils);\n cacheSet(classList, result);\n return result;\n };\n functionToCall = initTailwindMerge;\n return (...args) => functionToCall(twJoin(...args));\n};\nconst fallbackThemeArr = [];\nconst fromTheme = key => {\n const themeGetter = theme => theme[key] || fallbackThemeArr;\n themeGetter.isThemeGetter = true;\n return themeGetter;\n};\nconst arbitraryValueRegex = /^\\[(?:(\\w[\\w-]*):)?(.+)\\]$/i;\nconst arbitraryVariableRegex = /^\\((?:(\\w[\\w-]*):)?(.+)\\)$/i;\nconst fractionRegex = /^\\d+\\/\\d+$/;\nconst tshirtUnitRegex = /^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/;\nconst lengthUnitRegex = /\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/;\nconst colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\\(.+\\)$/;\n// Shadow always begins with x and y offset separated by underscore optionally prepended by inset\nconst shadowRegex = /^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/;\nconst imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/;\nconst isFraction = value => fractionRegex.test(value);\nconst isNumber = value => !!value && !Number.isNaN(Number(value));\nconst isInteger = value => !!value && Number.isInteger(Number(value));\nconst isPercent = value => value.endsWith('%') && isNumber(value.slice(0, -1));\nconst isTshirtSize = value => tshirtUnitRegex.test(value);\nconst isAny = () => true;\nconst isLengthOnly = value =>\n// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.\n// For example, `hsl(0 0% 0%)` would be classified as a length without this check.\n// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.\nlengthUnitRegex.test(value) && !colorFunctionRegex.test(value);\nconst isNever = () => false;\nconst isShadow = value => shadowRegex.test(value);\nconst isImage = value => imageRegex.test(value);\nconst isAnyNonArbitrary = value => !isArbitraryValue(value) && !isArbitraryVariable(value);\nconst isArbitrarySize = value => getIsArbitraryValue(value, isLabelSize, isNever);\nconst isArbitraryValue = value => arbitraryValueRegex.test(value);\nconst isArbitraryLength = value => getIsArbitraryValue(value, isLabelLength, isLengthOnly);\nconst isArbitraryNumber = value => getIsArbitraryValue(value, isLabelNumber, isNumber);\nconst isArbitraryPosition = value => getIsArbitraryValue(value, isLabelPosition, isNever);\nconst isArbitraryImage = value => getIsArbitraryValue(value, isLabelImage, isImage);\nconst isArbitraryShadow = value => getIsArbitraryValue(value, isLabelShadow, isShadow);\nconst isArbitraryVariable = value => arbitraryVariableRegex.test(value);\nconst isArbitraryVariableLength = value => getIsArbitraryVariable(value, isLabelLength);\nconst isArbitraryVariableFamilyName = value => getIsArbitraryVariable(value, isLabelFamilyName);\nconst isArbitraryVariablePosition = value => getIsArbitraryVariable(value, isLabelPosition);\nconst isArbitraryVariableSize = value => getIsArbitraryVariable(value, isLabelSize);\nconst isArbitraryVariableImage = value => getIsArbitraryVariable(value, isLabelImage);\nconst isArbitraryVariableShadow = value => getIsArbitraryVariable(value, isLabelShadow, true);\n// Helpers\nconst getIsArbitraryValue = (value, testLabel, testValue) => {\n const result = arbitraryValueRegex.exec(value);\n if (result) {\n if (result[1]) {\n return testLabel(result[1]);\n }\n return testValue(result[2]);\n }\n return false;\n};\nconst getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {\n const result = arbitraryVariableRegex.exec(value);\n if (result) {\n if (result[1]) {\n return testLabel(result[1]);\n }\n return shouldMatchNoLabel;\n }\n return false;\n};\n// Labels\nconst isLabelPosition = label => label === 'position' || label === 'percentage';\nconst isLabelImage = label => label === 'image' || label === 'url';\nconst isLabelSize = label => label === 'length' || label === 'size' || label === 'bg-size';\nconst isLabelLength = label => label === 'length';\nconst isLabelNumber = label => label === 'number';\nconst isLabelFamilyName = label => label === 'family-name';\nconst isLabelShadow = label => label === 'shadow';\nconst validators = /*#__PURE__*/Object.defineProperty({\n __proto__: null,\n isAny,\n isAnyNonArbitrary,\n isArbitraryImage,\n isArbitraryLength,\n isArbitraryNumber,\n isArbitraryPosition,\n isArbitraryShadow,\n isArbitrarySize,\n isArbitraryValue,\n isArbitraryVariable,\n isArbitraryVariableFamilyName,\n isArbitraryVariableImage,\n isArbitraryVariableLength,\n isArbitraryVariablePosition,\n isArbitraryVariableShadow,\n isArbitraryVariableSize,\n isFraction,\n isInteger,\n isNumber,\n isPercent,\n isTshirtSize\n}, Symbol.toStringTag, {\n value: 'Module'\n});\nconst getDefaultConfig = () => {\n /**\n * Theme getters for theme variable namespaces\n * @see https://tailwindcss.com/docs/theme#theme-variable-namespaces\n */\n /***/\n const themeColor = fromTheme('color');\n const themeFont = fromTheme('font');\n const themeText = fromTheme('text');\n const themeFontWeight = fromTheme('font-weight');\n const themeTracking = fromTheme('tracking');\n const themeLeading = fromTheme('leading');\n const themeBreakpoint = fromTheme('breakpoint');\n const themeContainer = fromTheme('container');\n const themeSpacing = fromTheme('spacing');\n const themeRadius = fromTheme('radius');\n const themeShadow = fromTheme('shadow');\n const themeInsetShadow = fromTheme('inset-shadow');\n const themeTextShadow = fromTheme('text-shadow');\n const themeDropShadow = fromTheme('drop-shadow');\n const themeBlur = fromTheme('blur');\n const themePerspective = fromTheme('perspective');\n const themeAspect = fromTheme('aspect');\n const themeEase = fromTheme('ease');\n const themeAnimate = fromTheme('animate');\n /**\n * Helpers to avoid repeating the same scales\n *\n * We use functions that create a new array every time they're called instead of static arrays.\n * This ensures that users who modify any scale by mutating the array (e.g. with `array.push(element)`) don't accidentally mutate arrays in other parts of the config.\n */\n /***/\n const scaleBreak = () => ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'];\n const scalePosition = () => ['center', 'top', 'bottom', 'left', 'right', 'top-left',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'left-top', 'top-right',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'right-top', 'bottom-right',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'right-bottom', 'bottom-left',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'left-bottom'];\n const scalePositionWithArbitrary = () => [...scalePosition(), isArbitraryVariable, isArbitraryValue];\n const scaleOverflow = () => ['auto', 'hidden', 'clip', 'visible', 'scroll'];\n const scaleOverscroll = () => ['auto', 'contain', 'none'];\n const scaleUnambiguousSpacing = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];\n const scaleInset = () => [isFraction, 'full', 'auto', ...scaleUnambiguousSpacing()];\n const scaleGridTemplateColsRows = () => [isInteger, 'none', 'subgrid', isArbitraryVariable, isArbitraryValue];\n const scaleGridColRowStartAndEnd = () => ['auto', {\n span: ['full', isInteger, isArbitraryVariable, isArbitraryValue]\n }, isInteger, isArbitraryVariable, isArbitraryValue];\n const scaleGridColRowStartOrEnd = () => [isInteger, 'auto', isArbitraryVariable, isArbitraryValue];\n const scaleGridAutoColsRows = () => ['auto', 'min', 'max', 'fr', isArbitraryVariable, isArbitraryValue];\n const scaleAlignPrimaryAxis = () => ['start', 'end', 'center', 'between', 'around', 'evenly', 'stretch', 'baseline', 'center-safe', 'end-safe'];\n const scaleAlignSecondaryAxis = () => ['start', 'end', 'center', 'stretch', 'center-safe', 'end-safe'];\n const scaleMargin = () => ['auto', ...scaleUnambiguousSpacing()];\n const scaleSizing = () => [isFraction, 'auto', 'full', 'dvw', 'dvh', 'lvw', 'lvh', 'svw', 'svh', 'min', 'max', 'fit', ...scaleUnambiguousSpacing()];\n const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue];\n const scaleBgPosition = () => [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition, {\n position: [isArbitraryVariable, isArbitraryValue]\n }];\n const scaleBgRepeat = () => ['no-repeat', {\n repeat: ['', 'x', 'y', 'space', 'round']\n }];\n const scaleBgSize = () => ['auto', 'cover', 'contain', isArbitraryVariableSize, isArbitrarySize, {\n size: [isArbitraryVariable, isArbitraryValue]\n }];\n const scaleGradientStopPosition = () => [isPercent, isArbitraryVariableLength, isArbitraryLength];\n const scaleRadius = () => [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', 'full', themeRadius, isArbitraryVariable, isArbitraryValue];\n const scaleBorderWidth = () => ['', isNumber, isArbitraryVariableLength, isArbitraryLength];\n const scaleLineStyle = () => ['solid', 'dashed', 'dotted', 'double'];\n const scaleBlendMode = () => ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity'];\n const scaleMaskImagePosition = () => [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition];\n const scaleBlur = () => [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', themeBlur, isArbitraryVariable, isArbitraryValue];\n const scaleRotate = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleScale = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleTranslate = () => [isFraction, 'full', ...scaleUnambiguousSpacing()];\n return {\n cacheSize: 500,\n theme: {\n animate: ['spin', 'ping', 'pulse', 'bounce'],\n aspect: ['video'],\n blur: [isTshirtSize],\n breakpoint: [isTshirtSize],\n color: [isAny],\n container: [isTshirtSize],\n 'drop-shadow': [isTshirtSize],\n ease: ['in', 'out', 'in-out'],\n font: [isAnyNonArbitrary],\n 'font-weight': ['thin', 'extralight', 'light', 'normal', 'medium', 'semibold', 'bold', 'extrabold', 'black'],\n 'inset-shadow': [isTshirtSize],\n leading: ['none', 'tight', 'snug', 'normal', 'relaxed', 'loose'],\n perspective: ['dramatic', 'near', 'normal', 'midrange', 'distant', 'none'],\n radius: [isTshirtSize],\n shadow: [isTshirtSize],\n spacing: ['px', isNumber],\n text: [isTshirtSize],\n 'text-shadow': [isTshirtSize],\n tracking: ['tighter', 'tight', 'normal', 'wide', 'wider', 'widest']\n },\n classGroups: {\n // --------------\n // --- Layout ---\n // --------------\n /**\n * Aspect Ratio\n * @see https://tailwindcss.com/docs/aspect-ratio\n */\n aspect: [{\n aspect: ['auto', 'square', isFraction, isArbitraryValue, isArbitraryVariable, themeAspect]\n }],\n /**\n * Container\n * @see https://tailwindcss.com/docs/container\n * @deprecated since Tailwind CSS v4.0.0\n */\n container: ['container'],\n /**\n * Columns\n * @see https://tailwindcss.com/docs/columns\n */\n columns: [{\n columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer]\n }],\n /**\n * Break After\n * @see https://tailwindcss.com/docs/break-after\n */\n 'break-after': [{\n 'break-after': scaleBreak()\n }],\n /**\n * Break Before\n * @see https://tailwindcss.com/docs/break-before\n */\n 'break-before': [{\n 'break-before': scaleBreak()\n }],\n /**\n * Break Inside\n * @see https://tailwindcss.com/docs/break-inside\n */\n 'break-inside': [{\n 'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column']\n }],\n /**\n * Box Decoration Break\n * @see https://tailwindcss.com/docs/box-decoration-break\n */\n 'box-decoration': [{\n 'box-decoration': ['slice', 'clone']\n }],\n /**\n * Box Sizing\n * @see https://tailwindcss.com/docs/box-sizing\n */\n box: [{\n box: ['border', 'content']\n }],\n /**\n * Display\n * @see https://tailwindcss.com/docs/display\n */\n display: ['block', 'inline-block', 'inline', 'flex', 'inline-flex', 'table', 'inline-table', 'table-caption', 'table-cell', 'table-column', 'table-column-group', 'table-footer-group', 'table-header-group', 'table-row-group', 'table-row', 'flow-root', 'grid', 'inline-grid', 'contents', 'list-item', 'hidden'],\n /**\n * Screen Reader Only\n * @see https://tailwindcss.com/docs/display#screen-reader-only\n */\n sr: ['sr-only', 'not-sr-only'],\n /**\n * Floats\n * @see https://tailwindcss.com/docs/float\n */\n float: [{\n float: ['right', 'left', 'none', 'start', 'end']\n }],\n /**\n * Clear\n * @see https://tailwindcss.com/docs/clear\n */\n clear: [{\n clear: ['left', 'right', 'both', 'none', 'start', 'end']\n }],\n /**\n * Isolation\n * @see https://tailwindcss.com/docs/isolation\n */\n isolation: ['isolate', 'isolation-auto'],\n /**\n * Object Fit\n * @see https://tailwindcss.com/docs/object-fit\n */\n 'object-fit': [{\n object: ['contain', 'cover', 'fill', 'none', 'scale-down']\n }],\n /**\n * Object Position\n * @see https://tailwindcss.com/docs/object-position\n */\n 'object-position': [{\n object: scalePositionWithArbitrary()\n }],\n /**\n * Overflow\n * @see https://tailwindcss.com/docs/overflow\n */\n overflow: [{\n overflow: scaleOverflow()\n }],\n /**\n * Overflow X\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-x': [{\n 'overflow-x': scaleOverflow()\n }],\n /**\n * Overflow Y\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-y': [{\n 'overflow-y': scaleOverflow()\n }],\n /**\n * Overscroll Behavior\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n overscroll: [{\n overscroll: scaleOverscroll()\n }],\n /**\n * Overscroll Behavior X\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-x': [{\n 'overscroll-x': scaleOverscroll()\n }],\n /**\n * Overscroll Behavior Y\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-y': [{\n 'overscroll-y': scaleOverscroll()\n }],\n /**\n * Position\n * @see https://tailwindcss.com/docs/position\n */\n position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],\n /**\n * Top / Right / Bottom / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n inset: [{\n inset: scaleInset()\n }],\n /**\n * Right / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-x': [{\n 'inset-x': scaleInset()\n }],\n /**\n * Top / Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-y': [{\n 'inset-y': scaleInset()\n }],\n /**\n * Start\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n start: [{\n start: scaleInset()\n }],\n /**\n * End\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n end: [{\n end: scaleInset()\n }],\n /**\n * Top\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n top: [{\n top: scaleInset()\n }],\n /**\n * Right\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n right: [{\n right: scaleInset()\n }],\n /**\n * Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n bottom: [{\n bottom: scaleInset()\n }],\n /**\n * Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n left: [{\n left: scaleInset()\n }],\n /**\n * Visibility\n * @see https://tailwindcss.com/docs/visibility\n */\n visibility: ['visible', 'invisible', 'collapse'],\n /**\n * Z-Index\n * @see https://tailwindcss.com/docs/z-index\n */\n z: [{\n z: [isInteger, 'auto', isArbitraryVariable, isArbitraryValue]\n }],\n // ------------------------\n // --- Flexbox and Grid ---\n // ------------------------\n /**\n * Flex Basis\n * @see https://tailwindcss.com/docs/flex-basis\n */\n basis: [{\n basis: [isFraction, 'full', 'auto', themeContainer, ...scaleUnambiguousSpacing()]\n }],\n /**\n * Flex Direction\n * @see https://tailwindcss.com/docs/flex-direction\n */\n 'flex-direction': [{\n flex: ['row', 'row-reverse', 'col', 'col-reverse']\n }],\n /**\n * Flex Wrap\n * @see https://tailwindcss.com/docs/flex-wrap\n */\n 'flex-wrap': [{\n flex: ['nowrap', 'wrap', 'wrap-reverse']\n }],\n /**\n * Flex\n * @see https://tailwindcss.com/docs/flex\n */\n flex: [{\n flex: [isNumber, isFraction, 'auto', 'initial', 'none', isArbitraryValue]\n }],\n /**\n * Flex Grow\n * @see https://tailwindcss.com/docs/flex-grow\n */\n grow: [{\n grow: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Flex Shrink\n * @see https://tailwindcss.com/docs/flex-shrink\n */\n shrink: [{\n shrink: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Order\n * @see https://tailwindcss.com/docs/order\n */\n order: [{\n order: [isInteger, 'first', 'last', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Grid Template Columns\n * @see https://tailwindcss.com/docs/grid-template-columns\n */\n 'grid-cols': [{\n 'grid-cols': scaleGridTemplateColsRows()\n }],\n /**\n * Grid Column Start / End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start-end': [{\n col: scaleGridColRowStartAndEnd()\n }],\n /**\n * Grid Column Start\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start': [{\n 'col-start': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Column End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-end': [{\n 'col-end': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Template Rows\n * @see https://tailwindcss.com/docs/grid-template-rows\n */\n 'grid-rows': [{\n 'grid-rows': scaleGridTemplateColsRows()\n }],\n /**\n * Grid Row Start / End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start-end': [{\n row: scaleGridColRowStartAndEnd()\n }],\n /**\n * Grid Row Start\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start': [{\n 'row-start': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Row End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-end': [{\n 'row-end': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Auto Flow\n * @see https://tailwindcss.com/docs/grid-auto-flow\n */\n 'grid-flow': [{\n 'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense']\n }],\n /**\n * Grid Auto Columns\n * @see https://tailwindcss.com/docs/grid-auto-columns\n */\n 'auto-cols': [{\n 'auto-cols': scaleGridAutoColsRows()\n }],\n /**\n * Grid Auto Rows\n * @see https://tailwindcss.com/docs/grid-auto-rows\n */\n 'auto-rows': [{\n 'auto-rows': scaleGridAutoColsRows()\n }],\n /**\n * Gap\n * @see https://tailwindcss.com/docs/gap\n */\n gap: [{\n gap: scaleUnambiguousSpacing()\n }],\n /**\n * Gap X\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-x': [{\n 'gap-x': scaleUnambiguousSpacing()\n }],\n /**\n * Gap Y\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-y': [{\n 'gap-y': scaleUnambiguousSpacing()\n }],\n /**\n * Justify Content\n * @see https://tailwindcss.com/docs/justify-content\n */\n 'justify-content': [{\n justify: [...scaleAlignPrimaryAxis(), 'normal']\n }],\n /**\n * Justify Items\n * @see https://tailwindcss.com/docs/justify-items\n */\n 'justify-items': [{\n 'justify-items': [...scaleAlignSecondaryAxis(), 'normal']\n }],\n /**\n * Justify Self\n * @see https://tailwindcss.com/docs/justify-self\n */\n 'justify-self': [{\n 'justify-self': ['auto', ...scaleAlignSecondaryAxis()]\n }],\n /**\n * Align Content\n * @see https://tailwindcss.com/docs/align-content\n */\n 'align-content': [{\n content: ['normal', ...scaleAlignPrimaryAxis()]\n }],\n /**\n * Align Items\n * @see https://tailwindcss.com/docs/align-items\n */\n 'align-items': [{\n items: [...scaleAlignSecondaryAxis(), {\n baseline: ['', 'last']\n }]\n }],\n /**\n * Align Self\n * @see https://tailwindcss.com/docs/align-self\n */\n 'align-self': [{\n self: ['auto', ...scaleAlignSecondaryAxis(), {\n baseline: ['', 'last']\n }]\n }],\n /**\n * Place Content\n * @see https://tailwindcss.com/docs/place-content\n */\n 'place-content': [{\n 'place-content': scaleAlignPrimaryAxis()\n }],\n /**\n * Place Items\n * @see https://tailwindcss.com/docs/place-items\n */\n 'place-items': [{\n 'place-items': [...scaleAlignSecondaryAxis(), 'baseline']\n }],\n /**\n * Place Self\n * @see https://tailwindcss.com/docs/place-self\n */\n 'place-self': [{\n 'place-self': ['auto', ...scaleAlignSecondaryAxis()]\n }],\n // Spacing\n /**\n * Padding\n * @see https://tailwindcss.com/docs/padding\n */\n p: [{\n p: scaleUnambiguousSpacing()\n }],\n /**\n * Padding X\n * @see https://tailwindcss.com/docs/padding\n */\n px: [{\n px: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Y\n * @see https://tailwindcss.com/docs/padding\n */\n py: [{\n py: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Start\n * @see https://tailwindcss.com/docs/padding\n */\n ps: [{\n ps: scaleUnambiguousSpacing()\n }],\n /**\n * Padding End\n * @see https://tailwindcss.com/docs/padding\n */\n pe: [{\n pe: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Top\n * @see https://tailwindcss.com/docs/padding\n */\n pt: [{\n pt: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Right\n * @see https://tailwindcss.com/docs/padding\n */\n pr: [{\n pr: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Bottom\n * @see https://tailwindcss.com/docs/padding\n */\n pb: [{\n pb: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Left\n * @see https://tailwindcss.com/docs/padding\n */\n pl: [{\n pl: scaleUnambiguousSpacing()\n }],\n /**\n * Margin\n * @see https://tailwindcss.com/docs/margin\n */\n m: [{\n m: scaleMargin()\n }],\n /**\n * Margin X\n * @see https://tailwindcss.com/docs/margin\n */\n mx: [{\n mx: scaleMargin()\n }],\n /**\n * Margin Y\n * @see https://tailwindcss.com/docs/margin\n */\n my: [{\n my: scaleMargin()\n }],\n /**\n * Margin Start\n * @see https://tailwindcss.com/docs/margin\n */\n ms: [{\n ms: scaleMargin()\n }],\n /**\n * Margin End\n * @see https://tailwindcss.com/docs/margin\n */\n me: [{\n me: scaleMargin()\n }],\n /**\n * Margin Top\n * @see https://tailwindcss.com/docs/margin\n */\n mt: [{\n mt: scaleMargin()\n }],\n /**\n * Margin Right\n * @see https://tailwindcss.com/docs/margin\n */\n mr: [{\n mr: scaleMargin()\n }],\n /**\n * Margin Bottom\n * @see https://tailwindcss.com/docs/margin\n */\n mb: [{\n mb: scaleMargin()\n }],\n /**\n * Margin Left\n * @see https://tailwindcss.com/docs/margin\n */\n ml: [{\n ml: scaleMargin()\n }],\n /**\n * Space Between X\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-x': [{\n 'space-x': scaleUnambiguousSpacing()\n }],\n /**\n * Space Between X Reverse\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-x-reverse': ['space-x-reverse'],\n /**\n * Space Between Y\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-y': [{\n 'space-y': scaleUnambiguousSpacing()\n }],\n /**\n * Space Between Y Reverse\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-y-reverse': ['space-y-reverse'],\n // --------------\n // --- Sizing ---\n // --------------\n /**\n * Size\n * @see https://tailwindcss.com/docs/width#setting-both-width-and-height\n */\n size: [{\n size: scaleSizing()\n }],\n /**\n * Width\n * @see https://tailwindcss.com/docs/width\n */\n w: [{\n w: [themeContainer, 'screen', ...scaleSizing()]\n }],\n /**\n * Min-Width\n * @see https://tailwindcss.com/docs/min-width\n */\n 'min-w': [{\n 'min-w': [themeContainer, 'screen', /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n 'none', ...scaleSizing()]\n }],\n /**\n * Max-Width\n * @see https://tailwindcss.com/docs/max-width\n */\n 'max-w': [{\n 'max-w': [themeContainer, 'screen', 'none', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n 'prose', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n {\n screen: [themeBreakpoint]\n }, ...scaleSizing()]\n }],\n /**\n * Height\n * @see https://tailwindcss.com/docs/height\n */\n h: [{\n h: ['screen', 'lh', ...scaleSizing()]\n }],\n /**\n * Min-Height\n * @see https://tailwindcss.com/docs/min-height\n */\n 'min-h': [{\n 'min-h': ['screen', 'lh', 'none', ...scaleSizing()]\n }],\n /**\n * Max-Height\n * @see https://tailwindcss.com/docs/max-height\n */\n 'max-h': [{\n 'max-h': ['screen', 'lh', ...scaleSizing()]\n }],\n // ------------------\n // --- Typography ---\n // ------------------\n /**\n * Font Size\n * @see https://tailwindcss.com/docs/font-size\n */\n 'font-size': [{\n text: ['base', themeText, isArbitraryVariableLength, isArbitraryLength]\n }],\n /**\n * Font Smoothing\n * @see https://tailwindcss.com/docs/font-smoothing\n */\n 'font-smoothing': ['antialiased', 'subpixel-antialiased'],\n /**\n * Font Style\n * @see https://tailwindcss.com/docs/font-style\n */\n 'font-style': ['italic', 'not-italic'],\n /**\n * Font Weight\n * @see https://tailwindcss.com/docs/font-weight\n */\n 'font-weight': [{\n font: [themeFontWeight, isArbitraryVariable, isArbitraryNumber]\n }],\n /**\n * Font Stretch\n * @see https://tailwindcss.com/docs/font-stretch\n */\n 'font-stretch': [{\n 'font-stretch': ['ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded', isPercent, isArbitraryValue]\n }],\n /**\n * Font Family\n * @see https://tailwindcss.com/docs/font-family\n */\n 'font-family': [{\n font: [isArbitraryVariableFamilyName, isArbitraryValue, themeFont]\n }],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-normal': ['normal-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-ordinal': ['ordinal'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-slashed-zero': ['slashed-zero'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-figure': ['lining-nums', 'oldstyle-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-spacing': ['proportional-nums', 'tabular-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-fraction': ['diagonal-fractions', 'stacked-fractions'],\n /**\n * Letter Spacing\n * @see https://tailwindcss.com/docs/letter-spacing\n */\n tracking: [{\n tracking: [themeTracking, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Line Clamp\n * @see https://tailwindcss.com/docs/line-clamp\n */\n 'line-clamp': [{\n 'line-clamp': [isNumber, 'none', isArbitraryVariable, isArbitraryNumber]\n }],\n /**\n * Line Height\n * @see https://tailwindcss.com/docs/line-height\n */\n leading: [{\n leading: [/** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n themeLeading, ...scaleUnambiguousSpacing()]\n }],\n /**\n * List Style Image\n * @see https://tailwindcss.com/docs/list-style-image\n */\n 'list-image': [{\n 'list-image': ['none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * List Style Position\n * @see https://tailwindcss.com/docs/list-style-position\n */\n 'list-style-position': [{\n list: ['inside', 'outside']\n }],\n /**\n * List Style Type\n * @see https://tailwindcss.com/docs/list-style-type\n */\n 'list-style-type': [{\n list: ['disc', 'decimal', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Text Alignment\n * @see https://tailwindcss.com/docs/text-align\n */\n 'text-alignment': [{\n text: ['left', 'center', 'right', 'justify', 'start', 'end']\n }],\n /**\n * Placeholder Color\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://v3.tailwindcss.com/docs/placeholder-color\n */\n 'placeholder-color': [{\n placeholder: scaleColor()\n }],\n /**\n * Text Color\n * @see https://tailwindcss.com/docs/text-color\n */\n 'text-color': [{\n text: scaleColor()\n }],\n /**\n * Text Decoration\n * @see https://tailwindcss.com/docs/text-decoration\n */\n 'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],\n /**\n * Text Decoration Style\n * @see https://tailwindcss.com/docs/text-decoration-style\n */\n 'text-decoration-style': [{\n decoration: [...scaleLineStyle(), 'wavy']\n }],\n /**\n * Text Decoration Thickness\n * @see https://tailwindcss.com/docs/text-decoration-thickness\n */\n 'text-decoration-thickness': [{\n decoration: [isNumber, 'from-font', 'auto', isArbitraryVariable, isArbitraryLength]\n }],\n /**\n * Text Decoration Color\n * @see https://tailwindcss.com/docs/text-decoration-color\n */\n 'text-decoration-color': [{\n decoration: scaleColor()\n }],\n /**\n * Text Underline Offset\n * @see https://tailwindcss.com/docs/text-underline-offset\n */\n 'underline-offset': [{\n 'underline-offset': [isNumber, 'auto', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Text Transform\n * @see https://tailwindcss.com/docs/text-transform\n */\n 'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],\n /**\n * Text Overflow\n * @see https://tailwindcss.com/docs/text-overflow\n */\n 'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],\n /**\n * Text Wrap\n * @see https://tailwindcss.com/docs/text-wrap\n */\n 'text-wrap': [{\n text: ['wrap', 'nowrap', 'balance', 'pretty']\n }],\n /**\n * Text Indent\n * @see https://tailwindcss.com/docs/text-indent\n */\n indent: [{\n indent: scaleUnambiguousSpacing()\n }],\n /**\n * Vertical Alignment\n * @see https://tailwindcss.com/docs/vertical-align\n */\n 'vertical-align': [{\n align: ['baseline', 'top', 'middle', 'bottom', 'text-top', 'text-bottom', 'sub', 'super', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Whitespace\n * @see https://tailwindcss.com/docs/whitespace\n */\n whitespace: [{\n whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces']\n }],\n /**\n * Word Break\n * @see https://tailwindcss.com/docs/word-break\n */\n break: [{\n break: ['normal', 'words', 'all', 'keep']\n }],\n /**\n * Overflow Wrap\n * @see https://tailwindcss.com/docs/overflow-wrap\n */\n wrap: [{\n wrap: ['break-word', 'anywhere', 'normal']\n }],\n /**\n * Hyphens\n * @see https://tailwindcss.com/docs/hyphens\n */\n hyphens: [{\n hyphens: ['none', 'manual', 'auto']\n }],\n /**\n * Content\n * @see https://tailwindcss.com/docs/content\n */\n content: [{\n content: ['none', isArbitraryVariable, isArbitraryValue]\n }],\n // -------------------\n // --- Backgrounds ---\n // -------------------\n /**\n * Background Attachment\n * @see https://tailwindcss.com/docs/background-attachment\n */\n 'bg-attachment': [{\n bg: ['fixed', 'local', 'scroll']\n }],\n /**\n * Background Clip\n * @see https://tailwindcss.com/docs/background-clip\n */\n 'bg-clip': [{\n 'bg-clip': ['border', 'padding', 'content', 'text']\n }],\n /**\n * Background Origin\n * @see https://tailwindcss.com/docs/background-origin\n */\n 'bg-origin': [{\n 'bg-origin': ['border', 'padding', 'content']\n }],\n /**\n * Background Position\n * @see https://tailwindcss.com/docs/background-position\n */\n 'bg-position': [{\n bg: scaleBgPosition()\n }],\n /**\n * Background Repeat\n * @see https://tailwindcss.com/docs/background-repeat\n */\n 'bg-repeat': [{\n bg: scaleBgRepeat()\n }],\n /**\n * Background Size\n * @see https://tailwindcss.com/docs/background-size\n */\n 'bg-size': [{\n bg: scaleBgSize()\n }],\n /**\n * Background Image\n * @see https://tailwindcss.com/docs/background-image\n */\n 'bg-image': [{\n bg: ['none', {\n linear: [{\n to: ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl']\n }, isInteger, isArbitraryVariable, isArbitraryValue],\n radial: ['', isArbitraryVariable, isArbitraryValue],\n conic: [isInteger, isArbitraryVariable, isArbitraryValue]\n }, isArbitraryVariableImage, isArbitraryImage]\n }],\n /**\n * Background Color\n * @see https://tailwindcss.com/docs/background-color\n */\n 'bg-color': [{\n bg: scaleColor()\n }],\n /**\n * Gradient Color Stops From Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from-pos': [{\n from: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops Via Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via-pos': [{\n via: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops To Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to-pos': [{\n to: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops From\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from': [{\n from: scaleColor()\n }],\n /**\n * Gradient Color Stops Via\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via': [{\n via: scaleColor()\n }],\n /**\n * Gradient Color Stops To\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to': [{\n to: scaleColor()\n }],\n // ---------------\n // --- Borders ---\n // ---------------\n /**\n * Border Radius\n * @see https://tailwindcss.com/docs/border-radius\n */\n rounded: [{\n rounded: scaleRadius()\n }],\n /**\n * Border Radius Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-s': [{\n 'rounded-s': scaleRadius()\n }],\n /**\n * Border Radius End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-e': [{\n 'rounded-e': scaleRadius()\n }],\n /**\n * Border Radius Top\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-t': [{\n 'rounded-t': scaleRadius()\n }],\n /**\n * Border Radius Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-r': [{\n 'rounded-r': scaleRadius()\n }],\n /**\n * Border Radius Bottom\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-b': [{\n 'rounded-b': scaleRadius()\n }],\n /**\n * Border Radius Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-l': [{\n 'rounded-l': scaleRadius()\n }],\n /**\n * Border Radius Start Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ss': [{\n 'rounded-ss': scaleRadius()\n }],\n /**\n * Border Radius Start End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-se': [{\n 'rounded-se': scaleRadius()\n }],\n /**\n * Border Radius End End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ee': [{\n 'rounded-ee': scaleRadius()\n }],\n /**\n * Border Radius End Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-es': [{\n 'rounded-es': scaleRadius()\n }],\n /**\n * Border Radius Top Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tl': [{\n 'rounded-tl': scaleRadius()\n }],\n /**\n * Border Radius Top Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tr': [{\n 'rounded-tr': scaleRadius()\n }],\n /**\n * Border Radius Bottom Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-br': [{\n 'rounded-br': scaleRadius()\n }],\n /**\n * Border Radius Bottom Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-bl': [{\n 'rounded-bl': scaleRadius()\n }],\n /**\n * Border Width\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w': [{\n border: scaleBorderWidth()\n }],\n /**\n * Border Width X\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-x': [{\n 'border-x': scaleBorderWidth()\n }],\n /**\n * Border Width Y\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-y': [{\n 'border-y': scaleBorderWidth()\n }],\n /**\n * Border Width Start\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-s': [{\n 'border-s': scaleBorderWidth()\n }],\n /**\n * Border Width End\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-e': [{\n 'border-e': scaleBorderWidth()\n }],\n /**\n * Border Width Top\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-t': [{\n 'border-t': scaleBorderWidth()\n }],\n /**\n * Border Width Right\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-r': [{\n 'border-r': scaleBorderWidth()\n }],\n /**\n * Border Width Bottom\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-b': [{\n 'border-b': scaleBorderWidth()\n }],\n /**\n * Border Width Left\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-l': [{\n 'border-l': scaleBorderWidth()\n }],\n /**\n * Divide Width X\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-x': [{\n 'divide-x': scaleBorderWidth()\n }],\n /**\n * Divide Width X Reverse\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-x-reverse': ['divide-x-reverse'],\n /**\n * Divide Width Y\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-y': [{\n 'divide-y': scaleBorderWidth()\n }],\n /**\n * Divide Width Y Reverse\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-y-reverse': ['divide-y-reverse'],\n /**\n * Border Style\n * @see https://tailwindcss.com/docs/border-style\n */\n 'border-style': [{\n border: [...scaleLineStyle(), 'hidden', 'none']\n }],\n /**\n * Divide Style\n * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style\n */\n 'divide-style': [{\n divide: [...scaleLineStyle(), 'hidden', 'none']\n }],\n /**\n * Border Color\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color': [{\n border: scaleColor()\n }],\n /**\n * Border Color X\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-x': [{\n 'border-x': scaleColor()\n }],\n /**\n * Border Color Y\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-y': [{\n 'border-y': scaleColor()\n }],\n /**\n * Border Color S\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-s': [{\n 'border-s': scaleColor()\n }],\n /**\n * Border Color E\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-e': [{\n 'border-e': scaleColor()\n }],\n /**\n * Border Color Top\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-t': [{\n 'border-t': scaleColor()\n }],\n /**\n * Border Color Right\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-r': [{\n 'border-r': scaleColor()\n }],\n /**\n * Border Color Bottom\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-b': [{\n 'border-b': scaleColor()\n }],\n /**\n * Border Color Left\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-l': [{\n 'border-l': scaleColor()\n }],\n /**\n * Divide Color\n * @see https://tailwindcss.com/docs/divide-color\n */\n 'divide-color': [{\n divide: scaleColor()\n }],\n /**\n * Outline Style\n * @see https://tailwindcss.com/docs/outline-style\n */\n 'outline-style': [{\n outline: [...scaleLineStyle(), 'none', 'hidden']\n }],\n /**\n * Outline Offset\n * @see https://tailwindcss.com/docs/outline-offset\n */\n 'outline-offset': [{\n 'outline-offset': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Outline Width\n * @see https://tailwindcss.com/docs/outline-width\n */\n 'outline-w': [{\n outline: ['', isNumber, isArbitraryVariableLength, isArbitraryLength]\n }],\n /**\n * Outline Color\n * @see https://tailwindcss.com/docs/outline-color\n */\n 'outline-color': [{\n outline: scaleColor()\n }],\n // ---------------\n // --- Effects ---\n // ---------------\n /**\n * Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow\n */\n shadow: [{\n shadow: [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', themeShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color\n */\n 'shadow-color': [{\n shadow: scaleColor()\n }],\n /**\n * Inset Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow\n */\n 'inset-shadow': [{\n 'inset-shadow': ['none', themeInsetShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Inset Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color\n */\n 'inset-shadow-color': [{\n 'inset-shadow': scaleColor()\n }],\n /**\n * Ring Width\n * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring\n */\n 'ring-w': [{\n ring: scaleBorderWidth()\n }],\n /**\n * Ring Width Inset\n * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-w-inset': ['ring-inset'],\n /**\n * Ring Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color\n */\n 'ring-color': [{\n ring: scaleColor()\n }],\n /**\n * Ring Offset Width\n * @see https://v3.tailwindcss.com/docs/ring-offset-width\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-offset-w': [{\n 'ring-offset': [isNumber, isArbitraryLength]\n }],\n /**\n * Ring Offset Color\n * @see https://v3.tailwindcss.com/docs/ring-offset-color\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-offset-color': [{\n 'ring-offset': scaleColor()\n }],\n /**\n * Inset Ring Width\n * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring\n */\n 'inset-ring-w': [{\n 'inset-ring': scaleBorderWidth()\n }],\n /**\n * Inset Ring Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color\n */\n 'inset-ring-color': [{\n 'inset-ring': scaleColor()\n }],\n /**\n * Text Shadow\n * @see https://tailwindcss.com/docs/text-shadow\n */\n 'text-shadow': [{\n 'text-shadow': ['none', themeTextShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Text Shadow Color\n * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color\n */\n 'text-shadow-color': [{\n 'text-shadow': scaleColor()\n }],\n /**\n * Opacity\n * @see https://tailwindcss.com/docs/opacity\n */\n opacity: [{\n opacity: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Mix Blend Mode\n * @see https://tailwindcss.com/docs/mix-blend-mode\n */\n 'mix-blend': [{\n 'mix-blend': [...scaleBlendMode(), 'plus-darker', 'plus-lighter']\n }],\n /**\n * Background Blend Mode\n * @see https://tailwindcss.com/docs/background-blend-mode\n */\n 'bg-blend': [{\n 'bg-blend': scaleBlendMode()\n }],\n /**\n * Mask Clip\n * @see https://tailwindcss.com/docs/mask-clip\n */\n 'mask-clip': [{\n 'mask-clip': ['border', 'padding', 'content', 'fill', 'stroke', 'view']\n }, 'mask-no-clip'],\n /**\n * Mask Composite\n * @see https://tailwindcss.com/docs/mask-composite\n */\n 'mask-composite': [{\n mask: ['add', 'subtract', 'intersect', 'exclude']\n }],\n /**\n * Mask Image\n * @see https://tailwindcss.com/docs/mask-image\n */\n 'mask-image-linear-pos': [{\n 'mask-linear': [isNumber]\n }],\n 'mask-image-linear-from-pos': [{\n 'mask-linear-from': scaleMaskImagePosition()\n }],\n 'mask-image-linear-to-pos': [{\n 'mask-linear-to': scaleMaskImagePosition()\n }],\n 'mask-image-linear-from-color': [{\n 'mask-linear-from': scaleColor()\n }],\n 'mask-image-linear-to-color': [{\n 'mask-linear-to': scaleColor()\n }],\n 'mask-image-t-from-pos': [{\n 'mask-t-from': scaleMaskImagePosition()\n }],\n 'mask-image-t-to-pos': [{\n 'mask-t-to': scaleMaskImagePosition()\n }],\n 'mask-image-t-from-color': [{\n 'mask-t-from': scaleColor()\n }],\n 'mask-image-t-to-color': [{\n 'mask-t-to': scaleColor()\n }],\n 'mask-image-r-from-pos': [{\n 'mask-r-from': scaleMaskImagePosition()\n }],\n 'mask-image-r-to-pos': [{\n 'mask-r-to': scaleMaskImagePosition()\n }],\n 'mask-image-r-from-color': [{\n 'mask-r-from': scaleColor()\n }],\n 'mask-image-r-to-color': [{\n 'mask-r-to': scaleColor()\n }],\n 'mask-image-b-from-pos': [{\n 'mask-b-from': scaleMaskImagePosition()\n }],\n 'mask-image-b-to-pos': [{\n 'mask-b-to': scaleMaskImagePosition()\n }],\n 'mask-image-b-from-color': [{\n 'mask-b-from': scaleColor()\n }],\n 'mask-image-b-to-color': [{\n 'mask-b-to': scaleColor()\n }],\n 'mask-image-l-from-pos': [{\n 'mask-l-from': scaleMaskImagePosition()\n }],\n 'mask-image-l-to-pos': [{\n 'mask-l-to': scaleMaskImagePosition()\n }],\n 'mask-image-l-from-color': [{\n 'mask-l-from': scaleColor()\n }],\n 'mask-image-l-to-color': [{\n 'mask-l-to': scaleColor()\n }],\n 'mask-image-x-from-pos': [{\n 'mask-x-from': scaleMaskImagePosition()\n }],\n 'mask-image-x-to-pos': [{\n 'mask-x-to': scaleMaskImagePosition()\n }],\n 'mask-image-x-from-color': [{\n 'mask-x-from': scaleColor()\n }],\n 'mask-image-x-to-color': [{\n 'mask-x-to': scaleColor()\n }],\n 'mask-image-y-from-pos': [{\n 'mask-y-from': scaleMaskImagePosition()\n }],\n 'mask-image-y-to-pos': [{\n 'mask-y-to': scaleMaskImagePosition()\n }],\n 'mask-image-y-from-color': [{\n 'mask-y-from': scaleColor()\n }],\n 'mask-image-y-to-color': [{\n 'mask-y-to': scaleColor()\n }],\n 'mask-image-radial': [{\n 'mask-radial': [isArbitraryVariable, isArbitraryValue]\n }],\n 'mask-image-radial-from-pos': [{\n 'mask-radial-from': scaleMaskImagePosition()\n }],\n 'mask-image-radial-to-pos': [{\n 'mask-radial-to': scaleMaskImagePosition()\n }],\n 'mask-image-radial-from-color': [{\n 'mask-radial-from': scaleColor()\n }],\n 'mask-image-radial-to-color': [{\n 'mask-radial-to': scaleColor()\n }],\n 'mask-image-radial-shape': [{\n 'mask-radial': ['circle', 'ellipse']\n }],\n 'mask-image-radial-size': [{\n 'mask-radial': [{\n closest: ['side', 'corner'],\n farthest: ['side', 'corner']\n }]\n }],\n 'mask-image-radial-pos': [{\n 'mask-radial-at': scalePosition()\n }],\n 'mask-image-conic-pos': [{\n 'mask-conic': [isNumber]\n }],\n 'mask-image-conic-from-pos': [{\n 'mask-conic-from': scaleMaskImagePosition()\n }],\n 'mask-image-conic-to-pos': [{\n 'mask-conic-to': scaleMaskImagePosition()\n }],\n 'mask-image-conic-from-color': [{\n 'mask-conic-from': scaleColor()\n }],\n 'mask-image-conic-to-color': [{\n 'mask-conic-to': scaleColor()\n }],\n /**\n * Mask Mode\n * @see https://tailwindcss.com/docs/mask-mode\n */\n 'mask-mode': [{\n mask: ['alpha', 'luminance', 'match']\n }],\n /**\n * Mask Origin\n * @see https://tailwindcss.com/docs/mask-origin\n */\n 'mask-origin': [{\n 'mask-origin': ['border', 'padding', 'content', 'fill', 'stroke', 'view']\n }],\n /**\n * Mask Position\n * @see https://tailwindcss.com/docs/mask-position\n */\n 'mask-position': [{\n mask: scaleBgPosition()\n }],\n /**\n * Mask Repeat\n * @see https://tailwindcss.com/docs/mask-repeat\n */\n 'mask-repeat': [{\n mask: scaleBgRepeat()\n }],\n /**\n * Mask Size\n * @see https://tailwindcss.com/docs/mask-size\n */\n 'mask-size': [{\n mask: scaleBgSize()\n }],\n /**\n * Mask Type\n * @see https://tailwindcss.com/docs/mask-type\n */\n 'mask-type': [{\n 'mask-type': ['alpha', 'luminance']\n }],\n /**\n * Mask Image\n * @see https://tailwindcss.com/docs/mask-image\n */\n 'mask-image': [{\n mask: ['none', isArbitraryVariable, isArbitraryValue]\n }],\n // ---------------\n // --- Filters ---\n // ---------------\n /**\n * Filter\n * @see https://tailwindcss.com/docs/filter\n */\n filter: [{\n filter: [\n // Deprecated since Tailwind CSS v3.0.0\n '', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Blur\n * @see https://tailwindcss.com/docs/blur\n */\n blur: [{\n blur: scaleBlur()\n }],\n /**\n * Brightness\n * @see https://tailwindcss.com/docs/brightness\n */\n brightness: [{\n brightness: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Contrast\n * @see https://tailwindcss.com/docs/contrast\n */\n contrast: [{\n contrast: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Drop Shadow\n * @see https://tailwindcss.com/docs/drop-shadow\n */\n 'drop-shadow': [{\n 'drop-shadow': [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', themeDropShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Drop Shadow Color\n * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color\n */\n 'drop-shadow-color': [{\n 'drop-shadow': scaleColor()\n }],\n /**\n * Grayscale\n * @see https://tailwindcss.com/docs/grayscale\n */\n grayscale: [{\n grayscale: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Hue Rotate\n * @see https://tailwindcss.com/docs/hue-rotate\n */\n 'hue-rotate': [{\n 'hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Invert\n * @see https://tailwindcss.com/docs/invert\n */\n invert: [{\n invert: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Saturate\n * @see https://tailwindcss.com/docs/saturate\n */\n saturate: [{\n saturate: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Sepia\n * @see https://tailwindcss.com/docs/sepia\n */\n sepia: [{\n sepia: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Filter\n * @see https://tailwindcss.com/docs/backdrop-filter\n */\n 'backdrop-filter': [{\n 'backdrop-filter': [\n // Deprecated since Tailwind CSS v3.0.0\n '', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Blur\n * @see https://tailwindcss.com/docs/backdrop-blur\n */\n 'backdrop-blur': [{\n 'backdrop-blur': scaleBlur()\n }],\n /**\n * Backdrop Brightness\n * @see https://tailwindcss.com/docs/backdrop-brightness\n */\n 'backdrop-brightness': [{\n 'backdrop-brightness': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Contrast\n * @see https://tailwindcss.com/docs/backdrop-contrast\n */\n 'backdrop-contrast': [{\n 'backdrop-contrast': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Grayscale\n * @see https://tailwindcss.com/docs/backdrop-grayscale\n */\n 'backdrop-grayscale': [{\n 'backdrop-grayscale': ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Hue Rotate\n * @see https://tailwindcss.com/docs/backdrop-hue-rotate\n */\n 'backdrop-hue-rotate': [{\n 'backdrop-hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Invert\n * @see https://tailwindcss.com/docs/backdrop-invert\n */\n 'backdrop-invert': [{\n 'backdrop-invert': ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Opacity\n * @see https://tailwindcss.com/docs/backdrop-opacity\n */\n 'backdrop-opacity': [{\n 'backdrop-opacity': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Saturate\n * @see https://tailwindcss.com/docs/backdrop-saturate\n */\n 'backdrop-saturate': [{\n 'backdrop-saturate': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Sepia\n * @see https://tailwindcss.com/docs/backdrop-sepia\n */\n 'backdrop-sepia': [{\n 'backdrop-sepia': ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n // --------------\n // --- Tables ---\n // --------------\n /**\n * Border Collapse\n * @see https://tailwindcss.com/docs/border-collapse\n */\n 'border-collapse': [{\n border: ['collapse', 'separate']\n }],\n /**\n * Border Spacing\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing': [{\n 'border-spacing': scaleUnambiguousSpacing()\n }],\n /**\n * Border Spacing X\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-x': [{\n 'border-spacing-x': scaleUnambiguousSpacing()\n }],\n /**\n * Border Spacing Y\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-y': [{\n 'border-spacing-y': scaleUnambiguousSpacing()\n }],\n /**\n * Table Layout\n * @see https://tailwindcss.com/docs/table-layout\n */\n 'table-layout': [{\n table: ['auto', 'fixed']\n }],\n /**\n * Caption Side\n * @see https://tailwindcss.com/docs/caption-side\n */\n caption: [{\n caption: ['top', 'bottom']\n }],\n // ---------------------------------\n // --- Transitions and Animation ---\n // ---------------------------------\n /**\n * Transition Property\n * @see https://tailwindcss.com/docs/transition-property\n */\n transition: [{\n transition: ['', 'all', 'colors', 'opacity', 'shadow', 'transform', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Behavior\n * @see https://tailwindcss.com/docs/transition-behavior\n */\n 'transition-behavior': [{\n transition: ['normal', 'discrete']\n }],\n /**\n * Transition Duration\n * @see https://tailwindcss.com/docs/transition-duration\n */\n duration: [{\n duration: [isNumber, 'initial', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Timing Function\n * @see https://tailwindcss.com/docs/transition-timing-function\n */\n ease: [{\n ease: ['linear', 'initial', themeEase, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Delay\n * @see https://tailwindcss.com/docs/transition-delay\n */\n delay: [{\n delay: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Animation\n * @see https://tailwindcss.com/docs/animation\n */\n animate: [{\n animate: ['none', themeAnimate, isArbitraryVariable, isArbitraryValue]\n }],\n // ------------------\n // --- Transforms ---\n // ------------------\n /**\n * Backface Visibility\n * @see https://tailwindcss.com/docs/backface-visibility\n */\n backface: [{\n backface: ['hidden', 'visible']\n }],\n /**\n * Perspective\n * @see https://tailwindcss.com/docs/perspective\n */\n perspective: [{\n perspective: [themePerspective, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Perspective Origin\n * @see https://tailwindcss.com/docs/perspective-origin\n */\n 'perspective-origin': [{\n 'perspective-origin': scalePositionWithArbitrary()\n }],\n /**\n * Rotate\n * @see https://tailwindcss.com/docs/rotate\n */\n rotate: [{\n rotate: scaleRotate()\n }],\n /**\n * Rotate X\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-x': [{\n 'rotate-x': scaleRotate()\n }],\n /**\n * Rotate Y\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-y': [{\n 'rotate-y': scaleRotate()\n }],\n /**\n * Rotate Z\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-z': [{\n 'rotate-z': scaleRotate()\n }],\n /**\n * Scale\n * @see https://tailwindcss.com/docs/scale\n */\n scale: [{\n scale: scaleScale()\n }],\n /**\n * Scale X\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-x': [{\n 'scale-x': scaleScale()\n }],\n /**\n * Scale Y\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-y': [{\n 'scale-y': scaleScale()\n }],\n /**\n * Scale Z\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-z': [{\n 'scale-z': scaleScale()\n }],\n /**\n * Scale 3D\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-3d': ['scale-3d'],\n /**\n * Skew\n * @see https://tailwindcss.com/docs/skew\n */\n skew: [{\n skew: scaleSkew()\n }],\n /**\n * Skew X\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-x': [{\n 'skew-x': scaleSkew()\n }],\n /**\n * Skew Y\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-y': [{\n 'skew-y': scaleSkew()\n }],\n /**\n * Transform\n * @see https://tailwindcss.com/docs/transform\n */\n transform: [{\n transform: [isArbitraryVariable, isArbitraryValue, '', 'none', 'gpu', 'cpu']\n }],\n /**\n * Transform Origin\n * @see https://tailwindcss.com/docs/transform-origin\n */\n 'transform-origin': [{\n origin: scalePositionWithArbitrary()\n }],\n /**\n * Transform Style\n * @see https://tailwindcss.com/docs/transform-style\n */\n 'transform-style': [{\n transform: ['3d', 'flat']\n }],\n /**\n * Translate\n * @see https://tailwindcss.com/docs/translate\n */\n translate: [{\n translate: scaleTranslate()\n }],\n /**\n * Translate X\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-x': [{\n 'translate-x': scaleTranslate()\n }],\n /**\n * Translate Y\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-y': [{\n 'translate-y': scaleTranslate()\n }],\n /**\n * Translate Z\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-z': [{\n 'translate-z': scaleTranslate()\n }],\n /**\n * Translate None\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-none': ['translate-none'],\n // ---------------------\n // --- Interactivity ---\n // ---------------------\n /**\n * Accent Color\n * @see https://tailwindcss.com/docs/accent-color\n */\n accent: [{\n accent: scaleColor()\n }],\n /**\n * Appearance\n * @see https://tailwindcss.com/docs/appearance\n */\n appearance: [{\n appearance: ['none', 'auto']\n }],\n /**\n * Caret Color\n * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities\n */\n 'caret-color': [{\n caret: scaleColor()\n }],\n /**\n * Color Scheme\n * @see https://tailwindcss.com/docs/color-scheme\n */\n 'color-scheme': [{\n scheme: ['normal', 'dark', 'light', 'light-dark', 'only-dark', 'only-light']\n }],\n /**\n * Cursor\n * @see https://tailwindcss.com/docs/cursor\n */\n cursor: [{\n cursor: ['auto', 'default', 'pointer', 'wait', 'text', 'move', 'help', 'not-allowed', 'none', 'context-menu', 'progress', 'cell', 'crosshair', 'vertical-text', 'alias', 'copy', 'no-drop', 'grab', 'grabbing', 'all-scroll', 'col-resize', 'row-resize', 'n-resize', 'e-resize', 's-resize', 'w-resize', 'ne-resize', 'nw-resize', 'se-resize', 'sw-resize', 'ew-resize', 'ns-resize', 'nesw-resize', 'nwse-resize', 'zoom-in', 'zoom-out', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Field Sizing\n * @see https://tailwindcss.com/docs/field-sizing\n */\n 'field-sizing': [{\n 'field-sizing': ['fixed', 'content']\n }],\n /**\n * Pointer Events\n * @see https://tailwindcss.com/docs/pointer-events\n */\n 'pointer-events': [{\n 'pointer-events': ['auto', 'none']\n }],\n /**\n * Resize\n * @see https://tailwindcss.com/docs/resize\n */\n resize: [{\n resize: ['none', '', 'y', 'x']\n }],\n /**\n * Scroll Behavior\n * @see https://tailwindcss.com/docs/scroll-behavior\n */\n 'scroll-behavior': [{\n scroll: ['auto', 'smooth']\n }],\n /**\n * Scroll Margin\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-m': [{\n 'scroll-m': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin X\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mx': [{\n 'scroll-mx': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Y\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-my': [{\n 'scroll-my': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Start\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ms': [{\n 'scroll-ms': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin End\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-me': [{\n 'scroll-me': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Top\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mt': [{\n 'scroll-mt': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Right\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mr': [{\n 'scroll-mr': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Bottom\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mb': [{\n 'scroll-mb': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Left\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ml': [{\n 'scroll-ml': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-p': [{\n 'scroll-p': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding X\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-px': [{\n 'scroll-px': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Y\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-py': [{\n 'scroll-py': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Start\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-ps': [{\n 'scroll-ps': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding End\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pe': [{\n 'scroll-pe': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Top\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pt': [{\n 'scroll-pt': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Right\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pr': [{\n 'scroll-pr': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Bottom\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pb': [{\n 'scroll-pb': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Left\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pl': [{\n 'scroll-pl': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Snap Align\n * @see https://tailwindcss.com/docs/scroll-snap-align\n */\n 'snap-align': [{\n snap: ['start', 'end', 'center', 'align-none']\n }],\n /**\n * Scroll Snap Stop\n * @see https://tailwindcss.com/docs/scroll-snap-stop\n */\n 'snap-stop': [{\n snap: ['normal', 'always']\n }],\n /**\n * Scroll Snap Type\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-type': [{\n snap: ['none', 'x', 'y', 'both']\n }],\n /**\n * Scroll Snap Type Strictness\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-strictness': [{\n snap: ['mandatory', 'proximity']\n }],\n /**\n * Touch Action\n * @see https://tailwindcss.com/docs/touch-action\n */\n touch: [{\n touch: ['auto', 'none', 'manipulation']\n }],\n /**\n * Touch Action X\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-x': [{\n 'touch-pan': ['x', 'left', 'right']\n }],\n /**\n * Touch Action Y\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-y': [{\n 'touch-pan': ['y', 'up', 'down']\n }],\n /**\n * Touch Action Pinch Zoom\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-pz': ['touch-pinch-zoom'],\n /**\n * User Select\n * @see https://tailwindcss.com/docs/user-select\n */\n select: [{\n select: ['none', 'text', 'all', 'auto']\n }],\n /**\n * Will Change\n * @see https://tailwindcss.com/docs/will-change\n */\n 'will-change': [{\n 'will-change': ['auto', 'scroll', 'contents', 'transform', isArbitraryVariable, isArbitraryValue]\n }],\n // -----------\n // --- SVG ---\n // -----------\n /**\n * Fill\n * @see https://tailwindcss.com/docs/fill\n */\n fill: [{\n fill: ['none', ...scaleColor()]\n }],\n /**\n * Stroke Width\n * @see https://tailwindcss.com/docs/stroke-width\n */\n 'stroke-w': [{\n stroke: [isNumber, isArbitraryVariableLength, isArbitraryLength, isArbitraryNumber]\n }],\n /**\n * Stroke\n * @see https://tailwindcss.com/docs/stroke\n */\n stroke: [{\n stroke: ['none', ...scaleColor()]\n }],\n // ---------------------\n // --- Accessibility ---\n // ---------------------\n /**\n * Forced Color Adjust\n * @see https://tailwindcss.com/docs/forced-color-adjust\n */\n 'forced-color-adjust': [{\n 'forced-color-adjust': ['auto', 'none']\n }]\n },\n conflictingClassGroups: {\n overflow: ['overflow-x', 'overflow-y'],\n overscroll: ['overscroll-x', 'overscroll-y'],\n inset: ['inset-x', 'inset-y', 'start', 'end', 'top', 'right', 'bottom', 'left'],\n 'inset-x': ['right', 'left'],\n 'inset-y': ['top', 'bottom'],\n flex: ['basis', 'grow', 'shrink'],\n gap: ['gap-x', 'gap-y'],\n p: ['px', 'py', 'ps', 'pe', 'pt', 'pr', 'pb', 'pl'],\n px: ['pr', 'pl'],\n py: ['pt', 'pb'],\n m: ['mx', 'my', 'ms', 'me', 'mt', 'mr', 'mb', 'ml'],\n mx: ['mr', 'ml'],\n my: ['mt', 'mb'],\n size: ['w', 'h'],\n 'font-size': ['leading'],\n 'fvn-normal': ['fvn-ordinal', 'fvn-slashed-zero', 'fvn-figure', 'fvn-spacing', 'fvn-fraction'],\n 'fvn-ordinal': ['fvn-normal'],\n 'fvn-slashed-zero': ['fvn-normal'],\n 'fvn-figure': ['fvn-normal'],\n 'fvn-spacing': ['fvn-normal'],\n 'fvn-fraction': ['fvn-normal'],\n 'line-clamp': ['display', 'overflow'],\n rounded: ['rounded-s', 'rounded-e', 'rounded-t', 'rounded-r', 'rounded-b', 'rounded-l', 'rounded-ss', 'rounded-se', 'rounded-ee', 'rounded-es', 'rounded-tl', 'rounded-tr', 'rounded-br', 'rounded-bl'],\n 'rounded-s': ['rounded-ss', 'rounded-es'],\n 'rounded-e': ['rounded-se', 'rounded-ee'],\n 'rounded-t': ['rounded-tl', 'rounded-tr'],\n 'rounded-r': ['rounded-tr', 'rounded-br'],\n 'rounded-b': ['rounded-br', 'rounded-bl'],\n 'rounded-l': ['rounded-tl', 'rounded-bl'],\n 'border-spacing': ['border-spacing-x', 'border-spacing-y'],\n 'border-w': ['border-w-x', 'border-w-y', 'border-w-s', 'border-w-e', 'border-w-t', 'border-w-r', 'border-w-b', 'border-w-l'],\n 'border-w-x': ['border-w-r', 'border-w-l'],\n 'border-w-y': ['border-w-t', 'border-w-b'],\n 'border-color': ['border-color-x', 'border-color-y', 'border-color-s', 'border-color-e', 'border-color-t', 'border-color-r', 'border-color-b', 'border-color-l'],\n 'border-color-x': ['border-color-r', 'border-color-l'],\n 'border-color-y': ['border-color-t', 'border-color-b'],\n translate: ['translate-x', 'translate-y', 'translate-none'],\n 'translate-none': ['translate', 'translate-x', 'translate-y', 'translate-z'],\n 'scroll-m': ['scroll-mx', 'scroll-my', 'scroll-ms', 'scroll-me', 'scroll-mt', 'scroll-mr', 'scroll-mb', 'scroll-ml'],\n 'scroll-mx': ['scroll-mr', 'scroll-ml'],\n 'scroll-my': ['scroll-mt', 'scroll-mb'],\n 'scroll-p': ['scroll-px', 'scroll-py', 'scroll-ps', 'scroll-pe', 'scroll-pt', 'scroll-pr', 'scroll-pb', 'scroll-pl'],\n 'scroll-px': ['scroll-pr', 'scroll-pl'],\n 'scroll-py': ['scroll-pt', 'scroll-pb'],\n touch: ['touch-x', 'touch-y', 'touch-pz'],\n 'touch-x': ['touch'],\n 'touch-y': ['touch'],\n 'touch-pz': ['touch']\n },\n conflictingClassGroupModifiers: {\n 'font-size': ['leading']\n },\n orderSensitiveModifiers: ['*', '**', 'after', 'backdrop', 'before', 'details-content', 'file', 'first-letter', 'first-line', 'marker', 'placeholder', 'selection']\n };\n};\n\n/**\n * @param baseConfig Config where other config will be merged into. This object will be mutated.\n * @param configExtension Partial config to merge into the `baseConfig`.\n */\nconst mergeConfigs = (baseConfig, {\n cacheSize,\n prefix,\n experimentalParseClassName,\n extend = {},\n override = {}\n}) => {\n overrideProperty(baseConfig, 'cacheSize', cacheSize);\n overrideProperty(baseConfig, 'prefix', prefix);\n overrideProperty(baseConfig, 'experimentalParseClassName', experimentalParseClassName);\n overrideConfigProperties(baseConfig.theme, override.theme);\n overrideConfigProperties(baseConfig.classGroups, override.classGroups);\n overrideConfigProperties(baseConfig.conflictingClassGroups, override.conflictingClassGroups);\n overrideConfigProperties(baseConfig.conflictingClassGroupModifiers, override.conflictingClassGroupModifiers);\n overrideProperty(baseConfig, 'orderSensitiveModifiers', override.orderSensitiveModifiers);\n mergeConfigProperties(baseConfig.theme, extend.theme);\n mergeConfigProperties(baseConfig.classGroups, extend.classGroups);\n mergeConfigProperties(baseConfig.conflictingClassGroups, extend.conflictingClassGroups);\n mergeConfigProperties(baseConfig.conflictingClassGroupModifiers, extend.conflictingClassGroupModifiers);\n mergeArrayProperties(baseConfig, extend, 'orderSensitiveModifiers');\n return baseConfig;\n};\nconst overrideProperty = (baseObject, overrideKey, overrideValue) => {\n if (overrideValue !== undefined) {\n baseObject[overrideKey] = overrideValue;\n }\n};\nconst overrideConfigProperties = (baseObject, overrideObject) => {\n if (overrideObject) {\n for (const key in overrideObject) {\n overrideProperty(baseObject, key, overrideObject[key]);\n }\n }\n};\nconst mergeConfigProperties = (baseObject, mergeObject) => {\n if (mergeObject) {\n for (const key in mergeObject) {\n mergeArrayProperties(baseObject, mergeObject, key);\n }\n }\n};\nconst mergeArrayProperties = (baseObject, mergeObject, key) => {\n const mergeValue = mergeObject[key];\n if (mergeValue !== undefined) {\n baseObject[key] = baseObject[key] ? baseObject[key].concat(mergeValue) : mergeValue;\n }\n};\nconst extendTailwindMerge = (configExtension, ...createConfig) => typeof configExtension === 'function' ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig) : createTailwindMerge(() => mergeConfigs(getDefaultConfig(), configExtension), ...createConfig);\nconst twMerge = /*#__PURE__*/createTailwindMerge(getDefaultConfig);\nexport { createTailwindMerge, extendTailwindMerge, fromTheme, getDefaultConfig, mergeConfigs, twJoin, twMerge, validators };\n//# sourceMappingURL=bundle-mjs.mjs.map\n","import { getTailwindVariants, state } from './chunk-RZF76H2U.js';\nexport { defaultConfig } from './chunk-RZF76H2U.js';\nimport { cx, isEmptyObject } from './chunk-LQJYWU4O.js';\nexport { cx } from './chunk-LQJYWU4O.js';\nimport { twMerge, extendTailwindMerge } from 'tailwind-merge';\n\nvar createTwMerge = (cachedTwMergeConfig) => {\n return isEmptyObject(cachedTwMergeConfig) ? twMerge : extendTailwindMerge({\n ...cachedTwMergeConfig,\n extend: {\n theme: cachedTwMergeConfig.theme,\n classGroups: cachedTwMergeConfig.classGroups,\n conflictingClassGroupModifiers: cachedTwMergeConfig.conflictingClassGroupModifiers,\n conflictingClassGroups: cachedTwMergeConfig.conflictingClassGroups,\n ...cachedTwMergeConfig.extend\n }\n });\n};\nvar executeMerge = (classnames, config) => {\n const base = cx(classnames);\n if (!base || !(config?.twMerge ?? true)) return base;\n if (!state.cachedTwMerge || state.didTwMergeConfigChange) {\n state.didTwMergeConfigChange = false;\n state.cachedTwMerge = createTwMerge(state.cachedTwMergeConfig);\n }\n return state.cachedTwMerge(base) || void 0;\n};\nvar cn = (...classnames) => {\n return executeMerge(classnames, {});\n};\nvar cnMerge = (...classnames) => {\n return (config) => executeMerge(classnames, config);\n};\n\n// src/index.js\nvar { createTV, tv } = getTailwindVariants(cnMerge);\n\nexport { cn, cnMerge, createTV, tv };\n","import { tv } from 'tailwind-variants';\n\nconst alertVariants = tv({\n defaultVariants: {\n status: \"default\",\n },\n slots: {\n base: \"alert\",\n content: \"alert__content\",\n description: \"alert__description\",\n indicator: \"alert__indicator\",\n title: \"alert__title\",\n },\n variants: {\n status: {\n accent: {\n base: \"alert--accent\",\n },\n danger: {\n base: \"alert--danger\",\n },\n default: {\n base: \"alert--default\",\n },\n success: {\n base: \"alert--success\",\n },\n warning: {\n base: \"alert--warning\",\n },\n },\n },\n});\n\nexport { alertVariants };\n","import { tv } from 'tailwind-variants';\n\nconst buttonVariants = tv({\n base: \"button\",\n defaultVariants: {\n fullWidth: false,\n isIconOnly: false,\n size: \"md\",\n variant: \"primary\",\n },\n variants: {\n fullWidth: {\n false: \"\",\n true: \"button--full-width\",\n },\n isIconOnly: {\n true: \"button--icon-only\",\n },\n size: {\n lg: \"button--lg\",\n md: \"button--md\",\n sm: \"button--sm\",\n },\n variant: {\n danger: \"button--danger\",\n \"danger-soft\": \"button--danger-soft\",\n ghost: \"button--ghost\",\n outline: \"button--outline\",\n primary: \"button--primary\",\n secondary: \"button--secondary\",\n tertiary: \"button--tertiary\",\n },\n },\n});\n\nexport { buttonVariants };\n","import { tv } from 'tailwind-variants';\n\nconst cardVariants = tv({\n defaultVariants: {\n variant: \"default\",\n },\n slots: {\n base: \"card\",\n content: \"card__content\",\n description: \"card__description\",\n footer: \"card__footer\",\n header: \"card__header\",\n title: \"card__title\",\n },\n variants: {\n variant: {\n default: {\n base: \"card--default\",\n },\n secondary: {\n base: \"card--secondary\",\n },\n tertiary: {\n base: \"card--tertiary\",\n },\n transparent: {\n base: \"card--transparent\",\n },\n },\n },\n});\n\nexport { cardVariants };\n","import { tv } from 'tailwind-variants';\n\nconst checkboxVariants = tv({\n defaultVariants: {\n variant: \"primary\",\n },\n slots: {\n base: \"checkbox\",\n content: \"checkbox__content\",\n control: \"checkbox__control\",\n indicator: \"checkbox__indicator\",\n },\n variants: {\n variant: {\n primary: {\n base: \"checkbox--primary\",\n },\n secondary: {\n base: \"checkbox--secondary\",\n },\n },\n },\n});\n\nexport { checkboxVariants };\n","import { tv } from 'tailwind-variants';\n\nconst chipVariants = tv({\n defaultVariants: {\n color: \"default\",\n variant: \"secondary\",\n },\n slots: {\n base: \"chip\",\n label: \"chip__label\",\n },\n variants: {\n color: {\n accent: {\n base: \"chip--accent\",\n },\n danger: {\n base: \"chip--danger\",\n },\n default: {\n base: \"chip--default\",\n },\n success: {\n base: \"chip--success\",\n },\n warning: {\n base: \"chip--warning\",\n },\n },\n size: {\n lg: {\n base: \"chip--lg\",\n },\n md: {\n base: \"chip--md\",\n },\n sm: {\n base: \"chip--sm\",\n },\n },\n variant: {\n primary: {\n base: \"chip--primary\",\n },\n secondary: {\n base: \"chip--secondary\",\n },\n soft: {\n base: \"chip--soft\",\n },\n tertiary: {\n base: \"chip--tertiary\",\n },\n },\n },\n});\n\nexport { chipVariants };\n","import { tv } from 'tailwind-variants';\n\nconst linkVariants = tv({\n slots: {\n base: \"link\",\n icon: \"link__icon\",\n },\n});\n\nexport { linkVariants };\n","import { tv } from 'tailwind-variants';\n\nconst progressBarVariants = tv({\n defaultVariants: {\n color: \"accent\",\n size: \"md\",\n },\n slots: {\n base: \"progress-bar\",\n fill: \"progress-bar__fill\",\n output: \"progress-bar__output\",\n track: \"progress-bar__track\",\n },\n variants: {\n color: {\n accent: {\n base: \"progress-bar--accent\",\n },\n danger: {\n base: \"progress-bar--danger\",\n },\n default: {\n base: \"progress-bar--default\",\n },\n success: {\n base: \"progress-bar--success\",\n },\n warning: {\n base: \"progress-bar--warning\",\n },\n },\n size: {\n lg: {\n base: \"progress-bar--lg\",\n },\n md: {\n base: \"progress-bar--md\",\n },\n sm: {\n base: \"progress-bar--sm\",\n },\n },\n },\n});\n\nexport { progressBarVariants };\n","import { tv } from 'tailwind-variants';\n\nconst separatorVariants = tv({\n base: \"separator\",\n defaultVariants: {\n orientation: \"horizontal\",\n variant: \"default\",\n },\n variants: {\n orientation: {\n horizontal: \"separator--horizontal\",\n vertical: \"separator--vertical\",\n },\n variant: {\n default: \"separator--default\",\n secondary: \"separator--secondary\",\n tertiary: \"separator--tertiary\",\n },\n },\n});\n\nexport { separatorVariants };\n","import {mergeProps as $ahdqC$mergeProps} from \"react-aria/mergeProps\";\nimport {mergeRefs as $ahdqC$mergeRefs} from \"react-aria/mergeRefs\";\nimport $ahdqC$react, {useMemo as $ahdqC$useMemo, useContext as $ahdqC$useContext, useState as $ahdqC$useState, useRef as $ahdqC$useRef, useCallback as $ahdqC$useCallback, forwardRef as $ahdqC$forwardRef} from \"react\";\nimport {useLayoutEffect as $ahdqC$useLayoutEffect} from \"react-aria/private/utils/useLayoutEffect\";\nimport {useObjectRef as $ahdqC$useObjectRef} from \"react-aria/useObjectRef\";\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\n\n\nconst $7230ffa83bc0c2cf$export$c62b8e45d58ddad9 = Symbol('default');\nfunction $7230ffa83bc0c2cf$export$2881499e37b75b9a({ values: values, children: children }) {\n for (let [Context, value] of values)// @ts-ignore\n children = /*#__PURE__*/ (0, $ahdqC$react).createElement(Context.Provider, {\n value: value\n }, children);\n return children;\n}\nfunction $7230ffa83bc0c2cf$export$4d86445c2cf5e3(props) {\n let { className: className, style: style, children: children, defaultClassName: defaultClassName, defaultChildren: defaultChildren, defaultStyle: defaultStyle, values: values, render: render } = props;\n return (0, $ahdqC$useMemo)(()=>{\n let computedClassName;\n let computedStyle;\n let computedChildren;\n if (typeof className === 'function') computedClassName = className({\n ...values,\n defaultClassName: defaultClassName\n });\n else computedClassName = className;\n if (typeof style === 'function') computedStyle = style({\n ...values,\n defaultStyle: defaultStyle || {}\n });\n else computedStyle = style;\n if (typeof children === 'function') computedChildren = children({\n ...values,\n defaultChildren: defaultChildren\n });\n else if (children == null) computedChildren = defaultChildren;\n else computedChildren = children;\n return {\n className: computedClassName ?? defaultClassName,\n style: computedStyle || defaultStyle ? {\n ...defaultStyle,\n ...computedStyle\n } : undefined,\n children: computedChildren ?? defaultChildren,\n 'data-rac': '',\n render: render ? (props)=>render(props, values) : undefined\n };\n }, [\n className,\n style,\n children,\n defaultClassName,\n defaultChildren,\n defaultStyle,\n values,\n render\n ]);\n}\nfunction $7230ffa83bc0c2cf$export$c245e6201fed2f75(// https://stackoverflow.com/questions/60898079/typescript-type-t-or-function-t-usage\nvalue, wrap) {\n return (renderProps)=>wrap(typeof value === 'function' ? value(renderProps) : value, renderProps);\n}\nfunction $7230ffa83bc0c2cf$export$fabf2dc03a41866e(context, slot) {\n let ctx = (0, $ahdqC$useContext)(context);\n if (slot === null) // An explicit `null` slot means don't use context.\n return null;\n if (ctx && typeof ctx === 'object' && 'slots' in ctx && ctx.slots) {\n let slotKey = slot || $7230ffa83bc0c2cf$export$c62b8e45d58ddad9;\n if (!ctx.slots[slotKey]) {\n let availableSlots = new Intl.ListFormat().format(Object.keys(ctx.slots).map((p)=>`\"${p}\"`));\n let errorMessage = slot ? `Invalid slot \"${slot}\".` : 'A slot prop is required.';\n throw new Error(`${errorMessage} Valid slot names are ${availableSlots}.`);\n }\n return ctx.slots[slotKey];\n }\n // @ts-ignore\n return ctx;\n}\nfunction $7230ffa83bc0c2cf$export$29f1550f4b0d4415(props, ref, context) {\n let ctx = $7230ffa83bc0c2cf$export$fabf2dc03a41866e(context, props.slot) || {};\n let { ref: contextRef, ...contextProps } = ctx;\n let mergedRef = (0, $ahdqC$useObjectRef)((0, $ahdqC$useMemo)(()=>(0, $ahdqC$mergeRefs)(ref, contextRef), [\n ref,\n contextRef\n ]));\n let mergedProps = (0, $ahdqC$mergeProps)(contextProps, props);\n // mergeProps does not merge `style`. Adding this there might be a breaking change.\n if ('style' in contextProps && contextProps.style && 'style' in props && props.style) {\n if (typeof contextProps.style === 'function' || typeof props.style === 'function') // @ts-ignore\n mergedProps.style = (renderProps)=>{\n let contextStyle = typeof contextProps.style === 'function' ? contextProps.style(renderProps) : contextProps.style;\n let defaultStyle = {\n ...renderProps.defaultStyle,\n ...contextStyle\n };\n let style = typeof props.style === 'function' ? props.style({\n ...renderProps,\n defaultStyle: defaultStyle\n }) : props.style;\n return {\n ...defaultStyle,\n ...style\n };\n };\n else // @ts-ignore\n mergedProps.style = {\n ...contextProps.style,\n ...props.style\n };\n }\n return [\n mergedProps,\n mergedRef\n ];\n}\nfunction $7230ffa83bc0c2cf$export$9d4c57ee4c6ffdd8(initialState = true) {\n // Initial state is typically based on the parent having an aria-label or aria-labelledby.\n // If it does, this value should be false so that we don't update the state and cause a rerender when we go through the layoutEffect\n let [hasSlot, setHasSlot] = (0, $ahdqC$useState)(initialState);\n let hasRun = (0, $ahdqC$useRef)(false);\n // A callback ref which will run when the slotted element mounts.\n // This should happen before the useLayoutEffect below.\n let ref = (0, $ahdqC$useCallback)((el)=>{\n hasRun.current = true;\n setHasSlot(!!el);\n }, []);\n // If the callback hasn't been called, then reset to false.\n (0, $ahdqC$useLayoutEffect)(()=>{\n if (!hasRun.current) setHasSlot(false);\n }, []);\n return [\n ref,\n hasSlot\n ];\n}\nfunction $7230ffa83bc0c2cf$export$ef03459518577ad4(props) {\n const prefix = /^(data-.*)$/;\n let filteredProps = {};\n for(const prop in props)if (!prefix.test(prop)) filteredProps[prop] = props[prop];\n return filteredProps;\n}\nfunction $7230ffa83bc0c2cf$var$DOMElement(ElementType, props, forwardedRef) {\n let { render: render, ...otherProps } = props;\n let elementRef = (0, $ahdqC$useRef)(null);\n let ref = (0, $ahdqC$useMemo)(()=>(0, $ahdqC$mergeRefs)(forwardedRef, elementRef), [\n forwardedRef,\n elementRef\n ]);\n (0, $ahdqC$useLayoutEffect)(()=>{\n if (process.env.NODE_ENV !== 'production' && render) {\n if (!elementRef.current) console.warn('Ref was not connected to DOM element returned by custom `render` function. Did you forget to pass through or merge the `ref`?');\n else if (elementRef.current.localName !== ElementType) console.warn(`Unexpected DOM element returned by custom \\`render\\` function. Expected <${ElementType}>, got <${elementRef.current.localName}>. This may break the component behavior and accessibility.`);\n }\n }, [\n ElementType,\n render\n ]);\n let domProps = {\n ...otherProps,\n ref: ref\n };\n if (render) return render(domProps, undefined);\n return /*#__PURE__*/ (0, $ahdqC$react).createElement(ElementType, domProps);\n}\nconst $7230ffa83bc0c2cf$var$domComponentCache = {};\nconst $7230ffa83bc0c2cf$export$df3a06d6289f983e = new Proxy({}, {\n get (target, elementType) {\n if (typeof elementType !== 'string') return undefined;\n let res = $7230ffa83bc0c2cf$var$domComponentCache[elementType];\n if (!res) {\n res = /*#__PURE__*/ (0, $ahdqC$forwardRef)($7230ffa83bc0c2cf$var$DOMElement.bind(null, elementType));\n $7230ffa83bc0c2cf$var$domComponentCache[elementType] = res;\n }\n return res;\n }\n});\n\n\nexport {$7230ffa83bc0c2cf$export$c62b8e45d58ddad9 as DEFAULT_SLOT, $7230ffa83bc0c2cf$export$2881499e37b75b9a as Provider, $7230ffa83bc0c2cf$export$4d86445c2cf5e3 as useRenderProps, $7230ffa83bc0c2cf$export$c245e6201fed2f75 as composeRenderProps, $7230ffa83bc0c2cf$export$fabf2dc03a41866e as useSlottedContext, $7230ffa83bc0c2cf$export$29f1550f4b0d4415 as useContextProps, $7230ffa83bc0c2cf$export$9d4c57ee4c6ffdd8 as useSlot, $7230ffa83bc0c2cf$export$ef03459518577ad4 as removeDataAttributes, $7230ffa83bc0c2cf$export$df3a06d6289f983e as dom};\n//# sourceMappingURL=utils.mjs.map\n","import $iuCOg$react, {createContext as $iuCOg$createContext, useContext as $iuCOg$useContext, forwardRef as $iuCOg$forwardRef} from \"react\";\n\n/*\n * Copyright 2024 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// React doesn't understand the <template> element, which doesn't have children like a normal element.\n// It will throw an error during hydration when it expects the firstChild to contain content rendered\n// on the server, when in reality, the browser will have placed this inside the `content` document fragment.\n// This monkey patches the firstChild property for our special hidden template elements to work around this error.\n// does the same for appendChild/removeChild/insertBefore as per the issue below\n// See https://github.com/facebook/react/issues/19932\nif (typeof HTMLTemplateElement !== 'undefined') {\n Object.defineProperty(HTMLTemplateElement.prototype, 'firstChild', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this.content.firstChild;\n }\n });\n Object.defineProperty(HTMLTemplateElement.prototype, 'appendChild', {\n configurable: true,\n enumerable: true,\n value: function(node) {\n return this.content.appendChild(node);\n }\n });\n Object.defineProperty(HTMLTemplateElement.prototype, 'removeChild', {\n configurable: true,\n enumerable: true,\n value: function(node) {\n return this.content.removeChild(node);\n }\n });\n Object.defineProperty(HTMLTemplateElement.prototype, 'insertBefore', {\n configurable: true,\n enumerable: true,\n value: function(node, child) {\n return this.content.insertBefore(node, child);\n }\n });\n}\nconst $d7f64c32b702fe2c$export$94b6d0abf7d33e8c = /*#__PURE__*/ (0, $iuCOg$createContext)(false);\nfunction $d7f64c32b702fe2c$export$8dc98ba7eadeaa56(props) {\n let isHidden = (0, $iuCOg$useContext)($d7f64c32b702fe2c$export$94b6d0abf7d33e8c);\n if (isHidden) // Don't hide again if we are already hidden.\n return /*#__PURE__*/ (0, $iuCOg$react).createElement((0, $iuCOg$react).Fragment, null, props.children);\n let children = /*#__PURE__*/ (0, $iuCOg$react).createElement($d7f64c32b702fe2c$export$94b6d0abf7d33e8c.Provider, {\n value: true\n }, props.children);\n // In SSR, portals are not supported by React. Instead, always render into a <template>\n // element, which the browser will never display to the user. In addition, the\n // content is not part of the accessible DOM tree, so it won't affect ids or other accessibility attributes.\n return /*#__PURE__*/ (0, $iuCOg$react).createElement(\"template\", null, children);\n}\nfunction $d7f64c32b702fe2c$export$86427a43e3e48ebb(fn) {\n let Wrapper = (props, ref)=>{\n let isHidden = (0, $iuCOg$useContext)($d7f64c32b702fe2c$export$94b6d0abf7d33e8c);\n if (isHidden) return null;\n return fn(props, ref);\n };\n // @ts-ignore - for react dev tools\n Wrapper.displayName = fn.displayName || fn.name;\n return (0, $iuCOg$forwardRef)(Wrapper);\n}\nfunction $d7f64c32b702fe2c$export$b5d7cc18bb8d2b59() {\n return (0, $iuCOg$useContext)($d7f64c32b702fe2c$export$94b6d0abf7d33e8c);\n}\n\n\nexport {$d7f64c32b702fe2c$export$94b6d0abf7d33e8c as HiddenContext, $d7f64c32b702fe2c$export$8dc98ba7eadeaa56 as Hidden, $d7f64c32b702fe2c$export$86427a43e3e48ebb as createHideableComponent, $d7f64c32b702fe2c$export$b5d7cc18bb8d2b59 as useIsHidden};\n//# sourceMappingURL=Hidden.mjs.map\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415} from \"./utils.mjs\";\nimport {createHideableComponent as $32wDz$createHideableComponent} from \"react-aria/private/collections/Hidden\";\nimport $32wDz$react, {createContext as $32wDz$createContext} from \"react\";\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 $43a3b93638fe5db9$export$75b6ee27786ba447 = /*#__PURE__*/ (0, $32wDz$createContext)({});\nconst $43a3b93638fe5db9$export$b04be29aa201d4f5 = /*#__PURE__*/ (0, $32wDz$createHideableComponent)(function Label(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $43a3b93638fe5db9$export$75b6ee27786ba447);\n let { elementType: elementType = 'label', ...labelProps } = props;\n let ElementType = (0, $7230ffa83bc0c2cf$export$df3a06d6289f983e)[elementType];\n // @ts-ignore\n return /*#__PURE__*/ (0, $32wDz$react).createElement(ElementType, {\n className: \"react-aria-Label\",\n ...labelProps,\n ref: ref\n });\n});\n\n\nexport {$43a3b93638fe5db9$export$75b6ee27786ba447 as LabelContext, $43a3b93638fe5db9$export$b04be29aa201d4f5 as Label};\n//# sourceMappingURL=Label.mjs.map\n","import {useId as $390e54f620492c70$export$f680877a34711e37} from \"../utils/useId.mjs\";\nimport {useLabels as $e8ac3c3f5d4bae7f$export$d6875122194c7b44} from \"../utils/useLabels.mjs\";\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 $0beb20c9744a2065$export$8467354a121f1b9f(props) {\n let { id: id, label: label, 'aria-labelledby': ariaLabelledby, 'aria-label': ariaLabel, labelElementType: labelElementType = 'label' } = props;\n id = (0, $390e54f620492c70$export$f680877a34711e37)(id);\n let labelId = (0, $390e54f620492c70$export$f680877a34711e37)();\n let labelProps = {};\n if (label) {\n ariaLabelledby = ariaLabelledby ? `${labelId} ${ariaLabelledby}` : labelId;\n labelProps = {\n id: labelId,\n htmlFor: labelElementType === 'label' ? id : undefined\n };\n } else if (!ariaLabelledby && !ariaLabel && process.env.NODE_ENV !== 'production') console.warn('If you do not provide a visible label, you must specify an aria-label or aria-labelledby attribute for accessibility');\n let fieldProps = (0, $e8ac3c3f5d4bae7f$export$d6875122194c7b44)({\n id: id,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby\n });\n return {\n labelProps: labelProps,\n fieldProps: fieldProps\n };\n}\n\n\nexport {$0beb20c9744a2065$export$8467354a121f1b9f as useLabel};\n//# sourceMappingURL=useLabel.mjs.map\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 $d805ff57cab8bee2$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 $d805ff57cab8bee2$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 $d805ff57cab8bee2$export$702d680b21cbd764(localeString) {\n // If the Intl.Locale API is available, use it to get the locale's text direction.\n if (Intl.Locale) {\n let locale = new Intl.Locale(localeString).maximize();\n // Use the text info object to get the direction if possible.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/getTextInfo\n let textInfo = // @ts-ignore - this was implemented as a property by some browsers before it was standardized as a function.\n typeof locale.getTextInfo === 'function' ? locale.getTextInfo() : locale.textInfo;\n if (textInfo) return textInfo.direction === 'rtl';\n // Fallback: guess using the script.\n // This is more accurate than guessing by language, since languages can be written in multiple scripts.\n if (locale.script) return $d805ff57cab8bee2$var$RTL_SCRIPTS.has(locale.script);\n }\n // If not, just guess by the language (first part of the locale)\n let lang = localeString.split('-')[0];\n return $d805ff57cab8bee2$var$RTL_LANGS.has(lang);\n}\n\n\nexport {$d805ff57cab8bee2$export$702d680b21cbd764 as isRTL};\n//# sourceMappingURL=utils.mjs.map\n","import {isRTL as $d805ff57cab8bee2$export$702d680b21cbd764} from \"./utils.mjs\";\nimport {useIsSSR as $c7eafbbe1ea5834e$export$535bd6ca7f90a273} from \"../ssr/SSRProvider.mjs\";\nimport {useState as $lEF9U$useState, useEffect as $lEF9U$useEffect} 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\n\n// Locale passed from server by PackageLocalizationProvider.\nconst $520a025cdb0d710d$var$localeSymbol = Symbol.for('react-aria.i18n.locale');\nfunction $520a025cdb0d710d$export$f09106e7c6677ec5() {\n let locale = typeof window !== 'undefined' && window[$520a025cdb0d710d$var$localeSymbol] || // @ts-ignore\n typeof navigator !== 'undefined' && (navigator.language || navigator.userLanguage) || 'en-US';\n try {\n Intl.DateTimeFormat.supportedLocalesOf([\n locale\n ]);\n } catch {\n locale = 'en-US';\n }\n return {\n locale: locale,\n direction: (0, $d805ff57cab8bee2$export$702d680b21cbd764)(locale) ? 'rtl' : 'ltr'\n };\n}\nlet $520a025cdb0d710d$var$currentLocale = $520a025cdb0d710d$export$f09106e7c6677ec5();\nlet $520a025cdb0d710d$var$listeners = new Set();\nfunction $520a025cdb0d710d$var$updateLocale() {\n $520a025cdb0d710d$var$currentLocale = $520a025cdb0d710d$export$f09106e7c6677ec5();\n for (let listener of $520a025cdb0d710d$var$listeners)listener($520a025cdb0d710d$var$currentLocale);\n}\nfunction $520a025cdb0d710d$export$188ec29ebc2bdc3a() {\n let isSSR = (0, $c7eafbbe1ea5834e$export$535bd6ca7f90a273)();\n let [defaultLocale, setDefaultLocale] = (0, $lEF9U$useState)($520a025cdb0d710d$var$currentLocale);\n (0, $lEF9U$useEffect)(()=>{\n if ($520a025cdb0d710d$var$listeners.size === 0) window.addEventListener('languagechange', $520a025cdb0d710d$var$updateLocale);\n $520a025cdb0d710d$var$listeners.add(setDefaultLocale);\n return ()=>{\n $520a025cdb0d710d$var$listeners.delete(setDefaultLocale);\n if ($520a025cdb0d710d$var$listeners.size === 0) window.removeEventListener('languagechange', $520a025cdb0d710d$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) {\n let locale = typeof window !== 'undefined' && window[$520a025cdb0d710d$var$localeSymbol];\n return {\n locale: locale || 'en-US',\n direction: 'ltr'\n };\n }\n return defaultLocale;\n}\n\n\nexport {$520a025cdb0d710d$export$f09106e7c6677ec5 as getDefaultLocale, $520a025cdb0d710d$export$188ec29ebc2bdc3a as useDefaultLocale};\n//# sourceMappingURL=useDefaultLocale.mjs.map\n","import {isRTL as $d805ff57cab8bee2$export$702d680b21cbd764} from \"./utils.mjs\";\nimport {useDefaultLocale as $520a025cdb0d710d$export$188ec29ebc2bdc3a} from \"./useDefaultLocale.mjs\";\nimport $01Dwp$react, {useContext as $01Dwp$useContext} 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\n\nconst $2eb8e6d23f3d0cb0$var$I18nContext = /*#__PURE__*/ (0, $01Dwp$react).createContext(null);\n/**\n * Internal component that handles the case when locale is provided.\n */ function $2eb8e6d23f3d0cb0$var$I18nProviderWithLocale(props) {\n let { locale: locale, children: children } = props;\n let value = (0, $01Dwp$react).useMemo(()=>({\n locale: locale,\n direction: (0, $d805ff57cab8bee2$export$702d680b21cbd764)(locale) ? 'rtl' : 'ltr'\n }), [\n locale\n ]);\n return /*#__PURE__*/ (0, $01Dwp$react).createElement($2eb8e6d23f3d0cb0$var$I18nContext.Provider, {\n value: value\n }, children);\n}\n/**\n * Internal component that handles the case when no locale is provided.\n */ function $2eb8e6d23f3d0cb0$var$I18nProviderWithDefaultLocale(props) {\n let { children: children } = props;\n let defaultLocale = (0, $520a025cdb0d710d$export$188ec29ebc2bdc3a)();\n return /*#__PURE__*/ (0, $01Dwp$react).createElement($2eb8e6d23f3d0cb0$var$I18nContext.Provider, {\n value: defaultLocale\n }, children);\n}\nfunction $2eb8e6d23f3d0cb0$export$a54013f0d02a8f82(props) {\n let { locale: locale, children: children } = props;\n // Conditionally render different components to avoid calling useDefaultLocale.\n // This is necessary because useDefaultLocale triggers a re-render.\n if (locale) return /*#__PURE__*/ (0, $01Dwp$react).createElement($2eb8e6d23f3d0cb0$var$I18nProviderWithLocale, {\n locale: locale,\n children: children\n });\n return /*#__PURE__*/ (0, $01Dwp$react).createElement($2eb8e6d23f3d0cb0$var$I18nProviderWithDefaultLocale, {\n children: children\n });\n}\nfunction $2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7() {\n let defaultLocale = (0, $520a025cdb0d710d$export$188ec29ebc2bdc3a)();\n let context = (0, $01Dwp$useContext)($2eb8e6d23f3d0cb0$var$I18nContext);\n return context || defaultLocale;\n}\n\n\nexport {$2eb8e6d23f3d0cb0$export$a54013f0d02a8f82 as I18nProvider, $2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7 as useLocale};\n//# sourceMappingURL=I18nProvider.mjs.map\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 */ let $1dfb119a85e764e5$var$formatterCache = new Map();\nlet $1dfb119a85e764e5$var$supportsSignDisplay = false;\ntry {\n $1dfb119a85e764e5$var$supportsSignDisplay = new Intl.NumberFormat('de-DE', {\n signDisplay: 'exceptZero'\n }).resolvedOptions().signDisplay === 'exceptZero';\n// eslint-disable-next-line no-empty\n} catch {}\nlet $1dfb119a85e764e5$var$supportsUnit = false;\ntry {\n $1dfb119a85e764e5$var$supportsUnit = new Intl.NumberFormat('de-DE', {\n style: 'unit',\n unit: 'degree'\n }).resolvedOptions().style === 'unit';\n// eslint-disable-next-line no-empty\n} catch {}\n// Polyfill for units since Safari doesn't support them yet. See https://bugs.webkit.org/show_bug.cgi?id=215438.\n// Currently only polyfilling the unit degree in narrow format for ColorSlider in our supported locales.\n// Values were determined by switching to each locale manually in Chrome.\nconst $1dfb119a85e764e5$var$UNITS = {\n degree: {\n narrow: {\n default: \"\\xb0\",\n 'ja-JP': \" \\u5EA6\",\n 'zh-TW': \"\\u5EA6\",\n 'sl-SI': \" \\xb0\"\n }\n }\n};\nclass $1dfb119a85e764e5$export$cc77c4ff7e8673c5 {\n constructor(locale, options = {}){\n this.numberFormatter = $1dfb119a85e764e5$var$getCachedNumberFormatter(locale, options);\n this.options = options;\n }\n /**\n * Formats a number value as a string, according to the locale and options provided to the\n * constructor.\n */ format(value) {\n let res = '';\n if (!$1dfb119a85e764e5$var$supportsSignDisplay && this.options.signDisplay != null) res = $1dfb119a85e764e5$export$711b50b3c525e0f2(this.numberFormatter, this.options.signDisplay, value);\n else res = this.numberFormatter.format(value);\n if (this.options.style === 'unit' && !$1dfb119a85e764e5$var$supportsUnit) {\n let { unit: unit, unitDisplay: unitDisplay = 'short', locale: locale } = this.resolvedOptions();\n if (!unit) return res;\n let values = $1dfb119a85e764e5$var$UNITS[unit]?.[unitDisplay];\n res += values[locale] || values.default;\n }\n return res;\n }\n /** Formats a number to an array of parts such as separators, digits, punctuation, and more. */ formatToParts(value) {\n // TODO: implement signDisplay for formatToParts\n return this.numberFormatter.formatToParts(value);\n }\n /** Formats a number range as a string. */ formatRange(start, end) {\n if (typeof this.numberFormatter.formatRange === 'function') return this.numberFormatter.formatRange(start, end);\n if (end < start) throw new RangeError('End date must be >= start date');\n // Very basic fallback for old browsers.\n return `${this.format(start)} \\u{2013} ${this.format(end)}`;\n }\n /** Formats a number range as an array of parts. */ formatRangeToParts(start, end) {\n if (typeof this.numberFormatter.formatRangeToParts === 'function') return this.numberFormatter.formatRangeToParts(start, end);\n if (end < start) throw new RangeError('End date must be >= start date');\n let startParts = this.numberFormatter.formatToParts(start);\n let endParts = this.numberFormatter.formatToParts(end);\n return [\n ...startParts.map((p)=>({\n ...p,\n source: 'startRange'\n })),\n {\n type: 'literal',\n value: \" \\u2013 \",\n source: 'shared'\n },\n ...endParts.map((p)=>({\n ...p,\n source: 'endRange'\n }))\n ];\n }\n /** Returns the resolved formatting options based on the values passed to the constructor. */ resolvedOptions() {\n let options = this.numberFormatter.resolvedOptions();\n if (!$1dfb119a85e764e5$var$supportsSignDisplay && this.options.signDisplay != null) options = {\n ...options,\n signDisplay: this.options.signDisplay\n };\n if (!$1dfb119a85e764e5$var$supportsUnit && this.options.style === 'unit') options = {\n ...options,\n style: 'unit',\n unit: this.options.unit,\n unitDisplay: this.options.unitDisplay\n };\n return options;\n }\n}\nfunction $1dfb119a85e764e5$var$getCachedNumberFormatter(locale, options = {}) {\n let { numberingSystem: numberingSystem } = options;\n if (numberingSystem && locale.includes('-nu-')) {\n if (!locale.includes('-u-')) locale += '-u-';\n locale += `-nu-${numberingSystem}`;\n }\n if (options.style === 'unit' && !$1dfb119a85e764e5$var$supportsUnit) {\n let { unit: unit, unitDisplay: unitDisplay = 'short' } = options;\n if (!unit) throw new Error('unit option must be provided with style: \"unit\"');\n if (!$1dfb119a85e764e5$var$UNITS[unit]?.[unitDisplay]) throw new Error(`Unsupported unit ${unit} with unitDisplay = ${unitDisplay}`);\n options = {\n ...options,\n style: 'decimal'\n };\n }\n let cacheKey = locale + (options ? Object.entries(options).sort((a, b)=>a[0] < b[0] ? -1 : 1).join() : '');\n if ($1dfb119a85e764e5$var$formatterCache.has(cacheKey)) return $1dfb119a85e764e5$var$formatterCache.get(cacheKey);\n let numberFormatter = new Intl.NumberFormat(locale, options);\n $1dfb119a85e764e5$var$formatterCache.set(cacheKey, numberFormatter);\n return numberFormatter;\n}\nfunction $1dfb119a85e764e5$export$711b50b3c525e0f2(numberFormat, signDisplay, num) {\n if (signDisplay === 'auto') return numberFormat.format(num);\n else if (signDisplay === 'never') return numberFormat.format(Math.abs(num));\n else {\n let needsPositiveSign = false;\n if (signDisplay === 'always') needsPositiveSign = num > 0 || Object.is(num, 0);\n else if (signDisplay === 'exceptZero') {\n if (Object.is(num, -0) || Object.is(num, 0)) num = Math.abs(num);\n else needsPositiveSign = num > 0;\n }\n if (needsPositiveSign) {\n let negative = numberFormat.format(-num);\n let noSign = numberFormat.format(num);\n // ignore RTL/LTR marker character\n let minus = negative.replace(noSign, '').replace(/\\u200e|\\u061C/, '');\n if ([\n ...minus\n ].length !== 1) console.warn('@react-aria/i18n polyfill for NumberFormat signDisplay: Unsupported case');\n let positive = negative.replace(noSign, '!!!').replace(minus, '+').replace('!!!', noSign);\n return positive;\n } else return numberFormat.format(num);\n }\n}\n\n\nexport {$1dfb119a85e764e5$export$cc77c4ff7e8673c5 as NumberFormatter, $1dfb119a85e764e5$export$711b50b3c525e0f2 as numberFormatSignDisplayPolyfill};\n//# sourceMappingURL=NumberFormatter.mjs.map\n","import {useLocale as $2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7} from \"./I18nProvider.mjs\";\nimport {NumberFormatter as $gaUhm$NumberFormatter} from \"@internationalized/number\";\nimport {useMemo as $gaUhm$useMemo} 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\n\nfunction $bd90acf18e792be6$export$b7a616150fdb9f44(options = {}) {\n let { locale: locale } = (0, $2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7)();\n return (0, $gaUhm$useMemo)(()=>new (0, $gaUhm$NumberFormatter)(locale, options), [\n locale,\n options\n ]);\n}\n\n\nexport {$bd90acf18e792be6$export$b7a616150fdb9f44 as useNumberFormatter};\n//# sourceMappingURL=useNumberFormatter.mjs.map\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 * Takes a value and forces it to the closest min/max if it's outside. Also forces it to the closest\n * valid step.\n */ function $240e9101ba2842f5$export$7d15b64cf5a3a4c4(value, min = -Infinity, max = Infinity) {\n let newValue = Math.min(Math.max(value, min), max);\n return newValue;\n}\nfunction $240e9101ba2842f5$export$e1a7b8e69ef6c52f(value, step) {\n let roundedValue = value;\n let precision = 0;\n let stepString = step.toString();\n // Handle negative exponents in exponential notation (e.g., \"1e-7\" → precision 8)\n let eIndex = stepString.toLowerCase().indexOf('e-');\n if (eIndex > 0) precision = Math.abs(Math.floor(Math.log10(Math.abs(step)))) + eIndex;\n else {\n let pointIndex = stepString.indexOf('.');\n if (pointIndex >= 0) precision = stepString.length - pointIndex;\n }\n if (precision > 0) {\n let pow = Math.pow(10, precision);\n roundedValue = Math.round(roundedValue * pow) / pow;\n }\n return roundedValue;\n}\nfunction $240e9101ba2842f5$export$cb6e0bb50bc19463(value, min, max, step) {\n min = Number(min);\n max = Number(max);\n let remainder = (value - (isNaN(min) ? 0 : min)) % step;\n let snappedValue = $240e9101ba2842f5$export$e1a7b8e69ef6c52f(Math.abs(remainder) * 2 >= step ? value + Math.sign(remainder) * (step - Math.abs(remainder)) : value - remainder, step);\n if (!isNaN(min)) {\n if (snappedValue < min) snappedValue = min;\n else if (!isNaN(max) && snappedValue > max) snappedValue = min + Math.floor($240e9101ba2842f5$export$e1a7b8e69ef6c52f((max - min) / step, step)) * step;\n } else if (!isNaN(max) && snappedValue > max) snappedValue = Math.floor($240e9101ba2842f5$export$e1a7b8e69ef6c52f(max / step, step)) * step;\n // correct floating point behavior by rounding to step precision\n snappedValue = $240e9101ba2842f5$export$e1a7b8e69ef6c52f(snappedValue, step);\n return snappedValue;\n}\nfunction $240e9101ba2842f5$export$b6268554fba451f(value, digits, base = 10) {\n const pow = Math.pow(base, digits);\n return Math.round(value * pow) / pow;\n}\n\n\nexport {$240e9101ba2842f5$export$7d15b64cf5a3a4c4 as clamp, $240e9101ba2842f5$export$e1a7b8e69ef6c52f as roundToStepPrecision, $240e9101ba2842f5$export$cb6e0bb50bc19463 as snapValueToStep, $240e9101ba2842f5$export$b6268554fba451f as toFixedNumber};\n//# sourceMappingURL=number.mjs.map\n","import {filterDOMProps as $8e9d2fae0ecb9001$export$457c3d6518dd4c6f} from \"../utils/filterDOMProps.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {useLabel as $0beb20c9744a2065$export$8467354a121f1b9f} from \"../label/useLabel.mjs\";\nimport {useNumberFormatter as $bd90acf18e792be6$export$b7a616150fdb9f44} from \"../i18n/useNumberFormatter.mjs\";\nimport {clamp as $l5EBy$clamp} from \"react-stately/private/utils/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\n\n\n\nfunction $723aca2821613fe7$export$ed5abd763a836edc(props) {\n let { value: value = 0, minValue: minValue = 0, maxValue: maxValue = 100, valueLabel: valueLabel, isIndeterminate: isIndeterminate, formatOptions: formatOptions = {\n style: 'percent'\n } } = props;\n let domProps = (0, $8e9d2fae0ecb9001$export$457c3d6518dd4c6f)(props, {\n labelable: true\n });\n let { labelProps: labelProps, fieldProps: fieldProps } = (0, $0beb20c9744a2065$export$8467354a121f1b9f)({\n ...props,\n // Progress bar is not an HTML input element so it\n // shouldn't be labeled by a <label> element.\n labelElementType: 'span'\n });\n value = (0, $l5EBy$clamp)(value, minValue, maxValue);\n let percentage = (value - minValue) / (maxValue - minValue);\n let formatter = (0, $bd90acf18e792be6$export$b7a616150fdb9f44)(formatOptions);\n if (!isIndeterminate && !valueLabel) {\n let valueToFormat = formatOptions.style === 'percent' ? percentage : value;\n valueLabel = formatter.format(valueToFormat);\n }\n return {\n progressBarProps: (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(domProps, {\n ...fieldProps,\n 'aria-valuenow': isIndeterminate ? undefined : value,\n 'aria-valuemin': minValue,\n 'aria-valuemax': maxValue,\n 'aria-valuetext': isIndeterminate ? undefined : valueLabel,\n role: 'progressbar'\n }),\n labelProps: labelProps\n };\n}\n\n\nexport {$723aca2821613fe7$export$ed5abd763a836edc as useProgressBar};\n//# sourceMappingURL=useProgressBar.mjs.map\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 * Takes a value and forces it to the closest min/max if it's outside. Also forces it to the closest\n * valid step.\n */ function $240e9101ba2842f5$export$7d15b64cf5a3a4c4(value, min = -Infinity, max = Infinity) {\n let newValue = Math.min(Math.max(value, min), max);\n return newValue;\n}\nfunction $240e9101ba2842f5$export$e1a7b8e69ef6c52f(value, step) {\n let roundedValue = value;\n let precision = 0;\n let stepString = step.toString();\n // Handle negative exponents in exponential notation (e.g., \"1e-7\" → precision 8)\n let eIndex = stepString.toLowerCase().indexOf('e-');\n if (eIndex > 0) precision = Math.abs(Math.floor(Math.log10(Math.abs(step)))) + eIndex;\n else {\n let pointIndex = stepString.indexOf('.');\n if (pointIndex >= 0) precision = stepString.length - pointIndex;\n }\n if (precision > 0) {\n let pow = Math.pow(10, precision);\n roundedValue = Math.round(roundedValue * pow) / pow;\n }\n return roundedValue;\n}\nfunction $240e9101ba2842f5$export$cb6e0bb50bc19463(value, min, max, step) {\n min = Number(min);\n max = Number(max);\n let remainder = (value - (isNaN(min) ? 0 : min)) % step;\n let snappedValue = $240e9101ba2842f5$export$e1a7b8e69ef6c52f(Math.abs(remainder) * 2 >= step ? value + Math.sign(remainder) * (step - Math.abs(remainder)) : value - remainder, step);\n if (!isNaN(min)) {\n if (snappedValue < min) snappedValue = min;\n else if (!isNaN(max) && snappedValue > max) snappedValue = min + Math.floor($240e9101ba2842f5$export$e1a7b8e69ef6c52f((max - min) / step, step)) * step;\n } else if (!isNaN(max) && snappedValue > max) snappedValue = Math.floor($240e9101ba2842f5$export$e1a7b8e69ef6c52f(max / step, step)) * step;\n // correct floating point behavior by rounding to step precision\n snappedValue = $240e9101ba2842f5$export$e1a7b8e69ef6c52f(snappedValue, step);\n return snappedValue;\n}\nfunction $240e9101ba2842f5$export$b6268554fba451f(value, digits, base = 10) {\n const pow = Math.pow(base, digits);\n return Math.round(value * pow) / pow;\n}\n\n\nexport {$240e9101ba2842f5$export$7d15b64cf5a3a4c4 as clamp, $240e9101ba2842f5$export$e1a7b8e69ef6c52f as roundToStepPrecision, $240e9101ba2842f5$export$cb6e0bb50bc19463 as snapValueToStep, $240e9101ba2842f5$export$b6268554fba451f as toFixedNumber};\n//# sourceMappingURL=number.mjs.map\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415, useRenderProps as $7230ffa83bc0c2cf$export$4d86445c2cf5e3, useSlot as $7230ffa83bc0c2cf$export$9d4c57ee4c6ffdd8} from \"./utils.mjs\";\nimport {LabelContext as $43a3b93638fe5db9$export$75b6ee27786ba447} from \"./Label.mjs\";\nimport {useProgressBar as $8MuvO$useProgressBar} from \"react-aria/useProgressBar\";\nimport {clamp as $8MuvO$clamp} from \"react-stately/private/utils/number\";\nimport {filterDOMProps as $8MuvO$filterDOMProps} from \"react-aria/filterDOMProps\";\nimport {mergeProps as $8MuvO$mergeProps} from \"react-aria/mergeProps\";\nimport $8MuvO$react, {createContext as $8MuvO$createContext, forwardRef as $8MuvO$forwardRef} from \"react\";\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\n\n\n\n\nconst $6c0095e7e99364f2$export$e9f3bf65a26ce129 = /*#__PURE__*/ (0, $8MuvO$createContext)(null);\nconst $6c0095e7e99364f2$export$c17561cb55d4db30 = /*#__PURE__*/ (0, $8MuvO$forwardRef)(function ProgressBar(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $6c0095e7e99364f2$export$e9f3bf65a26ce129);\n let { value: value = 0, minValue: minValue = 0, maxValue: maxValue = 100, isIndeterminate: isIndeterminate = false } = props;\n value = (0, $8MuvO$clamp)(value, minValue, maxValue);\n let [labelRef, label] = (0, $7230ffa83bc0c2cf$export$9d4c57ee4c6ffdd8)(!props['aria-label'] && !props['aria-labelledby']);\n let { progressBarProps: progressBarProps, labelProps: labelProps } = (0, $8MuvO$useProgressBar)({\n ...props,\n label: label\n });\n // Calculate the width of the progress bar as a percentage\n let percentage = isIndeterminate ? undefined : (value - minValue) / (maxValue - minValue) * 100;\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-ProgressBar',\n values: {\n percentage: percentage,\n valueText: progressBarProps['aria-valuetext'],\n isIndeterminate: isIndeterminate\n }\n });\n let DOMProps = (0, $8MuvO$filterDOMProps)(props, {\n global: true\n });\n return /*#__PURE__*/ (0, $8MuvO$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div, {\n ...(0, $8MuvO$mergeProps)(DOMProps, renderProps, progressBarProps),\n ref: ref,\n slot: props.slot || undefined\n }, /*#__PURE__*/ (0, $8MuvO$react).createElement((0, $43a3b93638fe5db9$export$75b6ee27786ba447).Provider, {\n value: {\n ...labelProps,\n ref: labelRef,\n elementType: 'span'\n }\n }, renderProps.children));\n});\n\n\nexport {$6c0095e7e99364f2$export$e9f3bf65a26ce129 as ProgressBarContext, $6c0095e7e99364f2$export$c17561cb55d4db30 as ProgressBar};\n//# sourceMappingURL=ProgressBar.mjs.map\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 */ /* Inspired by https://github.com/AlmeroSteyn/react-aria-live */ const $a46cf152bb926da5$var$LIVEREGION_TIMEOUT_DELAY = 7000;\nlet $a46cf152bb926da5$var$liveAnnouncer = null;\nfunction $a46cf152bb926da5$export$a9b970dcc4ae71a9(message, assertiveness = 'assertive', timeout = $a46cf152bb926da5$var$LIVEREGION_TIMEOUT_DELAY) {\n if (!$a46cf152bb926da5$var$liveAnnouncer) {\n $a46cf152bb926da5$var$liveAnnouncer = new $a46cf152bb926da5$var$LiveAnnouncer();\n // wait for the live announcer regions to be added to the dom, then announce\n // otherwise Safari won't announce the message if it's added too quickly\n // found most times less than 100ms were not consistent when announcing with Safari\n // IS_REACT_ACT_ENVIRONMENT is used by React 18. Previous versions checked for the `jest` global.\n // https://github.com/reactwg/react-18/discussions/102\n // if we're in a test environment, announce without waiting\n if (// @ts-ignore\n !(typeof IS_REACT_ACT_ENVIRONMENT === 'boolean' ? IS_REACT_ACT_ENVIRONMENT : typeof jest !== 'undefined')) setTimeout(()=>{\n if ($a46cf152bb926da5$var$liveAnnouncer?.isAttached()) $a46cf152bb926da5$var$liveAnnouncer?.announce(message, assertiveness, timeout);\n }, 100);\n else $a46cf152bb926da5$var$liveAnnouncer.announce(message, assertiveness, timeout);\n } else $a46cf152bb926da5$var$liveAnnouncer.announce(message, assertiveness, timeout);\n}\nfunction $a46cf152bb926da5$export$d10ae4f68404609a(assertiveness) {\n if ($a46cf152bb926da5$var$liveAnnouncer) $a46cf152bb926da5$var$liveAnnouncer.clear(assertiveness);\n}\nfunction $a46cf152bb926da5$export$d8686216b8b81b2f() {\n if ($a46cf152bb926da5$var$liveAnnouncer) {\n $a46cf152bb926da5$var$liveAnnouncer.destroy();\n $a46cf152bb926da5$var$liveAnnouncer = null;\n }\n}\n// LiveAnnouncer is implemented using vanilla DOM, not React. That's because as of React 18\n// ReactDOM.render is deprecated, and the replacement, ReactDOM.createRoot is moved into a\n// subpath import `react-dom/client`. That makes it hard for us to support multiple React versions.\n// As a global API, we can't use portals without introducing a breaking API change. LiveAnnouncer\n// is simple enough to implement without React, so that's what we do here.\n// See this discussion for more details: https://github.com/reactwg/react-18/discussions/125#discussioncomment-2382638\nclass $a46cf152bb926da5$var$LiveAnnouncer {\n constructor(){\n this.node = null;\n this.assertiveLog = null;\n this.politeLog = null;\n if (typeof document !== 'undefined') {\n this.node = document.createElement('div');\n this.node.dataset.liveAnnouncer = 'true';\n // copied from VisuallyHidden\n Object.assign(this.node.style, {\n border: 0,\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(50%)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n width: '1px',\n whiteSpace: 'nowrap'\n });\n this.assertiveLog = this.createLog('assertive');\n this.node.appendChild(this.assertiveLog);\n this.politeLog = this.createLog('polite');\n this.node.appendChild(this.politeLog);\n document.body.prepend(this.node);\n }\n }\n isAttached() {\n return this.node?.isConnected;\n }\n createLog(ariaLive) {\n let node = document.createElement('div');\n node.setAttribute('role', 'log');\n node.setAttribute('aria-live', ariaLive);\n node.setAttribute('aria-relevant', 'additions');\n return node;\n }\n destroy() {\n if (!this.node) return;\n document.body.removeChild(this.node);\n this.node = null;\n }\n announce(message, assertiveness = 'assertive', timeout = $a46cf152bb926da5$var$LIVEREGION_TIMEOUT_DELAY) {\n if (!this.node) return;\n let node = document.createElement('div');\n if (typeof message === 'object') {\n // To read an aria-labelledby, the element must have an appropriate role, such as img.\n node.setAttribute('role', 'img');\n node.setAttribute('aria-labelledby', message['aria-labelledby']);\n } else node.textContent = message;\n if (assertiveness === 'assertive') this.assertiveLog?.appendChild(node);\n else this.politeLog?.appendChild(node);\n if (message !== '') setTimeout(()=>{\n node.remove();\n }, timeout);\n }\n clear(assertiveness) {\n if (!this.node) return;\n if ((!assertiveness || assertiveness === 'assertive') && this.assertiveLog) this.assertiveLog.innerHTML = '';\n if ((!assertiveness || assertiveness === 'polite') && this.politeLog) this.politeLog.innerHTML = '';\n }\n}\n\n\nexport {$a46cf152bb926da5$export$a9b970dcc4ae71a9 as announce, $a46cf152bb926da5$export$d10ae4f68404609a as clearAnnouncer, $a46cf152bb926da5$export$d8686216b8b81b2f as destroyAnnouncer};\n//# sourceMappingURL=LiveAnnouncer.mjs.map\n","import {focusWithoutScrolling as $1969ac565cfec8d0$export$de79e2c695e052f3} from \"../utils/focusWithoutScrolling.mjs\";\nimport {getActiveElement as $23f2114a1b82827e$export$cd4e5573fbe2b576, getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {getOwnerWindow as $d447af545b77c9f1$export$f21a1ffae260145a} from \"../utils/domHelpers.mjs\";\nimport {isFocusable as $3b8b240c1bf84ab9$export$4c063cf1350e6fed} from \"../utils/isFocusable.mjs\";\nimport {useLayoutEffect as $c4867b2f328c2698$export$e5c5a5f917a5871c} from \"../utils/useLayoutEffect.mjs\";\nimport {useRef as $lIB5W$useRef, useCallback as $lIB5W$useCallback} 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\n\n\n\n\nfunction $a92dc41f639950be$export$525bc4921d56d4a(nativeEvent) {\n let event = nativeEvent;\n event.nativeEvent = nativeEvent;\n event.isDefaultPrevented = ()=>event.defaultPrevented;\n // cancelBubble is technically deprecated in the spec, but still supported in all browsers.\n event.isPropagationStopped = ()=>event.cancelBubble;\n event.persist = ()=>{};\n return event;\n}\nfunction $a92dc41f639950be$export$c2b7abe5d61ec696(event, target) {\n Object.defineProperty(event, 'target', {\n value: target\n });\n Object.defineProperty(event, 'currentTarget', {\n value: target\n });\n}\nfunction $a92dc41f639950be$export$715c682d09d639cc(onBlur) {\n let stateRef = (0, $lIB5W$useRef)({\n isFocused: false,\n observer: null\n });\n // Clean up MutationObserver on unmount. See below.\n (0, $c4867b2f328c2698$export$e5c5a5f917a5871c)(()=>{\n const state = stateRef.current;\n return ()=>{\n if (state.observer) {\n state.observer.disconnect();\n state.observer = null;\n }\n };\n }, []);\n // This function is called during a React onFocus event.\n return (0, $lIB5W$useCallback)((e)=>{\n // React does not fire onBlur when an element is disabled. https://github.com/facebook/react/issues/9142\n // Most browsers fire a native focusout event in this case, except for Firefox. In that case, we use a\n // MutationObserver to watch for the disabled attribute, and dispatch these events ourselves.\n // For browsers that do, focusout fires before the MutationObserver, so onBlur should not fire twice.\n let eventTarget = (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e);\n if (eventTarget instanceof HTMLButtonElement || eventTarget instanceof HTMLInputElement || eventTarget instanceof HTMLTextAreaElement || eventTarget instanceof HTMLSelectElement) {\n stateRef.current.isFocused = true;\n let target = eventTarget;\n let onBlurHandler = (e)=>{\n stateRef.current.isFocused = false;\n if (target.disabled) {\n // For backward compatibility, dispatch a (fake) React synthetic event.\n let event = $a92dc41f639950be$export$525bc4921d56d4a(e);\n onBlur?.(event);\n }\n // We no longer need the MutationObserver once the target is blurred.\n if (stateRef.current.observer) {\n stateRef.current.observer.disconnect();\n stateRef.current.observer = null;\n }\n };\n target.addEventListener('focusout', onBlurHandler, {\n once: true\n });\n stateRef.current.observer = new MutationObserver(()=>{\n if (stateRef.current.isFocused && target.disabled) {\n stateRef.current.observer?.disconnect();\n let relatedTargetEl = target === (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)() ? null : (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)();\n target.dispatchEvent(new FocusEvent('blur', {\n relatedTarget: relatedTargetEl\n }));\n target.dispatchEvent(new FocusEvent('focusout', {\n bubbles: true,\n relatedTarget: relatedTargetEl\n }));\n }\n });\n stateRef.current.observer.observe(target, {\n attributes: true,\n attributeFilter: [\n 'disabled'\n ]\n });\n }\n }, [\n onBlur\n ]);\n}\nlet $a92dc41f639950be$export$fda7da73ab5d4c48 = false;\nfunction $a92dc41f639950be$export$cabe61c495ee3649(target) {\n // The browser will focus the nearest focusable ancestor of our target.\n while(target && !(0, $3b8b240c1bf84ab9$export$4c063cf1350e6fed)(target, {\n skipVisibilityCheck: true\n }))target = target.parentElement;\n let window = (0, $d447af545b77c9f1$export$f21a1ffae260145a)(target);\n let activeElement = window.document.activeElement;\n if (!activeElement || activeElement === target) return;\n $a92dc41f639950be$export$fda7da73ab5d4c48 = true;\n let isRefocusing = false;\n let onBlur = (e)=>{\n if ((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e) === activeElement || isRefocusing) e.stopImmediatePropagation();\n };\n let onFocusOut = (e)=>{\n if ((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e) === activeElement || isRefocusing) {\n e.stopImmediatePropagation();\n // If there was no focusable ancestor, we don't expect a focus event.\n // Re-focus the original active element here.\n if (!target && !isRefocusing) {\n isRefocusing = true;\n (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(activeElement);\n cleanup();\n }\n }\n };\n let onFocus = (e)=>{\n if ((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e) === target || isRefocusing) e.stopImmediatePropagation();\n };\n let onFocusIn = (e)=>{\n if ((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e) === target || isRefocusing) {\n e.stopImmediatePropagation();\n if (!isRefocusing) {\n isRefocusing = true;\n (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(activeElement);\n cleanup();\n }\n }\n };\n window.addEventListener('blur', onBlur, true);\n window.addEventListener('focusout', onFocusOut, true);\n window.addEventListener('focusin', onFocusIn, true);\n window.addEventListener('focus', onFocus, true);\n let cleanup = ()=>{\n cancelAnimationFrame(raf);\n window.removeEventListener('blur', onBlur, true);\n window.removeEventListener('focusout', onFocusOut, true);\n window.removeEventListener('focusin', onFocusIn, true);\n window.removeEventListener('focus', onFocus, true);\n $a92dc41f639950be$export$fda7da73ab5d4c48 = false;\n isRefocusing = false;\n };\n let raf = requestAnimationFrame(cleanup);\n return cleanup;\n}\n\n\nexport {$a92dc41f639950be$export$525bc4921d56d4a as createSyntheticEvent, $a92dc41f639950be$export$c2b7abe5d61ec696 as setEventTarget, $a92dc41f639950be$export$715c682d09d639cc as useSyntheticBlurEvent, $a92dc41f639950be$export$fda7da73ab5d4c48 as ignoreFocusEvent, $a92dc41f639950be$export$cabe61c495ee3649 as preventFocus};\n//# sourceMappingURL=utils.mjs.map\n","import {getActiveElement as $23f2114a1b82827e$export$cd4e5573fbe2b576, getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {getOwnerDocument as $d447af545b77c9f1$export$b204af158042fbac, getOwnerWindow as $d447af545b77c9f1$export$f21a1ffae260145a} from \"../utils/domHelpers.mjs\";\nimport {ignoreFocusEvent as $a92dc41f639950be$export$fda7da73ab5d4c48} from \"./utils.mjs\";\nimport {isMac as $2add3ce32c6007eb$export$9ac100e40613ea10} from \"../utils/platform.mjs\";\nimport {isVirtualClick as $b5c62b033c25b96d$export$60278871457622de} from \"../utils/isVirtualEvent.mjs\";\nimport {openLink as $caaf0dd3060ed57c$export$95185d699e05d4d7} from \"../utils/openLink.mjs\";\nimport {useIsSSR as $c7eafbbe1ea5834e$export$535bd6ca7f90a273} from \"../ssr/SSRProvider.mjs\";\nimport {useState as $7U4qw$useState, useEffect as $7U4qw$useEffect} 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 */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\n\n\n\n\n\nlet $8f5a2122b0992be3$var$currentModality = null;\nlet $8f5a2122b0992be3$var$currentPointerType = 'keyboard';\nconst $8f5a2122b0992be3$export$901e90a13c50a14e = new Set();\nlet $8f5a2122b0992be3$export$d90243b58daecda7 = new Map(); // We use a map here to support setting event listeners across multiple document objects.\nlet $8f5a2122b0992be3$var$hasEventBeforeFocus = false;\nlet $8f5a2122b0992be3$var$hasBlurredWindowRecently = false;\n// Only Tab or Esc keys will make focus visible on text input elements\nconst $8f5a2122b0992be3$var$FOCUS_VISIBLE_INPUT_KEYS = {\n Tab: true,\n Escape: true\n};\nfunction $8f5a2122b0992be3$var$triggerChangeHandlers(modality, e) {\n for (let handler of $8f5a2122b0992be3$export$901e90a13c50a14e)handler(modality, e);\n}\n/**\n * Helper function to determine if a KeyboardEvent is unmodified and could make keyboard focus\n * styles visible.\n */ function $8f5a2122b0992be3$var$isValidKey(e) {\n // Control and Shift keys trigger when navigating back to the tab with keyboard.\n return !(e.metaKey || !(0, $2add3ce32c6007eb$export$9ac100e40613ea10)() && e.altKey || e.ctrlKey || e.key === 'Control' || e.key === 'Shift' || e.key === 'Meta');\n}\nfunction $8f5a2122b0992be3$var$handleKeyboardEvent(e) {\n $8f5a2122b0992be3$var$hasEventBeforeFocus = true;\n if (!(0, $caaf0dd3060ed57c$export$95185d699e05d4d7).isOpening && $8f5a2122b0992be3$var$isValidKey(e)) {\n $8f5a2122b0992be3$var$currentModality = 'keyboard';\n $8f5a2122b0992be3$var$currentPointerType = 'keyboard';\n $8f5a2122b0992be3$var$triggerChangeHandlers('keyboard', e);\n }\n}\nfunction $8f5a2122b0992be3$var$handlePointerEvent(e) {\n $8f5a2122b0992be3$var$currentModality = 'pointer';\n $8f5a2122b0992be3$var$currentPointerType = 'pointerType' in e ? e.pointerType : 'mouse';\n if (e.type === 'mousedown' || e.type === 'pointerdown') {\n $8f5a2122b0992be3$var$hasEventBeforeFocus = true;\n $8f5a2122b0992be3$var$triggerChangeHandlers('pointer', e);\n }\n}\nfunction $8f5a2122b0992be3$var$handleClickEvent(e) {\n if (!(0, $caaf0dd3060ed57c$export$95185d699e05d4d7).isOpening && (0, $b5c62b033c25b96d$export$60278871457622de)(e)) {\n $8f5a2122b0992be3$var$hasEventBeforeFocus = true;\n $8f5a2122b0992be3$var$currentModality = 'virtual';\n $8f5a2122b0992be3$var$currentPointerType = 'virtual';\n }\n}\nfunction $8f5a2122b0992be3$var$handleFocusEvent(e) {\n // Firefox fires two extra focus events when the user first clicks into an iframe:\n // first on the window, then on the document. We ignore these events so they don't\n // cause keyboard focus rings to appear.\n let ownerWindow = (0, $d447af545b77c9f1$export$f21a1ffae260145a)((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e));\n let ownerDocument = (0, $d447af545b77c9f1$export$b204af158042fbac)((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e));\n if ((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e) === ownerWindow || (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e) === ownerDocument || (0, $a92dc41f639950be$export$fda7da73ab5d4c48) || !e.isTrusted) return;\n // If a focus event occurs without a preceding keyboard or pointer event, switch to virtual modality.\n // This occurs, for example, when navigating a form with the next/previous buttons on iOS.\n if (!$8f5a2122b0992be3$var$hasEventBeforeFocus && !$8f5a2122b0992be3$var$hasBlurredWindowRecently) {\n $8f5a2122b0992be3$var$currentModality = 'virtual';\n $8f5a2122b0992be3$var$currentPointerType = 'virtual';\n $8f5a2122b0992be3$var$triggerChangeHandlers('virtual', e);\n }\n $8f5a2122b0992be3$var$hasEventBeforeFocus = false;\n $8f5a2122b0992be3$var$hasBlurredWindowRecently = false;\n}\nfunction $8f5a2122b0992be3$var$handleWindowBlur() {\n if (0, $a92dc41f639950be$export$fda7da73ab5d4c48) return;\n // When the window is blurred, reset state. This is necessary when tabbing out of the window,\n // for example, since a subsequent focus event won't be fired.\n $8f5a2122b0992be3$var$hasEventBeforeFocus = false;\n $8f5a2122b0992be3$var$hasBlurredWindowRecently = true;\n}\n/**\n * Setup global event listeners to control when keyboard focus style should be visible.\n */ function $8f5a2122b0992be3$var$setupGlobalFocusEvents(element) {\n // eslint-disable-next-line no-restricted-globals\n if (typeof window === 'undefined' || typeof document === 'undefined') return;\n const windowObject = (0, $d447af545b77c9f1$export$f21a1ffae260145a)(element);\n const documentObject = (0, $d447af545b77c9f1$export$b204af158042fbac)(element);\n if ($8f5a2122b0992be3$export$d90243b58daecda7.get(windowObject)) return;\n // Programmatic focus() calls shouldn't affect the current input modality.\n // However, we need to detect other cases when a focus event occurs without\n // a preceding user event (e.g. screen reader focus). Overriding the focus\n // method on HTMLElement.prototype is a bit hacky, but works.\n let focus = windowObject.HTMLElement.prototype.focus;\n windowObject.HTMLElement.prototype.focus = function() {\n $8f5a2122b0992be3$var$hasEventBeforeFocus = true;\n focus.apply(this, arguments);\n };\n documentObject.addEventListener('keydown', $8f5a2122b0992be3$var$handleKeyboardEvent, true);\n documentObject.addEventListener('keyup', $8f5a2122b0992be3$var$handleKeyboardEvent, true);\n documentObject.addEventListener('click', $8f5a2122b0992be3$var$handleClickEvent, true);\n // Register focus events on the window so they are sure to happen\n // before React's event listeners (registered on the document).\n windowObject.addEventListener('focus', $8f5a2122b0992be3$var$handleFocusEvent, true);\n windowObject.addEventListener('blur', $8f5a2122b0992be3$var$handleWindowBlur, false);\n if (typeof PointerEvent !== 'undefined') {\n documentObject.addEventListener('pointerdown', $8f5a2122b0992be3$var$handlePointerEvent, true);\n documentObject.addEventListener('pointermove', $8f5a2122b0992be3$var$handlePointerEvent, true);\n documentObject.addEventListener('pointerup', $8f5a2122b0992be3$var$handlePointerEvent, true);\n } else if (process.env.NODE_ENV === 'test') {\n documentObject.addEventListener('mousedown', $8f5a2122b0992be3$var$handlePointerEvent, true);\n documentObject.addEventListener('mousemove', $8f5a2122b0992be3$var$handlePointerEvent, true);\n documentObject.addEventListener('mouseup', $8f5a2122b0992be3$var$handlePointerEvent, true);\n }\n // Add unmount handler\n windowObject.addEventListener('beforeunload', ()=>{\n $8f5a2122b0992be3$var$tearDownWindowFocusTracking(element);\n }, {\n once: true\n });\n $8f5a2122b0992be3$export$d90243b58daecda7.set(windowObject, {\n focus: focus\n });\n}\nconst $8f5a2122b0992be3$var$tearDownWindowFocusTracking = (element, loadListener)=>{\n const windowObject = (0, $d447af545b77c9f1$export$f21a1ffae260145a)(element);\n const documentObject = (0, $d447af545b77c9f1$export$b204af158042fbac)(element);\n if (loadListener) documentObject.removeEventListener('DOMContentLoaded', loadListener);\n if (!$8f5a2122b0992be3$export$d90243b58daecda7.has(windowObject)) return;\n windowObject.HTMLElement.prototype.focus = $8f5a2122b0992be3$export$d90243b58daecda7.get(windowObject).focus;\n documentObject.removeEventListener('keydown', $8f5a2122b0992be3$var$handleKeyboardEvent, true);\n documentObject.removeEventListener('keyup', $8f5a2122b0992be3$var$handleKeyboardEvent, true);\n documentObject.removeEventListener('click', $8f5a2122b0992be3$var$handleClickEvent, true);\n windowObject.removeEventListener('focus', $8f5a2122b0992be3$var$handleFocusEvent, true);\n windowObject.removeEventListener('blur', $8f5a2122b0992be3$var$handleWindowBlur, false);\n if (typeof PointerEvent !== 'undefined') {\n documentObject.removeEventListener('pointerdown', $8f5a2122b0992be3$var$handlePointerEvent, true);\n documentObject.removeEventListener('pointermove', $8f5a2122b0992be3$var$handlePointerEvent, true);\n documentObject.removeEventListener('pointerup', $8f5a2122b0992be3$var$handlePointerEvent, true);\n } else if (process.env.NODE_ENV === 'test') {\n documentObject.removeEventListener('mousedown', $8f5a2122b0992be3$var$handlePointerEvent, true);\n documentObject.removeEventListener('mousemove', $8f5a2122b0992be3$var$handlePointerEvent, true);\n documentObject.removeEventListener('mouseup', $8f5a2122b0992be3$var$handlePointerEvent, true);\n }\n $8f5a2122b0992be3$export$d90243b58daecda7.delete(windowObject);\n};\nfunction $8f5a2122b0992be3$export$2f1888112f558a7d(element) {\n const documentObject = (0, $d447af545b77c9f1$export$b204af158042fbac)(element);\n let loadListener;\n if (documentObject.readyState !== 'loading') $8f5a2122b0992be3$var$setupGlobalFocusEvents(element);\n else {\n loadListener = ()=>{\n $8f5a2122b0992be3$var$setupGlobalFocusEvents(element);\n };\n documentObject.addEventListener('DOMContentLoaded', loadListener);\n }\n return ()=>$8f5a2122b0992be3$var$tearDownWindowFocusTracking(element, loadListener);\n}\n// Server-side rendering does not have the document object defined\n// eslint-disable-next-line no-restricted-globals\nif (typeof document !== 'undefined') $8f5a2122b0992be3$export$2f1888112f558a7d();\nfunction $8f5a2122b0992be3$export$b9b3dfddab17db27() {\n return $8f5a2122b0992be3$var$currentModality !== 'pointer';\n}\nfunction $8f5a2122b0992be3$export$630ff653c5ada6a9() {\n return $8f5a2122b0992be3$var$currentModality;\n}\nfunction $8f5a2122b0992be3$export$8397ddfc504fdb9a(modality) {\n $8f5a2122b0992be3$var$currentModality = modality;\n $8f5a2122b0992be3$var$currentPointerType = modality === 'pointer' ? 'mouse' : modality;\n $8f5a2122b0992be3$var$triggerChangeHandlers(modality, null);\n}\nfunction $8f5a2122b0992be3$export$887a228355cf7d95() {\n return $8f5a2122b0992be3$var$currentPointerType;\n}\nfunction $8f5a2122b0992be3$export$98e20ec92f614cfe() {\n $8f5a2122b0992be3$var$setupGlobalFocusEvents();\n let [modality, setModality] = (0, $7U4qw$useState)($8f5a2122b0992be3$var$currentModality);\n (0, $7U4qw$useEffect)(()=>{\n let handler = ()=>{\n setModality($8f5a2122b0992be3$var$currentModality);\n };\n $8f5a2122b0992be3$export$901e90a13c50a14e.add(handler);\n return ()=>{\n $8f5a2122b0992be3$export$901e90a13c50a14e.delete(handler);\n };\n }, []);\n return (0, $c7eafbbe1ea5834e$export$535bd6ca7f90a273)() ? null : modality;\n}\nconst $8f5a2122b0992be3$var$nonTextInputTypes = new Set([\n 'checkbox',\n 'radio',\n 'range',\n 'color',\n 'file',\n 'image',\n 'button',\n 'submit',\n 'reset'\n]);\n/**\n * If this is attached to text input component, return if the event is a focus event (Tab/Escape\n * keys pressed) so that focus visible style can be properly set.\n */ function $8f5a2122b0992be3$var$isKeyboardFocusEvent(isTextInput, modality, e) {\n let eventTarget = e ? (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e) : undefined;\n let document1 = (0, $d447af545b77c9f1$export$b204af158042fbac)(eventTarget);\n let ownerWindow = (0, $d447af545b77c9f1$export$f21a1ffae260145a)(eventTarget);\n const IHTMLInputElement = typeof ownerWindow !== 'undefined' ? ownerWindow.HTMLInputElement : HTMLInputElement;\n const IHTMLTextAreaElement = typeof ownerWindow !== 'undefined' ? ownerWindow.HTMLTextAreaElement : HTMLTextAreaElement;\n const IHTMLElement = typeof ownerWindow !== 'undefined' ? ownerWindow.HTMLElement : HTMLElement;\n const IKeyboardEvent = typeof ownerWindow !== 'undefined' ? ownerWindow.KeyboardEvent : KeyboardEvent;\n // For keyboard events that occur on a non-input element that will move focus into input element (aka ArrowLeft going from Datepicker button to the main input group)\n // we need to rely on the user passing isTextInput into here. This way we can skip toggling focus visiblity for said input element\n let activeElement = (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)(document1);\n isTextInput = isTextInput || activeElement instanceof IHTMLInputElement && !$8f5a2122b0992be3$var$nonTextInputTypes.has(activeElement.type) || activeElement instanceof IHTMLTextAreaElement || activeElement instanceof IHTMLElement && activeElement.isContentEditable;\n return !(isTextInput && modality === 'keyboard' && e instanceof IKeyboardEvent && !$8f5a2122b0992be3$var$FOCUS_VISIBLE_INPUT_KEYS[e.key]);\n}\nfunction $8f5a2122b0992be3$export$ffd9e5021c1fb2d6(props = {}) {\n let { isTextInput: isTextInput, autoFocus: autoFocus } = props;\n let [isFocusVisibleState, setFocusVisible] = (0, $7U4qw$useState)(autoFocus || $8f5a2122b0992be3$export$b9b3dfddab17db27());\n $8f5a2122b0992be3$export$ec71b4b83ac08ec3((isFocusVisible)=>{\n setFocusVisible(isFocusVisible);\n }, [\n isTextInput\n ], {\n isTextInput: isTextInput\n });\n return {\n isFocusVisible: isFocusVisibleState\n };\n}\nfunction $8f5a2122b0992be3$export$ec71b4b83ac08ec3(fn, deps, opts) {\n $8f5a2122b0992be3$var$setupGlobalFocusEvents();\n (0, $7U4qw$useEffect)(()=>{\n if (opts?.enabled === false) return;\n let handler = (modality, e)=>{\n // We want to early return for any keyboard events that occur inside text inputs EXCEPT for Tab and Escape\n if (!$8f5a2122b0992be3$var$isKeyboardFocusEvent(!!opts?.isTextInput, modality, e)) return;\n fn($8f5a2122b0992be3$export$b9b3dfddab17db27());\n };\n $8f5a2122b0992be3$export$901e90a13c50a14e.add(handler);\n return ()=>{\n $8f5a2122b0992be3$export$901e90a13c50a14e.delete(handler);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n}\n\n\nexport {$8f5a2122b0992be3$export$901e90a13c50a14e as changeHandlers, $8f5a2122b0992be3$export$d90243b58daecda7 as hasSetupGlobalListeners, $8f5a2122b0992be3$export$2f1888112f558a7d as addWindowFocusTracking, $8f5a2122b0992be3$export$b9b3dfddab17db27 as isFocusVisible, $8f5a2122b0992be3$export$630ff653c5ada6a9 as getInteractionModality, $8f5a2122b0992be3$export$8397ddfc504fdb9a as setInteractionModality, $8f5a2122b0992be3$export$887a228355cf7d95 as getPointerType, $8f5a2122b0992be3$export$98e20ec92f614cfe as useInteractionModality, $8f5a2122b0992be3$export$ffd9e5021c1fb2d6 as useFocusVisible, $8f5a2122b0992be3$export$ec71b4b83ac08ec3 as useFocusVisibleListener};\n//# sourceMappingURL=useFocusVisible.mjs.map\n","import {focusWithoutScrolling as $1969ac565cfec8d0$export$de79e2c695e052f3} from \"../utils/focusWithoutScrolling.mjs\";\nimport {getActiveElement as $23f2114a1b82827e$export$cd4e5573fbe2b576} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {getInteractionModality as $8f5a2122b0992be3$export$630ff653c5ada6a9} from \"./useFocusVisible.mjs\";\nimport {getOwnerDocument as $d447af545b77c9f1$export$b204af158042fbac} from \"../utils/domHelpers.mjs\";\nimport {runAfterTransition as $081cb5757e08788e$export$24490316f764c430} from \"../utils/runAfterTransition.mjs\";\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\n\n\nfunction $f192c2f16961cbe0$export$80f3e147d781571c(element) {\n if (!element.isConnected) return;\n // If the user is interacting with a virtual cursor, e.g. screen reader, then\n // wait until after any animated transitions that are currently occurring on\n // the page before shifting focus. This avoids issues with VoiceOver on iOS\n // causing the page to scroll when moving focus if the element is transitioning\n // from off the screen.\n const ownerDocument = (0, $d447af545b77c9f1$export$b204af158042fbac)(element);\n if ((0, $8f5a2122b0992be3$export$630ff653c5ada6a9)() === 'virtual') {\n let lastFocusedElement = (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)(ownerDocument);\n (0, $081cb5757e08788e$export$24490316f764c430)(()=>{\n const activeElement = (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)(ownerDocument);\n // If focus did not move or focus was lost to the body, and the element is still in the document, focus it.\n if ((activeElement === lastFocusedElement || activeElement === ownerDocument.body) && element.isConnected) (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(element);\n });\n } else (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(element);\n}\n\n\nexport {$f192c2f16961cbe0$export$80f3e147d781571c as focusSafely};\n//# sourceMappingURL=focusSafely.mjs.map\n","import {getActiveElement as $23f2114a1b82827e$export$cd4e5573fbe2b576, getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {getOwnerDocument as $d447af545b77c9f1$export$b204af158042fbac} from \"../utils/domHelpers.mjs\";\nimport {useSyntheticBlurEvent as $a92dc41f639950be$export$715c682d09d639cc} from \"./utils.mjs\";\nimport {useCallback as $3siB1$useCallback} 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 */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\n\nfunction $1e74c67db218ce67$export$f8168d8dd8fd66e6(props) {\n let { isDisabled: isDisabled, onFocus: onFocusProp, onBlur: onBlurProp, onFocusChange: onFocusChange } = props;\n const onBlur = (0, $3siB1$useCallback)((e)=>{\n if ((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e) === e.currentTarget) {\n if (onBlurProp) onBlurProp(e);\n if (onFocusChange) onFocusChange(false);\n return true;\n }\n }, [\n onBlurProp,\n onFocusChange\n ]);\n const onSyntheticFocus = (0, $a92dc41f639950be$export$715c682d09d639cc)(onBlur);\n const onFocus = (0, $3siB1$useCallback)((e)=>{\n // Double check that document.activeElement actually matches e.target in case a previously chained\n // focus handler already moved focus somewhere else.\n let eventTarget = (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e);\n const ownerDocument = (0, $d447af545b77c9f1$export$b204af158042fbac)(eventTarget);\n const activeElement = ownerDocument ? (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)(ownerDocument) : (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)();\n if (eventTarget === e.currentTarget && eventTarget === activeElement) {\n if (onFocusProp) onFocusProp(e);\n if (onFocusChange) onFocusChange(true);\n onSyntheticFocus(e);\n }\n }, [\n onFocusChange,\n onFocusProp,\n onSyntheticFocus\n ]);\n return {\n focusProps: {\n onFocus: !isDisabled && (onFocusProp || onFocusChange || onBlurProp) ? onFocus : undefined,\n onBlur: !isDisabled && (onBlurProp || onFocusChange) ? onBlur : undefined\n }\n };\n}\n\n\nexport {$1e74c67db218ce67$export$f8168d8dd8fd66e6 as useFocus};\n//# sourceMappingURL=useFocus.mjs.map\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 */ function $8dba16319206abb6$export$48d1ea6320830260(handler) {\n if (!handler) return undefined;\n let shouldStopPropagation = true;\n return (e)=>{\n let event = {\n ...e,\n preventDefault () {\n e.preventDefault();\n },\n isDefaultPrevented () {\n return e.isDefaultPrevented();\n },\n stopPropagation () {\n if (shouldStopPropagation && process.env.NODE_ENV !== 'production') console.error('stopPropagation is now the default behavior for events in React Spectrum. You can use continuePropagation() to revert this behavior.');\n else shouldStopPropagation = true;\n },\n continuePropagation () {\n shouldStopPropagation = false;\n },\n isPropagationStopped () {\n return shouldStopPropagation;\n }\n };\n handler(event);\n if (shouldStopPropagation) e.stopPropagation();\n };\n}\n\n\nexport {$8dba16319206abb6$export$48d1ea6320830260 as createEventHandler};\n//# sourceMappingURL=createEventHandler.mjs.map\n","import {createEventHandler as $8dba16319206abb6$export$48d1ea6320830260} from \"./createEventHandler.mjs\";\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 $8296dad1a4c5e0dc$export$8f71654801c2f7cd(props) {\n return {\n keyboardProps: props.isDisabled ? {} : {\n onKeyDown: (0, $8dba16319206abb6$export$48d1ea6320830260)(props.onKeyDown),\n onKeyUp: (0, $8dba16319206abb6$export$48d1ea6320830260)(props.onKeyUp)\n }\n };\n}\n\n\nexport {$8296dad1a4c5e0dc$export$8f71654801c2f7cd as useKeyboard};\n//# sourceMappingURL=useKeyboard.mjs.map\n","import {focusSafely as $f192c2f16961cbe0$export$80f3e147d781571c} from \"./focusSafely.mjs\";\nimport {getOwnerWindow as $d447af545b77c9f1$export$f21a1ffae260145a} from \"../utils/domHelpers.mjs\";\nimport {isFocusable as $3b8b240c1bf84ab9$export$4c063cf1350e6fed} from \"../utils/isFocusable.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {mergeRefs as $4064df0d6f9620e1$export$c9058316764c140e} from \"../utils/mergeRefs.mjs\";\nimport {useFocus as $1e74c67db218ce67$export$f8168d8dd8fd66e6} from \"./useFocus.mjs\";\nimport {useKeyboard as $8296dad1a4c5e0dc$export$8f71654801c2f7cd} from \"./useKeyboard.mjs\";\nimport {useObjectRef as $03e8ab2d84d7657a$export$4338b53315abf666} from \"../utils/useObjectRef.mjs\";\nimport {useSyncRef as $b7115c395c64f7b5$export$4debdb1a3f0fa79e} from \"../utils/useSyncRef.mjs\";\nimport $fKWKs$react, {useContext as $fKWKs$useContext, useRef as $fKWKs$useRef, useEffect as $fKWKs$useEffect, forwardRef as $fKWKs$forwardRef} 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\n\n\n\n\n\n\n\n\nlet $d1116acdf220c2da$export$f9762fab77588ecb = /*#__PURE__*/ (0, $fKWKs$react).createContext(null);\nfunction $d1116acdf220c2da$var$useFocusableContext(ref) {\n let context = (0, $fKWKs$useContext)($d1116acdf220c2da$export$f9762fab77588ecb) || {};\n (0, $b7115c395c64f7b5$export$4debdb1a3f0fa79e)(context, ref);\n // eslint-disable-next-line\n let { ref: _, ...otherProps } = context;\n return otherProps;\n}\nconst $d1116acdf220c2da$export$13f3202a3e5ddd5 = /*#__PURE__*/ (0, $fKWKs$react).forwardRef(function FocusableProvider(props, ref) {\n let { children: children, ...otherProps } = props;\n let objRef = (0, $03e8ab2d84d7657a$export$4338b53315abf666)(ref);\n let context = {\n ...otherProps,\n ref: objRef\n };\n return /*#__PURE__*/ (0, $fKWKs$react).createElement($d1116acdf220c2da$export$f9762fab77588ecb.Provider, {\n value: context\n }, children);\n});\nfunction $d1116acdf220c2da$export$4c014de7c8940b4c(props, domRef) {\n let { focusProps: focusProps } = (0, $1e74c67db218ce67$export$f8168d8dd8fd66e6)(props);\n let { keyboardProps: keyboardProps } = (0, $8296dad1a4c5e0dc$export$8f71654801c2f7cd)(props);\n let interactions = (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(focusProps, keyboardProps);\n let domProps = $d1116acdf220c2da$var$useFocusableContext(domRef);\n let interactionProps = props.isDisabled ? {} : domProps;\n let autoFocusRef = (0, $fKWKs$useRef)(props.autoFocus);\n (0, $fKWKs$useEffect)(()=>{\n if (autoFocusRef.current && domRef.current) (0, $f192c2f16961cbe0$export$80f3e147d781571c)(domRef.current);\n autoFocusRef.current = false;\n }, [\n domRef\n ]);\n // Always set a tabIndex so that Safari allows focusing native buttons and inputs.\n let tabIndex = props.excludeFromTabOrder ? -1 : 0;\n if (props.isDisabled) tabIndex = undefined;\n return {\n focusableProps: (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)({\n ...interactions,\n tabIndex: tabIndex\n }, interactionProps)\n };\n}\nconst $d1116acdf220c2da$export$35a3bebf7ef2d934 = /*#__PURE__*/ (0, $fKWKs$forwardRef)(({ children: children, ...props }, ref)=>{\n ref = (0, $03e8ab2d84d7657a$export$4338b53315abf666)(ref);\n let { focusableProps: focusableProps } = $d1116acdf220c2da$export$4c014de7c8940b4c(props, ref);\n let child = (0, $fKWKs$react).Children.only(children);\n (0, $fKWKs$useEffect)(()=>{\n if (process.env.NODE_ENV === 'production') return;\n let el = ref.current;\n if (!el || !(el instanceof (0, $d447af545b77c9f1$export$f21a1ffae260145a)(el).Element)) {\n console.error('<Focusable> child must forward its ref to a DOM element.');\n return;\n }\n if (!props.isDisabled && !(0, $3b8b240c1bf84ab9$export$4c063cf1350e6fed)(el)) {\n console.warn('<Focusable> child must be focusable. Please ensure the tabIndex prop is passed through.');\n return;\n }\n if (el.localName !== 'button' && el.localName !== 'input' && el.localName !== 'select' && el.localName !== 'textarea' && el.localName !== 'a' && el.localName !== 'area' && el.localName !== 'summary' && el.localName !== 'img' && el.localName !== 'svg') {\n let role = el.getAttribute('role');\n if (!role) console.warn('<Focusable> child must have an interactive ARIA role.');\n else if (// https://w3c.github.io/aria/#widget_roles\n role !== 'application' && role !== 'button' && role !== 'checkbox' && role !== 'combobox' && role !== 'gridcell' && role !== 'link' && role !== 'menuitem' && role !== 'menuitemcheckbox' && role !== 'menuitemradio' && role !== 'option' && role !== 'radio' && role !== 'searchbox' && role !== 'separator' && role !== 'slider' && role !== 'spinbutton' && role !== 'switch' && role !== 'tab' && role !== 'tabpanel' && role !== 'textbox' && role !== 'treeitem' && // aria-describedby is also announced on these roles\n role !== 'img' && role !== 'meter' && role !== 'progressbar') console.warn(`<Focusable> child must have an interactive ARIA role. Got \"${role}\".`);\n }\n }, [\n ref,\n props.isDisabled\n ]);\n // @ts-ignore\n let childRef = parseInt((0, $fKWKs$react).version, 10) < 19 ? child.ref : child.props.ref;\n return /*#__PURE__*/ (0, $fKWKs$react).cloneElement(child, {\n ...(0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(focusableProps, child.props),\n // @ts-ignore\n ref: (0, $4064df0d6f9620e1$export$c9058316764c140e)(childRef, ref)\n });\n});\n\n\nexport {$d1116acdf220c2da$export$f9762fab77588ecb as FocusableContext, $d1116acdf220c2da$export$13f3202a3e5ddd5 as FocusableProvider, $d1116acdf220c2da$export$4c014de7c8940b4c as useFocusable, $d1116acdf220c2da$export$35a3bebf7ef2d934 as Focusable};\n//# sourceMappingURL=useFocusable.mjs.map\n","import {getOwnerDocument as $d447af545b77c9f1$export$b204af158042fbac} from \"../utils/domHelpers.mjs\";\nimport {isIOS as $2add3ce32c6007eb$export$fedb369cb70207f1} from \"../utils/platform.mjs\";\nimport {runAfterTransition as $081cb5757e08788e$export$24490316f764c430} from \"../utils/runAfterTransition.mjs\";\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\n// Note that state only matters here for iOS. Non-iOS gets user-select: none applied to the target element\n// rather than at the document level so we just need to apply/remove user-select: none for each pressed element individually\nlet $cbf007e418543821$var$state = 'default';\nlet $cbf007e418543821$var$savedUserSelect = '';\nlet $cbf007e418543821$var$modifiedElementMap = new WeakMap();\nfunction $cbf007e418543821$export$16a4697467175487(target) {\n if ((0, $2add3ce32c6007eb$export$fedb369cb70207f1)()) {\n if ($cbf007e418543821$var$state === 'default') {\n const documentObject = (0, $d447af545b77c9f1$export$b204af158042fbac)(target);\n $cbf007e418543821$var$savedUserSelect = documentObject.documentElement.style.webkitUserSelect;\n documentObject.documentElement.style.webkitUserSelect = 'none';\n }\n $cbf007e418543821$var$state = 'disabled';\n } else if (target instanceof HTMLElement || target instanceof SVGElement) {\n // If not iOS, store the target's original user-select and change to user-select: none\n // Ignore state since it doesn't apply for non iOS\n let property = 'userSelect' in target.style ? 'userSelect' : 'webkitUserSelect';\n $cbf007e418543821$var$modifiedElementMap.set(target, target.style[property]);\n target.style[property] = 'none';\n }\n}\nfunction $cbf007e418543821$export$b0d6fa1ab32e3295(target) {\n if ((0, $2add3ce32c6007eb$export$fedb369cb70207f1)()) {\n // If the state is already default, there's nothing to do.\n // If it is restoring, then there's no need to queue a second restore.\n if ($cbf007e418543821$var$state !== 'disabled') return;\n $cbf007e418543821$var$state = 'restoring';\n // There appears to be a delay on iOS where selection still might occur\n // after pointer up, so wait a bit before removing user-select.\n setTimeout(()=>{\n // Wait for any CSS transitions to complete so we don't recompute style\n // for the whole page in the middle of the animation and cause jank.\n (0, $081cb5757e08788e$export$24490316f764c430)(()=>{\n // Avoid race conditions\n if ($cbf007e418543821$var$state === 'restoring') {\n const documentObject = (0, $d447af545b77c9f1$export$b204af158042fbac)(target);\n if (documentObject.documentElement.style.webkitUserSelect === 'none') documentObject.documentElement.style.webkitUserSelect = $cbf007e418543821$var$savedUserSelect || '';\n $cbf007e418543821$var$savedUserSelect = '';\n $cbf007e418543821$var$state = 'default';\n }\n });\n }, 300);\n } else if (target instanceof HTMLElement || target instanceof SVGElement) // If not iOS, restore the target's original user-select if any\n // Ignore state since it doesn't apply for non iOS\n {\n if (target && $cbf007e418543821$var$modifiedElementMap.has(target)) {\n let targetOldUserSelect = $cbf007e418543821$var$modifiedElementMap.get(target);\n let property = 'userSelect' in target.style ? 'userSelect' : 'webkitUserSelect';\n if (target.style[property] === 'none') target.style[property] = targetOldUserSelect;\n if (target.getAttribute('style') === '') target.removeAttribute('style');\n $cbf007e418543821$var$modifiedElementMap.delete(target);\n }\n }\n}\n\n\nexport {$cbf007e418543821$export$16a4697467175487 as disableTextSelection, $cbf007e418543821$export$b0d6fa1ab32e3295 as restoreTextSelection};\n//# sourceMappingURL=textSelection.mjs.map\n","import $kV9Vy$react 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 */ \nconst $24f9a20f226ad820$export$5165eccb35aaadb5 = (0, $kV9Vy$react).createContext({\n register: ()=>{}\n});\n$24f9a20f226ad820$export$5165eccb35aaadb5.displayName = 'PressResponderContext';\n\n\nexport {$24f9a20f226ad820$export$5165eccb35aaadb5 as PressResponderContext};\n//# sourceMappingURL=context.mjs.map\n","import {chain as $a4e76a5424781910$export$e08e3b67e392101e} from \"../utils/chain.mjs\";\nimport {createSyntheticEvent as $a92dc41f639950be$export$525bc4921d56d4a, preventFocus as $a92dc41f639950be$export$cabe61c495ee3649, setEventTarget as $a92dc41f639950be$export$c2b7abe5d61ec696} from \"./utils.mjs\";\nimport {disableTextSelection as $cbf007e418543821$export$16a4697467175487, restoreTextSelection as $cbf007e418543821$export$b0d6fa1ab32e3295} from \"./textSelection.mjs\";\nimport {focusWithoutScrolling as $1969ac565cfec8d0$export$de79e2c695e052f3} from \"../utils/focusWithoutScrolling.mjs\";\nimport {getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29, nodeContains as $23f2114a1b82827e$export$4282f70798064fe0} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {getNonce as $2b2d34ff061957fb$export$2b85b721e524d74b} from \"../utils/getNonce.mjs\";\nimport {getOwnerDocument as $d447af545b77c9f1$export$b204af158042fbac, getOwnerWindow as $d447af545b77c9f1$export$f21a1ffae260145a} from \"../utils/domHelpers.mjs\";\nimport {isMac as $2add3ce32c6007eb$export$9ac100e40613ea10} from \"../utils/platform.mjs\";\nimport {isVirtualClick as $b5c62b033c25b96d$export$60278871457622de, isVirtualPointerEvent as $b5c62b033c25b96d$export$29bf1b5f2c56cf63} from \"../utils/isVirtualEvent.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {openLink as $caaf0dd3060ed57c$export$95185d699e05d4d7} from \"../utils/openLink.mjs\";\nimport {PressResponderContext as $24f9a20f226ad820$export$5165eccb35aaadb5} from \"./context.mjs\";\nimport {useEffectEvent as $fe16bffc7a557bf0$export$7f54fc3180508a52} from \"../utils/useEffectEvent.mjs\";\nimport {useGlobalListeners as $48a7d519b337145d$export$4eaf04e54aa8eed6} from \"../utils/useGlobalListeners.mjs\";\nimport {useSyncRef as $b7115c395c64f7b5$export$4debdb1a3f0fa79e} from \"../utils/useSyncRef.mjs\";\nimport {flushSync as $fL2C6$flushSync} from \"react-dom\";\nimport {useContext as $fL2C6$useContext, useState as $fL2C6$useState, useRef as $fL2C6$useRef, useCallback as $fL2C6$useCallback, useEffect as $fL2C6$useEffect, useMemo as $fL2C6$useMemo} 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 */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction $d27d541f9569d26d$var$usePressResponderContext(props) {\n // Consume context from <PressResponder> and merge with props.\n let context = (0, $fL2C6$useContext)((0, $24f9a20f226ad820$export$5165eccb35aaadb5));\n if (context) {\n // Prevent mergeProps from merging ref.\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n let { register: register, ref: ref, ...contextProps } = context;\n props = (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(contextProps, props);\n register();\n }\n (0, $b7115c395c64f7b5$export$4debdb1a3f0fa79e)(context, props.ref);\n return props;\n}\nclass $d27d541f9569d26d$var$PressEvent {\n #shouldStopPropagation;\n constructor(type, pointerType, originalEvent, state){\n this.#shouldStopPropagation = true;\n let currentTarget = state?.target ?? originalEvent.currentTarget;\n const rect = currentTarget?.getBoundingClientRect();\n let x, y = 0;\n let clientX, clientY = null;\n if (originalEvent.clientX != null && originalEvent.clientY != null) {\n clientX = originalEvent.clientX;\n clientY = originalEvent.clientY;\n }\n if (rect) {\n if (clientX != null && clientY != null) {\n x = clientX - rect.left;\n y = clientY - rect.top;\n } else {\n x = rect.width / 2;\n y = rect.height / 2;\n }\n }\n this.type = type;\n this.pointerType = pointerType;\n this.target = originalEvent.currentTarget;\n this.shiftKey = originalEvent.shiftKey;\n this.metaKey = originalEvent.metaKey;\n this.ctrlKey = originalEvent.ctrlKey;\n this.altKey = originalEvent.altKey;\n this.x = x;\n this.y = y;\n this.key = originalEvent.key;\n }\n continuePropagation() {\n this.#shouldStopPropagation = false;\n }\n get shouldStopPropagation() {\n return this.#shouldStopPropagation;\n }\n}\nconst $d27d541f9569d26d$var$LINK_CLICKED = Symbol('linkClicked');\nconst $d27d541f9569d26d$var$STYLE_ID = 'react-aria-pressable-style';\nconst $d27d541f9569d26d$var$PRESSABLE_ATTRIBUTE = 'data-react-aria-pressable';\nfunction $d27d541f9569d26d$export$45712eceda6fad21(props) {\n let { onPress: onPress, onPressChange: onPressChange, onPressStart: onPressStart, onPressEnd: onPressEnd, onPressUp: onPressUp, onClick: onClick, isDisabled: isDisabled, isPressed: isPressedProp, preventFocusOnPress: preventFocusOnPress, shouldCancelOnPointerExit: shouldCancelOnPointerExit, allowTextSelectionOnPress: allowTextSelectionOnPress, ref: domRef, ...domProps } = $d27d541f9569d26d$var$usePressResponderContext(props);\n let [isPressed, setPressed] = (0, $fL2C6$useState)(false);\n let ref = (0, $fL2C6$useRef)({\n isPressed: false,\n ignoreEmulatedMouseEvents: false,\n didFirePressStart: false,\n isTriggeringEvent: false,\n activePointerId: null,\n target: null,\n isOverTarget: false,\n pointerType: null,\n disposables: []\n });\n let { addGlobalListener: addGlobalListener, removeAllGlobalListeners: removeAllGlobalListeners } = (0, $48a7d519b337145d$export$4eaf04e54aa8eed6)();\n let triggerPressStart = (0, $fL2C6$useCallback)((originalEvent, pointerType)=>{\n let state = ref.current;\n if (isDisabled || state.didFirePressStart) return false;\n let shouldStopPropagation = true;\n state.isTriggeringEvent = true;\n if (onPressStart) {\n let event = new $d27d541f9569d26d$var$PressEvent('pressstart', pointerType, originalEvent);\n onPressStart(event);\n shouldStopPropagation = event.shouldStopPropagation;\n }\n if (onPressChange) onPressChange(true);\n state.isTriggeringEvent = false;\n state.didFirePressStart = true;\n setPressed(true);\n return shouldStopPropagation;\n }, [\n isDisabled,\n onPressStart,\n onPressChange\n ]);\n let triggerPressEnd = (0, $fL2C6$useCallback)((originalEvent, pointerType, wasPressed = true)=>{\n let state = ref.current;\n if (!state.didFirePressStart) return false;\n state.didFirePressStart = false;\n state.isTriggeringEvent = true;\n let shouldStopPropagation = true;\n if (onPressEnd) {\n let event = new $d27d541f9569d26d$var$PressEvent('pressend', pointerType, originalEvent);\n onPressEnd(event);\n shouldStopPropagation = event.shouldStopPropagation;\n }\n if (onPressChange) onPressChange(false);\n setPressed(false);\n if (onPress && wasPressed && !isDisabled) {\n let event = new $d27d541f9569d26d$var$PressEvent('press', pointerType, originalEvent);\n onPress(event);\n shouldStopPropagation &&= event.shouldStopPropagation;\n }\n state.isTriggeringEvent = false;\n return shouldStopPropagation;\n }, [\n isDisabled,\n onPressEnd,\n onPressChange,\n onPress\n ]);\n let triggerPressEndEvent = (0, $fe16bffc7a557bf0$export$7f54fc3180508a52)(triggerPressEnd);\n let triggerPressUp = (0, $fL2C6$useCallback)((originalEvent, pointerType)=>{\n let state = ref.current;\n if (isDisabled) return false;\n if (onPressUp) {\n state.isTriggeringEvent = true;\n let event = new $d27d541f9569d26d$var$PressEvent('pressup', pointerType, originalEvent);\n onPressUp(event);\n state.isTriggeringEvent = false;\n return event.shouldStopPropagation;\n }\n return true;\n }, [\n isDisabled,\n onPressUp\n ]);\n let triggerPressUpEvent = (0, $fe16bffc7a557bf0$export$7f54fc3180508a52)(triggerPressUp);\n let cancel = (0, $fL2C6$useCallback)((e)=>{\n let state = ref.current;\n if (state.isPressed && state.target) {\n if (state.didFirePressStart && state.pointerType != null) triggerPressEnd($d27d541f9569d26d$var$createEvent(state.target, e), state.pointerType, false);\n state.isPressed = false;\n state.isOverTarget = false;\n state.activePointerId = null;\n state.pointerType = null;\n removeAllGlobalListeners();\n if (!allowTextSelectionOnPress) (0, $cbf007e418543821$export$b0d6fa1ab32e3295)(state.target);\n for (let dispose of state.disposables)dispose();\n state.disposables = [];\n }\n }, [\n allowTextSelectionOnPress,\n removeAllGlobalListeners,\n triggerPressEnd\n ]);\n let cancelEvent = (0, $fe16bffc7a557bf0$export$7f54fc3180508a52)(cancel);\n (0, $fL2C6$useEffect)(()=>{\n if (isDisabled && ref.current.isPressed) cancelEvent({\n currentTarget: ref.current.target,\n shiftKey: false,\n ctrlKey: false,\n metaKey: false,\n altKey: false\n });\n }, [\n isDisabled\n ]);\n let cancelOnPointerExit = (0, $fL2C6$useCallback)((e)=>{\n if (shouldCancelOnPointerExit) cancel(e);\n }, [\n shouldCancelOnPointerExit,\n cancel\n ]);\n let triggerClick = (0, $fL2C6$useCallback)((e)=>{\n if (isDisabled) return;\n onClick?.(e);\n }, [\n isDisabled,\n onClick\n ]);\n let triggerSyntheticClick = (0, $fL2C6$useCallback)((e, target)=>{\n if (isDisabled) return;\n // Some third-party libraries pass in onClick instead of onPress.\n // Create a fake mouse event and trigger onClick as well.\n // This matches the browser's native activation behavior for certain elements (e.g. button).\n // https://html.spec.whatwg.org/#activation\n // https://html.spec.whatwg.org/#fire-a-synthetic-pointer-event\n if (onClick) {\n let event = new MouseEvent('click', e);\n (0, $a92dc41f639950be$export$c2b7abe5d61ec696)(event, target);\n onClick((0, $a92dc41f639950be$export$525bc4921d56d4a)(event));\n }\n }, [\n isDisabled,\n onClick\n ]);\n let pressProps = (0, $fL2C6$useMemo)(()=>{\n let state = ref.current;\n let pressProps = {\n onKeyDown (e) {\n if ($d27d541f9569d26d$var$isValidKeyboardEvent(e.nativeEvent, e.currentTarget) && (0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) {\n if ($d27d541f9569d26d$var$shouldPreventDefaultKeyboard((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e), e.key)) e.preventDefault();\n // If the event is repeating, it may have started on a different element\n // after which focus moved to the current element. Ignore these events and\n // only handle the first key down event.\n let shouldStopPropagation = true;\n if (!state.isPressed && !e.repeat) {\n state.target = e.currentTarget;\n state.isPressed = true;\n state.pointerType = 'keyboard';\n shouldStopPropagation = triggerPressStart(e, 'keyboard');\n }\n // Focus may move before the key up event, so register the event on the document\n // instead of the same element where the key down event occurred. Make it capturing so that it will trigger\n // before stopPropagation from useKeyboard on a child element may happen and thus we can still call triggerPress for the parent element.\n let originalTarget = e.currentTarget;\n let pressUp = (e)=>{\n if ($d27d541f9569d26d$var$isValidKeyboardEvent(e, originalTarget) && !e.repeat && (0, $23f2114a1b82827e$export$4282f70798064fe0)(originalTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e)) && state.target) // eslint-disable-next-line react-hooks/rules-of-hooks\n triggerPressUpEvent($d27d541f9569d26d$var$createEvent(state.target, e), 'keyboard');\n };\n addGlobalListener((0, $d447af545b77c9f1$export$b204af158042fbac)(e.currentTarget), 'keyup', (0, $a4e76a5424781910$export$e08e3b67e392101e)(pressUp, onKeyUp), true);\n if (shouldStopPropagation) e.stopPropagation();\n // Keep track of the keydown events that occur while the Meta (e.g. Command) key is held.\n // macOS has a bug where keyup events are not fired while the Meta key is down.\n // When the Meta key itself is released we will get an event for that, and we'll act as if\n // all of these other keys were released as well.\n // https://bugs.chromium.org/p/chromium/issues/detail?id=1393524\n // https://bugs.webkit.org/show_bug.cgi?id=55291\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1299553\n if (e.metaKey && (0, $2add3ce32c6007eb$export$9ac100e40613ea10)()) state.metaKeyEvents?.set(e.key, e.nativeEvent);\n } else if (e.key === 'Meta') state.metaKeyEvents = new Map();\n },\n onClick (e) {\n if (e && !(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n if (e && e.button === 0 && !state.isTriggeringEvent && !(0, $caaf0dd3060ed57c$export$95185d699e05d4d7).isOpening) {\n let shouldStopPropagation = true;\n if (isDisabled) e.preventDefault();\n // If triggered from a screen reader or by using element.click(),\n // trigger as if it were a keyboard click.\n if (!state.ignoreEmulatedMouseEvents && !state.isPressed && (state.pointerType === 'virtual' || (0, $b5c62b033c25b96d$export$60278871457622de)(e.nativeEvent))) {\n let stopPressStart = triggerPressStart(e, 'virtual');\n // eslint-disable-next-line react-hooks/rules-of-hooks\n let stopPressUp = triggerPressUpEvent(e, 'virtual');\n // eslint-disable-next-line react-hooks/rules-of-hooks\n let stopPressEnd = triggerPressEndEvent(e, 'virtual');\n triggerClick(e);\n shouldStopPropagation = stopPressStart && stopPressUp && stopPressEnd;\n } else if (state.isPressed && state.pointerType !== 'keyboard') {\n let pointerType = state.pointerType || e.nativeEvent.pointerType || 'virtual';\n // eslint-disable-next-line react-hooks/rules-of-hooks\n let stopPressUp = triggerPressUpEvent($d27d541f9569d26d$var$createEvent(e.currentTarget, e), pointerType);\n // eslint-disable-next-line react-hooks/rules-of-hooks\n let stopPressEnd = triggerPressEndEvent($d27d541f9569d26d$var$createEvent(e.currentTarget, e), pointerType, true);\n shouldStopPropagation = stopPressUp && stopPressEnd;\n state.isOverTarget = false;\n triggerClick(e);\n // eslint-disable-next-line react-hooks/rules-of-hooks\n cancelEvent(e);\n }\n state.ignoreEmulatedMouseEvents = false;\n if (shouldStopPropagation) e.stopPropagation();\n }\n }\n };\n let onKeyUp = (e)=>{\n if (state.isPressed && state.target && $d27d541f9569d26d$var$isValidKeyboardEvent(e, state.target)) {\n if ($d27d541f9569d26d$var$shouldPreventDefaultKeyboard((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e), e.key)) e.preventDefault();\n let target = (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e);\n let wasPressed = (0, $23f2114a1b82827e$export$4282f70798064fe0)(state.target, target);\n // eslint-disable-next-line react-hooks/rules-of-hooks\n triggerPressEndEvent($d27d541f9569d26d$var$createEvent(state.target, e), 'keyboard', wasPressed);\n if (wasPressed) triggerSyntheticClick(e, state.target);\n removeAllGlobalListeners();\n // If a link was triggered with a key other than Enter, open the URL ourselves.\n // This means the link has a role override, and the default browser behavior\n // only applies when using the Enter key.\n if (e.key !== 'Enter' && $d27d541f9569d26d$var$isHTMLAnchorLink(state.target) && (0, $23f2114a1b82827e$export$4282f70798064fe0)(state.target, target) && !e[$d27d541f9569d26d$var$LINK_CLICKED]) {\n // Store a hidden property on the event so we only trigger link click once,\n // even if there are multiple usePress instances attached to the element.\n e[$d27d541f9569d26d$var$LINK_CLICKED] = true;\n (0, $caaf0dd3060ed57c$export$95185d699e05d4d7)(state.target, e, false);\n }\n state.isPressed = false;\n state.metaKeyEvents?.delete(e.key);\n } else if (e.key === 'Meta' && state.metaKeyEvents?.size) {\n // If we recorded keydown events that occurred while the Meta key was pressed,\n // and those haven't received keyup events already, fire keyup events ourselves.\n // See comment above for more info about the macOS bug causing this.\n let events = state.metaKeyEvents;\n state.metaKeyEvents = undefined;\n for (let event of events.values())state.target?.dispatchEvent(new KeyboardEvent('keyup', event));\n }\n };\n if (typeof PointerEvent !== 'undefined') {\n pressProps.onPointerDown = (e)=>{\n // Only handle left clicks, and ignore events that bubbled through portals.\n if (e.button !== 0 || !(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n // iOS safari fires pointer events from VoiceOver with incorrect coordinates/target.\n // Ignore and let the onClick handler take care of it instead.\n // https://bugs.webkit.org/show_bug.cgi?id=222627\n // https://bugs.webkit.org/show_bug.cgi?id=223202\n if ((0, $b5c62b033c25b96d$export$29bf1b5f2c56cf63)(e.nativeEvent)) {\n state.pointerType = 'virtual';\n return;\n }\n state.pointerType = e.pointerType;\n let shouldStopPropagation = true;\n if (!state.isPressed) {\n state.isPressed = true;\n state.isOverTarget = true;\n state.activePointerId = e.pointerId;\n state.target = e.currentTarget;\n if (!allowTextSelectionOnPress) (0, $cbf007e418543821$export$16a4697467175487)(state.target);\n shouldStopPropagation = triggerPressStart(e, state.pointerType);\n // Release pointer capture so that touch interactions can leave the original target.\n // This enables onPointerLeave and onPointerEnter to fire.\n let target = (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e);\n if ('releasePointerCapture' in target) {\n if ('hasPointerCapture' in target) {\n if (target.hasPointerCapture(e.pointerId)) target.releasePointerCapture(e.pointerId);\n } else target.releasePointerCapture(e.pointerId);\n }\n addGlobalListener((0, $d447af545b77c9f1$export$b204af158042fbac)(e.currentTarget), 'pointerup', onPointerUp, false);\n addGlobalListener((0, $d447af545b77c9f1$export$b204af158042fbac)(e.currentTarget), 'pointercancel', onPointerCancel, false);\n }\n if (shouldStopPropagation) e.stopPropagation();\n };\n pressProps.onMouseDown = (e)=>{\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n if (e.button === 0) {\n if (preventFocusOnPress) {\n let dispose = (0, $a92dc41f639950be$export$cabe61c495ee3649)(e.target);\n if (dispose) state.disposables.push(dispose);\n }\n e.stopPropagation();\n }\n };\n pressProps.onPointerUp = (e)=>{\n // iOS fires pointerup with zero width and height, so check the pointerType recorded during pointerdown.\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e)) || state.pointerType === 'virtual') return;\n // Only handle left clicks. If isPressed is true, delay until onClick.\n if (e.button === 0 && !state.isPressed) // eslint-disable-next-line react-hooks/rules-of-hooks\n triggerPressUpEvent(e, state.pointerType || e.pointerType);\n };\n pressProps.onPointerEnter = (e)=>{\n if (e.pointerId === state.activePointerId && state.target && !state.isOverTarget && state.pointerType != null) {\n state.isOverTarget = true;\n triggerPressStart($d27d541f9569d26d$var$createEvent(state.target, e), state.pointerType);\n }\n };\n pressProps.onPointerLeave = (e)=>{\n if (e.pointerId === state.activePointerId && state.target && state.isOverTarget && state.pointerType != null) {\n state.isOverTarget = false;\n // eslint-disable-next-line react-hooks/rules-of-hooks\n triggerPressEndEvent($d27d541f9569d26d$var$createEvent(state.target, e), state.pointerType, false);\n cancelOnPointerExit(e);\n }\n };\n let onPointerUp = (e)=>{\n if (e.pointerId === state.activePointerId && state.isPressed && e.button === 0 && state.target) {\n if ((0, $23f2114a1b82827e$export$4282f70798064fe0)(state.target, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e)) && state.pointerType != null) {\n // Wait for onClick to fire onPress. This avoids browser issues when the DOM\n // is mutated between onPointerUp and onClick, and is more compatible with third party libraries.\n // https://github.com/adobe/react-spectrum/issues/1513\n // https://issues.chromium.org/issues/40732224\n // However, iOS and Android do not focus or fire onClick after a long press.\n // We work around this by triggering a click ourselves after a timeout.\n // This timeout is canceled during the click event in case the real one fires first.\n // The timeout must be at least 32ms, because Safari on iOS delays the click event on\n // non-form elements without certain ARIA roles (for hover emulation).\n // https://github.com/WebKit/WebKit/blob/dccfae42bb29bd4bdef052e469f604a9387241c0/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm#L875-L892\n let clicked = false;\n let timeout = setTimeout(()=>{\n if (state.isPressed && state.target instanceof HTMLElement) {\n if (clicked) // eslint-disable-next-line react-hooks/rules-of-hooks\n cancelEvent(e);\n else {\n (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(state.target);\n state.target.click();\n }\n }\n }, 80);\n // Use a capturing listener to track if a click occurred.\n // If stopPropagation is called it may never reach our handler.\n addGlobalListener(e.currentTarget, 'click', ()=>clicked = true, true);\n state.disposables.push(()=>clearTimeout(timeout));\n } else // eslint-disable-next-line react-hooks/rules-of-hooks\n cancelEvent(e);\n // Ignore subsequent onPointerLeave event before onClick on touch devices.\n state.isOverTarget = false;\n }\n };\n let onPointerCancel = (e)=>{\n // eslint-disable-next-line react-hooks/rules-of-hooks\n cancelEvent(e);\n };\n pressProps.onDragStart = (e)=>{\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n // Safari does not call onPointerCancel when a drag starts, whereas Chrome and Firefox do.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n cancelEvent(e);\n };\n } else if (process.env.NODE_ENV === 'test') {\n // NOTE: this fallback branch is entirely used by unit tests.\n // All browsers now support pointer events, but JSDOM still does not.\n pressProps.onMouseDown = (e)=>{\n // Only handle left clicks\n if (e.button !== 0 || !(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n if (state.ignoreEmulatedMouseEvents) {\n e.stopPropagation();\n return;\n }\n state.isPressed = true;\n state.isOverTarget = true;\n state.target = e.currentTarget;\n state.pointerType = (0, $b5c62b033c25b96d$export$60278871457622de)(e.nativeEvent) ? 'virtual' : 'mouse';\n // Flush sync so that focus moved during react re-renders occurs before we yield back to the browser.\n let shouldStopPropagation = (0, $fL2C6$flushSync)(()=>triggerPressStart(e, state.pointerType));\n if (shouldStopPropagation) e.stopPropagation();\n if (preventFocusOnPress) {\n let dispose = (0, $a92dc41f639950be$export$cabe61c495ee3649)(e.target);\n if (dispose) state.disposables.push(dispose);\n }\n addGlobalListener((0, $d447af545b77c9f1$export$b204af158042fbac)(e.currentTarget), 'mouseup', onMouseUp, false);\n };\n pressProps.onMouseEnter = (e)=>{\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n let shouldStopPropagation = true;\n if (state.isPressed && !state.ignoreEmulatedMouseEvents && state.pointerType != null) {\n state.isOverTarget = true;\n shouldStopPropagation = triggerPressStart(e, state.pointerType);\n }\n if (shouldStopPropagation) e.stopPropagation();\n };\n pressProps.onMouseLeave = (e)=>{\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n let shouldStopPropagation = true;\n if (state.isPressed && !state.ignoreEmulatedMouseEvents && state.pointerType != null) {\n state.isOverTarget = false;\n // eslint-disable-next-line react-hooks/rules-of-hooks\n shouldStopPropagation = triggerPressEndEvent(e, state.pointerType, false);\n cancelOnPointerExit(e);\n }\n if (shouldStopPropagation) e.stopPropagation();\n };\n pressProps.onMouseUp = (e)=>{\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n if (!state.ignoreEmulatedMouseEvents && e.button === 0 && !state.isPressed) // eslint-disable-next-line react-hooks/rules-of-hooks\n triggerPressUpEvent(e, state.pointerType || 'mouse');\n };\n let onMouseUp = (e)=>{\n // Only handle left clicks\n if (e.button !== 0) return;\n if (state.ignoreEmulatedMouseEvents) {\n state.ignoreEmulatedMouseEvents = false;\n return;\n }\n if (state.target && (0, $23f2114a1b82827e$export$4282f70798064fe0)(state.target, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e)) && state.pointerType != null) ;\n else // eslint-disable-next-line react-hooks/rules-of-hooks\n cancelEvent(e);\n state.isOverTarget = false;\n };\n pressProps.onTouchStart = (e)=>{\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n let touch = $d27d541f9569d26d$var$getTouchFromEvent(e.nativeEvent);\n if (!touch) return;\n state.activePointerId = touch.identifier;\n state.ignoreEmulatedMouseEvents = true;\n state.isOverTarget = true;\n state.isPressed = true;\n state.target = e.currentTarget;\n state.pointerType = 'touch';\n if (!allowTextSelectionOnPress) (0, $cbf007e418543821$export$16a4697467175487)(state.target);\n let shouldStopPropagation = triggerPressStart($d27d541f9569d26d$var$createTouchEvent(state.target, e), state.pointerType);\n if (shouldStopPropagation) e.stopPropagation();\n addGlobalListener((0, $d447af545b77c9f1$export$f21a1ffae260145a)(e.currentTarget), 'scroll', onScroll, true);\n };\n pressProps.onTouchMove = (e)=>{\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n if (!state.isPressed) {\n e.stopPropagation();\n return;\n }\n let touch = $d27d541f9569d26d$var$getTouchById(e.nativeEvent, state.activePointerId);\n let shouldStopPropagation = true;\n if (touch && $d27d541f9569d26d$var$isOverTarget(touch, e.currentTarget)) {\n if (!state.isOverTarget && state.pointerType != null) {\n state.isOverTarget = true;\n shouldStopPropagation = triggerPressStart($d27d541f9569d26d$var$createTouchEvent(state.target, e), state.pointerType);\n }\n } else if (state.isOverTarget && state.pointerType != null) {\n state.isOverTarget = false;\n // eslint-disable-next-line react-hooks/rules-of-hooks\n shouldStopPropagation = triggerPressEndEvent($d27d541f9569d26d$var$createTouchEvent(state.target, e), state.pointerType, false);\n cancelOnPointerExit($d27d541f9569d26d$var$createTouchEvent(state.target, e));\n }\n if (shouldStopPropagation) e.stopPropagation();\n };\n pressProps.onTouchEnd = (e)=>{\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n if (!state.isPressed) {\n e.stopPropagation();\n return;\n }\n let touch = $d27d541f9569d26d$var$getTouchById(e.nativeEvent, state.activePointerId);\n let shouldStopPropagation = true;\n if (touch && $d27d541f9569d26d$var$isOverTarget(touch, e.currentTarget) && state.pointerType != null) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n triggerPressUpEvent($d27d541f9569d26d$var$createTouchEvent(state.target, e), state.pointerType);\n // eslint-disable-next-line react-hooks/rules-of-hooks\n shouldStopPropagation = triggerPressEndEvent($d27d541f9569d26d$var$createTouchEvent(state.target, e), state.pointerType);\n triggerSyntheticClick(e.nativeEvent, state.target);\n } else if (state.isOverTarget && state.pointerType != null) // eslint-disable-next-line react-hooks/rules-of-hooks\n shouldStopPropagation = triggerPressEndEvent($d27d541f9569d26d$var$createTouchEvent(state.target, e), state.pointerType, false);\n if (shouldStopPropagation) e.stopPropagation();\n state.isPressed = false;\n state.activePointerId = null;\n state.isOverTarget = false;\n state.ignoreEmulatedMouseEvents = true;\n if (state.target && !allowTextSelectionOnPress) (0, $cbf007e418543821$export$b0d6fa1ab32e3295)(state.target);\n removeAllGlobalListeners();\n };\n pressProps.onTouchCancel = (e)=>{\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n e.stopPropagation();\n if (state.isPressed) // eslint-disable-next-line react-hooks/rules-of-hooks\n cancelEvent($d27d541f9569d26d$var$createTouchEvent(state.target, e));\n };\n let onScroll = (e)=>{\n if (state.isPressed && (0, $23f2114a1b82827e$export$4282f70798064fe0)((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e), state.target)) // eslint-disable-next-line react-hooks/rules-of-hooks\n cancelEvent({\n currentTarget: state.target,\n shiftKey: false,\n ctrlKey: false,\n metaKey: false,\n altKey: false\n });\n };\n pressProps.onDragStart = (e)=>{\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n // eslint-disable-next-line react-hooks/rules-of-hooks\n cancelEvent(e);\n };\n }\n return pressProps;\n }, [\n addGlobalListener,\n isDisabled,\n preventFocusOnPress,\n removeAllGlobalListeners,\n allowTextSelectionOnPress,\n cancelOnPointerExit,\n triggerPressStart,\n triggerClick,\n triggerSyntheticClick\n ]);\n // Avoid onClick delay for double tap to zoom by default.\n (0, $fL2C6$useEffect)(()=>{\n if (!domRef || process.env.NODE_ENV === 'test') return;\n const ownerDocument = (0, $d447af545b77c9f1$export$b204af158042fbac)(domRef.current);\n if (!ownerDocument || !ownerDocument.head || ownerDocument.getElementById($d27d541f9569d26d$var$STYLE_ID)) return;\n const style = ownerDocument.createElement('style');\n style.id = $d27d541f9569d26d$var$STYLE_ID;\n let nonce = (0, $2b2d34ff061957fb$export$2b85b721e524d74b)(ownerDocument);\n if (nonce) style.nonce = nonce;\n // touchAction: 'manipulation' is supposed to be equivalent, but in\n // Safari it causes onPointerCancel not to fire on scroll.\n // https://bugs.webkit.org/show_bug.cgi?id=240917\n style.textContent = `\n@layer {\n [${$d27d541f9569d26d$var$PRESSABLE_ATTRIBUTE}] {\n touch-action: pan-x pan-y pinch-zoom;\n }\n}\n `.trim();\n ownerDocument.head.prepend(style);\n }, [\n domRef\n ]);\n // Remove user-select: none in case component unmounts immediately after pressStart\n (0, $fL2C6$useEffect)(()=>{\n let state = ref.current;\n return ()=>{\n if (!allowTextSelectionOnPress) (0, $cbf007e418543821$export$b0d6fa1ab32e3295)(state.target ?? undefined);\n for (let dispose of state.disposables)dispose();\n state.disposables = [];\n };\n }, [\n allowTextSelectionOnPress\n ]);\n return {\n isPressed: isPressedProp || isPressed,\n pressProps: (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(domProps, pressProps, {\n [$d27d541f9569d26d$var$PRESSABLE_ATTRIBUTE]: true\n })\n };\n}\nfunction $d27d541f9569d26d$var$isHTMLAnchorLink(target) {\n return target.tagName === 'A' && target.hasAttribute('href');\n}\nfunction $d27d541f9569d26d$var$isValidKeyboardEvent(event, currentTarget) {\n const { key: key, code: code } = event;\n const element = currentTarget;\n const role = element.getAttribute('role');\n // Accessibility for keyboards. Space and Enter only.\n // \"Spacebar\" is for IE 11\n return (key === 'Enter' || key === ' ' || key === 'Spacebar' || code === 'Space') && !(element instanceof (0, $d447af545b77c9f1$export$f21a1ffae260145a)(element).HTMLInputElement && !$d27d541f9569d26d$var$isValidInputKey(element, key) || element instanceof (0, $d447af545b77c9f1$export$f21a1ffae260145a)(element).HTMLTextAreaElement || element.isContentEditable) && // Links should only trigger with Enter key\n !((role === 'link' || !role && $d27d541f9569d26d$var$isHTMLAnchorLink(element)) && key !== 'Enter');\n}\nfunction $d27d541f9569d26d$var$getTouchFromEvent(event) {\n const { targetTouches: targetTouches } = event;\n if (targetTouches.length > 0) return targetTouches[0];\n return null;\n}\nfunction $d27d541f9569d26d$var$getTouchById(event, pointerId) {\n const changedTouches = event.changedTouches;\n for(let i = 0; i < changedTouches.length; i++){\n const touch = changedTouches[i];\n if (touch.identifier === pointerId) return touch;\n }\n return null;\n}\nfunction $d27d541f9569d26d$var$createTouchEvent(target, e) {\n let clientX = 0;\n let clientY = 0;\n if (e.targetTouches && e.targetTouches.length === 1) {\n clientX = e.targetTouches[0].clientX;\n clientY = e.targetTouches[0].clientY;\n }\n return {\n currentTarget: target,\n shiftKey: e.shiftKey,\n ctrlKey: e.ctrlKey,\n metaKey: e.metaKey,\n altKey: e.altKey,\n clientX: clientX,\n clientY: clientY\n };\n}\nfunction $d27d541f9569d26d$var$createEvent(target, e) {\n let clientX = e.clientX;\n let clientY = e.clientY;\n return {\n currentTarget: target,\n shiftKey: e.shiftKey,\n ctrlKey: e.ctrlKey,\n metaKey: e.metaKey,\n altKey: e.altKey,\n clientX: clientX,\n clientY: clientY,\n key: e.key\n };\n}\nfunction $d27d541f9569d26d$var$getPointClientRect(point) {\n let offsetX = 0;\n let offsetY = 0;\n if (point.width !== undefined) offsetX = point.width / 2;\n else if (point.radiusX !== undefined) offsetX = point.radiusX;\n if (point.height !== undefined) offsetY = point.height / 2;\n else if (point.radiusY !== undefined) offsetY = point.radiusY;\n return {\n top: point.clientY - offsetY,\n right: point.clientX + offsetX,\n bottom: point.clientY + offsetY,\n left: point.clientX - offsetX\n };\n}\nfunction $d27d541f9569d26d$var$areRectanglesOverlapping(a, b) {\n // check if they cannot overlap on x axis\n if (a.left > b.right || b.left > a.right) return false;\n // check if they cannot overlap on y axis\n if (a.top > b.bottom || b.top > a.bottom) return false;\n return true;\n}\nfunction $d27d541f9569d26d$var$isOverTarget(point, target) {\n let rect = target.getBoundingClientRect();\n let pointRect = $d27d541f9569d26d$var$getPointClientRect(point);\n return $d27d541f9569d26d$var$areRectanglesOverlapping(rect, pointRect);\n}\nfunction $d27d541f9569d26d$var$shouldPreventDefaultUp(target) {\n if (target instanceof HTMLInputElement) return false;\n if (target instanceof HTMLButtonElement) return target.type !== 'submit' && target.type !== 'reset';\n if ($d27d541f9569d26d$var$isHTMLAnchorLink(target)) return false;\n return true;\n}\nfunction $d27d541f9569d26d$var$shouldPreventDefaultKeyboard(target, key) {\n if (target instanceof HTMLInputElement) return !$d27d541f9569d26d$var$isValidInputKey(target, key);\n return $d27d541f9569d26d$var$shouldPreventDefaultUp(target);\n}\nconst $d27d541f9569d26d$var$nonTextInputTypes = new Set([\n 'checkbox',\n 'radio',\n 'range',\n 'color',\n 'file',\n 'image',\n 'button',\n 'submit',\n 'reset'\n]);\nfunction $d27d541f9569d26d$var$isValidInputKey(target, key) {\n // Only space should toggle checkboxes and radios, not enter.\n return target.type === 'checkbox' || target.type === 'radio' ? key === ' ' : $d27d541f9569d26d$var$nonTextInputTypes.has(target.type);\n}\n\n\nexport {$d27d541f9569d26d$export$45712eceda6fad21 as usePress};\n//# sourceMappingURL=usePress.mjs.map\n","import {filterDOMProps as $8e9d2fae0ecb9001$export$457c3d6518dd4c6f} from \"../utils/filterDOMProps.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {useFocusable as $d1116acdf220c2da$export$4c014de7c8940b4c} from \"../interactions/useFocusable.mjs\";\nimport {usePress as $d27d541f9569d26d$export$45712eceda6fad21} from \"../interactions/usePress.mjs\";\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\n\nfunction $ac4318a9c075bb9f$export$ea18c227d4417cc3(props, ref) {\n let { elementType: elementType = 'button', isDisabled: isDisabled, onPress: onPress, onPressStart: onPressStart, onPressEnd: onPressEnd, onPressUp: onPressUp, onPressChange: onPressChange, preventFocusOnPress: preventFocusOnPress, allowFocusWhenDisabled: // @ts-ignore - undocumented\n allowFocusWhenDisabled, onClick: onClick, href: href, target: target, rel: rel, type: type = 'button' } = props;\n let additionalProps;\n if (elementType === 'button') additionalProps = {\n type: type,\n disabled: isDisabled,\n form: props.form,\n formAction: props.formAction,\n formEncType: props.formEncType,\n formMethod: props.formMethod,\n formNoValidate: props.formNoValidate,\n formTarget: props.formTarget,\n name: props.name,\n value: props.value\n };\n else additionalProps = {\n role: 'button',\n href: elementType === 'a' && !isDisabled ? href : undefined,\n target: elementType === 'a' ? target : undefined,\n type: elementType === 'input' ? type : undefined,\n disabled: elementType === 'input' ? isDisabled : undefined,\n 'aria-disabled': !isDisabled || elementType === 'input' ? undefined : isDisabled,\n rel: elementType === 'a' ? rel : undefined\n };\n let { pressProps: pressProps, isPressed: isPressed } = (0, $d27d541f9569d26d$export$45712eceda6fad21)({\n onPressStart: onPressStart,\n onPressEnd: onPressEnd,\n onPressChange: onPressChange,\n onPress: onPress,\n onPressUp: onPressUp,\n onClick: onClick,\n isDisabled: isDisabled,\n preventFocusOnPress: preventFocusOnPress,\n ref: ref\n });\n let { focusableProps: focusableProps } = (0, $d1116acdf220c2da$export$4c014de7c8940b4c)(props, ref);\n if (allowFocusWhenDisabled) focusableProps.tabIndex = isDisabled ? -1 : focusableProps.tabIndex;\n let buttonProps = (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(focusableProps, pressProps, (0, $8e9d2fae0ecb9001$export$457c3d6518dd4c6f)(props, {\n labelable: true\n }));\n return {\n isPressed: isPressed,\n buttonProps: (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(additionalProps, buttonProps, {\n 'aria-haspopup': props['aria-haspopup'],\n 'aria-expanded': props['aria-expanded'],\n 'aria-controls': props['aria-controls'],\n 'aria-pressed': props['aria-pressed'],\n 'aria-current': props['aria-current'],\n 'aria-disabled': props['aria-disabled']\n })\n };\n}\n\n\nexport {$ac4318a9c075bb9f$export$ea18c227d4417cc3 as useButton};\n//# sourceMappingURL=useButton.mjs.map\n","import {createSyntheticEvent as $a92dc41f639950be$export$525bc4921d56d4a, setEventTarget as $a92dc41f639950be$export$c2b7abe5d61ec696, useSyntheticBlurEvent as $a92dc41f639950be$export$715c682d09d639cc} from \"./utils.mjs\";\nimport {getActiveElement as $23f2114a1b82827e$export$cd4e5573fbe2b576, getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29, nodeContains as $23f2114a1b82827e$export$4282f70798064fe0} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {getOwnerDocument as $d447af545b77c9f1$export$b204af158042fbac} from \"../utils/domHelpers.mjs\";\nimport {useGlobalListeners as $48a7d519b337145d$export$4eaf04e54aa8eed6} from \"../utils/useGlobalListeners.mjs\";\nimport {useRef as $5319z$useRef, useCallback as $5319z$useCallback} 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 */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\n\n\nfunction $2c9edc598a03d523$export$420e68273165f4ec(props) {\n let { isDisabled: isDisabled, onBlurWithin: onBlurWithin, onFocusWithin: onFocusWithin, onFocusWithinChange: onFocusWithinChange } = props;\n let state = (0, $5319z$useRef)({\n isFocusWithin: false\n });\n let { addGlobalListener: addGlobalListener, removeAllGlobalListeners: removeAllGlobalListeners } = (0, $48a7d519b337145d$export$4eaf04e54aa8eed6)();\n let onBlur = (0, $5319z$useCallback)((e)=>{\n // Ignore events bubbling through portals.\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n // We don't want to trigger onBlurWithin and then immediately onFocusWithin again\n // when moving focus inside the element. Only trigger if the currentTarget doesn't\n // include the relatedTarget (where focus is moving).\n if (state.current.isFocusWithin && !(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, e.relatedTarget)) {\n state.current.isFocusWithin = false;\n removeAllGlobalListeners();\n if (onBlurWithin) onBlurWithin(e);\n if (onFocusWithinChange) onFocusWithinChange(false);\n }\n }, [\n onBlurWithin,\n onFocusWithinChange,\n state,\n removeAllGlobalListeners\n ]);\n let onSyntheticFocus = (0, $a92dc41f639950be$export$715c682d09d639cc)(onBlur);\n let onFocus = (0, $5319z$useCallback)((e)=>{\n // Ignore events bubbling through portals.\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n // Double check that document.activeElement actually matches e.target in case a previously chained\n // focus handler already moved focus somewhere else.\n let eventTarget = (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e);\n const ownerDocument = (0, $d447af545b77c9f1$export$b204af158042fbac)(eventTarget);\n const activeElement = (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)(ownerDocument);\n if (!state.current.isFocusWithin && activeElement === eventTarget) {\n if (onFocusWithin) onFocusWithin(e);\n if (onFocusWithinChange) onFocusWithinChange(true);\n state.current.isFocusWithin = true;\n onSyntheticFocus(e);\n // Browsers don't fire blur events when elements are removed from the DOM.\n // However, if a focus event occurs outside the element we're tracking, we\n // can manually fire onBlur.\n let currentTarget = e.currentTarget;\n addGlobalListener(ownerDocument, 'focus', (e)=>{\n let eventTarget = (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e);\n if (state.current.isFocusWithin && !(0, $23f2114a1b82827e$export$4282f70798064fe0)(currentTarget, eventTarget)) {\n let nativeEvent = new ownerDocument.defaultView.FocusEvent('blur', {\n relatedTarget: eventTarget\n });\n (0, $a92dc41f639950be$export$c2b7abe5d61ec696)(nativeEvent, currentTarget);\n let event = (0, $a92dc41f639950be$export$525bc4921d56d4a)(nativeEvent);\n onBlur(event);\n }\n }, {\n capture: true\n });\n }\n }, [\n onFocusWithin,\n onFocusWithinChange,\n onSyntheticFocus,\n addGlobalListener,\n onBlur\n ]);\n if (isDisabled) return {\n focusWithinProps: {\n // These cannot be null, that would conflict in mergeProps\n onFocus: undefined,\n onBlur: undefined\n }\n };\n return {\n focusWithinProps: {\n onFocus: onFocus,\n onBlur: onBlur\n }\n };\n}\n\n\nexport {$2c9edc598a03d523$export$420e68273165f4ec as useFocusWithin};\n//# sourceMappingURL=useFocusWithin.mjs.map\n","import {isFocusVisible as $8f5a2122b0992be3$export$b9b3dfddab17db27, useFocusVisibleListener as $8f5a2122b0992be3$export$ec71b4b83ac08ec3} from \"../interactions/useFocusVisible.mjs\";\nimport {useFocus as $1e74c67db218ce67$export$f8168d8dd8fd66e6} from \"../interactions/useFocus.mjs\";\nimport {useFocusWithin as $2c9edc598a03d523$export$420e68273165f4ec} from \"../interactions/useFocusWithin.mjs\";\nimport {useRef as $3s2y0$useRef, useState as $3s2y0$useState, useCallback as $3s2y0$useCallback} from \"react\";\n\n\n\n\n\nfunction $0c4a58759813079a$export$4e328f61c538687f(props = {}) {\n let { autoFocus: autoFocus = false, isTextInput: isTextInput, within: within } = props;\n let state = (0, $3s2y0$useRef)({\n isFocused: false,\n isFocusVisible: autoFocus || (0, $8f5a2122b0992be3$export$b9b3dfddab17db27)()\n });\n let [isFocused, setFocused] = (0, $3s2y0$useState)(false);\n let [isFocusVisibleState, setFocusVisible] = (0, $3s2y0$useState)(()=>state.current.isFocused && state.current.isFocusVisible);\n let updateState = (0, $3s2y0$useCallback)(()=>setFocusVisible(state.current.isFocused && state.current.isFocusVisible), []);\n let onFocusChange = (0, $3s2y0$useCallback)((isFocused)=>{\n state.current.isFocused = isFocused;\n state.current.isFocusVisible = (0, $8f5a2122b0992be3$export$b9b3dfddab17db27)();\n setFocused(isFocused);\n updateState();\n }, [\n updateState\n ]);\n (0, $8f5a2122b0992be3$export$ec71b4b83ac08ec3)((isFocusVisible)=>{\n state.current.isFocusVisible = isFocusVisible;\n updateState();\n }, [\n isTextInput,\n isFocused\n ], {\n enabled: isFocused,\n isTextInput: isTextInput\n });\n let { focusProps: focusProps } = (0, $1e74c67db218ce67$export$f8168d8dd8fd66e6)({\n isDisabled: within,\n onFocusChange: onFocusChange\n });\n let { focusWithinProps: focusWithinProps } = (0, $2c9edc598a03d523$export$420e68273165f4ec)({\n isDisabled: !within,\n onFocusWithinChange: onFocusChange\n });\n return {\n isFocused: isFocused,\n isFocusVisible: isFocusVisibleState,\n focusProps: within ? focusWithinProps : focusProps\n };\n}\n\n\nexport {$0c4a58759813079a$export$4e328f61c538687f as useFocusRing};\n//# sourceMappingURL=useFocusRing.mjs.map\n","import {getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29, nodeContains as $23f2114a1b82827e$export$4282f70798064fe0} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {getOwnerDocument as $d447af545b77c9f1$export$b204af158042fbac} from \"../utils/domHelpers.mjs\";\nimport {useGlobalListeners as $48a7d519b337145d$export$4eaf04e54aa8eed6} from \"../utils/useGlobalListeners.mjs\";\nimport {useState as $hZqKM$useState, useRef as $hZqKM$useRef, useEffect as $hZqKM$useEffect, useMemo as $hZqKM$useMemo} 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 */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\n\n// iOS fires onPointerEnter twice: once with pointerType=\"touch\" and again with pointerType=\"mouse\".\n// We want to ignore these emulated events so they do not trigger hover behavior.\n// See https://bugs.webkit.org/show_bug.cgi?id=214609.\nlet $e969f22b6713ca4a$var$globalIgnoreEmulatedMouseEvents = false;\nlet $e969f22b6713ca4a$var$hoverCount = 0;\nfunction $e969f22b6713ca4a$var$setGlobalIgnoreEmulatedMouseEvents() {\n $e969f22b6713ca4a$var$globalIgnoreEmulatedMouseEvents = true;\n // Clear globalIgnoreEmulatedMouseEvents after a short timeout. iOS fires onPointerEnter\n // with pointerType=\"mouse\" immediately after onPointerUp and before onFocus. On other\n // devices that don't have this quirk, we don't want to ignore a mouse hover sometime in\n // the distant future because a user previously touched the element.\n setTimeout(()=>{\n $e969f22b6713ca4a$var$globalIgnoreEmulatedMouseEvents = false;\n }, 500);\n}\nfunction $e969f22b6713ca4a$var$handleGlobalPointerEvent(e) {\n if (e.pointerType === 'touch') $e969f22b6713ca4a$var$setGlobalIgnoreEmulatedMouseEvents();\n}\nfunction $e969f22b6713ca4a$var$setupGlobalTouchEvents() {\n let ownerDocument = (0, $d447af545b77c9f1$export$b204af158042fbac)(null);\n if (typeof ownerDocument === 'undefined') return;\n if ($e969f22b6713ca4a$var$hoverCount === 0) {\n if (typeof PointerEvent !== 'undefined') ownerDocument.addEventListener('pointerup', $e969f22b6713ca4a$var$handleGlobalPointerEvent);\n else if (process.env.NODE_ENV === 'test') ownerDocument.addEventListener('touchend', $e969f22b6713ca4a$var$setGlobalIgnoreEmulatedMouseEvents);\n }\n $e969f22b6713ca4a$var$hoverCount++;\n return ()=>{\n $e969f22b6713ca4a$var$hoverCount--;\n if ($e969f22b6713ca4a$var$hoverCount > 0) return;\n if (typeof PointerEvent !== 'undefined') ownerDocument.removeEventListener('pointerup', $e969f22b6713ca4a$var$handleGlobalPointerEvent);\n else if (process.env.NODE_ENV === 'test') ownerDocument.removeEventListener('touchend', $e969f22b6713ca4a$var$setGlobalIgnoreEmulatedMouseEvents);\n };\n}\nfunction $e969f22b6713ca4a$export$ae780daf29e6d456(props) {\n let { onHoverStart: onHoverStart, onHoverChange: onHoverChange, onHoverEnd: onHoverEnd, isDisabled: isDisabled } = props;\n let [isHovered, setHovered] = (0, $hZqKM$useState)(false);\n let state = (0, $hZqKM$useRef)({\n isHovered: false,\n ignoreEmulatedMouseEvents: false,\n pointerType: '',\n target: null\n }).current;\n (0, $hZqKM$useEffect)($e969f22b6713ca4a$var$setupGlobalTouchEvents, []);\n let { addGlobalListener: addGlobalListener, removeAllGlobalListeners: removeAllGlobalListeners } = (0, $48a7d519b337145d$export$4eaf04e54aa8eed6)();\n let { hoverProps: hoverProps, triggerHoverEnd: triggerHoverEnd } = (0, $hZqKM$useMemo)(()=>{\n let triggerHoverStart = (event, pointerType)=>{\n state.pointerType = pointerType;\n if (isDisabled || pointerType === 'touch' || state.isHovered || !(0, $23f2114a1b82827e$export$4282f70798064fe0)(event.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(event))) return;\n state.isHovered = true;\n let target = event.currentTarget;\n state.target = target;\n // When an element that is hovered over is removed, no pointerleave event is fired by the browser,\n // even though the originally hovered target may have shrunk in size so it is no longer hovered.\n // However, a pointerover event will be fired on the new target the mouse is over.\n // In Chrome this happens immediately. In Safari and Firefox, it happens upon moving the mouse one pixel.\n addGlobalListener((0, $d447af545b77c9f1$export$b204af158042fbac)((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(event)), 'pointerover', (e)=>{\n if (state.isHovered && state.target && !(0, $23f2114a1b82827e$export$4282f70798064fe0)(state.target, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) triggerHoverEnd(e, e.pointerType);\n }, {\n capture: true\n });\n if (onHoverStart) onHoverStart({\n type: 'hoverstart',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(true);\n setHovered(true);\n };\n let triggerHoverEnd = (event, pointerType)=>{\n let target = state.target;\n state.pointerType = '';\n state.target = null;\n if (pointerType === 'touch' || !state.isHovered || !target) return;\n state.isHovered = false;\n removeAllGlobalListeners();\n if (onHoverEnd) onHoverEnd({\n type: 'hoverend',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(false);\n setHovered(false);\n };\n let hoverProps = {};\n if (typeof PointerEvent !== 'undefined') {\n hoverProps.onPointerEnter = (e)=>{\n if ($e969f22b6713ca4a$var$globalIgnoreEmulatedMouseEvents && e.pointerType === 'mouse') return;\n triggerHoverStart(e, e.pointerType);\n };\n hoverProps.onPointerLeave = (e)=>{\n if (!isDisabled && (0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) triggerHoverEnd(e, e.pointerType);\n };\n } else if (process.env.NODE_ENV === 'test') {\n hoverProps.onTouchStart = ()=>{\n state.ignoreEmulatedMouseEvents = true;\n };\n hoverProps.onMouseEnter = (e)=>{\n if (!state.ignoreEmulatedMouseEvents && !$e969f22b6713ca4a$var$globalIgnoreEmulatedMouseEvents) triggerHoverStart(e, 'mouse');\n state.ignoreEmulatedMouseEvents = false;\n };\n hoverProps.onMouseLeave = (e)=>{\n if (!isDisabled && (0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) triggerHoverEnd(e, 'mouse');\n };\n }\n return {\n hoverProps: hoverProps,\n triggerHoverEnd: triggerHoverEnd\n };\n }, [\n onHoverStart,\n onHoverChange,\n onHoverEnd,\n isDisabled,\n state,\n addGlobalListener,\n removeAllGlobalListeners\n ]);\n (0, $hZqKM$useEffect)(()=>{\n // Call the triggerHoverEnd as soon as isDisabled changes to true\n // Safe to call triggerHoverEnd, it will early return if we aren't currently hovering\n if (isDisabled) triggerHoverEnd({\n currentTarget: state.target\n }, state.pointerType);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled\n ]);\n return {\n hoverProps: hoverProps,\n isHovered: isHovered\n };\n}\n\n\nexport {$e969f22b6713ca4a$export$ae780daf29e6d456 as useHover};\n//# sourceMappingURL=useHover.mjs.map\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415, useRenderProps as $7230ffa83bc0c2cf$export$4d86445c2cf5e3} from \"./utils.mjs\";\nimport {ProgressBarContext as $6c0095e7e99364f2$export$e9f3bf65a26ce129} from \"./ProgressBar.mjs\";\nimport {announce as $9s8kH$announce} from \"react-aria/private/live-announcer/LiveAnnouncer\";\nimport {useButton as $9s8kH$useButton} from \"react-aria/useButton\";\nimport {createHideableComponent as $9s8kH$createHideableComponent} from \"react-aria/private/collections/Hidden\";\nimport {filterDOMProps as $9s8kH$filterDOMProps} from \"react-aria/filterDOMProps\";\nimport {mergeProps as $9s8kH$mergeProps} from \"react-aria/mergeProps\";\nimport $9s8kH$react, {createContext as $9s8kH$createContext, useRef as $9s8kH$useRef, useEffect as $9s8kH$useEffect} from \"react\";\nimport {useFocusRing as $9s8kH$useFocusRing} from \"react-aria/useFocusRing\";\nimport {useHover as $9s8kH$useHover} from \"react-aria/useHover\";\nimport {useId as $9s8kH$useId} from \"react-aria/useId\";\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\n\n\n\n\n\n\n\n\nconst $7705c033048f6da7$export$24d547caef80ccd1 = /*#__PURE__*/ (0, $9s8kH$createContext)({});\nconst $7705c033048f6da7$export$353f5b6fc5456de1 = /*#__PURE__*/ (0, $9s8kH$createHideableComponent)(function Button(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $7705c033048f6da7$export$24d547caef80ccd1);\n let ctx = props;\n let { isPending: isPending } = ctx;\n let { buttonProps: buttonProps, isPressed: isPressed } = (0, $9s8kH$useButton)(props, ref);\n buttonProps = $7705c033048f6da7$var$useDisableInteractions(buttonProps, isPending);\n let { focusProps: focusProps, isFocused: isFocused, isFocusVisible: isFocusVisible } = (0, $9s8kH$useFocusRing)(props);\n let { hoverProps: hoverProps, isHovered: isHovered } = (0, $9s8kH$useHover)({\n ...props,\n isDisabled: props.isDisabled || isPending\n });\n let renderValues = {\n isHovered: isHovered,\n isPressed: (ctx.isPressed || isPressed) && !isPending,\n isFocused: isFocused,\n isFocusVisible: isFocusVisible,\n isDisabled: props.isDisabled || false,\n isPending: isPending ?? false\n };\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n values: renderValues,\n defaultClassName: 'react-aria-Button'\n });\n let buttonId = (0, $9s8kH$useId)(buttonProps.id);\n let progressId = (0, $9s8kH$useId)();\n let ariaLabelledby = buttonProps['aria-labelledby'];\n if (isPending) {\n // aria-labelledby wins over aria-label\n // https://www.w3.org/TR/accname-1.2/#computation-steps\n if (ariaLabelledby) ariaLabelledby = `${ariaLabelledby} ${progressId}`;\n else if (buttonProps['aria-label']) ariaLabelledby = `${buttonId} ${progressId}`;\n }\n let wasPending = (0, $9s8kH$useRef)(isPending);\n (0, $9s8kH$useEffect)(()=>{\n let message = {\n 'aria-labelledby': ariaLabelledby || buttonId\n };\n if (!wasPending.current && isFocused && isPending) (0, $9s8kH$announce)(message, 'assertive');\n else if (wasPending.current && isFocused && !isPending) (0, $9s8kH$announce)(message, 'assertive');\n wasPending.current = isPending;\n }, [\n isPending,\n isFocused,\n ariaLabelledby,\n buttonId\n ]);\n let DOMProps = (0, $9s8kH$filterDOMProps)(props, {\n global: true\n });\n delete DOMProps.onClick;\n return /*#__PURE__*/ (0, $9s8kH$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).button, {\n ...(0, $9s8kH$mergeProps)(DOMProps, renderProps, buttonProps, focusProps, hoverProps),\n // When the button is in a pending state, we want to stop implicit form submission (ie. when the user presses enter on a text input).\n // We do this by changing the button's type to button.\n type: buttonProps.type === 'submit' && isPending ? 'button' : buttonProps.type,\n id: buttonId,\n ref: ref,\n \"aria-labelledby\": ariaLabelledby,\n slot: props.slot || undefined,\n \"aria-disabled\": isPending ? 'true' : buttonProps['aria-disabled'],\n \"data-disabled\": props.isDisabled || undefined,\n \"data-pressed\": renderValues.isPressed || undefined,\n \"data-hovered\": isHovered || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-pending\": isPending || undefined,\n \"data-focus-visible\": isFocusVisible || undefined\n }, /*#__PURE__*/ (0, $9s8kH$react).createElement((0, $6c0095e7e99364f2$export$e9f3bf65a26ce129).Provider, {\n value: {\n id: progressId\n }\n }, renderProps.children));\n});\n// Events to preserve when isPending is true (for tooltips and other overlays)\nconst $7705c033048f6da7$var$PRESERVED_EVENT_PATTERN = /Focus|Blur|Hover|Pointer(Enter|Leave|Over|Out)|Mouse(Enter|Leave|Over|Out)/;\nfunction $7705c033048f6da7$var$useDisableInteractions(props, isPending) {\n if (isPending) {\n for(const key in props)if (key.startsWith('on') && !$7705c033048f6da7$var$PRESERVED_EVENT_PATTERN.test(key)) props[key] = undefined;\n props.href = undefined;\n props.target = undefined;\n }\n return props;\n}\n\n\nexport {$7705c033048f6da7$export$24d547caef80ccd1 as ButtonContext, $7705c033048f6da7$export$353f5b6fc5456de1 as Button};\n//# sourceMappingURL=Button.mjs.map\n","import $1CcWn$react, {useState as $1CcWn$useState, useRef as $1CcWn$useRef, useEffect as $1CcWn$useEffect, useReducer as $1CcWn$useReducer, useCallback as $1CcWn$useCallback} 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// Use the earliest effect possible to reset the ref below.\nconst $3e6197669829fe11$var$useEarlyEffect = typeof document !== 'undefined' ? (0, $1CcWn$react)['useInsertionEffect'] ?? (0, $1CcWn$react).useLayoutEffect : ()=>{};\nfunction $3e6197669829fe11$export$40bfa8c7b0832715(value, defaultValue, onChange) {\n // Store the value in both state and a ref. The state value will only be used when uncontrolled.\n // The ref is used to track the most current value, which is passed to the function setState callback.\n let [stateValue, setStateValue] = (0, $1CcWn$useState)(value || defaultValue);\n let valueRef = (0, $1CcWn$useRef)(stateValue);\n let isControlledRef = (0, $1CcWn$useRef)(value !== undefined);\n let isControlled = value !== undefined;\n (0, $1CcWn$useEffect)(()=>{\n let wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled && process.env.NODE_ENV !== 'production') console.warn(`WARN: A component changed from ${wasControlled ? 'controlled' : 'uncontrolled'} to ${isControlled ? 'controlled' : 'uncontrolled'}.`);\n isControlledRef.current = isControlled;\n }, [\n isControlled\n ]);\n // After each render, update the ref to the current value.\n // This ensures that the setState callback argument is reset.\n // Note: the effect should not have any dependencies so that controlled values always reset.\n let currentValue = isControlled ? value : stateValue;\n $3e6197669829fe11$var$useEarlyEffect(()=>{\n valueRef.current = currentValue;\n });\n let [, forceUpdate] = (0, $1CcWn$useReducer)(()=>({}), {});\n let setValue = (0, $1CcWn$useCallback)((value, ...args)=>{\n // @ts-ignore - TS doesn't know that T cannot be a function.\n let newValue = typeof value === 'function' ? value(valueRef.current) : value;\n if (!Object.is(valueRef.current, newValue)) {\n // Update the ref so that the next setState callback has the most recent value.\n valueRef.current = newValue;\n setStateValue(newValue);\n // Always trigger a re-render, even when controlled, so that the layout effect above runs to reset the value.\n forceUpdate();\n // Trigger onChange. Note that if setState is called multiple times in a single event,\n // onChange will be called for each one instead of only once.\n onChange?.(newValue, ...args);\n }\n }, [\n onChange\n ]);\n return [\n currentValue,\n setValue\n ];\n}\n\n\nexport {$3e6197669829fe11$export$40bfa8c7b0832715 as useControlledState};\n//# sourceMappingURL=useControlledState.mjs.map\n","const dataAttr = condition => condition ? \"true\" : undefined;\n\nexport { dataAttr };\n","import { composeRenderProps } from 'react-aria-components/composeRenderProps';\nimport { cx } from 'tailwind-variants';\n\nfunction composeTwRenderProps(className, tailwind) {\n return composeRenderProps(className, (className, renderProps) => {\n const tw = typeof tailwind === \"function\" ? tailwind(renderProps) ?? \"\" : tailwind ?? \"\";\n const cls = className ?? \"\";\n return cx(tw, cls) ?? \"\";\n });\n}\nconst composeSlotClassName = (slotFn, className, variants) => {\n return typeof slotFn === \"function\" ? slotFn({\n ...(variants ?? {}),\n className\n }) : className;\n};\n\nexport { composeSlotClassName, composeTwRenderProps };\n","\"use client\";\nimport { jsx } from 'react/jsx-runtime';\n\nconst IconChevronDown = props => /*#__PURE__*/jsx(\"svg\", {\n \"aria-hidden\": \"true\",\n \"aria-label\": \"Chevron down icon\",\n fill: \"none\",\n height: 16,\n role: \"presentation\",\n viewBox: \"0 0 16 16\",\n width: 16,\n xmlns: \"http://www.w3.org/2000/svg\",\n ...props,\n children: /*#__PURE__*/jsx(\"path\", {\n clipRule: \"evenodd\",\n d: \"M2.97 5.47a.75.75 0 0 1 1.06 0L8 9.44l3.97-3.97a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 0 1-1.06 0l-4.5-4.5a.75.75 0 0 1 0-1.06\",\n fill: \"currentColor\",\n fillRule: \"evenodd\"\n })\n});\nconst IconChevronUp = props => /*#__PURE__*/jsx(\"svg\", {\n \"aria-hidden\": \"true\",\n \"aria-label\": \"Chevron up icon\",\n fill: \"none\",\n height: 16,\n role: \"presentation\",\n viewBox: \"0 0 16 16\",\n width: 16,\n xmlns: \"http://www.w3.org/2000/svg\",\n ...props,\n children: /*#__PURE__*/jsx(\"path\", {\n clipRule: \"evenodd\",\n d: \"M13.03 10.53a.75.75 0 0 1-1.06 0L8 6.56l-3.97 3.97a.75.75 0 0 1-1.06-1.06l4.5-4.5a.75.75 0 0 1 1.06 0l4.5 4.5a.75.75 0 0 1 0 1.06\",\n fill: \"currentColor\",\n fillRule: \"evenodd\"\n })\n});\nconst IconChevronLeft = props => /*#__PURE__*/jsx(\"svg\", {\n \"aria-hidden\": \"true\",\n \"aria-label\": \"Chevron left icon\",\n fill: \"none\",\n height: 16,\n role: \"presentation\",\n viewBox: \"0 0 16 16\",\n width: 16,\n xmlns: \"http://www.w3.org/2000/svg\",\n ...props,\n children: /*#__PURE__*/jsx(\"path\", {\n clipRule: \"evenodd\",\n d: \"M10.53 2.97a.75.75 0 0 1 0 1.06L6.56 8l3.97 3.97a.75.75 0 1 1-1.06 1.06l-4.5-4.5a.75.75 0 0 1 0-1.06l4.5-4.5a.75.75 0 0 1 1.06 0\",\n fill: \"currentColor\",\n fillRule: \"evenodd\"\n })\n});\nconst IconChevronRight = props => /*#__PURE__*/jsx(\"svg\", {\n \"aria-hidden\": \"true\",\n \"aria-label\": \"Chevron right icon\",\n fill: \"none\",\n height: 16,\n role: \"presentation\",\n viewBox: \"0 0 16 16\",\n width: 16,\n xmlns: \"http://www.w3.org/2000/svg\",\n ...props,\n children: /*#__PURE__*/jsx(\"path\", {\n clipRule: \"evenodd\",\n d: \"M5.47 2.97a.75.75 0 0 1 1.06 0l4.5 4.5a.75.75 0 0 1 0 1.06l-4.5 4.5a.75.75 0 1 1-1.06-1.06L9.44 8 5.47 4.03a.75.75 0 0 1 0-1.06Z\",\n fill: \"currentColor\",\n fillRule: \"evenodd\"\n })\n});\nconst ExternalLinkIcon = ({\n height = 9,\n width = 9,\n ...props\n}) => /*#__PURE__*/jsx(\"svg\", {\n \"aria-hidden\": \"true\",\n \"aria-label\": \"External link icon\",\n fill: \"none\",\n height: height,\n role: \"presentation\",\n viewBox: \"0 0 7 7\",\n width: width,\n xmlns: \"http://www.w3.org/2000/svg\",\n ...props,\n children: /*#__PURE__*/jsx(\"path\", {\n d: \"M1.20592 6.84333L0.379822 6.01723L4.52594 1.8672H1.37819L1.38601 0.731812H6.48742V5.83714H5.34421L5.35203 2.6933L1.20592 6.84333Z\",\n fill: \"currentColor\"\n })\n});\nconst CircleDashedIcon = props => /*#__PURE__*/jsx(\"svg\", {\n \"aria-hidden\": \"true\",\n \"aria-label\": \"Circle dashed icon\",\n fill: \"none\",\n height: 16,\n role: \"presentation\",\n viewBox: \"0 0 16 16\",\n width: 16,\n xmlns: \"http://www.w3.org/2000/svg\",\n ...props,\n children: /*#__PURE__*/jsx(\"path\", {\n d: \"M6.906 1.085a7.047 7.047 0 0 1 2.188 0 .75.75 0 0 1-.232 1.482 5.546 5.546 0 0 0-1.724 0 .75.75 0 0 1-.232-1.482ZM4.933 2.502a.75.75 0 0 1-.166 1.048c-.466.34-.878.75-1.217 1.217a.75.75 0 0 1-1.213-.882 7.036 7.036 0 0 1 1.548-1.548.75.75 0 0 1 1.048.165Zm6.135 0a.75.75 0 0 1 1.047-.165 7.037 7.037 0 0 1 1.548 1.548.75.75 0 0 1-1.213.882 5.533 5.533 0 0 0-1.217-1.217.75.75 0 0 1-.165-1.048ZM1.943 6.28a.75.75 0 0 1 .624.857 5.546 5.546 0 0 0 0 1.724.75.75 0 0 1-1.482.232 7.047 7.047 0 0 1 0-2.188.75.75 0 0 1 .858-.625Zm12.114 0a.75.75 0 0 1 .858.625 7.048 7.048 0 0 1 0 2.188.75.75 0 1 1-1.482-.232 5.54 5.54 0 0 0 0-1.724.75.75 0 0 1 .624-.857ZM2.502 11.068a.75.75 0 0 1 1.048.165c.34.466.75.878 1.217 1.217a.75.75 0 0 1-.882 1.213 7.037 7.037 0 0 1-1.548-1.548.75.75 0 0 1 .165-1.047Zm10.996 0a.75.75 0 0 1 .165 1.047 7.037 7.037 0 0 1-1.548 1.548.75.75 0 0 1-.883-1.213 5.53 5.53 0 0 0 1.218-1.217.75.75 0 0 1 1.048-.165Zm-7.217 2.99a.75.75 0 0 1 .857-.625 5.54 5.54 0 0 0 1.724 0 .75.75 0 0 1 .232 1.482 7.048 7.048 0 0 1-2.188 0 .75.75 0 0 1-.625-.857Z\",\n fill: \"currentColor\"\n })\n});\nconst CloseIcon = props => /*#__PURE__*/jsx(\"svg\", {\n \"aria-hidden\": \"true\",\n \"aria-label\": \"Close icon\",\n fill: \"none\",\n height: 16,\n role: \"presentation\",\n viewBox: \"0 0 16 16\",\n width: 16,\n xmlns: \"http://www.w3.org/2000/svg\",\n ...props,\n children: /*#__PURE__*/jsx(\"path\", {\n clipRule: \"evenodd\",\n d: \"M3.47 3.47a.75.75 0 0 1 1.06 0L8 6.94l3.47-3.47a.75.75 0 1 1 1.06 1.06L9.06 8l3.47 3.47a.75.75 0 1 1-1.06 1.06L8 9.06l-3.47 3.47a.75.75 0 0 1-1.06-1.06L6.94 8 3.47 4.53a.75.75 0 0 1 0-1.06Z\",\n fill: \"currentColor\",\n fillRule: \"evenodd\"\n })\n});\nconst InfoIcon = props => /*#__PURE__*/jsx(\"svg\", {\n \"aria-hidden\": \"true\",\n \"aria-label\": \"Info icon\",\n fill: \"none\",\n height: 16,\n role: \"presentation\",\n viewBox: \"0 0 16 16\",\n width: 16,\n xmlns: \"http://www.w3.org/2000/svg\",\n ...props,\n children: /*#__PURE__*/jsx(\"path\", {\n clipRule: \"evenodd\",\n d: \"M8 13.5a5.5 5.5 0 1 0 0-11a5.5 5.5 0 0 0 0 11M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14m1-9.5a1 1 0 1 1-2 0a1 1 0 0 1 2 0m-.25 3a.75.75 0 0 0-1.5 0V11a.75.75 0 0 0 1.5 0z\",\n fill: \"currentColor\",\n fillRule: \"evenodd\"\n })\n});\nconst WarningIcon = props => /*#__PURE__*/jsx(\"svg\", {\n \"aria-hidden\": \"true\",\n \"aria-label\": \"Warning icon\",\n fill: \"none\",\n height: 16,\n role: \"presentation\",\n viewBox: \"0 0 16 16\",\n width: 16,\n xmlns: \"http://www.w3.org/2000/svg\",\n ...props,\n children: /*#__PURE__*/jsx(\"path\", {\n clipRule: \"evenodd\",\n d: \"M7.134 2.994L2.217 11.5a1 1 0 0 0 .866 1.5h9.834a1 1 0 0 0 .866-1.5L8.866 2.993a1 1 0 0 0-1.732 0m3.03-.75c-.962-1.665-3.366-1.665-4.329 0L.918 10.749c-.963 1.666.24 3.751 2.165 3.751h9.834c1.925 0 3.128-2.085 2.164-3.751zM8 5a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2A.75.75 0 0 1 8 5m1 5.75a1 1 0 1 1-2 0a1 1 0 0 1 2 0\",\n fill: \"currentColor\",\n fillRule: \"evenodd\"\n })\n});\nconst DangerIcon = props => /*#__PURE__*/jsx(\"svg\", {\n \"aria-hidden\": \"true\",\n \"aria-label\": \"Danger icon\",\n fill: \"none\",\n height: 16,\n role: \"presentation\",\n viewBox: \"0 0 16 16\",\n width: 16,\n xmlns: \"http://www.w3.org/2000/svg\",\n ...props,\n children: /*#__PURE__*/jsx(\"path\", {\n clipRule: \"evenodd\",\n d: \"M8 13.5a5.5 5.5 0 1 0 0-11a5.5 5.5 0 0 0 0 11M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14m1-4.5a1 1 0 1 1-2 0a1 1 0 0 1 2 0M8.75 5a.75.75 0 0 0-1.5 0v2.5a.75.75 0 0 0 1.5 0z\",\n fill: \"currentColor\",\n fillRule: \"evenodd\"\n })\n});\nconst SuccessIcon = props => /*#__PURE__*/jsx(\"svg\", {\n \"aria-hidden\": \"true\",\n \"aria-label\": \"Success icon\",\n fill: \"none\",\n height: 16,\n role: \"presentation\",\n viewBox: \"0 0 16 16\",\n width: 16,\n xmlns: \"http://www.w3.org/2000/svg\",\n ...props,\n children: /*#__PURE__*/jsx(\"path\", {\n clipRule: \"evenodd\",\n d: \"M13.5 8a5.5 5.5 0 1 1-11 0a5.5 5.5 0 0 1 11 0M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0m-3.9-1.55a.75.75 0 1 0-1.2-.9L7.419 8.858L6.03 7.47a.75.75 0 0 0-1.06 1.06l2 2a.75.75 0 0 0 1.13-.08z\",\n fill: \"currentColor\",\n fillRule: \"evenodd\"\n })\n});\nconst IconMinus = props => /*#__PURE__*/jsx(\"svg\", {\n \"aria-hidden\": \"true\",\n \"aria-label\": \"Minus icon\",\n fill: \"none\",\n height: 16,\n role: \"presentation\",\n viewBox: \"0 0 16 16\",\n width: 16,\n xmlns: \"http://www.w3.org/2000/svg\",\n ...props,\n children: /*#__PURE__*/jsx(\"path\", {\n clipRule: \"evenodd\",\n d: \"M1.75 8a.75.75 0 0 1 .75-.75h11a.75.75 0 0 1 0 1.5h-11A.75.75 0 0 1 1.75 8\",\n fill: \"currentColor\",\n fillRule: \"evenodd\"\n })\n});\nconst IconPlus = props => /*#__PURE__*/jsx(\"svg\", {\n \"aria-hidden\": \"true\",\n \"aria-label\": \"Plus icon\",\n fill: \"none\",\n height: 16,\n role: \"presentation\",\n viewBox: \"0 0 16 16\",\n width: 16,\n xmlns: \"http://www.w3.org/2000/svg\",\n ...props,\n children: /*#__PURE__*/jsx(\"path\", {\n clipRule: \"evenodd\",\n d: \"M8 1.75a.75.75 0 0 1 .75.75v4.75h4.75a.75.75 0 0 1 0 1.5H8.75v4.75a.75.75 0 0 1-1.5 0V8.75H2.5a.75.75 0 0 1 0-1.5h4.75V2.5A.75.75 0 0 1 8 1.75\",\n fill: \"currentColor\",\n fillRule: \"evenodd\"\n })\n});\nconst IconSearch = props => /*#__PURE__*/jsx(\"svg\", {\n \"aria-hidden\": \"true\",\n \"aria-label\": \"Search icon\",\n fill: \"none\",\n height: 16,\n role: \"presentation\",\n viewBox: \"0 0 16 16\",\n width: 16,\n xmlns: \"http://www.w3.org/2000/svg\",\n ...props,\n children: /*#__PURE__*/jsx(\"path\", {\n clipRule: \"evenodd\",\n d: \"M11.5 7a4.5 4.5 0 1 1-9 0a4.5 4.5 0 0 1 9 0m-.82 4.74a6 6 0 1 1 1.06-1.06l2.79 2.79a.75.75 0 1 1-1.06 1.06z\",\n fill: \"currentColor\",\n fillRule: \"evenodd\"\n })\n});\nconst IconCalendar = props => /*#__PURE__*/jsx(\"svg\", {\n \"aria-hidden\": \"true\",\n \"aria-label\": \"Calendar icon\",\n fill: \"none\",\n height: \"1em\",\n role: \"presentation\",\n viewBox: \"0 0 13 14\",\n width: \"1em\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...props,\n children: /*#__PURE__*/jsx(\"path\", {\n clipRule: \"evenodd\",\n d: \"M3.75 4.5A.75.75 0 0 1 3 3.75v-.748a1.5 1.5 0 0 0-1.5 1.5v1h10v-1a1.5 1.5 0 0 0-1.5-1.5v.75a.75.75 0 1 1-1.5 0v-.75h-4v.747a.75.75 0 0 1-.75.75ZM8.5 1.501h-4V.75a.75.75 0 0 0-1.5 0v.752a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h7a3 3 0 0 0 3-3v-6a3 3 0 0 0-3-3v-.75a.75.75 0 0 0-1.5 0v.75Zm-7 5.5v3.5a1.5 1.5 0 0 0 1.5 1.5h7a1.5 1.5 0 0 0 1.5-1.5v-3.5h-10Z\",\n fill: \"currentColor\",\n fillRule: \"evenodd\"\n })\n});\n\nexport { CircleDashedIcon, CloseIcon, DangerIcon, ExternalLinkIcon, IconCalendar, IconChevronDown, IconChevronLeft, IconChevronRight, IconChevronUp, IconMinus, IconPlus, IconSearch, InfoIcon, SuccessIcon, WarningIcon };\n","\"use client\";\nimport { surfaceVariants } from '@heroui/styles';\nimport { createContext } from 'react';\nimport { dom } from '../../utils/dom.js';\nimport { jsx } from 'react/jsx-runtime';\n\nconst SurfaceContext = /*#__PURE__*/createContext({});\n\n/* ------------------------------------------------------------------------------------------------\n * Surface Root\n * --------------------------------------------------------------------------------------------- */\n\nconst SurfaceRoot = ({\n children,\n className,\n variant = \"default\",\n ...rest\n}) => {\n return /*#__PURE__*/jsx(SurfaceContext, {\n value: {\n variant\n },\n children: /*#__PURE__*/jsx(dom.div, {\n className: surfaceVariants({\n variant,\n className\n }),\n \"data-slot\": \"surface\",\n ...rest,\n children: children\n })\n });\n};\n\nexport { SurfaceContext, SurfaceRoot };\n","import {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {useFocusWithin as $2c9edc598a03d523$export$420e68273165f4ec} from \"../interactions/useFocusWithin.mjs\";\nimport $48drk$react, {useState as $48drk$useState, useMemo as $48drk$useMemo} 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\n\nconst $ea3928288112382f$var$styles = {\n border: 0,\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(50%)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n width: '1px',\n whiteSpace: 'nowrap'\n};\nfunction $ea3928288112382f$export$a966af930f325cab(props = {}) {\n let { style: style, isFocusable: isFocusable } = props;\n let [isFocused, setFocused] = (0, $48drk$useState)(false);\n let { focusWithinProps: focusWithinProps } = (0, $2c9edc598a03d523$export$420e68273165f4ec)({\n isDisabled: !isFocusable,\n onFocusWithinChange: (val)=>setFocused(val)\n });\n // If focused, don't hide the element.\n let combinedStyles = (0, $48drk$useMemo)(()=>{\n if (isFocused) return style;\n else if (style) return {\n ...$ea3928288112382f$var$styles,\n ...style\n };\n else return $ea3928288112382f$var$styles;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isFocused\n ]);\n return {\n visuallyHiddenProps: {\n ...focusWithinProps,\n style: combinedStyles\n }\n };\n}\nfunction $ea3928288112382f$export$439d29a4e110a164(props) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n let { children: children, elementType: Element = 'div', isFocusable: isFocusable, style: style, ...otherProps } = props;\n let { visuallyHiddenProps: visuallyHiddenProps } = $ea3928288112382f$export$a966af930f325cab(props);\n return /*#__PURE__*/ (0, $48drk$react).createElement(Element, (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(otherProps, visuallyHiddenProps), children);\n}\n\n\nexport {$ea3928288112382f$export$a966af930f325cab as useVisuallyHidden, $ea3928288112382f$export$439d29a4e110a164 as VisuallyHidden};\n//# sourceMappingURL=VisuallyHidden.mjs.map\n","/*\n * Copyright 2024 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 $6f0c29017aeec335$export$d68d59712b04d9d1 {\n constructor(key){\n this.value = null;\n this.level = 0;\n this.hasChildNodes = false;\n this.rendered = null;\n this.textValue = '';\n this['aria-label'] = undefined;\n this.index = 0;\n this.parentKey = null;\n this.prevKey = null;\n this.nextKey = null;\n this.firstChildKey = null;\n this.lastChildKey = null;\n this.props = {};\n this.colSpan = null;\n this.colIndex = null;\n this.type = this.constructor.type;\n this.key = key;\n }\n get childNodes() {\n throw new Error('childNodes is not supported');\n }\n clone() {\n let node = new this.constructor(this.key);\n node.value = this.value;\n node.level = this.level;\n node.hasChildNodes = this.hasChildNodes;\n node.rendered = this.rendered;\n node.textValue = this.textValue;\n node['aria-label'] = this['aria-label'];\n node.index = this.index;\n node.parentKey = this.parentKey;\n node.prevKey = this.prevKey;\n node.nextKey = this.nextKey;\n node.firstChildKey = this.firstChildKey;\n node.lastChildKey = this.lastChildKey;\n node.props = this.props;\n node.render = this.render;\n node.colSpan = this.colSpan;\n node.colIndex = this.colIndex;\n return node;\n }\n filter(collection, newCollection, // eslint-disable-next-line @typescript-eslint/no-unused-vars\n filterFn) {\n let clone = this.clone();\n newCollection.addDescendants(clone, collection);\n return clone;\n }\n}\nclass $6f0c29017aeec335$export$b1918e978f1ee46f extends $6f0c29017aeec335$export$d68d59712b04d9d1 {\n filter(collection, newCollection, filterFn) {\n let [firstKey, lastKey] = $6f0c29017aeec335$var$filterChildren(collection, newCollection, this.firstChildKey, filterFn);\n let newNode = this.clone();\n newNode.firstChildKey = firstKey;\n newNode.lastChildKey = lastKey;\n return newNode;\n }\n}\nclass $6f0c29017aeec335$export$5ae2504e948afce5 extends $6f0c29017aeec335$export$d68d59712b04d9d1 {\n static{\n this.type = 'header';\n }\n}\nclass $6f0c29017aeec335$export$8258a0665a675899 extends $6f0c29017aeec335$export$d68d59712b04d9d1 {\n static{\n this.type = 'loader';\n }\n}\nclass $6f0c29017aeec335$export$fd11f34e1d07f134 extends $6f0c29017aeec335$export$b1918e978f1ee46f {\n static{\n this.type = 'item';\n }\n filter(collection, newCollection, filterFn) {\n if (filterFn(this.textValue, this)) {\n let clone = this.clone();\n newCollection.addDescendants(clone, collection);\n return clone;\n }\n return null;\n }\n}\nclass $6f0c29017aeec335$export$437f11dc9b403b78 extends $6f0c29017aeec335$export$b1918e978f1ee46f {\n static{\n this.type = 'section';\n }\n filter(collection, newCollection, filterFn) {\n let filteredSection = super.filter(collection, newCollection, filterFn);\n if (filteredSection) {\n if (filteredSection.lastChildKey !== null) {\n let lastChild = collection.getItem(filteredSection.lastChildKey);\n if (lastChild && lastChild.type !== 'header') return filteredSection;\n }\n }\n return null;\n }\n}\nclass $6f0c29017aeec335$export$408d25a4e12db025 {\n get size() {\n return this.itemCount;\n }\n getKeys() {\n return this.keyMap.keys();\n }\n *[Symbol.iterator]() {\n let node = this.firstKey != null ? this.keyMap.get(this.firstKey) : undefined;\n while(node){\n yield node;\n node = node.nextKey != null ? this.keyMap.get(node.nextKey) : undefined;\n }\n }\n getChildren(key) {\n let keyMap = this.keyMap;\n return {\n *[Symbol.iterator] () {\n let parent = keyMap.get(key);\n let node = parent?.firstChildKey != null ? keyMap.get(parent.firstChildKey) : null;\n while(node){\n yield node;\n node = node.nextKey != null ? keyMap.get(node.nextKey) : undefined;\n }\n }\n };\n }\n getKeyBefore(key) {\n let node = this.keyMap.get(key);\n if (!node) return null;\n if (node.prevKey != null) {\n node = this.keyMap.get(node.prevKey);\n while(node && node.type !== 'item' && node.lastChildKey != null)node = this.keyMap.get(node.lastChildKey);\n return node?.key ?? null;\n }\n return node.parentKey;\n }\n getKeyAfter(key) {\n let node = this.keyMap.get(key);\n if (!node) return null;\n if (node.type !== 'item' && node.firstChildKey != null) return node.firstChildKey;\n while(node){\n if (node.nextKey != null) return node.nextKey;\n if (node.parentKey != null) node = this.keyMap.get(node.parentKey);\n else return null;\n }\n return null;\n }\n getFirstKey() {\n return this.firstKey;\n }\n getLastKey() {\n let node = this.lastKey != null ? this.keyMap.get(this.lastKey) : null;\n while(node?.lastChildKey != null)node = this.keyMap.get(node.lastChildKey);\n return node?.key ?? null;\n }\n getItem(key) {\n return this.keyMap.get(key) ?? null;\n }\n at() {\n throw new Error('Not implemented');\n }\n clone() {\n // We need to clone using this.constructor so that subclasses have the right prototype.\n // TypeScript isn't happy about this yet.\n // https://github.com/microsoft/TypeScript/issues/3841\n let Constructor = this.constructor;\n let collection = new Constructor();\n collection.keyMap = new Map(this.keyMap);\n collection.firstKey = this.firstKey;\n collection.lastKey = this.lastKey;\n collection.itemCount = this.itemCount;\n return collection;\n }\n addNode(node) {\n if (this.frozen) throw new Error('Cannot add a node to a frozen collection');\n if (node.type === 'item' && this.keyMap.get(node.key) == null) this.itemCount++;\n this.keyMap.set(node.key, node);\n }\n // Deeply add a node and its children to the collection from another collection, primarily used when filtering a collection\n addDescendants(node, oldCollection) {\n this.addNode(node);\n let children = oldCollection.getChildren(node.key);\n for (let child of children)this.addDescendants(child, oldCollection);\n }\n removeNode(key) {\n if (this.frozen) throw new Error('Cannot remove a node to a frozen collection');\n let node = this.keyMap.get(key);\n if (node != null && node.type === 'item') this.itemCount--;\n this.keyMap.delete(key);\n }\n commit(firstKey, lastKey, isSSR = false) {\n if (this.frozen) throw new Error('Cannot commit a frozen collection');\n this.firstKey = firstKey;\n this.lastKey = lastKey;\n this.frozen = !isSSR;\n }\n filter(filterFn) {\n let newCollection = new this.constructor();\n let [firstKey, lastKey] = $6f0c29017aeec335$var$filterChildren(this, newCollection, this.firstKey, filterFn);\n newCollection?.commit(firstKey, lastKey);\n return newCollection;\n }\n constructor(){\n this.keyMap = new Map();\n this.firstKey = null;\n this.lastKey = null;\n this.frozen = false;\n this.itemCount = 0;\n }\n}\nfunction $6f0c29017aeec335$var$filterChildren(collection, newCollection, firstChildKey, filterFn) {\n // loop over the siblings for firstChildKey\n // create new nodes based on calling node.filter for each child\n // if it returns null then don't include it, otherwise update its prev/next keys\n // add them to the newCollection\n if (firstChildKey == null) return [\n null,\n null\n ];\n let firstNode = null;\n let lastNode = null;\n let currentNode = collection.getItem(firstChildKey);\n while(currentNode != null){\n let newNode = currentNode.filter(collection, newCollection, filterFn);\n if (newNode != null) {\n newNode.nextKey = null;\n if (lastNode) {\n newNode.prevKey = lastNode.key;\n lastNode.nextKey = newNode.key;\n }\n if (firstNode == null) firstNode = newNode;\n newCollection.addNode(newNode);\n lastNode = newNode;\n }\n currentNode = currentNode.nextKey != null ? collection.getItem(currentNode.nextKey) : null;\n }\n // TODO: this is pretty specific to dividers but doesn't feel like there is a good way to get around it since we only can know\n // to filter the last separator in a collection only after performing a filter for the rest of the contents after it\n // Its gross that it needs to live here, might be nice if somehow we could have this live in the separator code\n if (lastNode && lastNode.type === 'separator') {\n let prevKey = lastNode.prevKey;\n newCollection.removeNode(lastNode.key);\n if (prevKey != null) {\n lastNode = newCollection.getItem(prevKey);\n lastNode.nextKey = null;\n } else lastNode = null;\n }\n return [\n firstNode?.key ?? null,\n lastNode?.key ?? null\n ];\n}\n\n\nexport {$6f0c29017aeec335$export$d68d59712b04d9d1 as CollectionNode, $6f0c29017aeec335$export$b1918e978f1ee46f as FilterableNode, $6f0c29017aeec335$export$5ae2504e948afce5 as HeaderNode, $6f0c29017aeec335$export$8258a0665a675899 as LoaderNode, $6f0c29017aeec335$export$fd11f34e1d07f134 as ItemNode, $6f0c29017aeec335$export$437f11dc9b403b78 as SectionNode, $6f0c29017aeec335$export$408d25a4e12db025 as BaseCollection};\n//# sourceMappingURL=BaseCollection.mjs.map\n","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n function useSyncExternalStore$2(subscribe, getSnapshot) {\n didWarnOld18Alpha ||\n void 0 === React.startTransition ||\n ((didWarnOld18Alpha = !0),\n console.error(\n \"You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release.\"\n ));\n var value = getSnapshot();\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n objectIs(value, cachedValue) ||\n (console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n ),\n (didWarnUncachedGetSnapshot = !0));\n }\n cachedValue = useState({\n inst: { value: value, getSnapshot: getSnapshot }\n });\n var inst = cachedValue[0].inst,\n forceUpdate = cachedValue[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n }\n function checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n }\n function useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue,\n didWarnOld18Alpha = !1,\n didWarnUncachedGetSnapshot = !1,\n shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\n exports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","import {BaseCollection as $6f0c29017aeec335$export$408d25a4e12db025, CollectionNode as $6f0c29017aeec335$export$d68d59712b04d9d1} from \"./BaseCollection.mjs\";\nimport {Document as $96ead35620b8fd36$export$b34a105447964f9f} from \"./Document.mjs\";\nimport {useCachedChildren as $a80bd3e9349588e7$export$727c8fc270210f13} from \"./useCachedChildren.mjs\";\nimport {FocusableContext as $d1116acdf220c2da$export$f9762fab77588ecb} from \"../interactions/useFocusable.mjs\";\nimport {Hidden as $d7f64c32b702fe2c$export$8dc98ba7eadeaa56} from \"./Hidden.mjs\";\nimport {useIsSSR as $c7eafbbe1ea5834e$export$535bd6ca7f90a273} from \"../ssr/SSRProvider.mjs\";\nimport {createPortal as $kT5Ur$createPortal} from \"react-dom\";\nimport $kT5Ur$react, {createContext as $kT5Ur$createContext, useContext as $kT5Ur$useContext, useRef as $kT5Ur$useRef, useCallback as $kT5Ur$useCallback, useState as $kT5Ur$useState, forwardRef as $kT5Ur$forwardRef, useMemo as $kT5Ur$useMemo} from \"react\";\nimport {useSyncExternalStore as $kT5Ur$useSyncExternalStore} from \"use-sync-external-store/shim/index.js\";\n\n/*\n * Copyright 2024 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\n\n\n\n\n\n\nconst $42ceafc619f9c3ba$var$ShallowRenderContext = /*#__PURE__*/ (0, $kT5Ur$createContext)(false);\nconst $42ceafc619f9c3ba$var$CollectionDocumentContext = /*#__PURE__*/ (0, $kT5Ur$createContext)(null);\nfunction $42ceafc619f9c3ba$export$bf788dd355e3a401(props) {\n // If a document was provided above us, we're already in a hidden tree. Just render the content.\n let doc = (0, $kT5Ur$useContext)($42ceafc619f9c3ba$var$CollectionDocumentContext);\n if (doc) // The React types prior to 18 did not allow returning ReactNode from components\n // even though the actual implementation since React 16 did.\n // We must return ReactElement so that TS does not complain that <CollectionBuilder>\n // is not a valid JSX element with React 16 and 17 types.\n // https://github.com/DefinitelyTyped/DefinitelyTyped/issues/20544\n return props.content;\n // Otherwise, render a hidden copy of the children so that we can build the collection before constructing the state.\n // This should always come before the real DOM content so we have built the collection by the time it renders during SSR.\n // This is fine. CollectionDocumentContext never changes after mounting.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n let { collection: collection, document: document } = $42ceafc619f9c3ba$var$useCollectionDocument(props.createCollection);\n return /*#__PURE__*/ (0, $kT5Ur$react).createElement((0, $kT5Ur$react).Fragment, null, /*#__PURE__*/ (0, $kT5Ur$react).createElement((0, $d7f64c32b702fe2c$export$8dc98ba7eadeaa56), null, /*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$CollectionDocumentContext.Provider, {\n value: document\n }, props.content)), /*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$CollectionInner, {\n render: props.children,\n collection: collection\n }));\n}\nfunction $42ceafc619f9c3ba$var$CollectionInner({ collection: collection, render: render }) {\n return render(collection);\n}\n// React 16 and 17 don't support useSyncExternalStore natively, and the shim provided by React does not support getServerSnapshot.\n// This wrapper uses the shim, but additionally calls getServerSnapshot during SSR (according to SSRProvider).\nfunction $42ceafc619f9c3ba$var$useSyncExternalStoreFallback(subscribe, getSnapshot, getServerSnapshot) {\n let isSSR = (0, $c7eafbbe1ea5834e$export$535bd6ca7f90a273)();\n let isSSRRef = (0, $kT5Ur$useRef)(isSSR);\n // This is read immediately inside the wrapper, which also runs during render.\n // We just need a ref to avoid invalidating the callback itself, which\n // would cause React to re-run the callback more than necessary.\n // eslint-disable-next-line rsp-rules/pure-render\n isSSRRef.current = isSSR;\n let getSnapshotWrapper = (0, $kT5Ur$useCallback)(()=>{\n return isSSRRef.current ? getServerSnapshot() : getSnapshot();\n }, [\n getSnapshot,\n getServerSnapshot\n ]);\n return (0, $kT5Ur$useSyncExternalStore)(subscribe, getSnapshotWrapper);\n}\nconst $42ceafc619f9c3ba$var$useSyncExternalStore = typeof (0, $kT5Ur$react)['useSyncExternalStore'] === 'function' ? (0, $kT5Ur$react)['useSyncExternalStore'] : $42ceafc619f9c3ba$var$useSyncExternalStoreFallback;\nfunction $42ceafc619f9c3ba$var$useCollectionDocument(createCollection) {\n // The document instance is mutable, and should never change between renders.\n // useSyncExternalStore is used to subscribe to updates, which vends immutable Collection objects.\n let [document] = (0, $kT5Ur$useState)(()=>new (0, $96ead35620b8fd36$export$b34a105447964f9f)(createCollection?.() || new (0, $6f0c29017aeec335$export$408d25a4e12db025)()));\n let subscribe = (0, $kT5Ur$useCallback)((fn)=>document.subscribe(fn), [\n document\n ]);\n let getSnapshot = (0, $kT5Ur$useCallback)(()=>{\n let collection = document.getCollection();\n if (document.isSSR) // After SSR is complete, reset the document to empty so it is ready for React to render the portal into.\n // We do this _after_ getting the collection above so that the collection still has content in it from SSR\n // during the current render, before React has finished the client render.\n document.resetAfterSSR();\n return collection;\n }, [\n document\n ]);\n let getServerSnapshot = (0, $kT5Ur$useCallback)(()=>{\n document.isSSR = true;\n return document.getCollection();\n }, [\n document\n ]);\n let collection = $42ceafc619f9c3ba$var$useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n return {\n collection: collection,\n document: document\n };\n}\nconst $42ceafc619f9c3ba$var$SSRContext = /*#__PURE__*/ (0, $kT5Ur$createContext)(null);\nfunction $42ceafc619f9c3ba$var$createCollectionNodeClass(type) {\n let NodeClass = class extends (0, $6f0c29017aeec335$export$d68d59712b04d9d1) {\n static{\n this.type = type;\n }\n };\n return NodeClass;\n}\nfunction $42ceafc619f9c3ba$var$useSSRCollectionNode(CollectionNodeClass, props, ref, rendered, children, render) {\n // To prevent breaking change, if CollectionNodeClass is a string, create a CollectionNodeClass using the string as the type\n if (typeof CollectionNodeClass === 'string') CollectionNodeClass = $42ceafc619f9c3ba$var$createCollectionNodeClass(CollectionNodeClass);\n // During SSR, portals are not supported, so the collection children will be wrapped in an SSRContext.\n // Since SSR occurs only once, we assume that the elements are rendered in order and never re-render.\n // Therefore we can create elements in our collection document during render so that they are in the\n // collection by the time we need to use the collection to render to the real DOM.\n // After hydration, we switch to client rendering using the portal.\n let itemRef = (0, $kT5Ur$useCallback)((element)=>{\n element?.setProps(props, ref, CollectionNodeClass, rendered, render);\n }, [\n props,\n ref,\n rendered,\n render,\n CollectionNodeClass\n ]);\n let parentNode = (0, $kT5Ur$useContext)($42ceafc619f9c3ba$var$SSRContext);\n if (parentNode) {\n // Guard against double rendering in strict mode.\n let element = parentNode.ownerDocument.nodesByProps.get(props);\n if (!element) {\n element = parentNode.ownerDocument.createElement(CollectionNodeClass.type);\n element.setProps(props, ref, CollectionNodeClass, rendered, render);\n parentNode.appendChild(element);\n parentNode.ownerDocument.updateCollection();\n parentNode.ownerDocument.nodesByProps.set(props, element);\n }\n return children ? /*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$SSRContext.Provider, {\n value: element\n }, children) : null;\n }\n // @ts-ignore\n return /*#__PURE__*/ (0, $kT5Ur$react).createElement(CollectionNodeClass.type, {\n ref: itemRef\n }, children);\n}\nfunction $42ceafc619f9c3ba$export$18af5c7a9e9b3664(CollectionNodeClass, render) {\n let Component = ({ node: node })=>render(node.props, node.props.ref, node);\n let Result = (0, $kT5Ur$forwardRef)((props, ref)=>{\n let focusableProps = (0, $kT5Ur$useContext)((0, $d1116acdf220c2da$export$f9762fab77588ecb));\n let isShallow = (0, $kT5Ur$useContext)($42ceafc619f9c3ba$var$ShallowRenderContext);\n if (!isShallow) {\n if (render.length >= 3) throw new Error(render.name + ' cannot be rendered outside a collection.');\n return render(props, ref);\n }\n return $42ceafc619f9c3ba$var$useSSRCollectionNode(CollectionNodeClass, props, ref, 'children' in props ? props.children : null, null, (node)=>// Forward FocusableContext to real DOM tree so tooltips work.\n /*#__PURE__*/ (0, $kT5Ur$react).createElement((0, $d1116acdf220c2da$export$f9762fab77588ecb).Provider, {\n value: focusableProps\n }, /*#__PURE__*/ (0, $kT5Ur$react).createElement(Component, {\n node: node\n })));\n });\n // @ts-ignore\n Result.displayName = render.name;\n return Result;\n}\nfunction $42ceafc619f9c3ba$export$e953bb1cd0f19726(CollectionNodeClass, render, useChildren = $42ceafc619f9c3ba$var$useCollectionChildren) {\n let Component = ({ node: node })=>render(node.props, node.props.ref, node);\n let Result = (0, $kT5Ur$forwardRef)((props, ref)=>{\n let children = useChildren(props);\n return $42ceafc619f9c3ba$var$useSSRCollectionNode(CollectionNodeClass, props, ref, null, children, (node)=>/*#__PURE__*/ (0, $kT5Ur$react).createElement(Component, {\n node: node\n })) ?? /*#__PURE__*/ (0, $kT5Ur$react).createElement((0, $kT5Ur$react).Fragment, null);\n });\n // @ts-ignore\n Result.displayName = render.name;\n return Result;\n}\nfunction $42ceafc619f9c3ba$var$useCollectionChildren(options) {\n return (0, $a80bd3e9349588e7$export$727c8fc270210f13)({\n ...options,\n addIdAndValue: true\n });\n}\nconst $42ceafc619f9c3ba$var$CollectionContext = /*#__PURE__*/ (0, $kT5Ur$createContext)(null);\nfunction $42ceafc619f9c3ba$export$fb8073518f34e6ec(props) {\n let ctx = (0, $kT5Ur$useContext)($42ceafc619f9c3ba$var$CollectionContext);\n let dependencies = (ctx?.dependencies || []).concat(props.dependencies);\n let idScope = props.idScope ?? ctx?.idScope;\n let children = $42ceafc619f9c3ba$var$useCollectionChildren({\n ...props,\n idScope: idScope,\n dependencies: dependencies\n });\n let doc = (0, $kT5Ur$useContext)($42ceafc619f9c3ba$var$CollectionDocumentContext);\n if (doc) children = /*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$CollectionRoot, null, children);\n // Propagate dependencies and idScope to child collections.\n ctx = (0, $kT5Ur$useMemo)(()=>({\n dependencies: dependencies,\n idScope: idScope\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n idScope,\n ...dependencies\n ]);\n return /*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$CollectionContext.Provider, {\n value: ctx\n }, children);\n}\nfunction $42ceafc619f9c3ba$var$CollectionRoot({ children: children }) {\n let doc = (0, $kT5Ur$useContext)($42ceafc619f9c3ba$var$CollectionDocumentContext);\n let wrappedChildren = (0, $kT5Ur$useMemo)(()=>/*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$CollectionDocumentContext.Provider, {\n value: null\n }, /*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$ShallowRenderContext.Provider, {\n value: true\n }, children)), [\n children\n ]);\n // During SSR, we render the content directly, and append nodes to the document during render.\n // The collection children return null so that nothing is actually rendered into the HTML.\n return (0, $c7eafbbe1ea5834e$export$535bd6ca7f90a273)() ? /*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$SSRContext.Provider, {\n value: doc\n }, wrappedChildren) : /*#__PURE__*/ (0, $kT5Ur$createPortal)(wrappedChildren, doc);\n}\n\n\nexport {$42ceafc619f9c3ba$export$bf788dd355e3a401 as CollectionBuilder, $42ceafc619f9c3ba$export$18af5c7a9e9b3664 as createLeafComponent, $42ceafc619f9c3ba$export$e953bb1cd0f19726 as createBranchComponent, $42ceafc619f9c3ba$export$fb8073518f34e6ec as Collection};\n//# sourceMappingURL=CollectionBuilder.mjs.map\n","import {filterDOMProps as $8e9d2fae0ecb9001$export$457c3d6518dd4c6f} from \"../utils/filterDOMProps.mjs\";\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 $dc321dbb6473ef33$export$52210f68a14655d0(props) {\n let domProps = (0, $8e9d2fae0ecb9001$export$457c3d6518dd4c6f)(props, {\n labelable: true\n });\n let ariaOrientation;\n // if orientation is horizontal, aria-orientation default is horizontal, so we leave it undefined\n // if it's vertical, we need to specify it\n if (props.orientation === 'vertical') ariaOrientation = 'vertical';\n // hr elements implicitly have role = separator and a horizontal orientation\n if (props.elementType !== 'hr') return {\n separatorProps: {\n ...domProps,\n role: 'separator',\n 'aria-orientation': ariaOrientation\n }\n };\n return {\n separatorProps: domProps\n };\n}\n\n\nexport {$dc321dbb6473ef33$export$52210f68a14655d0 as useSeparator};\n//# sourceMappingURL=useSeparator.mjs.map\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415} from \"./utils.mjs\";\nimport {useSeparator as $adn6H$useSeparator} from \"react-aria/useSeparator\";\nimport {CollectionNode as $adn6H$CollectionNode} from \"react-aria/private/collections/BaseCollection\";\nimport {createLeafComponent as $adn6H$createLeafComponent} from \"react-aria/CollectionBuilder\";\nimport {filterDOMProps as $adn6H$filterDOMProps} from \"react-aria/filterDOMProps\";\nimport {mergeProps as $adn6H$mergeProps} from \"react-aria/mergeProps\";\nimport $adn6H$react, {createContext as $adn6H$createContext} from \"react\";\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\n\n\n\n\nconst $e28ab3efe3e87743$export$6615d83f6de245ce = /*#__PURE__*/ (0, $adn6H$createContext)({});\nclass $e28ab3efe3e87743$export$7750289ca694c0b5 extends (0, $adn6H$CollectionNode) {\n static{\n this.type = 'separator';\n }\n filter(collection, newCollection) {\n let prevItem = newCollection.getItem(this.prevKey);\n if (prevItem && prevItem.type !== 'separator') {\n let clone = this.clone();\n newCollection.addDescendants(clone, collection);\n return clone;\n }\n return null;\n }\n}\nconst $e28ab3efe3e87743$export$1ff3c3f08ae963c0 = /*#__PURE__*/ (0, $adn6H$createLeafComponent)($e28ab3efe3e87743$export$7750289ca694c0b5, function Separator(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $e28ab3efe3e87743$export$6615d83f6de245ce);\n let { elementType: elementType, orientation: orientation, style: style, className: className, slot: slot, ...otherProps } = props;\n let Element = elementType || 'hr';\n if (Element === 'hr' && orientation === 'vertical') Element = 'div';\n let ElementType = (0, $7230ffa83bc0c2cf$export$df3a06d6289f983e)[Element];\n let { separatorProps: separatorProps } = (0, $adn6H$useSeparator)({\n ...otherProps,\n elementType: elementType,\n orientation: orientation\n });\n let DOMProps = (0, $adn6H$filterDOMProps)(props, {\n global: true\n });\n return /*#__PURE__*/ (0, $adn6H$react).createElement(ElementType, {\n render: props.render,\n ...(0, $adn6H$mergeProps)(DOMProps, separatorProps),\n style: style,\n className: className ?? 'react-aria-Separator',\n ref: ref,\n slot: slot || undefined\n });\n});\n\n\nexport {$e28ab3efe3e87743$export$6615d83f6de245ce as SeparatorContext, $e28ab3efe3e87743$export$7750289ca694c0b5 as SeparatorNode, $e28ab3efe3e87743$export$1ff3c3f08ae963c0 as Separator};\n//# sourceMappingURL=Separator.mjs.map\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415} from \"./utils.mjs\";\nimport $cGkLv$react, {createContext as $cGkLv$createContext, forwardRef as $cGkLv$forwardRef} from \"react\";\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\nconst $efe09c6d1c304b50$export$9afb8bc826b033ea = /*#__PURE__*/ (0, $cGkLv$createContext)({});\nconst $efe09c6d1c304b50$export$5f1af8db9871e1d6 = /*#__PURE__*/ (0, $cGkLv$forwardRef)(function Text(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $efe09c6d1c304b50$export$9afb8bc826b033ea);\n let { elementType: elementType = 'span', ...domProps } = props;\n let ElementType = (0, $7230ffa83bc0c2cf$export$df3a06d6289f983e)[elementType];\n // @ts-ignore\n return /*#__PURE__*/ (0, $cGkLv$react).createElement(ElementType, {\n className: \"react-aria-Text\",\n ...domProps,\n ref: ref\n });\n});\n\n\nexport {$efe09c6d1c304b50$export$9afb8bc826b033ea as TextContext, $efe09c6d1c304b50$export$5f1af8db9871e1d6 as Text};\n//# sourceMappingURL=Text.mjs.map\n","import {useRenderProps as $7230ffa83bc0c2cf$export$4d86445c2cf5e3} from \"./utils.mjs\";\nimport {Text as $efe09c6d1c304b50$export$5f1af8db9871e1d6} from \"./Text.mjs\";\nimport {filterDOMProps as $QpkXT$filterDOMProps} from \"react-aria/filterDOMProps\";\nimport $QpkXT$react, {createContext as $QpkXT$createContext, forwardRef as $QpkXT$forwardRef, useContext as $QpkXT$useContext} from \"react\";\n\n/*\n * Copyright 2023 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\n\nconst $1f3c3b1a70cec653$export$ff05c3ac10437e03 = /*#__PURE__*/ (0, $QpkXT$createContext)(null);\nconst $1f3c3b1a70cec653$export$f551688fc98f2e09 = /*#__PURE__*/ (0, $QpkXT$forwardRef)(function FieldError(props, ref) {\n let validation = (0, $QpkXT$useContext)($1f3c3b1a70cec653$export$ff05c3ac10437e03);\n if (!validation?.isInvalid) return null;\n return /*#__PURE__*/ (0, $QpkXT$react).createElement($1f3c3b1a70cec653$var$FieldErrorInner, {\n ...props,\n ref: ref\n });\n});\nconst $1f3c3b1a70cec653$var$FieldErrorInner = /*#__PURE__*/ (0, $QpkXT$forwardRef)((props, ref)=>{\n let validation = (0, $QpkXT$useContext)($1f3c3b1a70cec653$export$ff05c3ac10437e03);\n let { elementType: elementType, ...restProps } = props;\n let domProps = (0, $QpkXT$filterDOMProps)(restProps, {\n global: true\n });\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...restProps,\n defaultClassName: 'react-aria-FieldError',\n defaultChildren: validation.validationErrors.length === 0 ? undefined : validation.validationErrors.join(' '),\n values: validation\n });\n if (renderProps.children == null) return null;\n return /*#__PURE__*/ (0, $QpkXT$react).createElement((0, $efe09c6d1c304b50$export$5f1af8db9871e1d6), {\n slot: \"errorMessage\",\n elementType: elementType,\n ...domProps,\n ...renderProps,\n ref: ref\n });\n});\n\n\nexport {$1f3c3b1a70cec653$export$ff05c3ac10437e03 as FieldErrorContext, $1f3c3b1a70cec653$export$f551688fc98f2e09 as FieldError};\n//# sourceMappingURL=FieldError.mjs.map\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415} from \"./utils.mjs\";\nimport {FormValidationContext as $iSTzu$FormValidationContext} from \"react-stately/private/form/useFormValidationState\";\nimport $iSTzu$react, {createContext as $iSTzu$createContext, forwardRef as $iSTzu$forwardRef} from \"react\";\n\n/*\n * Copyright 2023 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 $cdaed739b1139372$export$c24727297075ec6a = /*#__PURE__*/ (0, $iSTzu$createContext)(null);\nconst $cdaed739b1139372$export$a7fed597f4b8afd8 = /*#__PURE__*/ (0, $iSTzu$forwardRef)(function Form(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $cdaed739b1139372$export$c24727297075ec6a);\n let { validationErrors: validationErrors, validationBehavior: validationBehavior = 'native', children: children, className: className, ...domProps } = props;\n return /*#__PURE__*/ (0, $iSTzu$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).form, {\n noValidate: validationBehavior !== 'native',\n ...domProps,\n ref: ref,\n className: className || 'react-aria-Form'\n }, /*#__PURE__*/ (0, $iSTzu$react).createElement($cdaed739b1139372$export$c24727297075ec6a.Provider, {\n value: {\n ...props,\n validationBehavior: validationBehavior\n }\n }, /*#__PURE__*/ (0, $iSTzu$react).createElement((0, $iSTzu$FormValidationContext).Provider, {\n value: validationErrors ?? {}\n }, children)));\n});\n\n\nexport {$cdaed739b1139372$export$c24727297075ec6a as FormContext, $cdaed739b1139372$export$a7fed597f4b8afd8 as Form};\n//# sourceMappingURL=Form.mjs.map\n","import {getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {setInteractionModality as $8f5a2122b0992be3$export$8397ddfc504fdb9a} from \"../interactions/useFocusVisible.mjs\";\nimport {useEffectEvent as $fe16bffc7a557bf0$export$7f54fc3180508a52} from \"../utils/useEffectEvent.mjs\";\nimport {useLayoutEffect as $c4867b2f328c2698$export$e5c5a5f917a5871c} from \"../utils/useLayoutEffect.mjs\";\nimport {useRef as $axvKP$useRef, useEffect as $axvKP$useEffect} from \"react\";\n\n/*\n * Copyright 2023 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\n\n\nfunction $860f7da480e22816$export$b8473d3665f3a75a(props, state, ref) {\n let { validationBehavior: validationBehavior, focus: focus } = props;\n // This is a useLayoutEffect so that it runs before the useEffect in useFormValidationState, which commits the validation change.\n (0, $c4867b2f328c2698$export$e5c5a5f917a5871c)(()=>{\n if (validationBehavior === 'native' && ref?.current && !ref.current.disabled) {\n let errorMessage = state.realtimeValidation.isInvalid ? state.realtimeValidation.validationErrors.join(' ') || 'Invalid value.' : '';\n ref.current.setCustomValidity(errorMessage);\n // Prevent default tooltip for validation message.\n // https://bugzilla.mozilla.org/show_bug.cgi?id=605277\n if (!ref.current.hasAttribute('title')) ref.current.title = '';\n if (!state.realtimeValidation.isInvalid) state.updateValidation($860f7da480e22816$var$getNativeValidity(ref.current));\n }\n });\n let isIgnoredReset = (0, $axvKP$useRef)(false);\n let onReset = (0, $fe16bffc7a557bf0$export$7f54fc3180508a52)(()=>{\n if (!isIgnoredReset.current) state.resetValidation();\n });\n let onInvalid = (0, $fe16bffc7a557bf0$export$7f54fc3180508a52)((e)=>{\n // Only commit validation if we are not already displaying one.\n // This avoids clearing server errors that the user didn't actually fix.\n if (!state.displayValidation.isInvalid) state.commitValidation();\n // Auto focus the first invalid input in a form, unless the error already had its default prevented.\n let form = ref?.current?.form;\n if (!e.defaultPrevented && ref && form && $860f7da480e22816$var$getFirstInvalidInput(form) === ref.current) {\n if (focus) focus();\n else ref.current?.focus();\n // Always show focus ring.\n (0, $8f5a2122b0992be3$export$8397ddfc504fdb9a)('keyboard');\n }\n // Prevent default browser error UI from appearing.\n e.preventDefault();\n });\n let onChange = (0, $fe16bffc7a557bf0$export$7f54fc3180508a52)(()=>{\n state.commitValidation();\n });\n (0, $axvKP$useEffect)(()=>{\n let input = ref?.current;\n if (!input) return;\n let form = input.form;\n let reset = form?.reset;\n if (form) // Try to detect React's automatic form reset behavior so we don't clear\n // validation errors that are returned by server actions.\n // To do this, we ignore programmatic form resets that occur outside a user event.\n // This is best-effort. There may be false positives, e.g. setTimeout.\n form.reset = ()=>{\n // React uses MessageChannel for scheduling, so ignore 'message' events.\n isIgnoredReset.current = !window.event || window.event.type === 'message' && (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(window.event) instanceof MessagePort;\n reset?.call(form);\n isIgnoredReset.current = false;\n };\n input.addEventListener('invalid', onInvalid);\n input.addEventListener('change', onChange);\n form?.addEventListener('reset', onReset);\n return ()=>{\n input.removeEventListener('invalid', onInvalid);\n input.removeEventListener('change', onChange);\n form?.removeEventListener('reset', onReset);\n if (form) // @ts-ignore\n form.reset = reset;\n };\n }, [\n ref,\n validationBehavior\n ]);\n}\nfunction $860f7da480e22816$var$getValidity(input) {\n // The native ValidityState object is live, meaning each property is a getter that returns the current state.\n // We need to create a snapshot of the validity state at the time this function is called to avoid unpredictable React renders.\n let validity = input.validity;\n return {\n badInput: validity.badInput,\n customError: validity.customError,\n patternMismatch: validity.patternMismatch,\n rangeOverflow: validity.rangeOverflow,\n rangeUnderflow: validity.rangeUnderflow,\n stepMismatch: validity.stepMismatch,\n tooLong: validity.tooLong,\n tooShort: validity.tooShort,\n typeMismatch: validity.typeMismatch,\n valueMissing: validity.valueMissing,\n valid: validity.valid\n };\n}\nfunction $860f7da480e22816$var$getNativeValidity(input) {\n return {\n isInvalid: !input.validity.valid,\n validationDetails: $860f7da480e22816$var$getValidity(input),\n validationErrors: input.validationMessage ? [\n input.validationMessage\n ] : []\n };\n}\nfunction $860f7da480e22816$var$getFirstInvalidInput(form) {\n for(let i = 0; i < form.elements.length; i++){\n let element = form.elements[i];\n if (element.validity?.valid === false) return element;\n }\n return null;\n}\n\n\nexport {$860f7da480e22816$export$b8473d3665f3a75a as useFormValidation};\n//# sourceMappingURL=useFormValidation.mjs.map\n","import {filterDOMProps as $8e9d2fae0ecb9001$export$457c3d6518dd4c6f} from \"../utils/filterDOMProps.mjs\";\nimport {handleLinkClick as $caaf0dd3060ed57c$export$13aea1a3cb5e3f1f, useLinkProps as $caaf0dd3060ed57c$export$7e924b3091a3bd18, useRouter as $caaf0dd3060ed57c$export$9a302a45f65d0572} from \"../utils/openLink.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {useFocusable as $d1116acdf220c2da$export$4c014de7c8940b4c} from \"../interactions/useFocusable.mjs\";\nimport {usePress as $d27d541f9569d26d$export$45712eceda6fad21} from \"../interactions/usePress.mjs\";\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\n\n\nfunction $40d752843fab8930$export$dcf14c9974fe2767(props, ref) {\n let { elementType: elementType = 'a', onPress: onPress, onPressStart: onPressStart, onPressEnd: onPressEnd, onClick: onClick, isDisabled: isDisabled, ...otherProps } = props;\n let linkProps = {};\n if (elementType !== 'a') linkProps = {\n role: 'link',\n tabIndex: !isDisabled ? 0 : undefined\n };\n let { focusableProps: focusableProps } = (0, $d1116acdf220c2da$export$4c014de7c8940b4c)(props, ref);\n let { pressProps: pressProps, isPressed: isPressed } = (0, $d27d541f9569d26d$export$45712eceda6fad21)({\n onPress: onPress,\n onPressStart: onPressStart,\n onPressEnd: onPressEnd,\n onClick: onClick,\n isDisabled: isDisabled,\n ref: ref\n });\n let domProps = (0, $8e9d2fae0ecb9001$export$457c3d6518dd4c6f)(otherProps, {\n labelable: true\n });\n let interactionHandlers = (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(focusableProps, pressProps);\n let router = (0, $caaf0dd3060ed57c$export$9a302a45f65d0572)();\n let routerLinkProps = (0, $caaf0dd3060ed57c$export$7e924b3091a3bd18)(props);\n return {\n isPressed: isPressed,\n linkProps: (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(domProps, routerLinkProps, {\n ...interactionHandlers,\n ...linkProps,\n 'aria-disabled': isDisabled || undefined,\n 'aria-current': props['aria-current'],\n onClick: (e)=>{\n pressProps.onClick?.(e);\n (0, $caaf0dd3060ed57c$export$13aea1a3cb5e3f1f)(e, router, props.href, props.routerOptions);\n }\n })\n };\n}\n\n\nexport {$40d752843fab8930$export$dcf14c9974fe2767 as useLink};\n//# sourceMappingURL=useLink.mjs.map\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415, useRenderProps as $7230ffa83bc0c2cf$export$4d86445c2cf5e3} from \"./utils.mjs\";\nimport {useLink as $czt8L$useLink} from \"react-aria/useLink\";\nimport {filterDOMProps as $czt8L$filterDOMProps} from \"react-aria/filterDOMProps\";\nimport {mergeProps as $czt8L$mergeProps} from \"react-aria/mergeProps\";\nimport $czt8L$react, {createContext as $czt8L$createContext, forwardRef as $czt8L$forwardRef} from \"react\";\nimport {useFocusRing as $czt8L$useFocusRing} from \"react-aria/useFocusRing\";\nimport {useHover as $czt8L$useHover} from \"react-aria/useHover\";\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\n\n\n\n\nconst $984a1fc08f87e4f3$export$e2509388b49734e7 = /*#__PURE__*/ (0, $czt8L$createContext)(null);\nconst $984a1fc08f87e4f3$export$a6c7ac8248d6e38a = /*#__PURE__*/ (0, $czt8L$forwardRef)(function Link(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $984a1fc08f87e4f3$export$e2509388b49734e7);\n let elementType = props.href && !props.isDisabled ? 'a' : 'span';\n let { linkProps: linkProps, isPressed: isPressed } = (0, $czt8L$useLink)({\n ...props,\n elementType: elementType\n }, ref);\n let ElementType = (0, $7230ffa83bc0c2cf$export$df3a06d6289f983e)[elementType];\n let { hoverProps: hoverProps, isHovered: isHovered } = (0, $czt8L$useHover)(props);\n let { focusProps: focusProps, isFocused: isFocused, isFocusVisible: isFocusVisible } = (0, $czt8L$useFocusRing)();\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-Link',\n values: {\n isCurrent: !!props['aria-current'],\n isDisabled: props.isDisabled || false,\n isPressed: isPressed,\n isHovered: isHovered,\n isFocused: isFocused,\n isFocusVisible: isFocusVisible\n }\n });\n let DOMProps = (0, $czt8L$filterDOMProps)(props, {\n global: true\n });\n delete DOMProps.onClick;\n return /*#__PURE__*/ (0, $czt8L$react).createElement(ElementType, {\n ref: ref,\n slot: props.slot || undefined,\n ...(0, $czt8L$mergeProps)(DOMProps, renderProps, linkProps, hoverProps, focusProps),\n \"data-focused\": isFocused || undefined,\n \"data-hovered\": isHovered || undefined,\n \"data-pressed\": isPressed || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-current\": !!props['aria-current'] || undefined,\n \"data-disabled\": props.isDisabled || undefined\n }, renderProps.children);\n});\n\n\nexport {$984a1fc08f87e4f3$export$e2509388b49734e7 as LinkContext, $984a1fc08f87e4f3$export$a6c7ac8248d6e38a as Link};\n//# sourceMappingURL=Link.mjs.map\n","\"use client\";\nimport { linkVariants } from '@heroui/styles';\nimport React__default, { createContext, useContext } from 'react';\nimport { Link } from 'react-aria-components/Link';\nimport { dataAttr } from '../../utils/assertion.js';\nimport { composeTwRenderProps, composeSlotClassName } from '../../utils/compose.js';\nimport { dom } from '../../utils/dom.js';\nimport { ExternalLinkIcon } from '../icons.js';\nimport { jsx, Fragment } from 'react/jsx-runtime';\n\nconst LinkContext = /*#__PURE__*/createContext({});\n\n/* ------------------------------------------------------------------------------------------------\n * Link Root\n * --------------------------------------------------------------------------------------------- */\n\nconst LinkRoot = ({\n children,\n className,\n ...props\n}) => {\n const slots = React__default.useMemo(() => linkVariants(), []);\n return /*#__PURE__*/jsx(LinkContext, {\n value: {\n slots\n },\n children: /*#__PURE__*/jsx(Link, {\n ...props,\n className: composeTwRenderProps(className, slots?.base()),\n children: values => /*#__PURE__*/jsx(Fragment, {\n children: typeof children === \"function\" ? children(values) : children\n })\n })\n });\n};\n\n/* ------------------------------------------------------------------------------------------------\n * Link Icon\n * --------------------------------------------------------------------------------------------- */\n\nconst LinkIcon = ({\n children,\n className,\n ...rest\n}) => {\n const {\n slots\n } = useContext(LinkContext);\n return /*#__PURE__*/jsx(dom.span, {\n className: composeSlotClassName(slots?.icon, className),\n \"data-default-icon\": dataAttr(!children),\n \"data-slot\": \"link-icon\",\n ...rest,\n children: children ?? /*#__PURE__*/jsx(ExternalLinkIcon, {\n \"data-slot\": \"link-default-icon\"\n })\n });\n};\n\nexport { LinkIcon, LinkRoot };\n","\"use strict\";\nimport { LinkRoot, LinkIcon } from './link.js';\nexport { linkVariants } from '@heroui/styles';\n\n/* -------------------------------------------------------------------------------------------------\n * Compound Component\n * -----------------------------------------------------------------------------------------------*/\nconst Link = Object.assign(LinkRoot, {\n Root: LinkRoot,\n Icon: LinkIcon\n});\n\nexport { Link, LinkIcon, LinkRoot };\n","import {useControlledState as $3e6197669829fe11$export$40bfa8c7b0832715} from \"../utils/useControlledState.mjs\";\nimport {useState as $dAajM$useState} 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\nfunction $fd3c5e01e837dc20$export$8042c6c013fd5226(props = {}) {\n let { isReadOnly: isReadOnly } = props;\n // have to provide an empty function so useControlledState doesn't throw a fit\n // can't use useControlledState's prop calling because we need the event object from the change\n let [isSelected, setSelected] = (0, $3e6197669829fe11$export$40bfa8c7b0832715)(props.isSelected, props.defaultSelected || false, props.onChange);\n let [initialValue] = (0, $dAajM$useState)(isSelected);\n function updateSelected(value) {\n if (!isReadOnly) setSelected(value);\n }\n function toggleState() {\n if (!isReadOnly) setSelected(!isSelected);\n }\n return {\n isSelected: isSelected,\n defaultSelected: props.defaultSelected ?? initialValue,\n setSelected: updateSelected,\n toggle: toggleState\n };\n}\n\n\nexport {$fd3c5e01e837dc20$export$8042c6c013fd5226 as useToggleState};\n//# sourceMappingURL=useToggleState.mjs.map\n","\"use client\";\nimport { buttonGroupVariants } from '@heroui/styles';\nimport React__default, { Children, isValidElement, createContext, useContext } from 'react';\nimport { Group } from 'react-aria-components/Group';\nimport { useSlottedContext } from 'react-aria-components/slots';\nimport { ToggleButtonGroupContext } from 'react-aria-components/ToggleButtonGroup';\nimport { dom } from '../../utils/dom.js';\nimport { jsx } from 'react/jsx-runtime';\nimport { composeTwRenderProps, composeSlotClassName } from '../../utils/compose.js';\n\nconst ButtonGroupContext = /*#__PURE__*/createContext({});\n\n// Property name to mark direct children of ButtonGroup\nconst BUTTON_GROUP_CHILD = \"__button_group_child\";\n\n/* -------------------------------------------------------------------------------------------------\n * ButtonGroup Root\n * -----------------------------------------------------------------------------------------------*/\n\nconst ButtonGroupRoot = ({\n children,\n className,\n fullWidth,\n isDisabled,\n orientation: orientationProp,\n size,\n variant,\n ...rest\n}) => {\n const racContext = useSlottedContext(ToggleButtonGroupContext);\n const orientation = orientationProp ?? racContext?.orientation ?? \"horizontal\";\n const slots = React__default.useMemo(() => buttonGroupVariants({\n fullWidth,\n orientation\n }), [fullWidth, orientation]);\n\n // Wrap only direct children with context provider\n const wrappedChildren = Children.map(children, child => {\n if (! /*#__PURE__*/isValidElement(child)) {\n return child;\n }\n\n // Clone the child and add the special prop\n return /*#__PURE__*/React__default.cloneElement(child, {\n [BUTTON_GROUP_CHILD]: true\n });\n });\n return /*#__PURE__*/jsx(ButtonGroupContext, {\n value: {\n slots,\n size,\n variant,\n isDisabled,\n fullWidth\n },\n children: /*#__PURE__*/jsx(Group, {\n className: composeTwRenderProps(className, slots.base()),\n \"data-slot\": \"button-group\",\n isDisabled: isDisabled,\n ...rest,\n children: wrappedChildren\n })\n });\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ButtonGroup Separator\n * -----------------------------------------------------------------------------------------------*/\n\nconst ButtonGroupSeparator = ({\n className,\n ...props\n}) => {\n const {\n slots\n } = useContext(ButtonGroupContext);\n return /*#__PURE__*/jsx(dom.span, {\n \"aria-hidden\": \"true\",\n className: composeSlotClassName(slots?.separator, className),\n \"data-slot\": \"button-group-separator\",\n ...props\n });\n};\n\nexport { BUTTON_GROUP_CHILD, ButtonGroupContext, ButtonGroupRoot, ButtonGroupSeparator };\n","\"use client\";\nimport { buttonVariants } from '@heroui/styles';\nimport { useContext } from 'react';\nimport { Button } from 'react-aria-components/Button';\nimport { jsx } from 'react/jsx-runtime';\nimport { ButtonGroupContext, BUTTON_GROUP_CHILD } from '../button-group/button-group.js';\nimport { composeTwRenderProps } from '../../utils/compose.js';\n\nconst ButtonRoot = ({\n children,\n className,\n fullWidth,\n isDisabled,\n isIconOnly,\n size,\n slot,\n style,\n variant,\n [BUTTON_GROUP_CHILD]: isButtonGroupChild,\n ...rest\n}) => {\n const buttonGroupContext = useContext(ButtonGroupContext);\n\n // Only use context if this button is a direct child of ButtonGroup\n const shouldUseContext = isButtonGroupChild === true;\n\n // Merge props with precedence: direct props > context props\n const finalSize = size ?? (shouldUseContext ? buttonGroupContext?.size : undefined);\n const finalVariant = variant ?? (shouldUseContext ? buttonGroupContext?.variant : undefined);\n const finalIsDisabled = isDisabled ?? (shouldUseContext ? buttonGroupContext?.isDisabled : undefined);\n const finalFullWidth = fullWidth ?? (shouldUseContext ? buttonGroupContext?.fullWidth : undefined);\n const styles = buttonVariants({\n fullWidth: finalFullWidth,\n isIconOnly,\n size: finalSize,\n variant: finalVariant\n });\n return /*#__PURE__*/jsx(Button, {\n className: composeTwRenderProps(className, styles),\n \"data-slot\": \"button\",\n isDisabled: finalIsDisabled,\n slot: slot,\n style: style,\n ...rest,\n children: renderProps => typeof children === \"function\" ? children(renderProps) : children\n });\n};\n\nexport { ButtonRoot };\n","\"use strict\";\nimport { ButtonRoot } from './button.js';\nexport { buttonVariants } from '@heroui/styles';\nexport { BUTTON_GROUP_CHILD } from '../button-group/button-group.js';\n\n/* -------------------------------------------------------------------------------------------------\n * Compound Component\n * -----------------------------------------------------------------------------------------------*/\nconst Button = Object.assign(ButtonRoot, {\n Root: ButtonRoot\n});\n\nexport { Button, ButtonRoot };\n","\"use client\";\nimport { cardVariants } from '@heroui/styles';\nimport React__default, { createContext, useContext } from 'react';\nimport { composeSlotClassName } from '../../utils/compose.js';\nimport { dom } from '../../utils/dom.js';\nimport { jsx } from 'react/jsx-runtime';\nimport { SurfaceContext } from '../surface/surface.js';\n\nconst CardContext = /*#__PURE__*/createContext({});\n\n/* -------------------------------------------------------------------------------------------------\n * Card Root\n * -----------------------------------------------------------------------------------------------*/\n\nconst CardRoot = ({\n children,\n className,\n variant = \"default\",\n ...props\n}) => {\n const slots = React__default.useMemo(() => cardVariants({\n variant\n }), [variant]);\n const content = /*#__PURE__*/jsx(dom.div, {\n className: slots.base({\n className\n }),\n \"data-slot\": \"card\",\n ...props,\n children: children\n });\n return /*#__PURE__*/jsx(CardContext, {\n value: {\n slots\n },\n children: variant === \"transparent\" ? content :\n /*#__PURE__*/\n // Allows inner components to apply \"on-surface\" colors for proper contrast\n jsx(SurfaceContext, {\n value: {\n variant: variant\n },\n children: content\n })\n });\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Card Header\n * -----------------------------------------------------------------------------------------------*/\n\nconst CardHeader = ({\n className,\n ...props\n}) => {\n const {\n slots\n } = useContext(CardContext);\n return /*#__PURE__*/jsx(dom.div, {\n className: composeSlotClassName(slots?.header, className),\n \"data-slot\": \"card-header\",\n ...props\n });\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Card Title\n * -----------------------------------------------------------------------------------------------*/\n\nconst CardTitle = ({\n children,\n className,\n ...props\n}) => {\n const {\n slots\n } = useContext(CardContext);\n return /*#__PURE__*/jsx(dom.h3, {\n className: composeSlotClassName(slots?.title, className),\n \"data-slot\": \"card-title\",\n ...props,\n children: children\n });\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Card Description\n * -----------------------------------------------------------------------------------------------*/\n\nconst CardDescription = ({\n children,\n className,\n ...props\n}) => {\n const {\n slots\n } = useContext(CardContext);\n return /*#__PURE__*/jsx(dom.p, {\n className: composeSlotClassName(slots?.description, className),\n \"data-slot\": \"card-description\",\n ...props,\n children: children\n });\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Card Content\n * -----------------------------------------------------------------------------------------------*/\n\nconst CardContent = ({\n className,\n ...props\n}) => {\n const {\n slots\n } = useContext(CardContext);\n return /*#__PURE__*/jsx(dom.div, {\n className: composeSlotClassName(slots?.content, className),\n \"data-slot\": \"card-content\",\n ...props\n });\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Card Footer\n * -----------------------------------------------------------------------------------------------*/\n\nconst CardFooter = ({\n className,\n ...props\n}) => {\n const {\n slots\n } = useContext(CardContext);\n return /*#__PURE__*/jsx(dom.div, {\n className: composeSlotClassName(slots?.footer, className),\n \"data-slot\": \"card-footer\",\n ...props\n });\n};\n\nexport { CardContent, CardDescription, CardFooter, CardHeader, CardRoot, CardTitle };\n","\"use strict\";\nimport { CardRoot, CardFooter, CardContent, CardDescription, CardTitle, CardHeader } from './card.js';\nexport { cardVariants } from '@heroui/styles';\n\n/* -------------------------------------------------------------------------------------------------\n * Compound Component\n * -----------------------------------------------------------------------------------------------*/\nconst Card = Object.assign(CardRoot, {\n Root: CardRoot,\n Header: CardHeader,\n Title: CardTitle,\n Description: CardDescription,\n Content: CardContent,\n Footer: CardFooter\n});\n\nexport { Card, CardContent, CardDescription, CardFooter, CardHeader, CardRoot, CardTitle };\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 */ const $0fffd24394d22962$export$ec98120685d4f57d = new WeakMap();\n\n\nexport {$0fffd24394d22962$export$ec98120685d4f57d as checkboxGroupData};\n//# sourceMappingURL=utils.mjs.map\n","import {useId as $390e54f620492c70$export$f680877a34711e37} from \"./useId.mjs\";\nimport {useLayoutEffect as $c4867b2f328c2698$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\nimport {useState as $hga0N$useState, useRef as $hga0N$useRef, useCallback as $hga0N$useCallback} from \"react\";\n\n/*\n * Copyright 2026 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 $4c14b02d5228be26$export$9d4c57ee4c6ffdd8(initialState = true) {\n // Initial state is typically based on the parent having an aria-label or aria-labelledby.\n // If it does, this value should be false so that we don't update the state and cause a rerender when we go through the layoutEffect\n let [hasSlot, setHasSlot] = (0, $hga0N$useState)(initialState);\n let hasRun = (0, $hga0N$useRef)(false);\n // A callback ref which will run when the slotted element mounts.\n // This should happen before the useLayoutEffect below.\n let ref = (0, $hga0N$useCallback)((el)=>{\n hasRun.current = true;\n setHasSlot(!!el);\n }, []);\n // If the callback hasn't been called, then reset to false.\n (0, $c4867b2f328c2698$export$e5c5a5f917a5871c)(()=>{\n if (!hasRun.current) setHasSlot(false);\n }, []);\n return [\n ref,\n hasSlot\n ];\n}\nfunction $4c14b02d5228be26$export$ed2feabec4a533f4(initialState = true) {\n let id = (0, $390e54f620492c70$export$f680877a34711e37)();\n let [ref, hasSlot] = $4c14b02d5228be26$export$9d4c57ee4c6ffdd8(initialState);\n return {\n id: hasSlot ? id : undefined,\n ref: ref\n };\n}\n\n\nexport {$4c14b02d5228be26$export$9d4c57ee4c6ffdd8 as useSlot, $4c14b02d5228be26$export$ed2feabec4a533f4 as useSlotId2};\n//# sourceMappingURL=useSlot.mjs.map\n","import {createContext as $8AuPP$createContext, useMemo as $8AuPP$useMemo, useContext as $8AuPP$useContext, useState as $8AuPP$useState, useRef as $8AuPP$useRef, useEffect as $8AuPP$useEffect} from \"react\";\n\n/*\n * Copyright 2023 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 */ \nconst $fd2148440a13ec26$export$aca958c65c314e6c = {\n badInput: false,\n customError: false,\n patternMismatch: false,\n rangeOverflow: false,\n rangeUnderflow: false,\n stepMismatch: false,\n tooLong: false,\n tooShort: false,\n typeMismatch: false,\n valueMissing: false,\n valid: true\n};\nconst $fd2148440a13ec26$var$CUSTOM_VALIDITY_STATE = {\n ...$fd2148440a13ec26$export$aca958c65c314e6c,\n customError: true,\n valid: false\n};\nconst $fd2148440a13ec26$export$dad6ae84456c676a = {\n isInvalid: false,\n validationDetails: $fd2148440a13ec26$export$aca958c65c314e6c,\n validationErrors: []\n};\nconst $fd2148440a13ec26$export$571b5131b7e65c11 = (0, $8AuPP$createContext)({});\nconst $fd2148440a13ec26$export$a763b9476acd3eb = '__reactAriaFormValidationState';\nfunction $fd2148440a13ec26$export$fc1a364ae1f3ff10(props) {\n // Private prop for parent components to pass state to children.\n if (props[$fd2148440a13ec26$export$a763b9476acd3eb]) {\n let { realtimeValidation: realtimeValidation, displayValidation: displayValidation, updateValidation: updateValidation, resetValidation: resetValidation, commitValidation: commitValidation } = props[$fd2148440a13ec26$export$a763b9476acd3eb];\n return {\n realtimeValidation: realtimeValidation,\n displayValidation: displayValidation,\n updateValidation: updateValidation,\n resetValidation: resetValidation,\n commitValidation: commitValidation\n };\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return $fd2148440a13ec26$var$useFormValidationStateImpl(props);\n}\nfunction $fd2148440a13ec26$var$useFormValidationStateImpl(props) {\n let { isInvalid: isInvalid, validationState: validationState, name: name, value: value, builtinValidation: builtinValidation, validate: validate, validationBehavior: validationBehavior = 'aria' } = props;\n // backward compatibility.\n if (validationState) isInvalid ||= validationState === 'invalid';\n // If the isInvalid prop is controlled, update validation result in realtime.\n let controlledError = isInvalid !== undefined ? {\n isInvalid: isInvalid,\n validationErrors: [],\n validationDetails: $fd2148440a13ec26$var$CUSTOM_VALIDITY_STATE\n } : null;\n // Perform custom client side validation.\n let clientError = (0, $8AuPP$useMemo)(()=>{\n if (!validate || value == null) return null;\n let validateErrors = $fd2148440a13ec26$var$runValidate(validate, value);\n return $fd2148440a13ec26$var$getValidationResult(validateErrors);\n }, [\n validate,\n value\n ]);\n if (builtinValidation?.validationDetails.valid) builtinValidation = undefined;\n // Get relevant server errors from the form.\n let serverErrors = (0, $8AuPP$useContext)($fd2148440a13ec26$export$571b5131b7e65c11);\n let serverErrorMessages = (0, $8AuPP$useMemo)(()=>{\n if (name) return Array.isArray(name) ? name.flatMap((name)=>$fd2148440a13ec26$var$asArray(serverErrors[name])) : $fd2148440a13ec26$var$asArray(serverErrors[name]);\n return [];\n }, [\n serverErrors,\n name\n ]);\n // Show server errors when the form gets a new value, and clear when the user changes the value.\n let [lastServerErrors, setLastServerErrors] = (0, $8AuPP$useState)(serverErrors);\n let [isServerErrorCleared, setServerErrorCleared] = (0, $8AuPP$useState)(false);\n if (serverErrors !== lastServerErrors) {\n setLastServerErrors(serverErrors);\n setServerErrorCleared(false);\n }\n let serverError = (0, $8AuPP$useMemo)(()=>$fd2148440a13ec26$var$getValidationResult(isServerErrorCleared ? [] : serverErrorMessages), [\n isServerErrorCleared,\n serverErrorMessages\n ]);\n // Track the next validation state in a ref until commitValidation is called.\n let nextValidation = (0, $8AuPP$useRef)($fd2148440a13ec26$export$dad6ae84456c676a);\n let [currentValidity, setCurrentValidity] = (0, $8AuPP$useState)($fd2148440a13ec26$export$dad6ae84456c676a);\n let lastError = (0, $8AuPP$useRef)($fd2148440a13ec26$export$dad6ae84456c676a);\n let commitValidation = ()=>{\n if (!commitQueued) return;\n setCommitQueued(false);\n let error = clientError || builtinValidation || nextValidation.current;\n if (!$fd2148440a13ec26$var$isEqualValidation(error, lastError.current)) {\n lastError.current = error;\n setCurrentValidity(error);\n }\n };\n let [commitQueued, setCommitQueued] = (0, $8AuPP$useState)(false);\n (0, $8AuPP$useEffect)(commitValidation);\n // realtimeValidation is used to update the native input element's state based on custom validation logic.\n // displayValidation is the currently displayed validation state that the user sees (e.g. on input change/form submit).\n // With validationBehavior=\"aria\", all errors are displayed in realtime rather than on submit.\n let realtimeValidation = controlledError || serverError || clientError || builtinValidation || $fd2148440a13ec26$export$dad6ae84456c676a;\n let displayValidation = validationBehavior === 'native' ? controlledError || serverError || currentValidity : controlledError || serverError || clientError || builtinValidation || currentValidity;\n return {\n realtimeValidation: realtimeValidation,\n displayValidation: displayValidation,\n updateValidation (value) {\n // If validationBehavior is 'aria', update in realtime. Otherwise, store in a ref until commit.\n if (validationBehavior === 'aria' && !$fd2148440a13ec26$var$isEqualValidation(currentValidity, value)) setCurrentValidity(value);\n else nextValidation.current = value;\n },\n resetValidation () {\n // Update the currently displayed validation state to valid on form reset,\n // even if the native validity says it isn't. It'll show again on the next form submit.\n let error = $fd2148440a13ec26$export$dad6ae84456c676a;\n if (!$fd2148440a13ec26$var$isEqualValidation(error, lastError.current)) {\n lastError.current = error;\n setCurrentValidity(error);\n }\n // Do not commit validation after the next render. This avoids a condition where\n // useSelect calls commitValidation inside an onReset handler.\n if (validationBehavior === 'native') setCommitQueued(false);\n setServerErrorCleared(true);\n },\n commitValidation () {\n // Commit validation state so the user sees it on blur/change/submit. Also clear any server errors.\n // Wait until after the next render to commit so that the latest value has been validated.\n if (validationBehavior === 'native') setCommitQueued(true);\n setServerErrorCleared(true);\n }\n };\n}\nfunction $fd2148440a13ec26$var$asArray(v) {\n if (!v) return [];\n return Array.isArray(v) ? v : [\n v\n ];\n}\nfunction $fd2148440a13ec26$var$runValidate(validate, value) {\n if (typeof validate === 'function') {\n let e = validate(value);\n if (e && typeof e !== 'boolean') return $fd2148440a13ec26$var$asArray(e);\n }\n return [];\n}\nfunction $fd2148440a13ec26$var$getValidationResult(errors) {\n return errors.length ? {\n isInvalid: true,\n validationErrors: errors,\n validationDetails: $fd2148440a13ec26$var$CUSTOM_VALIDITY_STATE\n } : null;\n}\nfunction $fd2148440a13ec26$var$isEqualValidation(a, b) {\n if (a === b) return true;\n return !!a && !!b && a.isInvalid === b.isInvalid && a.validationErrors.length === b.validationErrors.length && a.validationErrors.every((a, i)=>a === b.validationErrors[i]) && Object.entries(a.validationDetails).every(([k, v])=>b.validationDetails[k] === v);\n}\nfunction $fd2148440a13ec26$export$75ee7c75d68f5b0e(...results) {\n let errors = new Set();\n let isInvalid = false;\n let validationDetails = {\n ...$fd2148440a13ec26$export$aca958c65c314e6c\n };\n for (let v of results){\n for (let e of v.validationErrors)errors.add(e);\n // Only these properties apply for checkboxes.\n isInvalid ||= v.isInvalid;\n for(let key in validationDetails)validationDetails[key] ||= v.validationDetails[key];\n }\n validationDetails.valid = !isInvalid;\n return {\n isInvalid: isInvalid,\n validationErrors: [\n ...errors\n ],\n validationDetails: validationDetails\n };\n}\n\n\nexport {$fd2148440a13ec26$export$aca958c65c314e6c as VALID_VALIDITY_STATE, $fd2148440a13ec26$export$dad6ae84456c676a as DEFAULT_VALIDATION_RESULT, $fd2148440a13ec26$export$571b5131b7e65c11 as FormValidationContext, $fd2148440a13ec26$export$a763b9476acd3eb as privateValidationStateProp, $fd2148440a13ec26$export$fc1a364ae1f3ff10 as useFormValidationState, $fd2148440a13ec26$export$75ee7c75d68f5b0e as mergeValidation};\n//# sourceMappingURL=useFormValidationState.mjs.map\n","import {filterDOMProps as $8e9d2fae0ecb9001$export$457c3d6518dd4c6f} from \"../utils/filterDOMProps.mjs\";\nimport {getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {useFocusable as $d1116acdf220c2da$export$4c014de7c8940b4c} from \"../interactions/useFocusable.mjs\";\nimport {useFormReset as $3274bf1495747a7b$export$5add1d006293d136} from \"../utils/useFormReset.mjs\";\nimport {useFormValidation as $860f7da480e22816$export$b8473d3665f3a75a} from \"../form/useFormValidation.mjs\";\nimport {usePress as $d27d541f9569d26d$export$45712eceda6fad21} from \"../interactions/usePress.mjs\";\nimport {useSlotId2 as $4c14b02d5228be26$export$ed2feabec4a533f4} from \"../utils/useSlot.mjs\";\nimport {useState as $jQnU8$useState} from \"react\";\nimport {useFormValidationState as $jQnU8$useFormValidationState, privateValidationStateProp as $jQnU8$privateValidationStateProp} from \"react-stately/private/form/useFormValidationState\";\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\n\n\n\n\n\n\n\nfunction $876b6f32ca5a04c3$export$cbe85ee05b554577(props, state, ref) {\n let { isDisabled: isDisabled = false, isReadOnly: isReadOnly = false, value: value, name: name, form: form, children: children, isRequired: isRequired, validationBehavior: validationBehavior = 'aria', 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, 'aria-describedby': ariaDescribedby, onPressStart: onPressStart, onPressEnd: onPressEnd, onPressChange: onPressChange, onPress: onPress, onPressUp: onPressUp, onClick: onClick } = props;\n // Create validation state here because it doesn't make sense to add to general useToggleState.\n let validationState = (0, $jQnU8$useFormValidationState)({\n ...props,\n value: state.isSelected\n });\n let { isInvalid: isInvalid, validationErrors: validationErrors, validationDetails: validationDetails } = validationState.displayValidation;\n (0, $860f7da480e22816$export$b8473d3665f3a75a)(props, validationState, ref);\n let onChange = (e)=>{\n // since we spread props on label, onChange will end up there as well as in here.\n // so we have to stop propagation at the lowest level that we care about\n e.stopPropagation();\n state.setSelected((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e).checked);\n };\n let hasChildren = children != null;\n let hasAriaLabel = ariaLabel != null || ariaLabelledby != null;\n if (!hasChildren && !hasAriaLabel && process.env.NODE_ENV !== 'production') console.warn('If you do not provide children, you must specify an aria-label for accessibility');\n // Handle press state for keyboard interactions and cases where labelProps is not used.\n let { pressProps: pressProps, isPressed: isPressed } = (0, $d27d541f9569d26d$export$45712eceda6fad21)({\n onPressStart: onPressStart,\n onPressEnd: onPressEnd,\n onPressChange: onPressChange,\n onPress: onPress,\n onPressUp: onPressUp,\n onClick: onClick,\n isDisabled: isDisabled\n });\n // Handle press state on the label.\n let [isLabelPressed, setLabelPressed] = (0, $jQnU8$useState)(false);\n let { pressProps: labelProps } = (0, $d27d541f9569d26d$export$45712eceda6fad21)({\n onPressStart (e) {\n // Keyboard interactions are handled directly on the input.\n if (e.pointerType === 'keyboard' || e.pointerType === 'virtual') {\n e.continuePropagation();\n return;\n }\n onPressStart?.(e);\n onPressChange?.(true);\n setLabelPressed(true);\n },\n onPressEnd (e) {\n // Keyboard interactions are handled directly on the input.\n if (e.pointerType === 'keyboard' || e.pointerType === 'virtual') {\n e.continuePropagation();\n return;\n }\n onPressEnd?.(e);\n onPressChange?.(false);\n setLabelPressed(false);\n },\n onPressUp (e) {\n if (e.pointerType === 'keyboard' || e.pointerType === 'virtual') {\n e.continuePropagation();\n return;\n }\n onPressUp?.(e);\n },\n onClick: onClick,\n onPress (e) {\n if (e.pointerType === 'keyboard' || e.pointerType === 'virtual') {\n e.continuePropagation();\n return;\n }\n onPress?.(e);\n state.toggle();\n ref.current?.focus();\n // @ts-expect-error\n let { [(0, $jQnU8$privateValidationStateProp)]: groupValidationState } = props;\n let { commitValidation: commitValidation } = groupValidationState ? groupValidationState : validationState;\n commitValidation();\n },\n isDisabled: isDisabled || isReadOnly\n });\n let { focusableProps: focusableProps } = (0, $d1116acdf220c2da$export$4c014de7c8940b4c)(props, ref);\n let interactions = (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(pressProps, focusableProps);\n let domProps = (0, $8e9d2fae0ecb9001$export$457c3d6518dd4c6f)(props, {\n labelable: true\n });\n (0, $3274bf1495747a7b$export$5add1d006293d136)(ref, state.defaultSelected, state.setSelected);\n // Copied from useField because we don't want the label behavior that provides.\n let descriptionProps = (0, $4c14b02d5228be26$export$ed2feabec4a533f4)();\n let errorMessageProps = (0, $4c14b02d5228be26$export$ed2feabec4a533f4)();\n return {\n labelProps: (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(labelProps, {\n onClick: (e)=>e.preventDefault()\n }),\n inputProps: (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(domProps, {\n checked: state.isSelected,\n 'aria-required': isRequired && validationBehavior === 'aria' || undefined,\n required: isRequired && validationBehavior === 'native',\n 'aria-invalid': isInvalid || props.validationState === 'invalid' || undefined,\n 'aria-errormessage': props['aria-errormessage'],\n 'aria-controls': props['aria-controls'],\n 'aria-readonly': isReadOnly || undefined,\n 'aria-describedby': [\n descriptionProps.id,\n errorMessageProps.id,\n ariaDescribedby\n ].filter(Boolean).join(' ') || undefined,\n onChange: onChange,\n disabled: isDisabled,\n ...value == null ? {} : {\n value: value\n },\n name: name,\n form: form,\n type: 'checkbox',\n ...interactions\n }),\n descriptionProps: descriptionProps,\n errorMessageProps: errorMessageProps,\n isSelected: state.isSelected,\n isPressed: isPressed || isLabelPressed,\n isDisabled: isDisabled,\n isReadOnly: isReadOnly,\n isInvalid: isInvalid || props.validationState === 'invalid',\n validationErrors: validationErrors,\n validationDetails: validationDetails\n };\n}\n\n\nexport {$876b6f32ca5a04c3$export$cbe85ee05b554577 as useToggle};\n//# sourceMappingURL=useToggle.mjs.map\n","import {useToggle as $876b6f32ca5a04c3$export$cbe85ee05b554577} from \"../toggle/useToggle.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {useEffect as $5eYZN$useEffect, useMemo as $5eYZN$useMemo} 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\n\nfunction $dde212bea465bd23$export$e375f10ce42261c5(props, state, inputRef) {\n let { labelProps: labelProps, inputProps: inputProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps, isSelected: isSelected, isPressed: isPressed, isDisabled: isDisabled, isReadOnly: isReadOnly, isInvalid: isInvalid, validationErrors: validationErrors, validationDetails: validationDetails } = (0, $876b6f32ca5a04c3$export$cbe85ee05b554577)(props, state, inputRef);\n let { isIndeterminate: isIndeterminate } = props;\n (0, $5eYZN$useEffect)(()=>{\n // indeterminate is a property, but it can only be set via javascript\n // https://css-tricks.com/indeterminate-checkboxes/\n if (inputRef.current) inputRef.current.indeterminate = !!isIndeterminate;\n });\n return {\n labelProps: (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(labelProps, (0, $5eYZN$useMemo)(()=>({\n // Prevent label from being focused when mouse down on it.\n // Note, this does not prevent the input from being focused in the `click` event.\n onMouseDown: (e)=>e.preventDefault()\n }), [])),\n inputProps: inputProps,\n descriptionProps: descriptionProps,\n errorMessageProps: errorMessageProps,\n isSelected: isSelected,\n isPressed: isPressed,\n isDisabled: isDisabled,\n isReadOnly: isReadOnly,\n isInvalid: isInvalid,\n validationErrors: validationErrors,\n validationDetails: validationDetails\n };\n}\n\n\nexport {$dde212bea465bd23$export$e375f10ce42261c5 as useCheckbox};\n//# sourceMappingURL=useCheckbox.mjs.map\n","import $1CcWn$react, {useState as $1CcWn$useState, useRef as $1CcWn$useRef, useEffect as $1CcWn$useEffect, useReducer as $1CcWn$useReducer, useCallback as $1CcWn$useCallback} 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// Use the earliest effect possible to reset the ref below.\nconst $3e6197669829fe11$var$useEarlyEffect = typeof document !== 'undefined' ? (0, $1CcWn$react)['useInsertionEffect'] ?? (0, $1CcWn$react).useLayoutEffect : ()=>{};\nfunction $3e6197669829fe11$export$40bfa8c7b0832715(value, defaultValue, onChange) {\n // Store the value in both state and a ref. The state value will only be used when uncontrolled.\n // The ref is used to track the most current value, which is passed to the function setState callback.\n let [stateValue, setStateValue] = (0, $1CcWn$useState)(value || defaultValue);\n let valueRef = (0, $1CcWn$useRef)(stateValue);\n let isControlledRef = (0, $1CcWn$useRef)(value !== undefined);\n let isControlled = value !== undefined;\n (0, $1CcWn$useEffect)(()=>{\n let wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled && process.env.NODE_ENV !== 'production') console.warn(`WARN: A component changed from ${wasControlled ? 'controlled' : 'uncontrolled'} to ${isControlled ? 'controlled' : 'uncontrolled'}.`);\n isControlledRef.current = isControlled;\n }, [\n isControlled\n ]);\n // After each render, update the ref to the current value.\n // This ensures that the setState callback argument is reset.\n // Note: the effect should not have any dependencies so that controlled values always reset.\n let currentValue = isControlled ? value : stateValue;\n $3e6197669829fe11$var$useEarlyEffect(()=>{\n valueRef.current = currentValue;\n });\n let [, forceUpdate] = (0, $1CcWn$useReducer)(()=>({}), {});\n let setValue = (0, $1CcWn$useCallback)((value, ...args)=>{\n // @ts-ignore - TS doesn't know that T cannot be a function.\n let newValue = typeof value === 'function' ? value(valueRef.current) : value;\n if (!Object.is(valueRef.current, newValue)) {\n // Update the ref so that the next setState callback has the most recent value.\n valueRef.current = newValue;\n setStateValue(newValue);\n // Always trigger a re-render, even when controlled, so that the layout effect above runs to reset the value.\n forceUpdate();\n // Trigger onChange. Note that if setState is called multiple times in a single event,\n // onChange will be called for each one instead of only once.\n onChange?.(newValue, ...args);\n }\n }, [\n onChange\n ]);\n return [\n currentValue,\n setValue\n ];\n}\n\n\nexport {$3e6197669829fe11$export$40bfa8c7b0832715 as useControlledState};\n//# sourceMappingURL=useControlledState.mjs.map\n","import {useControlledState as $3e6197669829fe11$export$40bfa8c7b0832715} from \"../utils/useControlledState.mjs\";\nimport {useState as $dAajM$useState} 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\nfunction $fd3c5e01e837dc20$export$8042c6c013fd5226(props = {}) {\n let { isReadOnly: isReadOnly } = props;\n // have to provide an empty function so useControlledState doesn't throw a fit\n // can't use useControlledState's prop calling because we need the event object from the change\n let [isSelected, setSelected] = (0, $3e6197669829fe11$export$40bfa8c7b0832715)(props.isSelected, props.defaultSelected || false, props.onChange);\n let [initialValue] = (0, $dAajM$useState)(isSelected);\n function updateSelected(value) {\n if (!isReadOnly) setSelected(value);\n }\n function toggleState() {\n if (!isReadOnly) setSelected(!isSelected);\n }\n return {\n isSelected: isSelected,\n defaultSelected: props.defaultSelected ?? initialValue,\n setSelected: updateSelected,\n toggle: toggleState\n };\n}\n\n\nexport {$fd3c5e01e837dc20$export$8042c6c013fd5226 as useToggleState};\n//# sourceMappingURL=useToggleState.mjs.map\n","import {useCheckbox as $dde212bea465bd23$export$e375f10ce42261c5} from \"./useCheckbox.mjs\";\nimport {checkboxGroupData as $0fffd24394d22962$export$ec98120685d4f57d} from \"./utils.mjs\";\nimport {useFormValidationState as $43eCz$useFormValidationState, DEFAULT_VALIDATION_RESULT as $43eCz$DEFAULT_VALIDATION_RESULT, privateValidationStateProp as $43eCz$privateValidationStateProp} from \"react-stately/private/form/useFormValidationState\";\nimport {useRef as $43eCz$useRef, useEffect as $43eCz$useEffect} from \"react\";\nimport {useToggleState as $43eCz$useToggleState} from \"react-stately/useToggleState\";\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\n\n\nfunction $55cfc34eef47e1ca$export$353b32fc6898d37d(props, state, inputRef) {\n const toggleState = (0, $43eCz$useToggleState)({\n isReadOnly: props.isReadOnly || state.isReadOnly,\n isSelected: state.isSelected(props.value),\n defaultSelected: state.defaultValue.includes(props.value),\n onChange (isSelected) {\n if (isSelected) state.addValue(props.value);\n else state.removeValue(props.value);\n if (props.onChange) props.onChange(isSelected);\n }\n });\n let { name: name, form: form, descriptionId: descriptionId, errorMessageId: errorMessageId, validationBehavior: validationBehavior } = (0, $0fffd24394d22962$export$ec98120685d4f57d).get(state);\n validationBehavior = props.validationBehavior ?? validationBehavior;\n // Local validation for this checkbox.\n let { realtimeValidation: realtimeValidation } = (0, $43eCz$useFormValidationState)({\n ...props,\n value: toggleState.isSelected,\n // Server validation is handled at the group level.\n name: undefined,\n validationBehavior: 'aria'\n });\n // Update the checkbox group state when realtime validation changes.\n let nativeValidation = (0, $43eCz$useRef)((0, $43eCz$DEFAULT_VALIDATION_RESULT));\n let updateValidation = ()=>{\n state.setInvalid(props.value, realtimeValidation.isInvalid ? realtimeValidation : nativeValidation.current);\n };\n (0, $43eCz$useEffect)(updateValidation);\n // Combine group and checkbox level validation.\n let combinedRealtimeValidation = state.realtimeValidation.isInvalid ? state.realtimeValidation : realtimeValidation;\n let displayValidation = validationBehavior === 'native' ? state.displayValidation : combinedRealtimeValidation;\n let res = (0, $dde212bea465bd23$export$e375f10ce42261c5)({\n ...props,\n isReadOnly: props.isReadOnly || state.isReadOnly,\n isDisabled: props.isDisabled || state.isDisabled,\n name: props.name || name,\n form: props.form || form,\n isRequired: props.isRequired ?? state.isRequired,\n validationBehavior: validationBehavior,\n [(0, $43eCz$privateValidationStateProp)]: {\n realtimeValidation: combinedRealtimeValidation,\n displayValidation: displayValidation,\n resetValidation: state.resetValidation,\n commitValidation: state.commitValidation,\n updateValidation (v) {\n nativeValidation.current = v;\n updateValidation();\n }\n }\n }, toggleState, inputRef);\n return {\n ...res,\n inputProps: {\n ...res.inputProps,\n 'aria-describedby': [\n res.inputProps['aria-describedby'],\n state.isInvalid ? errorMessageId : null,\n descriptionId\n ].filter(Boolean).join(' ') || undefined\n }\n };\n}\n\n\nexport {$55cfc34eef47e1ca$export$353b32fc6898d37d as useCheckboxGroupItem};\n//# sourceMappingURL=useCheckboxGroupItem.mjs.map\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, Provider as $7230ffa83bc0c2cf$export$2881499e37b75b9a, removeDataAttributes as $7230ffa83bc0c2cf$export$ef03459518577ad4, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415, useRenderProps as $7230ffa83bc0c2cf$export$4d86445c2cf5e3, useSlot as $7230ffa83bc0c2cf$export$9d4c57ee4c6ffdd8, useSlottedContext as $7230ffa83bc0c2cf$export$fabf2dc03a41866e} from \"./utils.mjs\";\nimport {FieldErrorContext as $1f3c3b1a70cec653$export$ff05c3ac10437e03} from \"./FieldError.mjs\";\nimport {FormContext as $cdaed739b1139372$export$c24727297075ec6a} from \"./Form.mjs\";\nimport {LabelContext as $43a3b93638fe5db9$export$75b6ee27786ba447} from \"./Label.mjs\";\nimport {TextContext as $efe09c6d1c304b50$export$9afb8bc826b033ea} from \"./Text.mjs\";\nimport {useCheckboxGroup as $j1L6B$useCheckboxGroup, useCheckboxGroupItem as $j1L6B$useCheckboxGroupItem} from \"react-aria/useCheckboxGroup\";\nimport {useCheckbox as $j1L6B$useCheckbox} from \"react-aria/useCheckbox\";\nimport {useCheckboxGroupState as $j1L6B$useCheckboxGroupState} from \"react-stately/useCheckboxGroupState\";\nimport {filterDOMProps as $j1L6B$filterDOMProps} from \"react-aria/filterDOMProps\";\nimport {mergeProps as $j1L6B$mergeProps} from \"react-aria/mergeProps\";\nimport {mergeRefs as $j1L6B$mergeRefs} from \"react-aria/mergeRefs\";\nimport $j1L6B$react, {createContext as $j1L6B$createContext, forwardRef as $j1L6B$forwardRef, useContext as $j1L6B$useContext, useMemo as $j1L6B$useMemo} from \"react\";\nimport {useFocusRing as $j1L6B$useFocusRing} from \"react-aria/useFocusRing\";\nimport {useHover as $j1L6B$useHover} from \"react-aria/useHover\";\nimport {useObjectRef as $j1L6B$useObjectRef} from \"react-aria/useObjectRef\";\nimport {useToggleState as $j1L6B$useToggleState} from \"react-stately/useToggleState\";\nimport {VisuallyHidden as $j1L6B$VisuallyHidden} from \"react-aria/VisuallyHidden\";\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst $ed8ccb2e23e76301$export$b085522c77523c51 = /*#__PURE__*/ (0, $j1L6B$createContext)(null);\nconst $ed8ccb2e23e76301$export$c32003b803b6c22e = /*#__PURE__*/ (0, $j1L6B$createContext)(null);\nconst $ed8ccb2e23e76301$export$baf37c4be89255b8 = /*#__PURE__*/ (0, $j1L6B$createContext)(null);\nconst $ed8ccb2e23e76301$export$139c5b8563afc1fc = /*#__PURE__*/ (0, $j1L6B$createContext)(null);\nconst $ed8ccb2e23e76301$export$4aa08d5625cb8ead = /*#__PURE__*/ (0, $j1L6B$forwardRef)(function CheckboxGroup(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $ed8ccb2e23e76301$export$baf37c4be89255b8);\n let { validationBehavior: formValidationBehavior } = (0, $7230ffa83bc0c2cf$export$fabf2dc03a41866e)((0, $cdaed739b1139372$export$c24727297075ec6a)) || {};\n let validationBehavior = props.validationBehavior ?? formValidationBehavior ?? 'native';\n let state = (0, $j1L6B$useCheckboxGroupState)({\n ...props,\n validationBehavior: validationBehavior\n });\n let [labelRef, label] = (0, $7230ffa83bc0c2cf$export$9d4c57ee4c6ffdd8)(!props['aria-label'] && !props['aria-labelledby']);\n let { groupProps: groupProps, labelProps: labelProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps, ...validation } = (0, $j1L6B$useCheckboxGroup)({\n ...props,\n label: label,\n validationBehavior: validationBehavior\n }, state);\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n values: {\n isDisabled: state.isDisabled,\n isReadOnly: state.isReadOnly,\n isRequired: props.isRequired || false,\n isInvalid: state.isInvalid,\n state: state\n },\n defaultClassName: 'react-aria-CheckboxGroup'\n });\n let DOMProps = (0, $j1L6B$filterDOMProps)(props, {\n global: true\n });\n return /*#__PURE__*/ (0, $j1L6B$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div, {\n ...(0, $j1L6B$mergeProps)(DOMProps, renderProps, groupProps),\n ref: ref,\n slot: props.slot || undefined,\n \"data-readonly\": state.isReadOnly || undefined,\n \"data-required\": props.isRequired || undefined,\n \"data-invalid\": state.isInvalid || undefined,\n \"data-disabled\": props.isDisabled || undefined\n }, /*#__PURE__*/ (0, $j1L6B$react).createElement((0, $7230ffa83bc0c2cf$export$2881499e37b75b9a), {\n values: [\n [\n $ed8ccb2e23e76301$export$139c5b8563afc1fc,\n state\n ],\n [\n (0, $43a3b93638fe5db9$export$75b6ee27786ba447),\n {\n ...labelProps,\n ref: labelRef,\n elementType: 'span'\n }\n ],\n [\n (0, $efe09c6d1c304b50$export$9afb8bc826b033ea),\n {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }\n ],\n [\n (0, $1f3c3b1a70cec653$export$ff05c3ac10437e03),\n validation\n ]\n ]\n }, renderProps.children));\n});\nconst $ed8ccb2e23e76301$var$InternalCheckboxContext = /*#__PURE__*/ (0, $j1L6B$createContext)(null);\nconst $ed8ccb2e23e76301$export$94195a47b94ed396 = /*#__PURE__*/ (0, $j1L6B$forwardRef)(function Checkbox(props, ref) {\n let { inputRef: userProvidedInputRef = null, ...otherProps } = props;\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(otherProps, ref, $ed8ccb2e23e76301$export$c32003b803b6c22e);\n let groupState = (0, $j1L6B$useContext)($ed8ccb2e23e76301$export$139c5b8563afc1fc);\n let [aria, inputRef] = $ed8ccb2e23e76301$var$useCheckboxAria(props, userProvidedInputRef);\n let { descriptionProps: descriptionProps, errorMessageProps: errorMessageProps, isSelected: isSelected, isDisabled: isDisabled, isReadOnly: isReadOnly, isInvalid: isInvalid, validationDetails: validationDetails, validationErrors: validationErrors } = aria;\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-CheckboxField',\n values: {\n isSelected: isSelected,\n isIndeterminate: props.isIndeterminate || false,\n isDisabled: isDisabled,\n isReadOnly: isReadOnly,\n isInvalid: isInvalid,\n isRequired: props.isRequired || false\n }\n });\n let DOMProps = (0, $j1L6B$filterDOMProps)(props, {\n global: true\n });\n delete DOMProps.id;\n delete DOMProps.onClick;\n return /*#__PURE__*/ (0, $j1L6B$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div, {\n ...(0, $j1L6B$mergeProps)(DOMProps, renderProps),\n ref: ref,\n slot: props.slot || undefined,\n \"data-selected\": isSelected || undefined,\n \"data-indeterminate\": props.isIndeterminate || undefined,\n \"data-disabled\": isDisabled || undefined,\n \"data-readonly\": isReadOnly || undefined,\n \"data-invalid\": isInvalid || undefined,\n \"data-required\": props.isRequired || undefined\n }, /*#__PURE__*/ (0, $j1L6B$react).createElement((0, $7230ffa83bc0c2cf$export$2881499e37b75b9a), {\n values: [\n [\n $ed8ccb2e23e76301$var$InternalCheckboxContext,\n {\n ...aria,\n inputRef: inputRef,\n defaultClassName: 'react-aria-CheckboxButton',\n isIndeterminate: props.isIndeterminate,\n isRequired: props.isRequired\n }\n ],\n [\n (0, $efe09c6d1c304b50$export$9afb8bc826b033ea),\n {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }\n ],\n // In a CheckboxGroup, validation is handled at the group level instead of repeated on each checkbox.\n [\n (0, $1f3c3b1a70cec653$export$ff05c3ac10437e03),\n groupState ? null : {\n isInvalid: isInvalid,\n validationDetails: validationDetails,\n validationErrors: validationErrors\n }\n ]\n ]\n }, renderProps.children));\n});\nfunction $ed8ccb2e23e76301$var$useCheckboxAria(props, userProvidedInputRef) {\n let { validationBehavior: formValidationBehavior } = (0, $7230ffa83bc0c2cf$export$fabf2dc03a41866e)((0, $cdaed739b1139372$export$c24727297075ec6a)) || {};\n let validationBehavior = props.validationBehavior ?? formValidationBehavior ?? 'native';\n let groupState = (0, $j1L6B$useContext)($ed8ccb2e23e76301$export$139c5b8563afc1fc);\n let inputRef = (0, $j1L6B$useObjectRef)((0, $j1L6B$useMemo)(()=>(0, $j1L6B$mergeRefs)(userProvidedInputRef, props.inputRef !== undefined ? props.inputRef : null), [\n userProvidedInputRef,\n props.inputRef\n ]));\n let checkboxProps = {\n ...(0, $7230ffa83bc0c2cf$export$ef03459518577ad4)(props),\n children: typeof props.children === 'function' ? true : props.children,\n value: props.value,\n validationBehavior: validationBehavior\n };\n let aria = groupState ? (0, $j1L6B$useCheckboxGroupItem)(checkboxProps, groupState, inputRef) : (0, $j1L6B$useCheckbox)(checkboxProps, (0, $j1L6B$useToggleState)(props), inputRef);\n return [\n aria,\n inputRef\n ];\n}\nconst $ed8ccb2e23e76301$export$48513f6b9f8ce62d = /*#__PURE__*/ (0, $j1L6B$forwardRef)(function Checkbox(props, ref) {\n let { inputRef: userProvidedInputRef = null, ...otherProps } = props;\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(otherProps, ref, $ed8ccb2e23e76301$export$b085522c77523c51);\n let [aria, inputRef] = $ed8ccb2e23e76301$var$useCheckboxAria(props, userProvidedInputRef);\n return /*#__PURE__*/ (0, $j1L6B$react).createElement($ed8ccb2e23e76301$var$InternalCheckboxContext.Provider, {\n value: {\n ...aria,\n inputRef: inputRef,\n defaultClassName: 'react-aria-Checkbox',\n isIndeterminate: props.isIndeterminate,\n isRequired: props.isRequired\n }\n }, /*#__PURE__*/ (0, $j1L6B$react).createElement($ed8ccb2e23e76301$export$6e7a18c0548f3129, {\n ...props,\n ref: ref\n }));\n});\nconst $ed8ccb2e23e76301$export$6e7a18c0548f3129 = /*#__PURE__*/ (0, $j1L6B$forwardRef)(function CheckboxButton(props, ref) {\n let { labelProps: labelProps, inputProps: inputProps, isSelected: isSelected, isDisabled: isDisabled, isReadOnly: isReadOnly, isPressed: isPressed, isInvalid: isInvalid, inputRef: inputRef, defaultClassName: defaultClassName, isIndeterminate: isIndeterminate, isRequired: isRequired } = (0, $j1L6B$useContext)($ed8ccb2e23e76301$var$InternalCheckboxContext);\n let { isFocused: isFocused, isFocusVisible: isFocusVisible, focusProps: focusProps } = (0, $j1L6B$useFocusRing)();\n let isInteractionDisabled = isDisabled || isReadOnly;\n let { hoverProps: hoverProps, isHovered: isHovered } = (0, $j1L6B$useHover)({\n ...props,\n isDisabled: isInteractionDisabled\n });\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: defaultClassName,\n values: {\n isSelected: isSelected,\n isIndeterminate: isIndeterminate || false,\n isPressed: isPressed,\n isHovered: isHovered,\n isFocused: isFocused,\n isFocusVisible: isFocusVisible,\n isDisabled: isDisabled,\n isReadOnly: isReadOnly,\n isInvalid: isInvalid,\n isRequired: isRequired || false\n }\n });\n let DOMProps = (0, $j1L6B$filterDOMProps)(props, {\n global: true\n });\n delete DOMProps.id;\n delete DOMProps.onClick;\n return /*#__PURE__*/ (0, $j1L6B$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).label, {\n ...(0, $j1L6B$mergeProps)(DOMProps, labelProps, hoverProps, renderProps),\n ref: ref,\n slot: props.slot || undefined,\n \"data-selected\": isSelected || undefined,\n \"data-indeterminate\": isIndeterminate || undefined,\n \"data-pressed\": isPressed || undefined,\n \"data-hovered\": isHovered || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-disabled\": isDisabled || undefined,\n \"data-readonly\": isReadOnly || undefined,\n \"data-invalid\": isInvalid || undefined,\n \"data-required\": isRequired || undefined\n }, /*#__PURE__*/ (0, $j1L6B$react).createElement((0, $j1L6B$VisuallyHidden), {\n elementType: \"span\"\n }, /*#__PURE__*/ (0, $j1L6B$react).createElement(\"input\", {\n ...(0, $j1L6B$mergeProps)(inputProps, focusProps),\n ref: inputRef\n })), renderProps.children);\n});\n\n\nexport {$ed8ccb2e23e76301$export$b085522c77523c51 as CheckboxContext, $ed8ccb2e23e76301$export$c32003b803b6c22e as CheckboxFieldContext, $ed8ccb2e23e76301$export$baf37c4be89255b8 as CheckboxGroupContext, $ed8ccb2e23e76301$export$139c5b8563afc1fc as CheckboxGroupStateContext, $ed8ccb2e23e76301$export$4aa08d5625cb8ead as CheckboxGroup, $ed8ccb2e23e76301$export$94195a47b94ed396 as CheckboxField, $ed8ccb2e23e76301$export$48513f6b9f8ce62d as Checkbox, $ed8ccb2e23e76301$export$6e7a18c0548f3129 as CheckboxButton};\n//# sourceMappingURL=Checkbox.mjs.map\n","\"use client\";\nimport { checkboxGroupVariants } from '@heroui/styles';\nimport React__default, { createContext } from 'react';\nimport { CheckboxGroup as CheckboxGroup$1 } from 'react-aria-components/CheckboxGroup';\nimport { composeTwRenderProps } from '../../utils/compose.js';\nimport { jsx, Fragment } from 'react/jsx-runtime';\n\nconst CheckboxGroupContext = /*#__PURE__*/createContext({});\nconst CheckboxGroup = ({\n children,\n className,\n variant,\n ...props\n}) => {\n const styles = React__default.useMemo(() => checkboxGroupVariants({\n variant\n }), [variant]);\n return /*#__PURE__*/jsx(CheckboxGroupContext.Provider, {\n value: {\n variant\n },\n children: /*#__PURE__*/jsx(CheckboxGroup$1, {\n className: composeTwRenderProps(className, styles),\n \"data-slot\": \"checkbox-group\",\n ...props,\n children: values => /*#__PURE__*/jsx(Fragment, {\n children: typeof children === \"function\" ? children(values) : children\n })\n })\n });\n};\n\nexport { CheckboxGroup, CheckboxGroupContext };\n","\"use client\";\nimport { checkboxVariants } from '@heroui/styles';\nimport React__default, { useContext, createContext } from 'react';\nimport { CheckboxField, CheckboxButton } from 'react-aria-components/Checkbox';\nimport { composeTwRenderProps, composeSlotClassName } from '../../utils/compose.js';\nimport { dom } from '../../utils/dom.js';\nimport { CheckboxGroupContext } from '../checkbox-group/checkbox-group.js';\nimport { jsx } from 'react/jsx-runtime';\n\nconst CheckboxContext = /*#__PURE__*/createContext({});\n\n/* -------------------------------------------------------------------------------------------------\n * Checkbox (Field) — React Aria `CheckboxField`.\n * -----------------------------------------------------------------------------------------------*/\n\nconst CheckboxRoot = ({\n children,\n className,\n variant,\n ...props\n}) => {\n const checkboxGroupContext = useContext(CheckboxGroupContext);\n const effectiveVariant = variant ?? checkboxGroupContext.variant;\n const slots = React__default.useMemo(() => checkboxVariants({\n variant: effectiveVariant\n }), [effectiveVariant]);\n return /*#__PURE__*/jsx(CheckboxField, {\n \"data-slot\": \"checkbox\",\n ...props,\n className: composeTwRenderProps(className, slots.base()),\n children: state => /*#__PURE__*/jsx(CheckboxContext, {\n value: {\n slots,\n state\n },\n children: typeof children === \"function\" ? children(state) : children\n })\n });\n};\nCheckboxRoot.displayName = \"HeroUI.Checkbox\";\n\n/* -------------------------------------------------------------------------------------------------\n * Checkbox.Content — the clickable `CheckboxButton` label wrapping the control + `Label`.\n * Keep `Description`/`FieldError` as siblings of `Checkbox.Content`.\n * -----------------------------------------------------------------------------------------------*/\n\nconst CheckboxContent = ({\n children,\n className,\n ...props\n}) => {\n const {\n slots\n } = useContext(CheckboxContext);\n return /*#__PURE__*/jsx(CheckboxButton, {\n \"data-slot\": \"checkbox-content\",\n ...props,\n className: composeTwRenderProps(className, slots?.content()),\n children: children\n });\n};\nCheckboxContent.displayName = \"HeroUI.Checkbox.Content\";\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst CheckboxControl = ({\n children,\n className,\n ...props\n}) => {\n const {\n slots\n } = useContext(CheckboxContext);\n return /*#__PURE__*/jsx(dom.span, {\n className: composeSlotClassName(slots?.control, className),\n \"data-slot\": \"checkbox-control\",\n ...props,\n children: children\n });\n};\nCheckboxControl.displayName = \"HeroUI.Checkbox.Control\";\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst CheckboxIndicator = ({\n children,\n className,\n ...props\n}) => {\n const {\n slots,\n state\n } = useContext(CheckboxContext);\n const isSelected = state?.isSelected;\n const isIndeterminate = state?.isIndeterminate;\n const content = typeof children === \"function\" ? children(state ?? {}) : children ? children : isIndeterminate ? /*#__PURE__*/jsx(\"svg\", {\n \"aria-hidden\": \"true\",\n \"data-slot\": \"checkbox-default-indicator--indeterminate\",\n fill: \"none\",\n role: \"presentation\",\n stroke: \"currentColor\",\n strokeLinecap: \"round\",\n strokeWidth: 3,\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/jsx(\"line\", {\n x1: \"21\",\n x2: \"3\",\n y1: \"12\",\n y2: \"12\"\n })\n }) : /*#__PURE__*/jsx(\"svg\", {\n \"aria-hidden\": \"true\",\n \"data-slot\": \"checkbox-default-indicator--checkmark\",\n fill: \"none\",\n role: \"presentation\",\n stroke: \"currentColor\",\n strokeDasharray: 22,\n strokeDashoffset: isSelected ? 44 : 66,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n viewBox: \"0 0 17 18\",\n children: /*#__PURE__*/jsx(\"polyline\", {\n points: \"1 9 7 14 15 4\"\n })\n });\n return /*#__PURE__*/jsx(dom.span, {\n \"aria-hidden\": \"true\",\n className: composeSlotClassName(slots?.indicator, className),\n \"data-slot\": \"checkbox-indicator\",\n ...props,\n children: content\n });\n};\nCheckboxIndicator.displayName = \"HeroUI.Checkbox.Indicator\";\n\nexport { CheckboxContent, CheckboxControl, CheckboxIndicator, CheckboxRoot };\n","\"use strict\";\nimport { CheckboxRoot, CheckboxIndicator, CheckboxControl, CheckboxContent } from './checkbox.js';\nexport { checkboxVariants } from '@heroui/styles';\n\n/* -------------------------------------------------------------------------------------------------\n * Compound Component\n * -----------------------------------------------------------------------------------------------*/\nconst Checkbox = Object.assign(CheckboxRoot, {\n Root: CheckboxRoot,\n Content: CheckboxContent,\n Control: CheckboxControl,\n Indicator: CheckboxIndicator\n});\n\nexport { Checkbox, CheckboxContent, CheckboxControl, CheckboxIndicator, CheckboxRoot };\n","\"use client\";\nimport { chipVariants } from '@heroui/styles';\nimport React__default, { createContext, useContext } from 'react';\nimport { composeSlotClassName } from '../../utils/compose.js';\nimport { dom } from '../../utils/dom.js';\nimport { jsx } from 'react/jsx-runtime';\n\nconst ChipContext = /*#__PURE__*/createContext({});\n\n/* -------------------------------------------------------------------------------------------------\n * Chip Root\n * -----------------------------------------------------------------------------------------------*/\n\nconst ChipRoot = ({\n children,\n className,\n color,\n size,\n variant,\n ...props\n}) => {\n const slots = React__default.useMemo(() => chipVariants({\n color,\n size,\n variant\n }), [color, size, variant]);\n const chipChildren = React__default.useMemo(() => {\n if (typeof children === \"string\" || typeof children === \"number\") {\n return /*#__PURE__*/jsx(ChipLabel, {\n children: children\n });\n }\n return children;\n }, [children]);\n return /*#__PURE__*/jsx(ChipContext, {\n value: {\n slots\n },\n children: /*#__PURE__*/jsx(dom.span, {\n ...props,\n className: composeSlotClassName(slots.base, className),\n \"data-slot\": \"chip\",\n children: chipChildren\n })\n });\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Chip Label\n * -----------------------------------------------------------------------------------------------*/\n\nconst ChipLabel = ({\n children,\n className,\n ...props\n}) => {\n const {\n slots\n } = useContext(ChipContext);\n return /*#__PURE__*/jsx(dom.span, {\n className: composeSlotClassName(slots?.label, className),\n \"data-slot\": \"chip-label\",\n ...props,\n children: children\n });\n};\n\nexport { ChipLabel, ChipRoot };\n","\"use strict\";\nimport { ChipRoot, ChipLabel } from './chip.js';\nexport { chipVariants } from '@heroui/styles';\n\n/* -------------------------------------------------------------------------------------------------\n * Compound Component\n * -----------------------------------------------------------------------------------------------*/\nconst Chip = Object.assign(ChipRoot, {\n Root: ChipRoot,\n Label: ChipLabel\n});\n\nexport { Chip, ChipLabel, ChipRoot };\n","\"use client\";\nimport { progressBarVariants } from '@heroui/styles';\nimport React__default, { createContext, useContext } from 'react';\nimport { ProgressBar } from 'react-aria-components/ProgressBar';\nimport { composeTwRenderProps, composeSlotClassName } from '../../utils/compose.js';\nimport { dom } from '../../utils/dom.js';\nimport { jsx } from 'react/jsx-runtime';\n\nconst ProgressBarContext = /*#__PURE__*/createContext({});\n\n/* -------------------------------------------------------------------------------------------------\n * ProgressBar Root\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProgressBarRoot = ({\n children,\n className,\n color,\n size,\n ...props\n}) => {\n const slots = React__default.useMemo(() => progressBarVariants({\n color,\n size\n }), [color, size]);\n return /*#__PURE__*/jsx(ProgressBar, {\n \"data-slot\": \"progress-bar\",\n ...props,\n className: composeTwRenderProps(className, slots.base()),\n children: values => /*#__PURE__*/jsx(ProgressBarContext, {\n value: {\n slots,\n state: values\n },\n children: typeof children === \"function\" ? children(values) : children\n })\n });\n};\nProgressBarRoot.displayName = \"HeroUI.ProgressBar\";\n\n/* -------------------------------------------------------------------------------------------------\n * ProgressBar Output\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProgressBarOutput = ({\n children,\n className,\n ...props\n}) => {\n const {\n slots,\n state\n } = useContext(ProgressBarContext);\n return /*#__PURE__*/jsx(dom.span, {\n className: composeSlotClassName(slots?.output, className),\n \"data-slot\": \"progress-bar-output\",\n ...props,\n children: children ?? state?.valueText\n });\n};\nProgressBarOutput.displayName = \"HeroUI.ProgressBar.Output\";\n\n/* -------------------------------------------------------------------------------------------------\n * ProgressBar Track\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProgressBarTrack = ({\n children,\n className,\n ...props\n}) => {\n const {\n slots\n } = useContext(ProgressBarContext);\n return /*#__PURE__*/jsx(dom.div, {\n className: composeSlotClassName(slots?.track, className),\n \"data-slot\": \"progress-bar-track\",\n ...props,\n children: children\n });\n};\nProgressBarTrack.displayName = \"HeroUI.ProgressBar.Track\";\n\n/* -------------------------------------------------------------------------------------------------\n * ProgressBar Fill\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProgressBarFill = ({\n className,\n style,\n ...props\n}) => {\n const {\n slots,\n state\n } = useContext(ProgressBarContext);\n return /*#__PURE__*/jsx(dom.div, {\n className: composeSlotClassName(slots?.fill, className),\n \"data-slot\": \"progress-bar-fill\",\n style: {\n ...style,\n width: state?.isIndeterminate ? undefined : `${state?.percentage ?? 0}%`\n },\n ...props\n });\n};\nProgressBarFill.displayName = \"HeroUI.ProgressBar.Fill\";\n\nexport { ProgressBarFill, ProgressBarOutput, ProgressBarRoot, ProgressBarTrack };\n","\"use strict\";\nimport { ProgressBarRoot, ProgressBarFill, ProgressBarTrack, ProgressBarOutput } from './progress-bar.js';\nexport { progressBarVariants } from '@heroui/styles';\n\n/* -------------------------------------------------------------------------------------------------\n * Compound Component\n * -----------------------------------------------------------------------------------------------*/\nconst ProgressBar = Object.assign(ProgressBarRoot, {\n Root: ProgressBarRoot,\n Output: ProgressBarOutput,\n Track: ProgressBarTrack,\n Fill: ProgressBarFill\n});\n\nexport { ProgressBar, ProgressBarFill, ProgressBarOutput, ProgressBarRoot, ProgressBarTrack };\n","\"use client\";\nimport { separatorVariants } from '@heroui/styles';\nimport { SeparatorContext, Separator } from 'react-aria-components/Separator';\nimport { useSlottedContext } from 'react-aria-components/slots';\nimport { jsx } from 'react/jsx-runtime';\n\nconst SeparatorRoot = ({\n className,\n orientation,\n variant,\n ...props\n}) => {\n const context = useSlottedContext(SeparatorContext);\n const resolvedOrientation = orientation ?? context?.orientation ?? \"horizontal\";\n return /*#__PURE__*/jsx(Separator, {\n \"data-orientation\": resolvedOrientation,\n \"data-slot\": \"separator\",\n orientation: resolvedOrientation,\n className: separatorVariants({\n orientation: resolvedOrientation,\n variant,\n className\n }),\n ...props\n });\n};\n\nexport { SeparatorRoot };\n","\"use strict\";\nimport { SeparatorRoot } from './separator.js';\nexport { separatorVariants } from '@heroui/styles';\n\n/* -------------------------------------------------------------------------------------------------\n * Compound Component\n * -----------------------------------------------------------------------------------------------*/\nconst Separator = Object.assign(SeparatorRoot, {\n Root: SeparatorRoot\n});\n\nexport { Separator, SeparatorRoot };\n","\"use client\";\nimport { alertVariants } from '@heroui/styles';\nimport React__default, { createContext, useContext } from 'react';\nimport { composeSlotClassName } from '../../utils/compose.js';\nimport { dom } from '../../utils/dom.js';\nimport { InfoIcon, DangerIcon, WarningIcon, SuccessIcon } from '../icons.js';\nimport { jsx } from 'react/jsx-runtime';\nimport { SurfaceContext } from '../surface/surface.js';\n\nconst AlertContext = /*#__PURE__*/createContext({});\n\n/* ------------------------------------------------------------------------------------------------\n * Alert Root\n * --------------------------------------------------------------------------------------------- */\n\nconst AlertRoot = ({\n children,\n className,\n status,\n ...rest\n}) => {\n const slots = React__default.useMemo(() => alertVariants({\n status\n }), [status]);\n return /*#__PURE__*/jsx(AlertContext, {\n value: {\n slots,\n status\n },\n children: /*#__PURE__*/jsx(SurfaceContext, {\n value: {\n variant: \"default\"\n },\n children: /*#__PURE__*/jsx(dom.div, {\n className: slots?.base({\n className\n }),\n \"data-slot\": \"alert-root\",\n ...rest,\n children: children\n })\n })\n });\n};\n\n/* ------------------------------------------------------------------------------------------------\n * Alert Indicator\n * --------------------------------------------------------------------------------------------- */\n\nconst AlertIndicator = ({\n children,\n className,\n ...rest\n}) => {\n const {\n slots,\n status\n } = useContext(AlertContext);\n\n // Map status to default icons\n const getDefaultIcon = () => {\n switch (status) {\n case \"accent\":\n return /*#__PURE__*/jsx(InfoIcon, {\n \"data-slot\": \"alert-default-icon\"\n });\n case \"success\":\n return /*#__PURE__*/jsx(SuccessIcon, {\n \"data-slot\": \"alert-default-icon\"\n });\n case \"warning\":\n return /*#__PURE__*/jsx(WarningIcon, {\n \"data-slot\": \"alert-default-icon\"\n });\n case \"danger\":\n return /*#__PURE__*/jsx(DangerIcon, {\n \"data-slot\": \"alert-default-icon\"\n });\n default:\n return /*#__PURE__*/jsx(InfoIcon, {\n \"data-slot\": \"alert-default-icon\"\n });\n }\n };\n return /*#__PURE__*/jsx(dom.div, {\n className: composeSlotClassName(slots?.indicator, className),\n \"data-slot\": \"alert-indicator\",\n ...rest,\n children: children ?? getDefaultIcon()\n });\n};\n\n/* ------------------------------------------------------------------------------------------------\n * Alert Content\n * --------------------------------------------------------------------------------------------- */\n\nconst AlertContent = ({\n children,\n className,\n ...rest\n}) => {\n const {\n slots\n } = useContext(AlertContext);\n return /*#__PURE__*/jsx(dom.div, {\n className: composeSlotClassName(slots?.content, className),\n \"data-slot\": \"alert-content\",\n ...rest,\n children: children\n });\n};\n\n/* ------------------------------------------------------------------------------------------------\n * Alert Title\n * --------------------------------------------------------------------------------------------- */\n\nconst AlertTitle = ({\n children,\n className,\n ...rest\n}) => {\n const {\n slots\n } = useContext(AlertContext);\n return /*#__PURE__*/jsx(dom.p, {\n className: composeSlotClassName(slots?.title, className),\n \"data-slot\": \"alert-title\",\n ...rest,\n children: children\n });\n};\n\n/* ------------------------------------------------------------------------------------------------\n * Alert Description\n * --------------------------------------------------------------------------------------------- */\n\nconst AlertDescription = ({\n children,\n className,\n ...rest\n}) => {\n const {\n slots\n } = useContext(AlertContext);\n return /*#__PURE__*/jsx(dom.span, {\n className: composeSlotClassName(slots?.description, className),\n \"data-slot\": \"alert-description\",\n ...rest,\n children: children\n });\n};\n\nexport { AlertContent, AlertDescription, AlertIndicator, AlertRoot, AlertTitle };\n","\"use strict\";\nimport { AlertRoot, AlertDescription, AlertTitle, AlertContent, AlertIndicator } from './alert.js';\nexport { alertVariants } from '@heroui/styles';\n\n/* -------------------------------------------------------------------------------------------------\n * Compound Component\n * -----------------------------------------------------------------------------------------------*/\nconst Alert = Object.assign(AlertRoot, {\n Root: AlertRoot,\n Indicator: AlertIndicator,\n Content: AlertContent,\n Title: AlertTitle,\n Description: AlertDescription\n});\n\nexport { Alert, AlertContent, AlertDescription, AlertIndicator, AlertRoot, AlertTitle };\n","import type { ReactNode } from \"react\";\r\nimport { Chip, cn } from \"@heroui/react\";\r\nimport { COLORS, hexToRgba, type GuideColor } from \"../../types/colors\";\r\n\r\n/** Relative effort required to complete a guide. */\r\nexport type Difficulty = \"easy\" | \"moderate\" | \"difficult\";\r\n\r\nconst difficultyColor: Record<Difficulty, GuideColor> = {\r\n easy: \"GREEN\",\r\n moderate: \"ORANGE\",\r\n difficult: \"RED\",\r\n};\r\n\r\nconst difficultyLabel: Record<Difficulty, string> = {\r\n easy: \"Easy\",\r\n moderate: \"Moderate\",\r\n difficult: \"Difficult\",\r\n};\r\n\r\nexport interface DifficultyBadgeProps {\r\n /** Difficulty level — controls color and default label. */\r\n difficulty: Difficulty;\r\n /** Override the displayed text (defaults to a capitalized level name). */\r\n label?: ReactNode;\r\n /** Show the leading gauge icon. @default true */\r\n showIcon?: boolean;\r\n /** Chip size. @default \"md\" */\r\n size?: \"sm\" | \"md\" | \"lg\";\r\n className?: string;\r\n}\r\n\r\nfunction GaugeIcon() {\r\n return (\r\n <svg\r\n aria-hidden=\"true\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n strokeWidth={2}\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n className=\"size-[1em]\"\r\n >\r\n <path d=\"M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\" />\r\n <path d=\"m13.4 10.6 3.6-3.6\" />\r\n <path d=\"M3.3 16a9 9 0 1 1 17.4 0\" />\r\n </svg>\r\n );\r\n}\r\n\r\n/**\r\n * Compact, color-coded indicator of how hard a guide is, built on HeroUI `Chip`.\r\n * Mirrors iFixit's difficulty pill (easy → green, moderate → orange, difficult → red).\r\n */\r\nexport function DifficultyBadge({\r\n difficulty,\r\n label,\r\n showIcon = true,\r\n size = \"md\",\r\n className,\r\n}: DifficultyBadgeProps) {\r\n const accent = COLORS[difficultyColor[difficulty]];\r\n\r\n return (\r\n <Chip\r\n variant=\"soft\"\r\n size={size}\r\n className={cn(className)}\r\n style={{\r\n backgroundColor: hexToRgba(accent, 0.15),\r\n color: accent,\r\n }}\r\n >\r\n {showIcon && <GaugeIcon />}\r\n <Chip.Label>{label ?? difficultyLabel[difficulty]}</Chip.Label>\r\n </Chip>\r\n );\r\n}\r\n","import type { ReactNode } from \"react\";\r\nimport { Alert, cn } from \"@heroui/react\";\r\nimport {\r\n type CalloutType,\r\n calloutTypeHex,\r\n calloutTypeLabel,\r\n} from \"../../types/callout\";\r\nimport { hexToRgba } from \"../../types/colors\";\r\n\r\nexport interface CalloutProps {\r\n /** Tone of the callout — controls color, default icon, and default title. @default \"caution\" */\r\n type?: CalloutType;\r\n /** Heading text. Pass `null` to omit. Defaults to the callout type label. */\r\n title?: ReactNode;\r\n /** Override the leading indicator icon. */\r\n icon?: ReactNode;\r\n /** Callout body. */\r\n children: ReactNode;\r\n className?: string;\r\n}\r\n\r\nconst triangle = (\r\n <path d=\"M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0ZM12 9v4M12 17h.01\" />\r\n);\r\n\r\nconst circleInfo = (\r\n <>\r\n <circle cx=\"12\" cy=\"12\" r=\"9\" />\r\n <path d=\"M12 16v-4M12 8h.01\" />\r\n </>\r\n);\r\n\r\nconst circleCheck = (\r\n <>\r\n <circle cx=\"12\" cy=\"12\" r=\"9\" />\r\n <path d=\"m8.5 12 2.5 2.5 4.5-5\" />\r\n </>\r\n);\r\n\r\nconst calloutTypeGlyph: Record<CalloutType, ReactNode> = {\r\n note: circleInfo,\r\n info: circleInfo,\r\n tip: circleCheck,\r\n caution: triangle,\r\n danger: triangle,\r\n};\r\n\r\nfunction CalloutTypeIcon({ type }: { type: CalloutType }) {\r\n return (\r\n <svg\r\n aria-hidden=\"true\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n strokeWidth={2}\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n className=\"size-5\"\r\n >\r\n {calloutTypeGlyph[type]}\r\n </svg>\r\n );\r\n}\r\n\r\n/**\r\n * Safety / informational callout for guides — battery, heat, ESD, and other\r\n * hazards. Wraps HeroUI `Alert`, mapping {@link CalloutType} to a guide\r\n * palette accent, default icon, and title so a single `type` prop styles the\r\n * whole box.\r\n */\r\nexport function Callout({\r\n type = \"caution\",\r\n title,\r\n icon,\r\n children,\r\n className,\r\n}: CalloutProps) {\r\n const resolvedTitle = title === undefined ? calloutTypeLabel[type] : title;\r\n const accent = calloutTypeHex(type);\r\n\r\n return (\r\n <Alert\r\n className={cn(\"border\", className)}\r\n style={{\r\n backgroundColor: hexToRgba(accent, 0.1),\r\n borderColor: accent,\r\n }}\r\n >\r\n <Alert.Indicator style={{ color: accent }}>\r\n {icon ?? <CalloutTypeIcon type={type} />}\r\n </Alert.Indicator>\r\n <Alert.Content>\r\n {resolvedTitle != null && <Alert.Title>{resolvedTitle}</Alert.Title>}\r\n <Alert.Description>{children}</Alert.Description>\r\n </Alert.Content>\r\n </Alert>\r\n );\r\n}\r\n","import type { CSSProperties } from \"react\";\r\n\r\n/** Top-left and width of a 4:3 crop rect in intrinsic source pixels. Height is derived. */\r\nexport interface MediaDisplayRegion {\r\n /** Left edge in pixels from the source left. */\r\n x: number;\r\n /** Top edge in pixels from the source top. */\r\n y: number;\r\n /** Width in source pixels; height is computed as `round(width × 3 / 4)`. */\r\n width: number;\r\n}\r\n\r\nexport const DISPLAY_REGION_ASPECT = 4 / 3;\r\n\r\n/** Height in source pixels for a 4:3 region with the given width. */\r\nexport function displayRegionHeight(width: number): number {\r\n return Math.round((width * 3) / 4);\r\n}\r\n\r\nfunction isValidDisplayRegion(\r\n region: MediaDisplayRegion,\r\n sourceWidth: number,\r\n sourceHeight: number,\r\n): boolean {\r\n const { x, y, width } = region;\r\n if (width <= 0 || x < 0 || y < 0) {\r\n return false;\r\n }\r\n\r\n const height = displayRegionHeight(width);\r\n return x + width <= sourceWidth && y + height <= sourceHeight;\r\n}\r\n\r\n/**\r\n * CSS styles to show a 4:3 source-pixel region scaled to fill a 4:3 frame.\r\n * Returns `null` when the region is invalid for the given source dimensions.\r\n */\r\nexport function getDisplayRegionStyles(\r\n region: MediaDisplayRegion,\r\n sourceWidth: number,\r\n sourceHeight: number,\r\n frameWidth: number,\r\n frameHeight: number,\r\n): CSSProperties | null {\r\n if (\r\n frameWidth <= 0 ||\r\n frameHeight <= 0 ||\r\n sourceWidth <= 0 ||\r\n sourceHeight <= 0 ||\r\n !isValidDisplayRegion(region, sourceWidth, sourceHeight)\r\n ) {\r\n return null;\r\n }\r\n\r\n const scale = frameWidth / region.width;\r\n\r\n return {\r\n position: \"absolute\",\r\n width: scale * sourceWidth,\r\n height: scale * sourceHeight,\r\n left: -region.x * scale,\r\n top: -region.y * scale,\r\n maxWidth: \"none\",\r\n };\r\n}\r\n","\"use client\";\r\n\r\nimport { useEffect, useRef } from \"react\";\r\n\r\nexport interface MediaFigureModelProps {\r\n src: string;\r\n}\r\n\r\nexport function MediaFigureModel({ src }: MediaFigureModelProps) {\r\n const containerRef = useRef<HTMLDivElement>(null);\r\n\r\n useEffect(() => {\r\n const container = containerRef.current;\r\n if (!container) {\r\n return;\r\n }\r\n\r\n let disposed = false;\r\n let resizeObserver: ResizeObserver | null = null;\r\n let viewer: { Destroy: () => void; Resize: () => void } | null = null;\r\n\r\n import(\"online-3d-viewer\").then((OV) => {\r\n if (disposed) {\r\n return;\r\n }\r\n\r\n const configureViewer = (embeddedViewer: {\r\n GetViewer: () => {\r\n SetNavigationMode: (mode: number) => void;\r\n SetUpVector: (direction: number, animate: boolean) => void;\r\n GetBoundingSphere: (\r\n filter: (meshUserData: unknown) => boolean,\r\n ) => unknown;\r\n FitSphereToWindow: (sphere: unknown, animation: boolean) => void;\r\n };\r\n }) => {\r\n const o3dv = embeddedViewer.GetViewer();\r\n o3dv.SetNavigationMode(OV.NavigationMode.FreeOrbit);\r\n o3dv.SetUpVector(OV.Direction.Z, false);\r\n const boundingSphere = o3dv.GetBoundingSphere(() => true);\r\n o3dv.FitSphereToWindow(boundingSphere, false);\r\n };\r\n\r\n const embeddedViewer = new OV.EmbeddedViewer(container, {\r\n projectionMode: OV.ProjectionMode.Orthographic,\r\n backgroundColor: new OV.RGBAColor(0, 0, 0, 0),\r\n onModelLoaded: () => {\r\n configureViewer(embeddedViewer);\r\n },\r\n });\r\n\r\n viewer = embeddedViewer;\r\n embeddedViewer.LoadModelFromUrlList([src]);\r\n\r\n if (typeof ResizeObserver !== \"undefined\") {\r\n resizeObserver = new ResizeObserver(() => {\r\n embeddedViewer.Resize();\r\n });\r\n resizeObserver.observe(container);\r\n }\r\n });\r\n\r\n return () => {\r\n disposed = true;\r\n resizeObserver?.disconnect();\r\n viewer?.Destroy();\r\n };\r\n }, [src]);\r\n\r\n return (\r\n <div\r\n ref={containerRef}\r\n className=\"absolute inset-0 [&_canvas]:size-full!\"\r\n aria-label=\"Interactive 3D model\"\r\n role=\"img\"\r\n />\r\n );\r\n}\r\n","\"use client\";\r\n\r\nimport { useCallback, useEffect, useRef, useState, type SyntheticEvent } from \"react\";\r\nimport {\r\n getDisplayRegionStyles,\r\n type MediaDisplayRegion,\r\n} from \"../../utils/mediaCrop\";\r\nimport { MediaFigureModel } from \"./MediaFigureModel\";\r\n\r\nexport interface MediaFigureMediaProps {\r\n src: string;\r\n type: \"image\" | \"video\" | \"model\";\r\n displayRegion?: MediaDisplayRegion;\r\n}\r\n\r\nexport function MediaFigureMedia({\r\n src,\r\n type,\r\n displayRegion,\r\n}: MediaFigureMediaProps) {\r\n const frameRef = useRef<HTMLDivElement>(null);\r\n const [sourceSize, setSourceSize] = useState<{\r\n width: number;\r\n height: number;\r\n } | null>(null);\r\n const [frameSize, setFrameSize] = useState<{\r\n width: number;\r\n height: number;\r\n } | null>(null);\r\n\r\n const updateFrameSize = useCallback(() => {\r\n const frame = frameRef.current;\r\n if (!frame) {\r\n return;\r\n }\r\n\r\n const { width, height } = frame.getBoundingClientRect();\r\n if (width > 0 && height > 0) {\r\n setFrameSize({ width, height });\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!displayRegion) {\r\n return;\r\n }\r\n\r\n updateFrameSize();\r\n\r\n const frame = frameRef.current;\r\n if (!frame) {\r\n return;\r\n }\r\n\r\n const observer = new ResizeObserver(updateFrameSize);\r\n observer.observe(frame);\r\n return () => observer.disconnect();\r\n }, [displayRegion, updateFrameSize]);\r\n\r\n const cropStyles =\r\n displayRegion &&\r\n sourceSize &&\r\n frameSize &&\r\n getDisplayRegionStyles(\r\n displayRegion,\r\n sourceSize.width,\r\n sourceSize.height,\r\n frameSize.width,\r\n frameSize.height,\r\n );\r\n\r\n const useCrop = Boolean(cropStyles);\r\n const coverClass = \"size-full object-cover object-center\";\r\n\r\n const handleImageLoad = (event: SyntheticEvent<HTMLImageElement>) => {\r\n const img = event.currentTarget;\r\n if (img.naturalWidth > 0 && img.naturalHeight > 0) {\r\n setSourceSize({ width: img.naturalWidth, height: img.naturalHeight });\r\n }\r\n };\r\n\r\n const handleVideoMetadata = (event: SyntheticEvent<HTMLVideoElement>) => {\r\n const video = event.currentTarget;\r\n if (video.videoWidth > 0 && video.videoHeight > 0) {\r\n setSourceSize({ width: video.videoWidth, height: video.videoHeight });\r\n }\r\n };\r\n\r\n if (type === \"model\") {\r\n return <MediaFigureModel src={src} />;\r\n }\r\n\r\n return (\r\n <div ref={frameRef} className=\"absolute inset-0\">\r\n {type === \"video\" ? (\r\n <video\r\n src={src}\r\n controls\r\n className={useCrop ? \"absolute max-w-none\" : coverClass}\r\n style={useCrop && cropStyles ? cropStyles : undefined}\r\n onLoadedMetadata={displayRegion ? handleVideoMetadata : undefined}\r\n />\r\n ) : (\r\n <img\r\n src={src}\r\n className={useCrop ? \"absolute max-w-none\" : coverClass}\r\n style={useCrop && cropStyles ? cropStyles : undefined}\r\n onLoad={displayRegion ? handleImageLoad : undefined}\r\n />\r\n )}\r\n </div>\r\n );\r\n}\r\n","import type { ReactNode } from \"react\";\r\nimport { cn } from \"@heroui/react\";\r\nimport {\r\n COLORS,\r\n hexToRgba,\r\n markerTextColor,\r\n type GuideColor,\r\n} from \"../../types/colors\";\r\nimport type { MediaDisplayRegion } from \"../../utils/mediaCrop\";\r\nimport { MediaFigureMedia } from \"./MediaFigureMedia\";\r\n\r\n/** Shared fields for every annotation shape. */\r\ninterface MediaAnnotationBase {\r\n /** Stable key; falls back to array index. */\r\n id?: string;\r\n /** Marker color — match the related step bullet for visual linking. @default \"GREY\" */\r\n color?: GuideColor;\r\n /** Accessible description / tooltip for the marker. */\r\n title?: string;\r\n}\r\n\r\n/** A labeled pin at a percentage position — the only type that shows a `label`. */\r\nexport interface PointAnnotation extends MediaAnnotationBase {\r\n /** @default \"point\" */\r\n type?: \"point\";\r\n /** Horizontal position as a percentage (0–100) of the frame width. */\r\n x: number;\r\n /** Vertical position as a percentage (0–100) of the frame height. */\r\n y: number;\r\n /** Short content shown inside the marker (e.g. a number or letter). */\r\n label?: ReactNode;\r\n}\r\n\r\n/** A circle centered at a percentage position with a percentage radius. */\r\nexport interface CircleAnnotation extends MediaAnnotationBase {\r\n type: \"circle\";\r\n /** Center horizontal position as a percentage (0–100) of the frame width. */\r\n x: number;\r\n /** Center vertical position as a percentage (0–100) of the frame height. */\r\n y: number;\r\n /** Radius as a percentage (0–100) of the frame width. */\r\n radius: number;\r\n}\r\n\r\n/** A rectangle defined by two opposite corners, each at a percentage position. */\r\nexport interface RectangleAnnotation extends MediaAnnotationBase {\r\n type: \"rectangle\";\r\n /** First corner — horizontal position as a percentage (0–100) of the frame width. */\r\n x1: number;\r\n /** First corner — vertical position as a percentage (0–100) of the frame height. */\r\n y1: number;\r\n /** Opposite corner — horizontal position as a percentage (0–100) of the frame width. */\r\n x2: number;\r\n /** Opposite corner — vertical position as a percentage (0–100) of the frame height. */\r\n y2: number;\r\n}\r\n\r\nexport type MediaAnnotation =\r\n | PointAnnotation\r\n | CircleAnnotation\r\n | RectangleAnnotation;\r\n\r\nexport type { MediaDisplayRegion };\r\n\r\nfunction isCircleAnnotation(\r\n annotation: MediaAnnotation,\r\n): annotation is CircleAnnotation {\r\n return annotation.type === \"circle\";\r\n}\r\n\r\nfunction isRectangleAnnotation(\r\n annotation: MediaAnnotation,\r\n): annotation is RectangleAnnotation {\r\n return annotation.type === \"rectangle\";\r\n}\r\n\r\nfunction renderAnnotation(annotation: MediaAnnotation, index: number) {\r\n const key = annotation.id ?? index;\r\n const color = annotation.color ?? \"GREY\";\r\n const hex = COLORS[color];\r\n\r\n if (isCircleAnnotation(annotation)) {\r\n return (\r\n <div\r\n key={key}\r\n role=\"img\"\r\n aria-label={annotation.title}\r\n className=\"pointer-events-none absolute rounded-full border-2\"\r\n style={{\r\n left: `${annotation.x}%`,\r\n top: `${annotation.y}%`,\r\n width: `${annotation.radius * 2}%`,\r\n aspectRatio: \"1\",\r\n transform: \"translate(-50%, -50%)\",\r\n borderColor: hex,\r\n backgroundColor: hexToRgba(hex, 0.1),\r\n }}\r\n />\r\n );\r\n }\r\n\r\n if (isRectangleAnnotation(annotation)) {\r\n const left = Math.min(annotation.x1, annotation.x2);\r\n const top = Math.min(annotation.y1, annotation.y2);\r\n const width = Math.abs(annotation.x2 - annotation.x1);\r\n const height = Math.abs(annotation.y2 - annotation.y1);\r\n\r\n return (\r\n <div\r\n key={key}\r\n role=\"img\"\r\n aria-label={annotation.title}\r\n className=\"pointer-events-none absolute border-2\"\r\n style={{\r\n left: `${left}%`,\r\n top: `${top}%`,\r\n width: `${width}%`,\r\n height: `${height}%`,\r\n borderColor: hex,\r\n backgroundColor: hexToRgba(hex, 0.1),\r\n }}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <span\r\n key={key}\r\n role=\"img\"\r\n aria-label={annotation.title}\r\n style={{\r\n left: `${annotation.x}%`,\r\n top: `${annotation.y}%`,\r\n backgroundColor: hex,\r\n color: markerTextColor(hex),\r\n }}\r\n className=\"absolute flex min-h-6 min-w-6 -translate-x-1/2 -translate-y-1/2 items-center justify-center rounded-full px-1.5 text-xs font-semibold shadow ring-2 ring-background\"\r\n >\r\n {annotation.label}\r\n </span>\r\n );\r\n}\r\n\r\nexport interface MediaFigureProps {\r\n /** Image, video, or 3D model source URL. */\r\n src: string;\r\n /** Media kind. @default \"image\" */\r\n type?: \"image\" | \"video\" | \"model\";\r\n /** Markers overlaid on the media, positioned by percentage of the visible frame. */\r\n annotations?: MediaAnnotation[];\r\n /**\r\n * When set, show this 4:3 source-pixel rect (`height` is `round(width × 3 / 4)`),\r\n * scaled to fill the frame without re-encoding the image.\r\n */\r\n displayRegion?: MediaDisplayRegion;\r\n className?: string;\r\n}\r\n\r\n/**\r\n * Instructional image, video, or 3D model with percentage-positioned annotation overlays.\r\n * The frame is always 4:3; non-4:3 sources are center-cropped unless\r\n * `displayRegion` selects a source-pixel crop. Point markers use\r\n * {@link GuideColor} values so they can be visually linked to matching `GuideStep`\r\n * bullets; circles and rectangles use the same color for their outline and fill.\r\n */\r\nexport function MediaFigure({\r\n src,\r\n type = \"image\",\r\n annotations = [],\r\n displayRegion,\r\n className,\r\n}: MediaFigureProps) {\r\n return (\r\n <figure className={cn(\"flex flex-col gap-2\", className)}>\r\n <div className=\"relative aspect-[4/3] overflow-hidden rounded-lg border border-default bg-default-soft\">\r\n <MediaFigureMedia\r\n src={src}\r\n type={type}\r\n displayRegion={displayRegion}\r\n />\r\n\r\n {annotations.map(renderAnnotation)}\r\n </div>\r\n </figure>\r\n );\r\n}\r\n","import type { ReactNode } from \"react\";\r\nimport { Card, Link, cn } from \"@heroui/react\";\r\n\r\nexport interface ToolListProps {\r\n /** Section heading. Pass `null` to omit. @default \"What you need\" */\r\n title?: ReactNode;\r\n /** `ToolList.Item` children. */\r\n children: ReactNode;\r\n className?: string;\r\n}\r\n\r\nexport interface ToolListItemProps {\r\n /** Tool or part name. */\r\n name: ReactNode;\r\n /** Optional thumbnail image URL. */\r\n thumbnail?: string;\r\n /** When set, the name links here (e.g. a store or info page). */\r\n href?: string;\r\n /** Quantity required, rendered as `×N`. */\r\n quantity?: number;\r\n /** Trailing price or cost note. */\r\n price?: ReactNode;\r\n /** Secondary detail line beneath the name. */\r\n children?: ReactNode;\r\n className?: string;\r\n}\r\n\r\nfunction ToolListItem({\r\n name,\r\n thumbnail,\r\n href,\r\n quantity,\r\n price,\r\n children,\r\n className,\r\n}: ToolListItemProps) {\r\n return (\r\n <li\r\n className={cn(\r\n \"flex items-center gap-3 py-3 first:pt-0 last:pb-0\",\r\n className,\r\n )}\r\n >\r\n {thumbnail && (\r\n <img\r\n src={thumbnail}\r\n alt=\"\"\r\n className=\"size-12 shrink-0 rounded-md border border-default object-cover\"\r\n />\r\n )}\r\n <div className=\"flex min-w-0 flex-1 flex-col\">\r\n {href ? (\r\n <Link href={href} className=\"font-medium\">\r\n {name}\r\n </Link>\r\n ) : (\r\n <span className=\"font-medium\">{name}</span>\r\n )}\r\n {children != null && (\r\n <span className=\"text-sm text-default-500\">{children}</span>\r\n )}\r\n </div>\r\n {quantity != null && (\r\n <span className=\"shrink-0 text-sm text-default-500\">×{quantity}</span>\r\n )}\r\n {price != null && (\r\n <span className=\"shrink-0 text-sm font-medium\">{price}</span>\r\n )}\r\n </li>\r\n );\r\n}\r\n\r\nfunction ToolListRoot({\r\n title = \"What you need\",\r\n children,\r\n className,\r\n}: ToolListProps) {\r\n return (\r\n <Card className={cn(\"w-full\", className)}>\r\n {title != null && (\r\n <Card.Header>\r\n <Card.Title>{title}</Card.Title>\r\n </Card.Header>\r\n )}\r\n <Card.Content>\r\n <ul className=\"flex flex-col divide-y divide-default\">{children}</ul>\r\n </Card.Content>\r\n </Card>\r\n );\r\n}\r\n\r\n/**\r\n * The \"What you need\" panel for a guide: a titled card listing required tools\r\n * and parts. Compose rows with `ToolList.Item`.\r\n */\r\nexport const ToolList = Object.assign(ToolListRoot, { Item: ToolListItem });\r\n","import { useCallback, useState } from \"react\";\r\n\r\n/**\r\n * Bridges controlled and uncontrolled usage with one hook. When `value` is\r\n * provided the component is controlled; otherwise state is held internally and\r\n * seeded from `defaultValue`. `onChange` always fires on updates.\r\n */\r\nexport function useControlledState<T>(\r\n value: T | undefined,\r\n defaultValue: T,\r\n onChange?: (value: T) => void,\r\n): [T, (next: T) => void] {\r\n const [internal, setInternal] = useState(defaultValue);\r\n const isControlled = value !== undefined;\r\n const current = isControlled ? value : internal;\r\n\r\n const setValue = useCallback(\r\n (next: T) => {\r\n if (!isControlled) setInternal(next);\r\n onChange?.(next);\r\n },\r\n [isControlled, onChange],\r\n );\r\n\r\n return [current, setValue];\r\n}\r\n","\"use client\";\r\n\r\nimport {\r\n Children,\r\n cloneElement,\r\n isValidElement,\r\n useId,\r\n useState,\r\n type CSSProperties,\r\n type ReactElement,\r\n type ReactNode,\r\n} from \"react\";\r\nimport { Button, Checkbox, cn } from \"@heroui/react\";\r\nimport { useControlledState } from \"../../hooks/useControlledState\";\r\nimport { calloutTypeLabel } from \"../../types/callout\";\r\nimport { COLORS, type GuideColor } from \"../../types/colors\";\r\nimport { MediaFigure, type MediaFigureProps } from \"../MediaFigure\";\r\n\r\nconst MAX_STEP_IMAGES = 3;\r\n\r\n/** Completed mark-complete button — softer than `COLORS.GREEN`, still readable with white text. */\r\nconst COMPLETE_BUTTON_BG = \"#3ABF84\";\r\nconst COMPLETE_BUTTON_BG_HOVER = \"#34B07A\";\r\n/** Dark green accent for the checkbox control when a step is marked complete. */\r\nconst COMPLETE_CHECKBOX_GREEN = \"#0B7A47\";\r\n\r\nexport interface GuideStepProps {\r\n /** Step number shown in the badge. Auto-assigned when inside `GuideStepList`. */\r\n number?: number;\r\n /** Step heading. */\r\n title?: ReactNode;\r\n /** Controlled completion state. */\r\n isCompleted?: boolean;\r\n /** Initial completion state when uncontrolled. @default false */\r\n defaultCompleted?: boolean;\r\n /** Fires whenever completion changes (controlled or not). */\r\n onCompletedChange?: (completed: boolean) => void;\r\n /** Render the \"mark complete\" checkbox. @default true */\r\n completable?: boolean;\r\n /** Step body — requires `GuideStep.Media` (≥1 image) and `GuideStep.Bullets` (≥1 bullet). */\r\n children?: ReactNode;\r\n className?: string;\r\n}\r\n\r\n/** Bullet presentation — `dot` uses a colored dot; others use semantic icons and labels. */\r\nexport type GuideStepBulletVariant = \"dot\" | \"caution\" | \"reminder\" | \"note\";\r\n\r\nexport interface GuideStepBulletProps {\r\n /**\r\n * Bullet style. `dot` renders a colored dot (link to `MediaFigure`\r\n * annotations); `caution`, `reminder`, and `note` render iFixit-style semantic bullets.\r\n * @default \"dot\"\r\n */\r\n variant?: GuideStepBulletVariant;\r\n /** Marker color for `dot` bullets — match a related `MediaFigure` annotation. @default \"GREY\" */\r\n color?: GuideColor;\r\n /** Override the auto-generated label for semantic bullet types. */\r\n label?: ReactNode;\r\n /** Hide the auto-generated label for `caution`, `reminder`, and `note` bullets. */\r\n hideLabel?: boolean;\r\n children: ReactNode;\r\n className?: string;\r\n}\r\n\r\nconst bulletVariantLabel: Record<\r\n Exclude<GuideStepBulletVariant, \"dot\">,\r\n string\r\n> = {\r\n caution: calloutTypeLabel.caution,\r\n reminder: \"Reminder\",\r\n note: calloutTypeLabel.note,\r\n};\r\n\r\nfunction CautionIcon() {\r\n return (\r\n <svg\r\n aria-hidden=\"true\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n strokeWidth={2}\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n className=\"size-5 shrink-0 text-danger\"\r\n >\r\n <path d=\"M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0ZM12 9v4M12 17h.01\" />\r\n </svg>\r\n );\r\n}\r\n\r\nfunction NoteIcon() {\r\n return (\r\n <svg\r\n aria-hidden=\"true\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n strokeWidth={2}\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n className=\"size-5 shrink-0 text-default-500\"\r\n >\r\n <circle cx=\"12\" cy=\"12\" r=\"9\" />\r\n <path d=\"M12 16v-4M12 8h.01\" />\r\n </svg>\r\n );\r\n}\r\n\r\nfunction ReminderIcon() {\r\n return (\r\n <span\r\n aria-hidden=\"true\"\r\n className=\"mt-0.5 flex size-6 shrink-0 items-center justify-center rounded bg-default-100\"\r\n >\r\n <svg\r\n viewBox=\"0 0 24 24\"\r\n fill=\"currentColor\"\r\n className=\"size-3.5 text-default-500\"\r\n >\r\n <path d=\"M16 12V4h1V3H7v1h1v8l-2 2v1h5.2c-.2.6-.3 1.2-.3 1.8 0 2.2 1.8 4 4 4s4-1.8 4-4c0-.6-.1-1.2-.3-1.8H18v-1l-2-2z\" />\r\n </svg>\r\n </span>\r\n );\r\n}\r\n\r\nfunction isMediaFigure(\r\n node: ReactNode,\r\n): node is ReactElement<MediaFigureProps> {\r\n return isValidElement(node) && node.type === MediaFigure;\r\n}\r\n\r\nfunction isGuideStepBullet(\r\n node: ReactNode,\r\n): node is ReactElement<GuideStepBulletProps> {\r\n return isValidElement(node) && node.type === GuideStepBullet;\r\n}\r\n\r\nfunction countBullets(bulletsNode: ReactNode): number {\r\n if (!isValidElement<{ children?: ReactNode }>(bulletsNode)) return 0;\r\n return Children.toArray(bulletsNode.props.children).filter(isGuideStepBullet)\r\n .length;\r\n}\r\n\r\nfunction extractStepParts(children: ReactNode) {\r\n let mediaChildren: ReactNode = null;\r\n let bullets: ReactNode = null;\r\n\r\n for (const child of Children.toArray(children)) {\r\n if (!isValidElement<{ children?: ReactNode }>(child)) continue;\r\n if (child.type === GuideStepMedia) {\r\n mediaChildren = child.props.children;\r\n }\r\n if (child.type === GuideStepBullets) {\r\n bullets = child;\r\n }\r\n }\r\n\r\n const figures = Children.toArray(mediaChildren).filter(isMediaFigure);\r\n const bulletCount = countBullets(bullets);\r\n\r\n if (import.meta.env.DEV) {\r\n if (figures.length === 0) {\r\n console.warn(\r\n \"GuideStep requires at least one MediaFigure inside GuideStep.Media.\",\r\n );\r\n }\r\n if (bulletCount === 0) {\r\n console.warn(\r\n \"GuideStep requires at least one GuideStep.Bullet inside GuideStep.Bullets.\",\r\n );\r\n }\r\n if (figures.length > MAX_STEP_IMAGES) {\r\n console.warn(\r\n `GuideStep.Media supports at most ${MAX_STEP_IMAGES} images; ${figures.length} provided.`,\r\n );\r\n }\r\n }\r\n\r\n return {\r\n figures: figures.slice(0, MAX_STEP_IMAGES),\r\n bullets,\r\n };\r\n}\r\n\r\n/** Slot for up to three `MediaFigure`s — parent renders main image + hover thumbnails. */\r\nfunction GuideStepMedia(_props: { children?: ReactNode }) {\r\n return null;\r\n}\r\n\r\n/** Ordered container for `GuideStep.Bullet`s. */\r\nfunction GuideStepBullets({\r\n children,\r\n className,\r\n}: {\r\n children: ReactNode;\r\n className?: string;\r\n}) {\r\n return (\r\n <ul className={cn(\"flex flex-col gap-2\", className)}>{children}</ul>\r\n );\r\n}\r\n\r\n/** A single instruction line — dot bullets or semantic caution / reminder / note bullets. */\r\nfunction GuideStepBullet({\r\n variant = \"dot\",\r\n color = \"GREY\",\r\n label,\r\n hideLabel = false,\r\n children,\r\n className,\r\n}: GuideStepBulletProps) {\r\n if (variant === \"dot\") {\r\n return (\r\n <li className={cn(\"flex gap-2.5\", className)}>\r\n <span\r\n aria-hidden=\"true\"\r\n className=\"mt-1.5 size-2 shrink-0 rounded-full\"\r\n style={{ backgroundColor: COLORS[color] }}\r\n />\r\n <span className=\"flex-1\">{children}</span>\r\n </li>\r\n );\r\n }\r\n\r\n const resolvedLabel = label ?? bulletVariantLabel[variant];\r\n const icon =\r\n variant === \"caution\" ? (\r\n <CautionIcon />\r\n ) : variant === \"reminder\" ? (\r\n <ReminderIcon />\r\n ) : (\r\n <NoteIcon />\r\n );\r\n\r\n return (\r\n <li\r\n className={cn(\r\n \"flex gap-2.5\",\r\n variant === \"caution\" && \"text-danger\",\r\n className,\r\n )}\r\n >\r\n {icon}\r\n <span className=\"flex-1\">\r\n {!hideLabel && (\r\n <>\r\n <span className=\"font-semibold\">{resolvedLabel}:</span>{\" \"}\r\n </>\r\n )}\r\n {children}\r\n </span>\r\n </li>\r\n );\r\n}\r\n\r\nfunction StepCheck() {\r\n return (\r\n <svg\r\n aria-hidden=\"true\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n strokeWidth={3}\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n className=\"size-4\"\r\n >\r\n <path d=\"m5 12 5 5 9-11\" />\r\n </svg>\r\n );\r\n}\r\n\r\nfunction GuideStepBody({\r\n figures,\r\n bullets,\r\n}: {\r\n figures: ReactElement<MediaFigureProps>[];\r\n bullets: ReactNode;\r\n}) {\r\n const [activeIndex, setActiveIndex] = useState(0);\r\n const active = figures[activeIndex] ?? figures[0];\r\n\r\n return (\r\n <div className=\"grid grid-cols-1 gap-6 sm:grid-cols-2\">\r\n <div className=\"min-w-0\">\r\n {active &&\r\n cloneElement(active, {\r\n className: cn(\"w-full\", active.props.className),\r\n })}\r\n </div>\r\n\r\n <div className=\"flex min-w-0 flex-col gap-4\">\r\n {figures.length > 1 && (\r\n <div\r\n className=\"flex flex-wrap gap-2\"\r\n role=\"group\"\r\n aria-label=\"Step images\"\r\n >\r\n {figures.map((figure, index) => (\r\n <button\r\n key={figure.key ?? figure.props.src ?? index}\r\n type=\"button\"\r\n className={cn(\r\n \"overflow-hidden rounded-md border-2 transition-[box-shadow,opacity,border-color]\",\r\n index === activeIndex\r\n ? \"border-accent shadow-md\"\r\n : \"border-default opacity-80 hover:opacity-100\",\r\n )}\r\n onMouseEnter={() => setActiveIndex(index)}\r\n onFocus={() => setActiveIndex(index)}\r\n aria-label={`Image ${index + 1}`}\r\n aria-pressed={index === activeIndex}\r\n >\r\n <img\r\n src={figure.props.src}\r\n alt=\"\"\r\n className=\"size-16 object-cover sm:size-20\"\r\n />\r\n </button>\r\n ))}\r\n </div>\r\n )}\r\n {bullets}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nfunction GuideStepRoot({\r\n number,\r\n title,\r\n isCompleted,\r\n defaultCompleted = false,\r\n onCompletedChange,\r\n completable = true,\r\n children,\r\n className,\r\n}: GuideStepProps) {\r\n const [completed, setCompleted] = useControlledState(\r\n isCompleted,\r\n defaultCompleted,\r\n onCompletedChange,\r\n );\r\n const titleId = useId();\r\n const { figures, bullets } = extractStepParts(children);\r\n\r\n return (\r\n <section\r\n aria-labelledby={title != null ? titleId : undefined}\r\n data-completed={completed || undefined}\r\n className={cn(\r\n \"flex flex-col gap-4 transition-opacity\",\r\n completed && \"opacity-60\",\r\n className,\r\n )}\r\n >\r\n <header className=\"flex flex-col gap-3 sm:flex-row sm:items-center\">\r\n <div className=\"flex min-w-0 items-center gap-3 sm:flex-1\">\r\n {number != null && (\r\n <span\r\n className={cn(\r\n \"flex size-8 shrink-0 items-center justify-center rounded-md text-sm font-bold tabular-nums\",\r\n completed\r\n ? \"bg-success text-success-foreground\"\r\n : \"bg-foreground text-background\",\r\n )}\r\n >\r\n {completed ? <StepCheck /> : number}\r\n </span>\r\n )}\r\n {title != null && (\r\n <h3\r\n id={titleId}\r\n className=\"min-w-0 flex-1 text-lg font-semibold leading-tight\"\r\n >\r\n {title}\r\n </h3>\r\n )}\r\n </div>\r\n {completable && (\r\n <Button\r\n variant={completed ? \"primary\" : \"secondary\"}\r\n size=\"lg\"\r\n onPress={() => setCompleted(!completed)}\r\n aria-pressed={completed}\r\n className={cn(\r\n \"ml-auto shrink-0\",\r\n completed && \"guide-step-complete-button\",\r\n )}\r\n style={\r\n completed\r\n ? ({\r\n \"--guide-step-complete-bg\": COMPLETE_BUTTON_BG,\r\n \"--guide-step-complete-bg-hover\": COMPLETE_BUTTON_BG_HOVER,\r\n \"--guide-step-complete-checkbox\": COMPLETE_CHECKBOX_GREEN,\r\n } as CSSProperties)\r\n : undefined\r\n }\r\n >\r\n <Checkbox\r\n isSelected={completed}\r\n isReadOnly\r\n aria-hidden\r\n className=\"pointer-events-none gap-2 text-inherit\"\r\n >\r\n <Checkbox.Content className=\"flex items-center gap-2 whitespace-nowrap\">\r\n <Checkbox.Control>\r\n <Checkbox.Indicator />\r\n </Checkbox.Control>\r\n Mark complete\r\n </Checkbox.Content>\r\n </Checkbox>\r\n </Button>\r\n )}\r\n </header>\r\n\r\n <GuideStepBody figures={figures} bullets={bullets} />\r\n </section>\r\n );\r\n}\r\n\r\n/**\r\n * A single numbered guide step: header with number badge and optional completion\r\n * checkbox, plus a two-column body (main image left, thumbnails + bullets right).\r\n * Requires at least one `MediaFigure` in `GuideStep.Media` and one `GuideStep.Bullet`\r\n * in `GuideStep.Bullets`. Up to three images share a hover thumbnail gallery.\r\n */\r\nexport const GuideStep = Object.assign(GuideStepRoot, {\r\n Media: GuideStepMedia,\r\n Bullets: GuideStepBullets,\r\n Bullet: GuideStepBullet,\r\n});\r\n","\"use client\";\r\n\r\nimport {\r\n Children,\r\n cloneElement,\r\n isValidElement,\r\n useEffect,\r\n useState,\r\n type ReactElement,\r\n type ReactNode,\r\n} from \"react\";\r\nimport { Card, ProgressBar, Separator, cn } from \"@heroui/react\";\r\nimport type { GuideStepProps } from \"../GuideStep\";\r\n\r\nexport interface GuideProgress {\r\n completed: number;\r\n total: number;\r\n}\r\n\r\nexport interface GuideStepListProps {\r\n /** `GuideStep` children — numbered automatically in order. */\r\n children: ReactNode;\r\n /** Show the aggregate progress bar. @default true */\r\n showProgress?: boolean;\r\n /** Fires whenever the number of completed steps changes. */\r\n onProgressChange?: (progress: GuideProgress) => void;\r\n className?: string;\r\n}\r\n\r\nfunction isStepElement(node: ReactNode): node is ReactElement<GuideStepProps> {\r\n return isValidElement(node);\r\n}\r\n\r\n/**\r\n * Ordered sequence of `GuideStep`s. Numbers each step in order, owns their\r\n * completion state, and renders a derived progress bar — so a guide author only\r\n * has to drop in steps. Listen to overall progress via `onProgressChange`.\r\n */\r\nexport function GuideStepList({\r\n children,\r\n showProgress = true,\r\n onProgressChange,\r\n className,\r\n}: GuideStepListProps) {\r\n const steps = Children.toArray(children).filter(isStepElement);\r\n const total = steps.length;\r\n\r\n const [completed, setCompleted] = useState<Record<number, boolean>>(() =>\r\n Object.fromEntries(\r\n steps.map((step, index) => {\r\n const number = step.props.number ?? index + 1;\r\n return [\r\n number,\r\n Boolean(step.props.defaultCompleted ?? step.props.isCompleted),\r\n ];\r\n }),\r\n ),\r\n );\r\n\r\n const completedCount = Object.values(completed).filter(Boolean).length;\r\n\r\n useEffect(() => {\r\n onProgressChange?.({ completed: completedCount, total });\r\n }, [completedCount, total, onProgressChange]);\r\n\r\n return (\r\n <div className={cn(\"flex flex-col gap-8\", className)}>\r\n {showProgress && total > 0 && (\r\n <div className=\"sticky top-2 mx-2 z-10\">\r\n <Card className=\"w-full px-6 py-4\">\r\n <ProgressBar\r\n value={completedCount}\r\n maxValue={total}\r\n aria-label=\"Guide progress\"\r\n className=\"flex flex-col gap-1.5\"\r\n >\r\n <div className=\"flex items-center justify-between text-sm text-default-500\">\r\n <span>Guide Progress</span>\r\n <ProgressBar.Output>\r\n {completedCount} / {total} steps\r\n </ProgressBar.Output>\r\n </div>\r\n <ProgressBar.Track className=\"h-2 overflow-hidden rounded-full bg-default-soft\">\r\n <ProgressBar.Fill className=\"h-full rounded-full bg-success transition-[width]\" />\r\n </ProgressBar.Track>\r\n </ProgressBar>\r\n </Card>\r\n </div>\r\n )}\r\n\r\n <ol className=\"flex flex-col\">\r\n {steps.map((step, index) => {\r\n const number = step.props.number ?? index + 1;\r\n return (\r\n <li key={step.key ?? number}>\r\n {cloneElement(step, {\r\n number,\r\n isCompleted: completed[number] ?? false,\r\n onCompletedChange: (value: boolean) => {\r\n setCompleted((prev) => ({ ...prev, [number]: value }));\r\n step.props.onCompletedChange?.(value);\r\n },\r\n })}\r\n {index < steps.length - 1 && <Separator className=\"my-8\" />}\r\n </li>\r\n );\r\n })}\r\n </ol>\r\n </div>\r\n );\r\n}\r\n","import type { ReactNode } from \"react\";\r\nimport { Chip, cn } from \"@heroui/react\";\r\nimport {\r\n DifficultyBadge,\r\n type Difficulty,\r\n} from \"../DifficultyBadge\";\r\n\r\nexport interface GuideLayoutProps {\r\n /** `GuideLayout.Header`, `GuideLayout.Intro`, `GuideLayout.Sidebar`, and `GuideLayout.Content`. */\r\n children: ReactNode;\r\n className?: string;\r\n}\r\n\r\nexport interface GuideLayoutHeaderProps {\r\n /** Guide title. */\r\n title: ReactNode;\r\n /** Difficulty level — rendered as a `DifficultyBadge`. */\r\n difficulty?: Difficulty;\r\n /** Time estimate text, e.g. \"20 – 30 minutes\". */\r\n timeEstimate?: ReactNode;\r\n /** Byline / metadata line (contributors, last updated, …). */\r\n meta?: ReactNode;\r\n className?: string;\r\n}\r\n\r\nexport interface GuideLayoutIntroProps {\r\n /** Introduction / overview copy beside the tools sidebar. */\r\n children: ReactNode;\r\n className?: string;\r\n}\r\n\r\nfunction GuideLayoutHeader({\r\n title,\r\n difficulty,\r\n timeEstimate,\r\n meta,\r\n className,\r\n}: GuideLayoutHeaderProps) {\r\n const hasBadges = difficulty != null || timeEstimate != null;\r\n\r\n return (\r\n <header\r\n className={cn(\r\n \"flex flex-col gap-4 border-b border-default pb-6 md:[grid-area:header]\",\r\n className,\r\n )}\r\n >\r\n <div className=\"flex flex-col gap-1.5\">\r\n <h1 className=\"text-3xl font-bold tracking-tight\">{title}</h1>\r\n {meta != null && (\r\n <div className=\"text-sm text-default-500\">{meta}</div>\r\n )}\r\n </div>\r\n\r\n {hasBadges && (\r\n <div className=\"flex flex-wrap items-center gap-2\">\r\n {difficulty != null && <DifficultyBadge difficulty={difficulty} />}\r\n {timeEstimate != null && (\r\n <Chip variant=\"soft\" color=\"default\">\r\n <Chip.Label>{timeEstimate}</Chip.Label>\r\n </Chip>\r\n )}\r\n </div>\r\n )}\r\n </header>\r\n );\r\n}\r\n\r\n/** Introduction column — sits left of `Sidebar` on desktop. */\r\nfunction GuideLayoutIntro({ children, className }: GuideLayoutIntroProps) {\r\n return (\r\n <div className={cn(\"min-w-0 md:[grid-area:intro]\", className)}>\r\n <div className=\"max-w-prose text-default-700\">{children}</div>\r\n </div>\r\n );\r\n}\r\n\r\n/** \"What you need\" column — sits right of `Intro` on desktop. */\r\nfunction GuideLayoutSidebar({\r\n children,\r\n className,\r\n}: {\r\n children: ReactNode;\r\n className?: string;\r\n}) {\r\n return (\r\n <aside className={cn(\"min-w-0 md:[grid-area:sidebar]\", className)}>\r\n <div className=\"flex flex-col gap-4\">{children}</div>\r\n </aside>\r\n );\r\n}\r\n\r\n/** Full-width main column — typically holds a `GuideStepList`. */\r\nfunction GuideLayoutContent({\r\n children,\r\n className,\r\n}: {\r\n children: ReactNode;\r\n className?: string;\r\n}) {\r\n return (\r\n <main className={cn(\"min-w-0 w-full md:[grid-area:main]\", className)}>\r\n {children}\r\n </main>\r\n );\r\n}\r\n\r\n/**\r\n * Responsive page shell for a guide: a full-width `Header`, an intro row with\r\n * `Intro` (description) beside `Sidebar` (tools/parts), then full-width `Content`\r\n * (steps). On mobile the intro row stacks with intro first, then sidebar.\r\n */\r\nexport const GuideLayout = Object.assign(\r\n function GuideLayoutRoot({ children, className }: GuideLayoutProps) {\r\n return (\r\n <div\r\n className={cn(\r\n \"mx-auto grid w-full max-w-6xl grid-cols-1 gap-x-8 gap-y-8 md:grid-cols-[minmax(0,1fr)_20rem] md:[grid-template-areas:'header_header'_'intro_sidebar'_'main_main']\",\r\n className,\r\n )}\r\n >\r\n {children}\r\n </div>\r\n );\r\n },\r\n {\r\n Header: GuideLayoutHeader,\r\n Intro: GuideLayoutIntro,\r\n Sidebar: GuideLayoutSidebar,\r\n Content: GuideLayoutContent,\r\n },\r\n);\r\n"],"names":["COLORS","hexToRgba","hex","alpha","normalized","r","g","b","markerTextColor","calloutTypeColor","calloutTypeHex","type","calloutTypeLabel","$2add3ce32c6007eb$var$testUserAgent","re","brands","_a","brand","$2add3ce32c6007eb$var$testPlatform","$2add3ce32c6007eb$var$cached","fn","res","$2add3ce32c6007eb$export$9ac100e40613ea10","$2add3ce32c6007eb$export$186c6964ca17d99","$2add3ce32c6007eb$export$7bef049ce92e4224","$2add3ce32c6007eb$export$fedb369cb70207f1","$2add3ce32c6007eb$export$78551043582a6a98","$2add3ce32c6007eb$export$6446a186d09e379e","$2add3ce32c6007eb$export$a11b0059900ceec8","$2add3ce32c6007eb$export$b7d78993b74f766d","$1969ac565cfec8d0$export$de79e2c695e052f3","element","$1969ac565cfec8d0$var$supportsPreventScroll","scrollableElements","$1969ac565cfec8d0$var$getScrollableElements","$1969ac565cfec8d0$var$restoreScrollPosition","$1969ac565cfec8d0$var$supportsPreventScrollCached","parent","rootScrollingElement","scrollTop","scrollLeft","$caaf0dd3060ed57c$var$RouterContext","$epzQQ$createContext","$caaf0dd3060ed57c$var$openSyntheticLink","href","$caaf0dd3060ed57c$export$9a302a45f65d0572","$epzQQ$useContext","$caaf0dd3060ed57c$export$efa8c9099e530235","link","modifiers","target","$caaf0dd3060ed57c$export$95185d699e05d4d7","setOpening","metaKey","ctrlKey","altKey","shiftKey","_b","event","$caaf0dd3060ed57c$var$getSyntheticLink","open","$caaf0dd3060ed57c$export$7e924b3091a3bd18","props","linkProps","key","$caaf0dd3060ed57c$export$13aea1a3cb5e3f1f","router","routerOptions","$c4867b2f328c2698$export$e5c5a5f917a5871c","$3ARPR$react","$c7eafbbe1ea5834e$var$defaultContext","$c7eafbbe1ea5834e$var$SSRContext","$bl59K$react","$c7eafbbe1ea5834e$var$IsSSRContext","$c7eafbbe1ea5834e$var$canUseDOM","$c7eafbbe1ea5834e$var$componentIds","$c7eafbbe1ea5834e$var$useCounter","isDisabled","ctx","$bl59K$useContext","ref","$bl59K$useRef","currentOwner","prevComponentValue","$c7eafbbe1ea5834e$var$useLegacySSRSafeId","defaultId","counter","prefix","$c7eafbbe1ea5834e$var$useModernSSRSafeId","id","didSSR","$bl59K$useState","$c7eafbbe1ea5834e$export$535bd6ca7f90a273","$c7eafbbe1ea5834e$export$619500959fc48b26","$c7eafbbe1ea5834e$var$getSnapshot","$c7eafbbe1ea5834e$var$getServerSnapshot","$c7eafbbe1ea5834e$var$subscribe","onStoreChange","$390e54f620492c70$var$canUseDOM","$390e54f620492c70$export$d41a04c74483c6ef","$390e54f620492c70$var$registry","heldValue","$390e54f620492c70$export$f680877a34711e37","value","setValue","$4QKZm$useState","nextId","$4QKZm$useRef","cleanupRef","cacheIdRef","$4QKZm$useEffect","newId","$390e54f620492c70$export$cd8c9cb68f842629","idA","idB","setIdsA","setIdsB","$a4e76a5424781910$export$e08e3b67e392101e","callbacks","args","callback","$d447af545b77c9f1$export$b204af158042fbac","el","$d447af545b77c9f1$export$f21a1ffae260145a","$d447af545b77c9f1$var$isNode","$d447af545b77c9f1$export$af51f0f06c0f328a","node","$6a20a7989e6c817a$var$_shadowDOM","$6a20a7989e6c817a$export$98658e8c59125e6a","$23f2114a1b82827e$export$4282f70798064fe0","otherNode","$eXv8n$shadowDOM","currentNode","$23f2114a1b82827e$export$cd4e5573fbe2b576","doc","activeElement","$23f2114a1b82827e$export$e58f029f0fbfdb29","$4064df0d6f9620e1$export$c9058316764c140e","refs","hasCleanup","cleanups","cleanup","$4064df0d6f9620e1$var$setRef","i","f","o","clsx","$bbaa08b3cd72f041$export$9d1611c77c2fe928","result","a","$aPpn7$clsx","$8e9d2fae0ecb9001$var$DOMPropNames","$8e9d2fae0ecb9001$var$labelablePropNames","$8e9d2fae0ecb9001$var$linkPropNames","$8e9d2fae0ecb9001$var$globalAttrs","$8e9d2fae0ecb9001$var$globalEvents","$8e9d2fae0ecb9001$var$propRe","$8e9d2fae0ecb9001$export$457c3d6518dd4c6f","opts","labelable","isLink","global","events","propNames","filteredProps","prop","$081cb5757e08788e$var$transitionsByElement","$081cb5757e08788e$var$transitionCallbacks","$081cb5757e08788e$var$setupGlobalEvents","isTransitionEvent","onTransitionStart","e","eventTarget","transitions","onTransitionEnd","properties","cb","$081cb5757e08788e$var$cleanupDetachedElements","$081cb5757e08788e$export$24490316f764c430","$48a7d519b337145d$export$4eaf04e54aa8eed6","globalListeners","$awe0O$useRef","addGlobalListener","$awe0O$useCallback","listener","options","removeGlobalListener","removeAllGlobalListeners","$awe0O$useEffect","$e8ac3c3f5d4bae7f$export$d6875122194c7b44","defaultLabel","label","labelledBy","$03e8ab2d84d7657a$export$4338b53315abf666","objRef","$i6EpZ$useRef","refEffect","$i6EpZ$useCallback","instance","refCallback","refCleanup","$i6EpZ$useMemo","$fe16bffc7a557bf0$var$useEarlyEffect","$emnFQ$react","$fe16bffc7a557bf0$export$7f54fc3180508a52","$emnFQ$useRef","$emnFQ$useCallback","$b7115c395c64f7b5$export$4debdb1a3f0fa79e","context","$b5c62b033c25b96d$export$60278871457622de","$b5c62b033c25b96d$export$29bf1b5f2c56cf63","$3274bf1495747a7b$export$5add1d006293d136","initialValue","onReset","handleReset","$1HUBd$useEffect","form","$ae77152785188400$var$supportsCheckVisibility","$ae77152785188400$var$isStyleVisible","windowObject","display","visibility","isVisible","getComputedStyle","computedDisplay","computedVisibility","$ae77152785188400$var$isAttributeVisible","childElement","$ae77152785188400$export$e989c0fffaa6b27a","$3b8b240c1bf84ab9$var$focusableElements","$3b8b240c1bf84ab9$var$FOCUSABLE_ELEMENT_SELECTOR","$3b8b240c1bf84ab9$export$4c063cf1350e6fed","$3b8b240c1bf84ab9$var$isInert","$2b2d34ff061957fb$var$getWebpackNonce","ownerWindow","$2b2d34ff061957fb$var$nonceCache","$2b2d34ff061957fb$export$2b85b721e524d74b","d","meta","nonce","DOMElement","ElementType","forwardedRef","render","otherProps","elementRef","useRef","useMemo","mergeRefs","useLayoutEffect","domProps","jsx","domComponentCache","dom","_target","elementType","forwardRef","SPACE_REGEX","removeExtraSpaces","str","cx","classnames","classList","buildClassString","input","len","keys","c","falsyToString","isEmptyObject","obj","_","isEqual","obj1","obj2","keys1","keys2","joinObjects","val2","flat","arr","flatMergeArrays","arrays","filtered","mergeObjects","val1","defaultConfig","createState","cachedTwMerge","cachedTwMergeConfig","didTwMergeConfigChange","state","getTailwindVariants","cn","tv","configProp","extend","slotProps","variantsProps","compoundVariantsProps","compoundSlots","defaultVariantsProps","config","base","variants","defaultVariants","isExtendedSlotsEmpty","componentSlots","slots","compoundVariants","component","getVariantValue","variant","vrs","_slotKey","slotProps2","variantObj","variantProp","variantKey","defaultVariantProp","getVariantClassNames","getVariantClassNamesBySlotKey","slotKey","variantValue","propsWithoutUndefined","getCompleteProps","initialProp","getCompoundVariantsValue","cv","cvLength","tvClass","tvClassName","compoundVariantOptions","isValid","completeProps","completePropsValue","getCompoundVariantClassNamesBySlot","compoundClassNames","cnFn","className","slot","getCompoundSlotClassNameBySlot","slots2","slotClass","slotClassName","slotVariants","slotVariantValue","j","slotName","slotsFns","compoundVariantClasses","compoundSlotClasses","getVariantKeys","concatArrays","array1","array2","combinedArray","createClassValidatorObject","classGroupId","validator","createClassPartObject","nextPart","validators","CLASS_PART_SEPARATOR","EMPTY_CONFLICTS","ARBITRARY_PROPERTY_PREFIX","createClassGroupUtils","classMap","createClassMap","conflictingClassGroups","conflictingClassGroupModifiers","getGroupIdForArbitraryProperty","classParts","startIndex","getGroupRecursive","hasPostfixModifier","modifierConflicts","baseConflicts","classPartObject","currentClassPart","nextClassPartObject","classRest","validatorsLength","validatorObj","content","colonIndex","property","theme","classGroups","processClassGroups","group","processClassesRecursively","classGroup","classDefinition","processClassDefinition","processStringDefinition","processFunctionDefinition","processObjectDefinition","classPartObjectToEdit","getPart","isThemeGetter","entries","path","current","parts","part","next","func","createLruCache","maxCacheSize","cacheSize","cache","previousCache","update","IMPORTANT_MODIFIER","MODIFIER_SEPARATOR","EMPTY_MODIFIERS","createResultObject","hasImportantModifier","baseClassName","maybePostfixModifierPosition","isExternal","createParseClassName","experimentalParseClassName","parseClassName","bracketDepth","parenDepth","modifierStart","postfixModifierPosition","index","currentCharacter","baseClassNameWithImportantModifier","fullPrefix","parseClassNameOriginal","createSortModifiers","modifierWeights","mod","currentSegment","modifier","isArbitrary","isOrderSensitive","createConfigUtils","SPLIT_CLASSES_REGEX","mergeClassList","configUtils","getClassGroupId","getConflictingClassGroupIds","sortModifiers","classGroupsInConflict","classNames","originalClassName","variantModifier","modifierId","classId","conflictGroups","twJoin","classLists","argument","resolvedValue","string","toValue","mix","k","createTailwindMerge","createConfigFirst","createConfigRest","cacheGet","cacheSet","functionToCall","initTailwindMerge","previousConfig","createConfigCurrent","tailwindMerge","cachedResult","fallbackThemeArr","fromTheme","themeGetter","arbitraryValueRegex","arbitraryVariableRegex","fractionRegex","tshirtUnitRegex","lengthUnitRegex","colorFunctionRegex","shadowRegex","imageRegex","isFraction","isNumber","isInteger","isPercent","isTshirtSize","isAny","isLengthOnly","isNever","isShadow","isImage","isAnyNonArbitrary","isArbitraryValue","isArbitraryVariable","isArbitrarySize","getIsArbitraryValue","isLabelSize","isArbitraryLength","isLabelLength","isArbitraryNumber","isLabelNumber","isArbitraryPosition","isLabelPosition","isArbitraryImage","isLabelImage","isArbitraryShadow","isLabelShadow","isArbitraryVariableLength","getIsArbitraryVariable","isArbitraryVariableFamilyName","isLabelFamilyName","isArbitraryVariablePosition","isArbitraryVariableSize","isArbitraryVariableImage","isArbitraryVariableShadow","testLabel","testValue","shouldMatchNoLabel","getDefaultConfig","themeColor","themeFont","themeText","themeFontWeight","themeTracking","themeLeading","themeBreakpoint","themeContainer","themeSpacing","themeRadius","themeShadow","themeInsetShadow","themeTextShadow","themeDropShadow","themeBlur","themePerspective","themeAspect","themeEase","themeAnimate","scaleBreak","scalePosition","scalePositionWithArbitrary","scaleOverflow","scaleOverscroll","scaleUnambiguousSpacing","scaleInset","scaleGridTemplateColsRows","scaleGridColRowStartAndEnd","scaleGridColRowStartOrEnd","scaleGridAutoColsRows","scaleAlignPrimaryAxis","scaleAlignSecondaryAxis","scaleMargin","scaleSizing","scaleColor","scaleBgPosition","scaleBgRepeat","scaleBgSize","scaleGradientStopPosition","scaleRadius","scaleBorderWidth","scaleLineStyle","scaleBlendMode","scaleMaskImagePosition","scaleBlur","scaleRotate","scaleScale","scaleSkew","scaleTranslate","mergeConfigs","baseConfig","override","overrideProperty","overrideConfigProperties","mergeConfigProperties","mergeArrayProperties","baseObject","overrideKey","overrideValue","overrideObject","mergeObject","mergeValue","extendTailwindMerge","configExtension","createConfig","twMerge","createTwMerge","executeMerge","cnMerge","alertVariants","buttonVariants","cardVariants","checkboxVariants","chipVariants","linkVariants","progressBarVariants","separatorVariants","$7230ffa83bc0c2cf$export$c62b8e45d58ddad9","$7230ffa83bc0c2cf$export$2881499e37b75b9a","values","children","Context","$ahdqC$react","$7230ffa83bc0c2cf$export$4d86445c2cf5e3","style","defaultClassName","defaultChildren","defaultStyle","$ahdqC$useMemo","computedClassName","computedStyle","computedChildren","$7230ffa83bc0c2cf$export$c245e6201fed2f75","wrap","renderProps","$7230ffa83bc0c2cf$export$fabf2dc03a41866e","$ahdqC$useContext","availableSlots","p","errorMessage","$7230ffa83bc0c2cf$export$29f1550f4b0d4415","contextRef","contextProps","mergedRef","$ahdqC$useObjectRef","$ahdqC$mergeRefs","mergedProps","$ahdqC$mergeProps","contextStyle","$7230ffa83bc0c2cf$export$9d4c57ee4c6ffdd8","initialState","hasSlot","setHasSlot","$ahdqC$useState","hasRun","$ahdqC$useRef","$ahdqC$useCallback","$ahdqC$useLayoutEffect","$7230ffa83bc0c2cf$export$ef03459518577ad4","$7230ffa83bc0c2cf$var$DOMElement","$7230ffa83bc0c2cf$var$domComponentCache","$7230ffa83bc0c2cf$export$df3a06d6289f983e","$ahdqC$forwardRef","child","$d7f64c32b702fe2c$export$94b6d0abf7d33e8c","$iuCOg$createContext","$d7f64c32b702fe2c$export$86427a43e3e48ebb","Wrapper","$iuCOg$useContext","$iuCOg$forwardRef","$43a3b93638fe5db9$export$75b6ee27786ba447","$32wDz$createContext","$0beb20c9744a2065$export$8467354a121f1b9f","ariaLabelledby","ariaLabel","labelElementType","labelId","labelProps","fieldProps","$d805ff57cab8bee2$var$RTL_SCRIPTS","$d805ff57cab8bee2$var$RTL_LANGS","$d805ff57cab8bee2$export$702d680b21cbd764","localeString","locale","textInfo","lang","$520a025cdb0d710d$var$localeSymbol","$520a025cdb0d710d$export$f09106e7c6677ec5","$520a025cdb0d710d$var$currentLocale","$520a025cdb0d710d$var$listeners","$520a025cdb0d710d$var$updateLocale","$520a025cdb0d710d$export$188ec29ebc2bdc3a","isSSR","defaultLocale","setDefaultLocale","$lEF9U$useState","$lEF9U$useEffect","$2eb8e6d23f3d0cb0$var$I18nContext","$01Dwp$react","$2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7","$01Dwp$useContext","$1dfb119a85e764e5$var$formatterCache","$1dfb119a85e764e5$var$supportsSignDisplay","$1dfb119a85e764e5$var$supportsUnit","$1dfb119a85e764e5$var$UNITS","$1dfb119a85e764e5$export$cc77c4ff7e8673c5","$1dfb119a85e764e5$var$getCachedNumberFormatter","$1dfb119a85e764e5$export$711b50b3c525e0f2","unit","unitDisplay","start","end","startParts","endParts","numberingSystem","cacheKey","numberFormatter","numberFormat","signDisplay","num","needsPositiveSign","negative","noSign","minus","$bd90acf18e792be6$export$b7a616150fdb9f44","$gaUhm$useMemo","$gaUhm$NumberFormatter","$240e9101ba2842f5$export$7d15b64cf5a3a4c4","min","max","$723aca2821613fe7$export$ed5abd763a836edc","minValue","maxValue","valueLabel","isIndeterminate","formatOptions","$l5EBy$clamp","percentage","formatter","valueToFormat","$6c0095e7e99364f2$export$e9f3bf65a26ce129","$8MuvO$createContext","$6c0095e7e99364f2$export$c17561cb55d4db30","$8MuvO$forwardRef","$8MuvO$clamp","labelRef","progressBarProps","$8MuvO$useProgressBar","DOMProps","$8MuvO$filterDOMProps","$8MuvO$react","$8MuvO$mergeProps","$a46cf152bb926da5$var$LIVEREGION_TIMEOUT_DELAY","$a46cf152bb926da5$var$liveAnnouncer","$a46cf152bb926da5$export$a9b970dcc4ae71a9","message","assertiveness","timeout","$a46cf152bb926da5$var$LiveAnnouncer","ariaLive","$a92dc41f639950be$export$525bc4921d56d4a","nativeEvent","$a92dc41f639950be$export$c2b7abe5d61ec696","$a92dc41f639950be$export$715c682d09d639cc","onBlur","stateRef","$lIB5W$useRef","$lIB5W$useCallback","onBlurHandler","relatedTargetEl","$a92dc41f639950be$export$fda7da73ab5d4c48","$a92dc41f639950be$export$cabe61c495ee3649","window","isRefocusing","onFocusOut","onFocus","onFocusIn","raf","$8f5a2122b0992be3$var$currentModality","$8f5a2122b0992be3$export$901e90a13c50a14e","$8f5a2122b0992be3$export$d90243b58daecda7","$8f5a2122b0992be3$var$hasEventBeforeFocus","$8f5a2122b0992be3$var$hasBlurredWindowRecently","$8f5a2122b0992be3$var$FOCUS_VISIBLE_INPUT_KEYS","$8f5a2122b0992be3$var$triggerChangeHandlers","modality","handler","$8f5a2122b0992be3$var$isValidKey","$8f5a2122b0992be3$var$handleKeyboardEvent","$8f5a2122b0992be3$var$handlePointerEvent","$8f5a2122b0992be3$var$handleClickEvent","$8f5a2122b0992be3$var$handleFocusEvent","ownerDocument","$8f5a2122b0992be3$var$handleWindowBlur","$8f5a2122b0992be3$var$setupGlobalFocusEvents","documentObject","focus","$8f5a2122b0992be3$var$tearDownWindowFocusTracking","loadListener","$8f5a2122b0992be3$export$2f1888112f558a7d","$8f5a2122b0992be3$export$b9b3dfddab17db27","$8f5a2122b0992be3$export$630ff653c5ada6a9","$8f5a2122b0992be3$export$8397ddfc504fdb9a","$8f5a2122b0992be3$var$nonTextInputTypes","$8f5a2122b0992be3$var$isKeyboardFocusEvent","isTextInput","document1","IHTMLInputElement","IHTMLTextAreaElement","IHTMLElement","IKeyboardEvent","$8f5a2122b0992be3$export$ec71b4b83ac08ec3","deps","$7U4qw$useEffect","$f192c2f16961cbe0$export$80f3e147d781571c","lastFocusedElement","$1e74c67db218ce67$export$f8168d8dd8fd66e6","onFocusProp","onBlurProp","onFocusChange","$3siB1$useCallback","onSyntheticFocus","$8dba16319206abb6$export$48d1ea6320830260","shouldStopPropagation","$8296dad1a4c5e0dc$export$8f71654801c2f7cd","$d1116acdf220c2da$export$f9762fab77588ecb","$fKWKs$react","$d1116acdf220c2da$var$useFocusableContext","$fKWKs$useContext","$d1116acdf220c2da$export$4c014de7c8940b4c","domRef","focusProps","keyboardProps","interactions","interactionProps","autoFocusRef","$fKWKs$useRef","$fKWKs$useEffect","tabIndex","$cbf007e418543821$var$state","$cbf007e418543821$var$savedUserSelect","$cbf007e418543821$var$modifiedElementMap","$cbf007e418543821$export$16a4697467175487","$cbf007e418543821$export$b0d6fa1ab32e3295","targetOldUserSelect","$24f9a20f226ad820$export$5165eccb35aaadb5","$kV9Vy$react","$d27d541f9569d26d$var$usePressResponderContext","$fL2C6$useContext","register","$d27d541f9569d26d$var$PressEvent","pointerType","originalEvent","__privateAdd","_shouldStopPropagation","__privateSet","currentTarget","rect","x","y","clientX","clientY","__privateGet","$d27d541f9569d26d$var$LINK_CLICKED","$d27d541f9569d26d$var$STYLE_ID","$d27d541f9569d26d$var$PRESSABLE_ATTRIBUTE","$d27d541f9569d26d$export$45712eceda6fad21","onPress","onPressChange","onPressStart","onPressEnd","onPressUp","onClick","isPressedProp","preventFocusOnPress","shouldCancelOnPointerExit","allowTextSelectionOnPress","isPressed","setPressed","$fL2C6$useState","$fL2C6$useRef","triggerPressStart","$fL2C6$useCallback","triggerPressEnd","wasPressed","triggerPressEndEvent","triggerPressUp","triggerPressUpEvent","cancel","$d27d541f9569d26d$var$createEvent","dispose","cancelEvent","$fL2C6$useEffect","cancelOnPointerExit","triggerClick","triggerSyntheticClick","pressProps","$fL2C6$useMemo","$d27d541f9569d26d$var$isValidKeyboardEvent","$d27d541f9569d26d$var$shouldPreventDefaultKeyboard","originalTarget","pressUp","onKeyUp","stopPressStart","stopPressUp","stopPressEnd","$d27d541f9569d26d$var$isHTMLAnchorLink","_c","onPointerUp","onPointerCancel","clicked","$fL2C6$flushSync","onMouseUp","touch","$d27d541f9569d26d$var$getTouchFromEvent","$d27d541f9569d26d$var$createTouchEvent","onScroll","$d27d541f9569d26d$var$getTouchById","$d27d541f9569d26d$var$isOverTarget","code","role","$d27d541f9569d26d$var$isValidInputKey","targetTouches","pointerId","changedTouches","$d27d541f9569d26d$var$getPointClientRect","point","offsetX","offsetY","$d27d541f9569d26d$var$areRectanglesOverlapping","pointRect","$d27d541f9569d26d$var$shouldPreventDefaultUp","$d27d541f9569d26d$var$nonTextInputTypes","$ac4318a9c075bb9f$export$ea18c227d4417cc3","allowFocusWhenDisabled","rel","additionalProps","focusableProps","buttonProps","$2c9edc598a03d523$export$420e68273165f4ec","onBlurWithin","onFocusWithin","onFocusWithinChange","$5319z$useRef","$5319z$useCallback","$0c4a58759813079a$export$4e328f61c538687f","autoFocus","within","$3s2y0$useRef","isFocused","setFocused","$3s2y0$useState","isFocusVisibleState","setFocusVisible","updateState","$3s2y0$useCallback","isFocusVisible","focusWithinProps","$e969f22b6713ca4a$var$globalIgnoreEmulatedMouseEvents","$e969f22b6713ca4a$var$hoverCount","$e969f22b6713ca4a$var$setGlobalIgnoreEmulatedMouseEvents","$e969f22b6713ca4a$var$handleGlobalPointerEvent","$e969f22b6713ca4a$var$setupGlobalTouchEvents","$e969f22b6713ca4a$export$ae780daf29e6d456","onHoverStart","onHoverChange","onHoverEnd","isHovered","setHovered","$hZqKM$useState","$hZqKM$useRef","$hZqKM$useEffect","hoverProps","triggerHoverEnd","$hZqKM$useMemo","triggerHoverStart","$7705c033048f6da7$export$24d547caef80ccd1","$9s8kH$createContext","$7705c033048f6da7$export$353f5b6fc5456de1","$9s8kH$createHideableComponent","isPending","$9s8kH$useButton","$7705c033048f6da7$var$useDisableInteractions","$9s8kH$useFocusRing","$9s8kH$useHover","renderValues","buttonId","$9s8kH$useId","progressId","wasPending","$9s8kH$useRef","$9s8kH$useEffect","$9s8kH$announce","$9s8kH$filterDOMProps","$9s8kH$react","$9s8kH$mergeProps","$7705c033048f6da7$var$PRESERVED_EVENT_PATTERN","$3e6197669829fe11$var$useEarlyEffect","$1CcWn$react","$3e6197669829fe11$export$40bfa8c7b0832715","defaultValue","onChange","stateValue","setStateValue","$1CcWn$useState","valueRef","$1CcWn$useRef","isControlledRef","isControlled","$1CcWn$useEffect","wasControlled","currentValue","forceUpdate","$1CcWn$useReducer","$1CcWn$useCallback","newValue","dataAttr","condition","composeTwRenderProps","tailwind","composeRenderProps","tw","composeSlotClassName","slotFn","ExternalLinkIcon","height","width","InfoIcon","WarningIcon","DangerIcon","SuccessIcon","SurfaceContext","createContext","$ea3928288112382f$var$styles","$ea3928288112382f$export$a966af930f325cab","isFocusable","$48drk$useState","val","combinedStyles","$48drk$useMemo","$ea3928288112382f$export$439d29a4e110a164","Element","visuallyHiddenProps","$48drk$react","$6f0c29017aeec335$export$d68d59712b04d9d1","collection","newCollection","filterFn","clone","$6f0c29017aeec335$export$b1918e978f1ee46f","firstKey","lastKey","$6f0c29017aeec335$var$filterChildren","newNode","_$6f0c29017aeec335$export$5ae2504e948afce5","$6f0c29017aeec335$export$5ae2504e948afce5","_$6f0c29017aeec335$export$8258a0665a675899","$6f0c29017aeec335$export$8258a0665a675899","_$6f0c29017aeec335$export$fd11f34e1d07f134","$6f0c29017aeec335$export$fd11f34e1d07f134","_$6f0c29017aeec335$export$437f11dc9b403b78","filteredSection","lastChild","$6f0c29017aeec335$export$437f11dc9b403b78","firstChildKey","firstNode","lastNode","prevKey","React","require$$0","is","objectIs","useState","useEffect","useDebugValue","useSyncExternalStore$2","subscribe","getSnapshot","_useState","inst","checkIfSnapshotChanged","latestGetSnapshot","nextValue","useSyncExternalStore$1","shim","useSyncExternalStoreShim_production","didWarnOld18Alpha","didWarnUncachedGetSnapshot","cachedValue","useSyncExternalStoreShim_development","shimModule","require$$1","$42ceafc619f9c3ba$var$ShallowRenderContext","$kT5Ur$createContext","$42ceafc619f9c3ba$var$useSyncExternalStoreFallback","getServerSnapshot","isSSRRef","$kT5Ur$useRef","getSnapshotWrapper","$kT5Ur$useCallback","$kT5Ur$useSyncExternalStore","$kT5Ur$react","$42ceafc619f9c3ba$var$SSRContext","$42ceafc619f9c3ba$var$createCollectionNodeClass","$42ceafc619f9c3ba$var$useSSRCollectionNode","CollectionNodeClass","rendered","itemRef","parentNode","$kT5Ur$useContext","$42ceafc619f9c3ba$export$18af5c7a9e9b3664","Component","Result","$kT5Ur$forwardRef","$dc321dbb6473ef33$export$52210f68a14655d0","ariaOrientation","$e28ab3efe3e87743$export$6615d83f6de245ce","$adn6H$createContext","_$e28ab3efe3e87743$export$7750289ca694c0b5","$adn6H$CollectionNode","prevItem","$e28ab3efe3e87743$export$7750289ca694c0b5","$e28ab3efe3e87743$export$1ff3c3f08ae963c0","$adn6H$createLeafComponent","orientation","separatorProps","$adn6H$useSeparator","$adn6H$filterDOMProps","$adn6H$react","$adn6H$mergeProps","$efe09c6d1c304b50$export$9afb8bc826b033ea","$cGkLv$createContext","$1f3c3b1a70cec653$export$ff05c3ac10437e03","$QpkXT$createContext","$cdaed739b1139372$export$c24727297075ec6a","$iSTzu$createContext","$860f7da480e22816$export$b8473d3665f3a75a","validationBehavior","$860f7da480e22816$var$getNativeValidity","isIgnoredReset","$axvKP$useRef","onInvalid","$860f7da480e22816$var$getFirstInvalidInput","$axvKP$useEffect","reset","$860f7da480e22816$var$getValidity","validity","$40d752843fab8930$export$dcf14c9974fe2767","interactionHandlers","routerLinkProps","$984a1fc08f87e4f3$export$e2509388b49734e7","$czt8L$createContext","$984a1fc08f87e4f3$export$a6c7ac8248d6e38a","$czt8L$forwardRef","$czt8L$useLink","$czt8L$useHover","$czt8L$useFocusRing","$czt8L$filterDOMProps","$czt8L$react","$czt8L$mergeProps","LinkContext","LinkRoot","React__default","Link","Fragment","LinkIcon","rest","useContext","$fd3c5e01e837dc20$export$8042c6c013fd5226","isReadOnly","isSelected","setSelected","$dAajM$useState","updateSelected","toggleState","ButtonGroupContext","BUTTON_GROUP_CHILD","ButtonRoot","fullWidth","isIconOnly","size","isButtonGroupChild","buttonGroupContext","shouldUseContext","finalSize","finalVariant","finalIsDisabled","finalFullWidth","styles","Button","CardContext","CardRoot","CardHeader","CardTitle","CardDescription","CardContent","CardFooter","Card","$0fffd24394d22962$export$ec98120685d4f57d","$4c14b02d5228be26$export$9d4c57ee4c6ffdd8","$hga0N$useState","$hga0N$useRef","$hga0N$useCallback","$4c14b02d5228be26$export$ed2feabec4a533f4","$fd2148440a13ec26$export$aca958c65c314e6c","$fd2148440a13ec26$var$CUSTOM_VALIDITY_STATE","$fd2148440a13ec26$export$dad6ae84456c676a","$fd2148440a13ec26$export$571b5131b7e65c11","$8AuPP$createContext","$fd2148440a13ec26$export$a763b9476acd3eb","$fd2148440a13ec26$export$fc1a364ae1f3ff10","realtimeValidation","displayValidation","updateValidation","resetValidation","commitValidation","$fd2148440a13ec26$var$useFormValidationStateImpl","isInvalid","validationState","name","builtinValidation","validate","controlledError","clientError","$8AuPP$useMemo","validateErrors","$fd2148440a13ec26$var$runValidate","$fd2148440a13ec26$var$getValidationResult","serverErrors","$8AuPP$useContext","serverErrorMessages","$fd2148440a13ec26$var$asArray","lastServerErrors","setLastServerErrors","$8AuPP$useState","isServerErrorCleared","setServerErrorCleared","serverError","nextValidation","$8AuPP$useRef","currentValidity","setCurrentValidity","lastError","commitQueued","setCommitQueued","error","$fd2148440a13ec26$var$isEqualValidation","$8AuPP$useEffect","v","errors","$876b6f32ca5a04c3$export$cbe85ee05b554577","isRequired","ariaDescribedby","$jQnU8$useFormValidationState","validationErrors","validationDetails","hasChildren","hasAriaLabel","isLabelPressed","setLabelPressed","$jQnU8$useState","$jQnU8$privateValidationStateProp","groupValidationState","descriptionProps","errorMessageProps","$dde212bea465bd23$export$e375f10ce42261c5","inputRef","inputProps","$5eYZN$useEffect","$5eYZN$useMemo","$55cfc34eef47e1ca$export$353b32fc6898d37d","$43eCz$useToggleState","descriptionId","errorMessageId","$43eCz$useFormValidationState","nativeValidation","$43eCz$useRef","$43eCz$DEFAULT_VALIDATION_RESULT","$43eCz$useEffect","combinedRealtimeValidation","$43eCz$privateValidationStateProp","$ed8ccb2e23e76301$export$c32003b803b6c22e","$j1L6B$createContext","$ed8ccb2e23e76301$export$139c5b8563afc1fc","$ed8ccb2e23e76301$var$InternalCheckboxContext","$ed8ccb2e23e76301$export$94195a47b94ed396","$j1L6B$forwardRef","userProvidedInputRef","groupState","$j1L6B$useContext","aria","$ed8ccb2e23e76301$var$useCheckboxAria","$j1L6B$filterDOMProps","$j1L6B$react","$j1L6B$mergeProps","formValidationBehavior","$j1L6B$useObjectRef","$j1L6B$useMemo","$j1L6B$mergeRefs","checkboxProps","$j1L6B$useCheckboxGroupItem","$j1L6B$useCheckbox","$j1L6B$useToggleState","$ed8ccb2e23e76301$export$6e7a18c0548f3129","$j1L6B$useFocusRing","isInteractionDisabled","$j1L6B$useHover","$j1L6B$VisuallyHidden","CheckboxGroupContext","CheckboxContext","CheckboxRoot","checkboxGroupContext","effectiveVariant","CheckboxField","CheckboxContent","CheckboxButton","CheckboxControl","CheckboxIndicator","Checkbox","ChipContext","ChipRoot","color","chipChildren","ChipLabel","Chip","ProgressBarContext","ProgressBarRoot","ProgressBar","ProgressBarOutput","ProgressBarTrack","ProgressBarFill","SeparatorRoot","useSlottedContext","SeparatorContext","resolvedOrientation","Separator","AlertContext","AlertRoot","status","AlertIndicator","getDefaultIcon","AlertContent","AlertTitle","AlertDescription","Alert","difficultyColor","difficultyLabel","GaugeIcon","jsxs","DifficultyBadge","difficulty","showIcon","accent","triangle","circleInfo","circleCheck","calloutTypeGlyph","CalloutTypeIcon","Callout","title","icon","resolvedTitle","DISPLAY_REGION_ASPECT","displayRegionHeight","isValidDisplayRegion","region","sourceWidth","sourceHeight","getDisplayRegionStyles","frameWidth","frameHeight","scale","MediaFigureModel","src","containerRef","container","disposed","resizeObserver","viewer","OV","configureViewer","embeddedViewer","o3dv","boundingSphere","MediaFigureMedia","displayRegion","frameRef","sourceSize","setSourceSize","frameSize","setFrameSize","updateFrameSize","useCallback","frame","observer","cropStyles","useCrop","coverClass","handleImageLoad","img","handleVideoMetadata","video","isCircleAnnotation","annotation","isRectangleAnnotation","renderAnnotation","left","top","MediaFigure","annotations","ToolListItem","thumbnail","quantity","price","ToolListRoot","ToolList","useControlledState","internal","setInternal","MAX_STEP_IMAGES","COMPLETE_BUTTON_BG","COMPLETE_BUTTON_BG_HOVER","COMPLETE_CHECKBOX_GREEN","bulletVariantLabel","CautionIcon","NoteIcon","ReminderIcon","isMediaFigure","isValidElement","isGuideStepBullet","GuideStepBullet","countBullets","bulletsNode","Children","extractStepParts","mediaChildren","bullets","GuideStepMedia","GuideStepBullets","figures","_props","hideLabel","resolvedLabel","StepCheck","GuideStepBody","activeIndex","setActiveIndex","active","cloneElement","figure","GuideStepRoot","number","isCompleted","defaultCompleted","onCompletedChange","completable","completed","setCompleted","titleId","useId","GuideStep","isStepElement","GuideStepList","showProgress","onProgressChange","steps","total","step","completedCount","prev","GuideLayoutHeader","timeEstimate","hasBadges","GuideLayoutIntro","GuideLayoutSidebar","GuideLayoutContent","GuideLayout"],"mappings":"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","x_google_ignoreList":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115]}
|