lizaui 9.0.26 → 9.0.28

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.
Files changed (76) hide show
  1. package/dist/autocomplete/index.cjs.js +14149 -0
  2. package/dist/autocomplete/index.cjs.js.map +1 -0
  3. package/dist/autocomplete/index.es.js +14133 -0
  4. package/dist/autocomplete/index.es.js.map +1 -0
  5. package/dist/autocomplete.d.ts +2 -0
  6. package/dist/calendar/index.cjs.js +1 -1
  7. package/dist/calendar/index.es.js +1 -1
  8. package/dist/chunks/_commonjsHelpers-Bc2YnDe1.js +8 -0
  9. package/dist/chunks/_commonjsHelpers-Bc2YnDe1.js.map +1 -0
  10. package/dist/chunks/_commonjsHelpers-DWwsNxpa.js +9 -0
  11. package/dist/chunks/_commonjsHelpers-DWwsNxpa.js.map +1 -0
  12. package/dist/chunks/{index-BPW1Qzmi.js → createLucideIcon-Bxsl-Fn_.js} +1 -35
  13. package/dist/chunks/createLucideIcon-Bxsl-Fn_.js.map +1 -0
  14. package/dist/chunks/{index-BAHiLt0S.js → createLucideIcon-C5oU6LEj.js} +2 -20
  15. package/dist/chunks/createLucideIcon-C5oU6LEj.js.map +1 -0
  16. package/dist/chunks/index-CADDwL6K.js +38 -0
  17. package/dist/chunks/index-CADDwL6K.js.map +1 -0
  18. package/dist/chunks/index-DBpvJQOe.js +22 -0
  19. package/dist/chunks/index-DBpvJQOe.js.map +1 -0
  20. package/dist/chunks/{scroll-area-B-5YmafW.js → scroll-area-BXuQ5-1d.js} +14 -13
  21. package/dist/chunks/{scroll-area-B-5YmafW.js.map → scroll-area-BXuQ5-1d.js.map} +1 -1
  22. package/dist/chunks/{scroll-area-WNAy-5-i.js → scroll-area-BgNy0fjs.js} +4 -3
  23. package/dist/chunks/{scroll-area-WNAy-5-i.js.map → scroll-area-BgNy0fjs.js.map} +1 -1
  24. package/dist/chunks/{select-CLIZOVIj.js → select-D4EkwXP4.js} +6 -5
  25. package/dist/chunks/select-D4EkwXP4.js.map +1 -0
  26. package/dist/chunks/{select-C9BYUpJm.js → select-Dk9RohWy.js} +6 -5
  27. package/dist/chunks/select-Dk9RohWy.js.map +1 -0
  28. package/dist/chunks/{styled-components.browser.esm-CYnGom5T.js → styled-components.browser.esm-C5L9Ov58.js} +2 -4
  29. package/dist/chunks/{styled-components.browser.esm-CYnGom5T.js.map → styled-components.browser.esm-C5L9Ov58.js.map} +1 -1
  30. package/dist/chunks/{styled-components.browser.esm-CPR7VH_x.js → styled-components.browser.esm-Cg8LpeaI.js} +3 -5
  31. package/dist/chunks/{styled-components.browser.esm-CPR7VH_x.js.map → styled-components.browser.esm-Cg8LpeaI.js.map} +1 -1
  32. package/dist/chunks/{textarea-D2_KC-J4.js → textarea-DXKPcuMi.js} +8 -1
  33. package/dist/chunks/textarea-DXKPcuMi.js.map +1 -0
  34. package/dist/chunks/{textarea-_HQpXiCX.js → textarea-eWxjf4OC.js} +8 -1
  35. package/dist/chunks/textarea-eWxjf4OC.js.map +1 -0
  36. package/dist/components/autocomplete/autocomplete-dropdown.d.ts +3 -0
  37. package/dist/components/autocomplete/autocomplete-dropdown.d.ts.map +1 -0
  38. package/dist/components/autocomplete/autocomplete-option-item.d.ts +18 -0
  39. package/dist/components/autocomplete/autocomplete-option-item.d.ts.map +1 -0
  40. package/dist/components/autocomplete/autocomplete-option-list.d.ts +4 -0
  41. package/dist/components/autocomplete/autocomplete-option-list.d.ts.map +1 -0
  42. package/dist/components/autocomplete/autocomplete-types.d.ts +97 -0
  43. package/dist/components/autocomplete/autocomplete-types.d.ts.map +1 -0
  44. package/dist/components/autocomplete/autocomplete-utils.d.ts +19 -0
  45. package/dist/components/autocomplete/autocomplete-utils.d.ts.map +1 -0
  46. package/dist/components/autocomplete/index.d.ts +5 -0
  47. package/dist/components/autocomplete/index.d.ts.map +1 -0
  48. package/dist/components/autocomplete/input-autocomplete-form.d.ts +3 -0
  49. package/dist/components/autocomplete/input-autocomplete-form.d.ts.map +1 -0
  50. package/dist/components/autocomplete/use-autocomplete-dropdown.d.ts +9 -0
  51. package/dist/components/autocomplete/use-autocomplete-dropdown.d.ts.map +1 -0
  52. package/dist/components/autocomplete/use-key-press.d.ts +6 -0
  53. package/dist/components/autocomplete/use-key-press.d.ts.map +1 -0
  54. package/dist/components/button/use-button.d.ts +46 -46
  55. package/dist/components/chip/use-chip.d.ts +50 -50
  56. package/dist/components/ui/input.d.ts +6 -0
  57. package/dist/components/ui/input.d.ts.map +1 -1
  58. package/dist/pagination/index.cjs.js +2 -2
  59. package/dist/pagination/index.es.js +2 -2
  60. package/dist/phone-input/index.cjs.js +3 -3
  61. package/dist/phone-input/index.es.js +3 -3
  62. package/dist/time-input/index.cjs.js +2 -2
  63. package/dist/time-input/index.es.js +2 -2
  64. package/dist/types/icon.type.d.ts +7 -1
  65. package/dist/types/icon.type.d.ts.map +1 -1
  66. package/dist/ui/index.cjs.js +20 -19
  67. package/dist/ui/index.cjs.js.map +1 -1
  68. package/dist/ui/index.es.js +23 -22
  69. package/dist/ui/index.es.js.map +1 -1
  70. package/package.json +7 -1
  71. package/dist/chunks/index-BAHiLt0S.js.map +0 -1
  72. package/dist/chunks/index-BPW1Qzmi.js.map +0 -1
  73. package/dist/chunks/select-C9BYUpJm.js.map +0 -1
  74. package/dist/chunks/select-CLIZOVIj.js.map +0 -1
  75. package/dist/chunks/textarea-D2_KC-J4.js.map +0 -1
  76. package/dist/chunks/textarea-_HQpXiCX.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["../chunks/variants-CrIs_I54.js","../chunks/tv-B0li4IsO.js","../chunks/index-CEKmKomA.js","../chunks/utils-H80jjgLf.js","../chunks/pattern-CWRl6jXR.js","../chunks/assertion-LpGn6Vzq.js","../chunks/label-error-BTCuInp7.js","../chunks/index-B4RTH1-D.js","../chunks/refs-BU_puN47.js","../chunks/classes-D2Fdo0zM.js","../chunks/ripple-CYv_cXE4.js","../chunks/button-B0fpJrMg.js","../chunks/textarea-_HQpXiCX.js","../chunks/createLucideIcon-C5oU6LEj.js","../chunks/index-DBpvJQOe.js","../chunks/floating-ui.dom-DRSBqyFN.js","../chunks/floating-ui.react-dom-BUZLdP4-.js","../chunks/select-BVS-SGsI.js","../chunks/scroll-area-DAQUXpBS.js","../ui/index.es.js","../../src/components/autocomplete/autocomplete-option-item.tsx","../../src/components/autocomplete/use-key-press.ts","../../src/components/autocomplete/autocomplete-option-list.tsx","../../src/components/autocomplete/autocomplete-utils.ts","../../src/components/autocomplete/autocomplete-dropdown.tsx","../../node_modules/.pnpm/lucide-react@0.544.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/refresh-cw.js","../../node_modules/.pnpm/lodash.debounce@4.0.8/node_modules/lodash.debounce/index.js","../../node_modules/.pnpm/usehooks-ts@3.1.1_react@19.2.0/node_modules/usehooks-ts/dist/index.js","../../src/components/autocomplete/use-autocomplete-dropdown.ts","../../src/components/autocomplete/input-autocomplete-form.tsx"],"sourcesContent":["const solid = {\n default: \"bg-default text-default-foreground\",\n primary: \"bg-primary text-primary-foreground\",\n secondary: \"bg-secondary text-secondary-foreground\",\n success: \"bg-success text-success-foreground\",\n warning: \"bg-warning text-warning-foreground\",\n danger: \"bg-danger text-danger-foreground\"\n};\nconst shadow = {\n default: \"shadow-lg shadow-default/50 bg-default text-default-foreground\",\n primary: \"shadow-lg shadow-primary/40 bg-primary text-primary-foreground\",\n secondary: \"shadow-lg shadow-secondary/40 bg-secondary text-secondary-foreground\",\n success: \"shadow-lg shadow-success/40 bg-success text-success-foreground\",\n warning: \"shadow-lg shadow-warning/40 bg-warning text-warning-foreground\",\n danger: \"shadow-lg shadow-danger/40 bg-danger text-danger-foreground\"\n};\nconst bordered = {\n default: \"bg-transparent border-default text-foreground\",\n primary: \"bg-transparent border-primary text-primary\",\n secondary: \"bg-transparent border-secondary text-secondary\",\n success: \"bg-transparent border-success text-success\",\n warning: \"bg-transparent border-warning text-warning\",\n danger: \"bg-transparent border-danger text-danger\"\n};\nconst flat = {\n default: \"bg-default/40 text-default-700\",\n primary: \"bg-primary/20 text-primary-600\",\n secondary: \"bg-secondary/20 text-secondary-600\",\n success: \"bg-success/20 text-success-700 dark:text-success\",\n warning: \"bg-warning/20 text-warning-700 dark:text-warning\",\n danger: \"bg-danger/20 text-danger-600 dark:text-danger-500\"\n};\nconst faded = {\n default: \"border-default bg-default-100 text-default-foreground\",\n primary: \"border-default bg-default-100 text-primary\",\n secondary: \"border-default bg-default-100 text-secondary\",\n success: \"border-default bg-default-100 text-success\",\n warning: \"border-default bg-default-100 text-warning\",\n danger: \"border-default bg-default-100 text-danger\"\n};\nconst light = {\n default: \"bg-transparent text-default-foreground\",\n primary: \"bg-transparent text-primary\",\n secondary: \"bg-transparent text-secondary\",\n success: \"bg-transparent text-success\",\n warning: \"bg-transparent text-warning\",\n danger: \"bg-transparent text-danger\"\n};\nconst ghost = {\n default: \"border-default text-default-foreground\",\n primary: \"border-primary text-primary\",\n secondary: \"border-secondary text-secondary\",\n success: \"border-success text-success\",\n warning: \"border-warning text-warning\",\n danger: \"border-danger text-danger\"\n};\nconst colorVariants = {\n solid,\n shadow,\n bordered,\n flat,\n faded,\n light,\n ghost\n};\nexport {\n colorVariants as c\n};\n//# sourceMappingURL=variants-CrIs_I54.js.map\n","import { tv as tv$1 } from \"tailwind-variants\";\nconst COMMON_UNITS = [\"small\", \"medium\", \"large\"];\nconst twMergeConfig = {\n theme: {\n opacity: [\"disabled\"],\n spacing: [\"divider\"],\n borderWidth: COMMON_UNITS,\n borderRadius: COMMON_UNITS\n },\n classGroups: {\n \"shadow\": [{ shadow: COMMON_UNITS }],\n \"font-size\": [{ text: [\"tiny\", ...COMMON_UNITS] }],\n \"bg-image\": [\n \"bg-stripe-gradient-default\",\n \"bg-stripe-gradient-primary\",\n \"bg-stripe-gradient-secondary\",\n \"bg-stripe-gradient-success\",\n \"bg-stripe-gradient-warning\",\n \"bg-stripe-gradient-danger\"\n ]\n }\n};\nconst tv = (options, config) => tv$1(options, {\n ...config,\n twMerge: true,\n twMergeConfig: {\n ...config?.twMergeConfig,\n theme: {\n ...config?.twMergeConfig?.theme,\n ...twMergeConfig.theme\n },\n classGroups: {\n ...config?.twMergeConfig?.classGroups,\n ...twMergeConfig.classGroups\n }\n }\n});\nexport {\n tv as t\n};\n//# sourceMappingURL=tv-B0li4IsO.js.map\n","import { clsx } from \"clsx\";\nconst falsyToString = (value) => typeof value === \"boolean\" ? `${value}` : value === 0 ? \"0\" : value;\nconst cx = clsx;\nconst cva = (base, config) => (props) => {\n var _config_compoundVariants;\n if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n const { variants, defaultVariants } = config;\n const getVariantClassNames = Object.keys(variants).map((variant) => {\n const variantProp = props === null || props === void 0 ? void 0 : props[variant];\n const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];\n if (variantProp === null) return null;\n const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);\n return variants[variant][variantKey];\n });\n const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param) => {\n let [key, value] = param;\n if (value === void 0) {\n return acc;\n }\n acc[key] = value;\n return acc;\n }, {});\n const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param) => {\n let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;\n return Object.entries(compoundVariantOptions).every((param2) => {\n let [key, value] = param2;\n return Array.isArray(value) ? value.includes({\n ...defaultVariants,\n ...propsWithoutUndefined\n }[key]) : {\n ...defaultVariants,\n ...propsWithoutUndefined\n }[key] === value;\n }) ? [\n ...acc,\n cvClass,\n cvClassName\n ] : acc;\n }, []);\n return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n};\nexport {\n cva as c\n};\n//# sourceMappingURL=index-CEKmKomA.js.map\n","import { clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\nfunction cn(...inputs) {\n return twMerge(clsx(inputs));\n}\nexport {\n cn as c\n};\n//# sourceMappingURL=utils-H80jjgLf.js.map\n","const FC_PatternNumber = (value) => {\n return /^(\\d+)?$/.test(value);\n};\nconst FC_PatternAlphabetic = (value) => {\n return /^[a-zA-ZñÑáéíóúÁÉÍÓÚ\\s]*$/.test(value);\n};\nconst FC_PatternDecimal = (value) => {\n return /^\\d*\\.?\\d*$/.test(value);\n};\nconst FC_PatternAlphaNumeric = (value) => {\n return /^[a-zA-Z0-9\\s]*$/.test(value);\n};\nconst FC_PatternNumberSpace = (value) => {\n return /^[0-9\\s]*$/.test(value);\n};\nconst FC_PatternNumberDot = (value) => {\n return /^[\\d,]+$/.test(value);\n};\nconst validatePatternInput = (patternInput, value) => {\n if (patternInput === \"number\") return FC_PatternNumber(value);\n else if (patternInput === \"decimal\") return FC_PatternDecimal(value);\n else if (patternInput === \"alphabetic\") return FC_PatternAlphabetic(value);\n else if (patternInput === \"alpha-numeric\")\n return FC_PatternAlphaNumeric(value);\n else if (patternInput === \"numeric-space\")\n return FC_PatternNumberSpace(value);\n else if (patternInput === \"numeric-comma\") return FC_PatternNumberDot(value);\n return true;\n};\nexport {\n validatePatternInput as v\n};\n//# sourceMappingURL=pattern-CWRl6jXR.js.map\n","process.env.NODE_ENV !== \"production\";\nprocess.env.NODE_ENV === \"test\";\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\nconst dataAttr = (condition) => condition ? \"true\" : void 0;\nexport {\n dataAttr as d,\n isFunction as i\n};\n//# sourceMappingURL=assertion-LpGn6Vzq.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport { twMerge } from \"tailwind-merge\";\nconst LabelError = ({ text, className }) => {\n const classLabel = twMerge(\"text-danger font-normal text-xs mt-1 leading-none\", className);\n return /* @__PURE__ */ jsx(\"span\", { className: classLabel, children: text });\n};\nexport {\n LabelError as L\n};\n//# sourceMappingURL=label-error-BTCuInp7.js.map\n","import * as React from \"react\";\nimport { jsx, Fragment } from \"react/jsx-runtime\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as S,\n composeRefs as a,\n createSlottable as b,\n createSlot as c,\n useComposedRefs as u\n};\n//# sourceMappingURL=index-B4RTH1-D.js.map\n","import { useRef, useImperativeHandle } from \"react\";\nimport { i as isFunction } from \"./assertion-LpGn6Vzq.js\";\nfunction assignRef(ref, value) {\n if (ref == null) return;\n if (isFunction(ref)) {\n ref(value);\n return;\n }\n try {\n ref.current = value;\n } catch (error) {\n throw new Error(`Cannot assign value '${value}' to ref '${ref}'`);\n }\n}\nfunction mergeRefs(...refs) {\n return (node) => {\n refs.forEach((ref) => assignRef(ref, node));\n };\n}\nfunction useDOMRef(ref) {\n const domRef = useRef(null);\n useImperativeHandle(ref, () => domRef.current);\n return domRef;\n}\nexport {\n mergeRefs as m,\n useDOMRef as u\n};\n//# sourceMappingURL=refs-BU_puN47.js.map\n","const dataFocusVisibleClasses = [\n \"outline-none\",\n \"data-[focus-visible=true]:z-10\",\n \"data-[focus-visible=true]:outline-2\",\n \"data-[focus-visible=true]:outline-focus\",\n \"data-[focus-visible=true]:outline-offset-2\"\n];\nconst groupDataFocusVisibleClasses = [\n \"outline-none\",\n \"group-data-[focus-visible=true]:z-10\",\n \"group-data-[focus-visible=true]:ring-2\",\n \"group-data-[focus-visible=true]:ring-focus\",\n \"group-data-[focus-visible=true]:ring-offset-2\",\n \"group-data-[focus-visible=true]:ring-offset-background\"\n];\nconst ringClasses = [\"outline-none\", \"ring-2\", \"ring-focus\", \"ring-offset-2\", \"ring-offset-background\"];\nconst collapseAdjacentVariantBorders = {\n default: [\"[&+.border-medium.border-default]:ms-[calc(theme(borderWidth.medium)*-1)]\"],\n primary: [\"[&+.border-medium.border-primary]:ms-[calc(theme(borderWidth.medium)*-1)]\"],\n secondary: [\"[&+.border-medium.border-secondary]:ms-[calc(theme(borderWidth.medium)*-1)]\"],\n success: [\"[&+.border-medium.border-success]:ms-[calc(theme(borderWidth.medium)*-1)]\"],\n warning: [\"[&+.border-medium.border-warning]:ms-[calc(theme(borderWidth.medium)*-1)]\"],\n danger: [\"[&+.border-medium.border-danger]:ms-[calc(theme(borderWidth.medium)*-1)]\"]\n};\nconst hiddenInputClasses = [\n // Font styles\n \"font-inherit\",\n \"text-[100%]\",\n \"leading-[1.15]\",\n // Reset margins and padding\n \"m-0\",\n \"p-0\",\n // Overflow and box-sizing\n \"overflow-visible\",\n \"box-border\",\n // Positioning & Hit area\n \"absolute\",\n \"top-0\",\n \"w-full\",\n \"h-full\",\n // Opacity and z-index\n \"opacity-[0.0001]\",\n \"z-[1]\",\n // Cursor\n \"cursor-pointer\",\n // Disabled state\n \"disabled:cursor-default\"\n];\nexport {\n collapseAdjacentVariantBorders as c,\n dataFocusVisibleClasses as d,\n groupDataFocusVisibleClasses as g,\n hiddenInputClasses as h,\n ringClasses as r\n};\n//# sourceMappingURL=classes-D2Fdo0zM.js.map\n","import \"./assertion-LpGn6Vzq.js\";\nimport { useState, useCallback } from \"react\";\nimport { jsx, Fragment } from \"react/jsx-runtime\";\nimport { LazyMotion, domAnimation, AnimatePresence, m } from \"framer-motion\";\nfunction clamp(value, min, max) {\n return Math.min(Math.max(value, min), max);\n}\nfunction getUniqueID(prefix) {\n return `${prefix}-${Math.floor(Math.random() * 1e6)}`;\n}\nfunction useRipple(props = {}) {\n const [ripples, setRipples] = useState([]);\n const onPress = useCallback((event) => {\n const trigger = event.target;\n const size = Math.max(trigger.clientWidth, trigger.clientHeight);\n setRipples((prevRipples) => [\n ...prevRipples,\n {\n key: getUniqueID(prevRipples.length.toString()),\n size,\n x: event.x - size / 2,\n y: event.y - size / 2\n }\n ]);\n }, []);\n const onClear = useCallback((key) => {\n setRipples((prevState) => prevState.filter((ripple) => ripple.key !== key));\n }, []);\n return { ripples, onClear, onPress, ...props };\n}\nconst Ripple = (props) => {\n const { ripples = [], motionProps, color = \"currentColor\", style, onClear } = props;\n return /* @__PURE__ */ jsx(Fragment, { children: ripples.map((ripple) => {\n const duration = clamp(0.01 * ripple.size, 0.2, ripple.size > 100 ? 0.75 : 0.5);\n return /* @__PURE__ */ jsx(LazyMotion, { features: domAnimation, children: /* @__PURE__ */ jsx(AnimatePresence, { mode: \"popLayout\", children: /* @__PURE__ */ jsx(\n m.span,\n {\n animate: { transform: \"scale(2)\", opacity: 0 },\n className: \"ripple-item-span\",\n exit: { opacity: 0 },\n initial: { transform: \"scale(0)\", opacity: 0.35 },\n style: {\n position: \"absolute\",\n backgroundColor: color,\n borderRadius: \"100%\",\n transformOrigin: \"center\",\n pointerEvents: \"none\",\n overflow: \"hidden\",\n inset: 0,\n zIndex: 0,\n top: ripple.y,\n left: ripple.x,\n width: `${ripple.size}px`,\n height: `${ripple.size}px`,\n ...style\n },\n transition: { duration },\n onAnimationComplete: () => {\n onClear(ripple.key);\n },\n ...motionProps\n }\n ) }) }, ripple.key);\n }) });\n};\nRipple.displayName = \"LizaUI.Ripple\";\nexport {\n Ripple as R,\n useRipple as u\n};\n//# sourceMappingURL=ripple-CYv_cXE4.js.map\n","import { jsx, jsxs } from \"react/jsx-runtime\";\nimport { useId, useMemo, useCallback, cloneElement, isValidElement, forwardRef } from \"react\";\nimport { d as dataAttr } from \"./assertion-LpGn6Vzq.js\";\nimport { u as useDOMRef } from \"./refs-BU_puN47.js\";\nimport { t as tv } from \"./tv-B0li4IsO.js\";\nimport { c as collapseAdjacentVariantBorders, d as dataFocusVisibleClasses } from \"./classes-D2Fdo0zM.js\";\nimport { c as colorVariants } from \"./variants-CrIs_I54.js\";\nimport clsx from \"clsx\";\nimport { S as Slot } from \"./index-B4RTH1-D.js\";\nimport { u as useRipple, R as Ripple } from \"./ripple-CYv_cXE4.js\";\nconst button = tv({\n base: [\n \"z-0\",\n \"cursor-pointer\",\n \"group\",\n \"relative\",\n \"inline-flex\",\n \"items-center\",\n \"justify-center\",\n \"box-border\",\n \"appearance-none\",\n \"outline-none\",\n \"select-none\",\n \"whitespace-nowrap\",\n \"min-w-max\",\n \"font-medium\",\n \"subpixel-antialiased\",\n \"overflow-hidden\",\n \"tap-highlight-transparent\",\n \"transform-gpu data-[pressed=true]:scale-[0.97]\",\n // focus ring\n ...dataFocusVisibleClasses\n ],\n variants: {\n variant: {\n solid: \"\",\n bordered: \"border-[2px] bg-transparent\",\n light: \"bg-transparent\",\n flat: \"\",\n faded: \"border-[2px]\",\n shadow: \"\",\n ghost: \"border-[2px] bg-transparent\"\n },\n size: {\n sm: \"px-3 min-w-16 h-8 text-tiny gap-2 rounded-sm\",\n md: \"px-4 min-w-20 h-10 text-sm gap-2 rounded-md\",\n lg: \"px-6 min-w-24 h-12 text-md gap-3 rounded-lg\"\n },\n color: {\n default: \"\",\n primary: \"\",\n secondary: \"\",\n success: \"\",\n warning: \"\",\n danger: \"\"\n },\n radius: {\n none: \"rounded-none\",\n sm: \"rounded-sm\",\n md: \"rounded-md\",\n lg: \"rounded-lg\",\n full: \"rounded-full\"\n },\n fullWidth: {\n true: \"w-full\"\n },\n isDisabled: {\n true: \"opacity-80 pointer-events-none\"\n },\n isInGroup: {\n true: \"[&:not(:first-child):not(:last-child)]:rounded-none\"\n },\n isIconOnly: {\n true: \"px-0 !gap-0\",\n false: \"[&>svg]:max-w-[theme(spacing.8)]\"\n },\n disableAnimation: {\n true: \"!transition-none data-[pressed=true]:scale-100\",\n false: \"transition-transform-colors-opacity motion-reduce:transition-none\"\n }\n },\n defaultVariants: {\n size: \"md\",\n variant: \"solid\",\n color: \"default\",\n fullWidth: false,\n isDisabled: false,\n isInGroup: false\n },\n compoundVariants: [\n // solid / color\n {\n variant: \"solid\",\n color: \"default\",\n class: colorVariants.solid.default\n },\n {\n variant: \"solid\",\n color: \"primary\",\n class: colorVariants.solid.primary\n },\n {\n variant: \"solid\",\n color: \"secondary\",\n class: colorVariants.solid.secondary\n },\n {\n variant: \"solid\",\n color: \"success\",\n class: colorVariants.solid.success\n },\n {\n variant: \"solid\",\n color: \"warning\",\n class: colorVariants.solid.warning\n },\n {\n variant: \"solid\",\n color: \"danger\",\n class: colorVariants.solid.danger\n },\n // shadow / color\n {\n variant: \"shadow\",\n color: \"default\",\n class: colorVariants.shadow.default\n },\n {\n variant: \"shadow\",\n color: \"primary\",\n class: colorVariants.shadow.primary\n },\n {\n variant: \"shadow\",\n color: \"secondary\",\n class: colorVariants.shadow.secondary\n },\n {\n variant: \"shadow\",\n color: \"success\",\n class: colorVariants.shadow.success\n },\n {\n variant: \"shadow\",\n color: \"warning\",\n class: colorVariants.shadow.warning\n },\n {\n variant: \"shadow\",\n color: \"danger\",\n class: colorVariants.shadow.danger\n },\n // bordered / color\n {\n variant: \"bordered\",\n color: \"default\",\n class: colorVariants.bordered.default\n },\n {\n variant: \"bordered\",\n color: \"primary\",\n class: colorVariants.bordered.primary\n },\n {\n variant: \"bordered\",\n color: \"secondary\",\n class: colorVariants.bordered.secondary\n },\n {\n variant: \"bordered\",\n color: \"success\",\n class: colorVariants.bordered.success\n },\n {\n variant: \"bordered\",\n color: \"warning\",\n class: colorVariants.bordered.warning\n },\n {\n variant: \"bordered\",\n color: \"danger\",\n class: colorVariants.bordered.danger\n },\n // flat / color\n {\n variant: \"flat\",\n color: \"default\",\n class: colorVariants.flat.default\n },\n {\n variant: \"flat\",\n color: \"primary\",\n class: colorVariants.flat.primary\n },\n {\n variant: \"flat\",\n color: \"secondary\",\n class: colorVariants.flat.secondary\n },\n {\n variant: \"flat\",\n color: \"success\",\n class: colorVariants.flat.success\n },\n {\n variant: \"flat\",\n color: \"warning\",\n class: colorVariants.flat.warning\n },\n {\n variant: \"flat\",\n color: \"danger\",\n class: colorVariants.flat.danger\n },\n // faded / color\n {\n variant: \"faded\",\n color: \"default\",\n class: colorVariants.faded.default\n },\n {\n variant: \"faded\",\n color: \"primary\",\n class: colorVariants.faded.primary\n },\n {\n variant: \"faded\",\n color: \"secondary\",\n class: colorVariants.faded.secondary\n },\n {\n variant: \"faded\",\n color: \"success\",\n class: colorVariants.faded.success\n },\n {\n variant: \"faded\",\n color: \"warning\",\n class: colorVariants.faded.warning\n },\n {\n variant: \"faded\",\n color: \"danger\",\n class: colorVariants.faded.danger\n },\n // light / color\n {\n variant: \"light\",\n color: \"default\",\n class: [colorVariants.light.default, \"data-[hover=true]:bg-default/40\"]\n },\n {\n variant: \"light\",\n color: \"primary\",\n class: [colorVariants.light.primary, \"data-[hover=true]:bg-primary/20\"]\n },\n {\n variant: \"light\",\n color: \"secondary\",\n class: [colorVariants.light.secondary, \"data-[hover=true]:bg-secondary/20\"]\n },\n {\n variant: \"light\",\n color: \"success\",\n class: [colorVariants.light.success, \"data-[hover=true]:bg-success/20\"]\n },\n {\n variant: \"light\",\n color: \"warning\",\n class: [colorVariants.light.warning, \"data-[hover=true]:bg-warning/20\"]\n },\n {\n variant: \"light\",\n color: \"danger\",\n class: [colorVariants.light.danger, \"data-[hover=true]:bg-danger/20\"]\n },\n // ghost / color\n {\n variant: \"ghost\",\n color: \"default\",\n class: [colorVariants.ghost.default, \"data-[hover=true]:!bg-default\"]\n },\n {\n variant: \"ghost\",\n color: \"primary\",\n class: [colorVariants.ghost.primary, \"data-[hover=true]:!bg-primary data-[hover=true]:!text-primary-foreground\"]\n },\n {\n variant: \"ghost\",\n color: \"secondary\",\n class: [colorVariants.ghost.secondary, \"data-[hover=true]:!bg-secondary data-[hover=true]:!text-secondary-foreground\"]\n },\n {\n variant: \"ghost\",\n color: \"success\",\n class: [colorVariants.ghost.success, \"data-[hover=true]:!bg-success data-[hover=true]:!text-success-foreground\"]\n },\n {\n variant: \"ghost\",\n color: \"warning\",\n class: [colorVariants.ghost.warning, \"data-[hover=true]:!bg-warning data-[hover=true]:!text-warning-foreground\"]\n },\n {\n variant: \"ghost\",\n color: \"danger\",\n class: [colorVariants.ghost.danger, \"data-[hover=true]:!bg-danger data-[hover=true]:!text-danger-foreground\"]\n },\n // isInGroup / radius / size <-- radius not provided\n {\n isInGroup: true,\n class: \"rounded-none first:rounded-s-medium last:rounded-e-medium\"\n },\n {\n isInGroup: true,\n size: \"sm\",\n class: \"rounded-none first:rounded-s-small last:rounded-e-small\"\n },\n {\n isInGroup: true,\n size: \"md\",\n class: \"rounded-none first:rounded-s-medium last:rounded-e-medium\"\n },\n {\n isInGroup: true,\n size: \"lg\",\n class: \"rounded-none first:rounded-s-large last:rounded-e-large\"\n },\n {\n isInGroup: true,\n isRounded: true,\n class: \"rounded-none first:rounded-s-full last:rounded-e-full\"\n },\n // isInGroup / radius <-- radius provided\n {\n isInGroup: true,\n radius: \"none\",\n class: \"rounded-none first:rounded-s-none last:rounded-e-none\"\n },\n {\n isInGroup: true,\n radius: \"sm\",\n class: \"rounded-none first:rounded-s-small last:rounded-e-small\"\n },\n {\n isInGroup: true,\n radius: \"md\",\n class: \"rounded-none first:rounded-s-medium last:rounded-e-medium\"\n },\n {\n isInGroup: true,\n radius: \"lg\",\n class: \"rounded-none first:rounded-s-large last:rounded-e-large\"\n },\n {\n isInGroup: true,\n radius: \"full\",\n class: \"rounded-none first:rounded-s-full last:rounded-e-full\"\n },\n // isInGroup / bordered / ghost\n {\n isInGroup: true,\n variant: [\"ghost\", \"bordered\"],\n color: \"default\",\n className: collapseAdjacentVariantBorders.default\n },\n {\n isInGroup: true,\n variant: [\"ghost\", \"bordered\"],\n color: \"primary\",\n className: collapseAdjacentVariantBorders.primary\n },\n {\n isInGroup: true,\n variant: [\"ghost\", \"bordered\"],\n color: \"secondary\",\n className: collapseAdjacentVariantBorders.secondary\n },\n {\n isInGroup: true,\n variant: [\"ghost\", \"bordered\"],\n color: \"success\",\n className: collapseAdjacentVariantBorders.success\n },\n {\n isInGroup: true,\n variant: [\"ghost\", \"bordered\"],\n color: \"warning\",\n className: collapseAdjacentVariantBorders.warning\n },\n {\n isInGroup: true,\n variant: [\"ghost\", \"bordered\"],\n color: \"danger\",\n className: collapseAdjacentVariantBorders.danger\n },\n {\n isIconOnly: true,\n size: \"sm\",\n class: \"min-w-8 w-8 h-8\"\n },\n {\n isIconOnly: true,\n size: \"md\",\n class: \"min-w-10 w-10 h-10\"\n },\n {\n isIconOnly: true,\n size: \"lg\",\n class: \"min-w-12 w-12 h-12\"\n },\n // variant / hover\n {\n variant: [\"solid\", \"faded\", \"flat\", \"bordered\", \"shadow\"],\n class: \"hover:opacity-80\"\n }\n ]\n});\nfunction useButton(props) {\n const {\n id,\n classNames,\n className,\n asChild,\n children,\n isLoading = false,\n disabled = false,\n isIconOnly = false,\n onClick,\n startContent: startContentProp,\n endContent: endContentProp,\n spinner = null,\n spinnerPlacement = \"start\",\n type = \"button\",\n ...rest\n } = props;\n const domRef = useDOMRef(props.ref);\n const buttonId = useId();\n const resolvedId = id || buttonId;\n const { onPress: onRipplePressHandler, onClear: onClearRipple, ripples } = useRipple();\n const styles = useMemo(\n () => button({\n size: props.size,\n color: props.color,\n variant: props.variant,\n radius: props.radius,\n fullWidth: props.fullWidth,\n isDisabled: disabled || isLoading,\n disableAnimation: props.disableAnimation,\n isIconOnly,\n isInGroup: props.isInGroup,\n className\n }),\n [props, className, disabled, isLoading, isIconOnly]\n );\n const handleClick = useCallback(\n (e) => {\n if (disabled) {\n e.preventDefault();\n return;\n }\n onClick?.(e);\n },\n [onClick, disabled]\n );\n const getIconClone = (icon) => isValidElement(icon) ? cloneElement(icon, {\n // \"aria-hidden\": true,\n // \"focusable\": false,\n }) : null;\n const startContent = getIconClone(startContentProp);\n const endContent = getIconClone(endContentProp);\n const handlePointerDown = (e) => {\n const rect = e.currentTarget.getBoundingClientRect();\n const customEvent = {\n target: e.currentTarget,\n x: e.clientX - rect.left,\n y: e.clientY - rect.top\n };\n onRipplePressHandler(customEvent);\n };\n const getButtonProps = () => ({\n \"className\": clsx(styles, classNames?.base),\n \"data-disabled\": dataAttr(disabled),\n \"data-loading\": dataAttr(isLoading),\n \"onClick\": handleClick,\n \"onPointerDown\": handlePointerDown,\n \"data-slot\": \"button\",\n \"aria-disabled\": disabled,\n \"id\": resolvedId,\n \"type\": type,\n ...rest\n });\n const getRippleProps = useCallback(() => ({ ripples, onClear: onClearRipple }), [ripples, onClearRipple]);\n const Component = asChild ? Slot : \"button\";\n return {\n domRef,\n isIconOnly,\n Component,\n children,\n isLoading,\n spinner,\n spinnerPlacement,\n startContent,\n endContent,\n getButtonProps,\n getRippleProps\n };\n}\nconst Spinner = () => {\n return /* @__PURE__ */ jsx(\"div\", { \"aria-label\": \"Loading\", className: \"relative inline-flex flex-col gap-2 items-center justify-center\", children: /* @__PURE__ */ jsxs(\"div\", { className: \"relative flex w-5 h-5\", children: [\n /* @__PURE__ */ jsx(\"i\", { className: \"absolute w-full h-full rounded-full border-2 border-b-current animate-spinner-ease-spin border-solid border-t-transparent border-l-transparent border-r-transparent\" }),\n /* @__PURE__ */ jsx(\"i\", { className: \"absolute w-full h-full rounded-full border-2 border-b-current opacity-75 animate-spinner-linear-spin border-dotted border-t-transparent border-l-transparent border-r-transparent\" })\n ] }) });\n};\nconst Button = forwardRef((props, ref) => {\n const {\n Component,\n domRef,\n children,\n isIconOnly,\n isLoading,\n spinner,\n spinnerPlacement,\n startContent,\n endContent,\n getButtonProps,\n getRippleProps\n } = useButton({\n ...props,\n ref\n });\n const fallbackSpinner = useMemo(() => /* @__PURE__ */ jsx(Spinner, {}), []);\n const finalSpinner = spinner ?? fallbackSpinner;\n return /* @__PURE__ */ jsxs(Component, { ...getButtonProps(), ref: domRef, children: [\n startContent,\n isLoading && spinnerPlacement === \"start\" && finalSpinner,\n isLoading && isIconOnly ? null : children,\n isLoading && spinnerPlacement === \"end\" && finalSpinner,\n endContent,\n /* @__PURE__ */ jsx(Ripple, { ...getRippleProps() })\n ] });\n});\nButton.displayName = \"Custom.Button\";\nexport {\n Button as B,\n button as b\n};\n//# sourceMappingURL=button-B0fpJrMg.js.map\n","import { jsxs, jsx, Fragment } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport { useId as useId$2, useState, useEffect, createContext, forwardRef, createElement, useContext, useRef, useLayoutEffect, useImperativeHandle, useCallback, useMemo } from \"react\";\nimport { c as colorVariants } from \"./variants-CrIs_I54.js\";\nimport { t as tv } from \"./tv-B0li4IsO.js\";\nimport { c as cva } from \"./index-CEKmKomA.js\";\nimport { twMerge } from \"tailwind-merge\";\nimport { c as cn } from \"./utils-H80jjgLf.js\";\nimport clsx from \"clsx\";\nimport { v as validatePatternInput } from \"./pattern-CWRl6jXR.js\";\nimport \"./assertion-LpGn6Vzq.js\";\nimport { L as LabelError } from \"./label-error-BTCuInp7.js\";\nimport { motion, AnimatePresence } from \"framer-motion\";\nimport { c as createSlot, u as useComposedRefs } from \"./index-B4RTH1-D.js\";\nimport * as ReactDOM from \"react-dom\";\nimport ReactDOM__default from \"react-dom\";\nimport { B as Button } from \"./button-B0fpJrMg.js\";\nconst badge = tv({\n slots: {\n base: [\"relative\", \"inline-flex\", \"shrink-0\"],\n badge: [\n \"flex\",\n \"z-10\",\n \"flex-wrap\",\n \"absolute\",\n \"box-border\",\n \"rounded-full\",\n \"whitespace-nowrap\",\n \"place-content-center\",\n \"origin-center\",\n \"items-center\",\n \"text-inherit\",\n \"select-none\",\n \"font-regular\",\n \"scale-100\",\n \"opacity-100\",\n \"subpixel-antialiased\",\n \"data-[invisible=true]:scale-0\",\n \"data-[invisible=true]:opacity-0\"\n ]\n },\n variants: {\n variant: {\n solid: {},\n flat: {},\n faded: {\n badge: \"border-medium\"\n },\n shadow: {}\n },\n color: {\n default: {},\n primary: {},\n secondary: {},\n success: {},\n warning: {},\n danger: {}\n },\n size: {\n sm: {\n badge: \"px-1 text-xs\"\n },\n md: {\n badge: \"px-1 text-sm\"\n },\n lg: {\n badge: \"px-1 text-sm\"\n }\n },\n placement: {\n \"top-right\": {},\n \"top-left\": {},\n \"bottom-right\": {},\n \"bottom-left\": {}\n },\n shape: {\n circle: {},\n rectangle: {}\n },\n isInvisible: {\n true: {}\n },\n isOneChar: {\n true: {\n badge: \"px-0\"\n }\n },\n isDot: {\n true: {}\n },\n disableAnimation: {\n true: {\n badge: \"transition-none\"\n },\n false: {\n badge: \"transition-transform-opacity !ease-soft-spring !duration-300\"\n }\n },\n showOutline: {\n true: {\n badge: \"border-2 border-background\"\n },\n false: {\n badge: \"border-transparent border-0\"\n }\n }\n },\n defaultVariants: {\n variant: \"solid\",\n color: \"default\",\n size: \"md\",\n shape: \"rectangle\",\n placement: \"top-right\",\n showOutline: true,\n isInvisible: false\n },\n compoundVariants: [\n // solid / color\n {\n variant: \"solid\",\n color: \"default\",\n class: {\n badge: colorVariants.solid.default\n }\n },\n {\n variant: \"solid\",\n color: \"primary\",\n class: {\n badge: colorVariants.solid.primary\n }\n },\n {\n variant: \"solid\",\n color: \"secondary\",\n class: {\n badge: colorVariants.solid.secondary\n }\n },\n {\n variant: \"solid\",\n color: \"success\",\n class: {\n badge: colorVariants.solid.success\n }\n },\n {\n variant: \"solid\",\n color: \"warning\",\n class: {\n badge: colorVariants.solid.warning\n }\n },\n {\n variant: \"solid\",\n color: \"danger\",\n class: {\n badge: colorVariants.solid.danger\n }\n },\n // shadow / color\n {\n variant: \"shadow\",\n color: \"default\",\n class: {\n badge: colorVariants.shadow.default\n }\n },\n {\n variant: \"shadow\",\n color: \"primary\",\n class: {\n badge: colorVariants.shadow.primary\n }\n },\n {\n variant: \"shadow\",\n color: \"secondary\",\n class: {\n badge: colorVariants.shadow.secondary\n }\n },\n {\n variant: \"shadow\",\n color: \"success\",\n class: {\n badge: colorVariants.shadow.success\n }\n },\n {\n variant: \"shadow\",\n color: \"warning\",\n class: {\n badge: colorVariants.shadow.warning\n }\n },\n {\n variant: \"shadow\",\n color: \"danger\",\n class: {\n badge: colorVariants.shadow.danger\n }\n },\n // flat / color\n {\n variant: \"flat\",\n color: \"default\",\n class: {\n badge: colorVariants.flat.default\n }\n },\n {\n variant: \"flat\",\n color: \"primary\",\n class: {\n badge: colorVariants.flat.primary\n }\n },\n {\n variant: \"flat\",\n color: \"secondary\",\n class: {\n badge: colorVariants.flat.secondary\n }\n },\n {\n variant: \"flat\",\n color: \"success\",\n class: {\n badge: colorVariants.flat.success\n }\n },\n {\n variant: \"flat\",\n color: \"warning\",\n class: {\n badge: colorVariants.flat.warning\n }\n },\n {\n variant: \"flat\",\n color: \"danger\",\n class: {\n badge: colorVariants.flat.danger\n }\n },\n // faded / color\n {\n variant: \"faded\",\n color: \"default\",\n class: {\n badge: colorVariants.faded.default\n }\n },\n {\n variant: \"faded\",\n color: \"primary\",\n class: {\n badge: colorVariants.faded.primary\n }\n },\n {\n variant: \"faded\",\n color: \"secondary\",\n class: {\n badge: colorVariants.faded.secondary\n }\n },\n {\n variant: \"faded\",\n color: \"success\",\n class: {\n badge: colorVariants.faded.success\n }\n },\n {\n variant: \"faded\",\n color: \"warning\",\n class: {\n badge: colorVariants.faded.warning\n }\n },\n {\n variant: \"faded\",\n color: \"danger\",\n class: {\n badge: colorVariants.faded.danger\n }\n },\n // isOneChar / size\n {\n isOneChar: true,\n size: \"sm\",\n class: {\n badge: \"w-4 h-4 min-w-4 min-h-4\"\n }\n },\n {\n isOneChar: true,\n size: \"md\",\n class: {\n badge: \"w-5 h-5 min-w-5 min-h-5\"\n }\n },\n {\n isOneChar: true,\n size: \"lg\",\n class: {\n badge: \"w-6 h-6 min-w-6 min-h-6\"\n }\n },\n // isDot / size\n {\n isDot: true,\n size: \"sm\",\n class: {\n badge: \"w-3 h-3 min-w-3 min-h-3\"\n }\n },\n {\n isDot: true,\n size: \"md\",\n class: {\n badge: \"w-3.5 h-3.5 min-w-3.5 min-h-3.5\"\n }\n },\n {\n isDot: true,\n size: \"lg\",\n class: {\n badge: \"w-4 h-4 min-w-4 min-h-4\"\n }\n },\n // placement / rectangle\n {\n placement: \"top-right\",\n shape: \"rectangle\",\n class: {\n badge: \"top-[5%] right-[5%] translate-x-1/2 -translate-y-1/2\"\n }\n },\n {\n placement: \"top-left\",\n shape: \"rectangle\",\n class: {\n badge: \"top-[5%] left-[5%] -translate-x-1/2 -translate-y-1/2\"\n }\n },\n {\n placement: \"bottom-right\",\n shape: \"rectangle\",\n class: {\n badge: \"bottom-[5%] right-[5%] translate-x-1/2 translate-y-1/2\"\n }\n },\n {\n placement: \"bottom-left\",\n shape: \"rectangle\",\n class: {\n badge: \"bottom-[5%] left-[5%] -translate-x-1/2 translate-y-1/2\"\n }\n },\n // placement / circle\n {\n placement: \"top-right\",\n shape: \"circle\",\n class: {\n badge: \"top-[10%] right-[10%] translate-x-1/2 -translate-y-1/2\"\n }\n },\n {\n placement: \"top-left\",\n shape: \"circle\",\n class: {\n badge: \"top-[10%] left-[10%] -translate-x-1/2 -translate-y-1/2\"\n }\n },\n {\n placement: \"bottom-right\",\n shape: \"circle\",\n class: {\n badge: \"bottom-[10%] right-[10%] translate-x-1/2 translate-y-1/2\"\n }\n },\n {\n placement: \"bottom-left\",\n shape: \"circle\",\n class: {\n badge: \"bottom-[10%] left-[10%] -translate-x-1/2 translate-y-1/2\"\n }\n }\n ]\n});\nconst Badge = React.forwardRef(\n ({ className, variant, size, color, children, content, shape, placement, ...props2 }, ref) => {\n const { base, badge: badgeClass } = badge({ variant, size, color, shape, placement });\n return /* @__PURE__ */ jsxs(\"div\", { className: base(), children: [\n children,\n /* @__PURE__ */ jsx(\n \"span\",\n {\n ref,\n className: badgeClass({ class: className }),\n ...props2,\n children: content\n }\n )\n ] });\n }\n);\nconst inputStyles = cva(\n [\n \"bg-white\",\n \"transition duration-250 ease appearance-none file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex w-full min-w-0 border px-3 py-1 text-base transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm focus-visible:border-primary focus-visible:ring-primary/20 focus-visible:ring-[3px] aria-invalid:ring-danger/20 dark:aria-invalid:ring-danger/40 font-normal aria-invalid:border-danger\"\n ],\n {\n variants: {\n size: {\n sm: \"h-9 text-sm\",\n md: \"h-input-default text-sm\",\n lg: \"h-10 text-base\"\n },\n radius: {\n none: \"rounded-none\",\n sm: \"rounded-sm\",\n md: \"rounded-md\",\n lg: \"rounded-lg\",\n full: \"rounded-full\"\n }\n },\n defaultVariants: {\n size: \"md\",\n radius: \"md\"\n }\n }\n);\nconst Input = React.forwardRef((props2, ref) => {\n const {\n id,\n type = \"text\",\n value,\n defaultValue,\n className,\n classNameContainer,\n startClassName,\n endClassName,\n size,\n radius,\n startContent,\n endContent,\n disabled,\n error,\n touched,\n pattern,\n isErrorText = true,\n label,\n required = false,\n isClearable = false,\n onChange,\n onClear,\n ...rest\n } = props2;\n const inputId = React.useId();\n const resolvedId = id || inputId;\n const isControlled = value !== void 0;\n const isInvalid = !disabled && !!error && touched;\n const iconClass = clsx(\"absolute top-0 h-full flex items-center cursor-pointer px-1.5 z-[1]\", {\n \"text-red-700\": isInvalid,\n \"text-gray-400\": disabled,\n \"text-green-700\": !error && touched,\n \"text-gray-500\": !isInvalid\n });\n const paddingClass = clsx(startContent && \"pl-8\", !startContent && \"pl-2.5\", endContent && \"pr-8\", !endContent && \"pr-2.5\");\n const inputClass = cn(inputStyles({ size, radius }), paddingClass, className);\n const labelClass = cn(\"form-control-label block font-normal text-sm text-foreground mb-1\", {\n \"text-danger\": isInvalid\n });\n const handleInputChange = (e) => {\n const val = e.target.value;\n if (pattern && !validatePatternInput(pattern, val)) return;\n onChange?.(e);\n };\n const handleClear = (e) => {\n e.preventDefault();\n onClear?.();\n };\n return /* @__PURE__ */ jsxs(\"div\", { className: twMerge(\"w-full relative flex flex-col\", classNameContainer), children: [\n label && /* @__PURE__ */ jsxs(\"label\", { htmlFor: resolvedId, className: labelClass, children: [\n label,\n \" \",\n required && /* @__PURE__ */ jsx(\"span\", { className: \"text-danger\", children: \"*\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"w-full relative\", children: [\n startContent && /* @__PURE__ */ jsx(\"div\", { className: twMerge(\"left-1\", iconClass, startClassName), children: startContent }),\n /* @__PURE__ */ jsx(\n \"input\",\n {\n ref,\n id: resolvedId,\n ...!disabled ? { \"aria-invalid\": isInvalid } : {},\n type,\n autoComplete: \"off\",\n autoCapitalize: \"off\",\n disabled,\n onChange: handleInputChange,\n className: inputClass,\n ...isControlled ? { value } : { defaultValue },\n ...rest\n }\n ),\n isClearable && !disabled && value ? /* @__PURE__ */ jsx(\n \"div\",\n {\n className: twMerge(\n \"absolute top-0 h-full flex items-center px-1.5 z-[1] opacity-70 hover:opacity-100 cursor-pointer rounded-full\",\n \"right-1\"\n ),\n onClick: handleClear,\n children: /* @__PURE__ */ jsx(\"svg\", { \"aria-hidden\": \"true\", focusable: \"false\", height: \"18\", viewBox: \"0 0 24 24\", width: \"18\", children: /* @__PURE__ */ jsx(\n \"path\",\n {\n d: \"M12 2a10 10 0 1010 10A10.016 10.016 0 0012 2zm3.36 12.3a.754.754 0 010 1.06.748.748 0 01-1.06 0l-2.3-2.3-2.3 2.3a.748.748 0 01-1.06 0 .754.754 0 010-1.06l2.3-2.3-2.3-2.3A.75.75 0 019.7 8.64l2.3 2.3 2.3-2.3a.75.75 0 011.06 1.06l-2.3 2.3z\",\n fill: \"currentColor\"\n }\n ) })\n }\n ) : null,\n endContent && /* @__PURE__ */ jsx(\"div\", { className: twMerge(\"right-1\", iconClass, endClassName), children: endContent })\n ] }),\n !disabled && error && touched && isErrorText && /* @__PURE__ */ jsx(LabelError, { text: error })\n ] });\n});\nInput.displayName = \"Input\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"select\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Slot2 = createSlot(`Primitive.${node}`);\n const Node2 = React.forwardRef((props2, forwardedRef) => {\n const { asChild, ...primitiveProps } = props2;\n const Comp = asChild ? Slot2 : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node2.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node2 };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nconst SwitchClassProps = cva([\"flex items-center cursor-pointer relative rounded-full p-0.5 px-1 relative overflow-hidden\"], {\n variants: {\n color: {\n primary: \"bg-primary\",\n secondary: \"bg-secondary\",\n success: \"bg-success\",\n warning: \"bg-warning\",\n danger: \"bg-danger\",\n default: \"bg-default\"\n },\n size: {\n sm: \"w-10 h-6\",\n md: \"w-12 h-7\",\n lg: \"w-14 h-8\"\n }\n },\n defaultVariants: {\n color: \"primary\",\n size: \"md\"\n }\n});\nconst Switch = ({\n id = null,\n color,\n size = \"md\",\n className,\n disabled = false,\n label,\n description,\n positionLabel = \"end\",\n required,\n error,\n touched,\n value,\n leftIcon,\n rightIcon,\n thumbIcon,\n onChange,\n ...props2\n}) => {\n const switchId = useId$2();\n const resolvedId = id || switchId;\n const [valueCheck, setValueCheck] = useState(false);\n useEffect(() => {\n setValueCheck(value);\n }, [value]);\n const handleChange = (e) => {\n onChange(e.target.checked);\n };\n const handleClick = () => {\n if (!disabled) onChange(!valueCheck);\n };\n const classSpan = twMerge(\n \"transition transform bg-white rounded-full shadow-sm flex justify-center items-center\",\n clsx(\n size === \"sm\" && \"w-4 h-4\",\n size === \"md\" && \"w-5 h-5\",\n size === \"lg\" && \"w-6 h-6\",\n size === \"sm\" && valueCheck && \"translate-x-4\",\n size === \"md\" && valueCheck && \"translate-x-5\",\n size === \"lg\" && valueCheck && \"translate-x-6\"\n )\n );\n const classLabel = twMerge(clsx(!valueCheck && \"bg-default-200\", disabled && \"bg-default-100 hover:bg-default-100\"));\n const classText = twMerge(\n \"text-gray-500 leading-none\",\n clsx({\n \"text-sm\": size === \"sm\" || size === \"md\",\n \"after:content-['*'] after:ml-0.5 after:text-green-500\": required,\n \"after:text-gray-400 text-gray-400\": disabled\n })\n );\n const classDescription = twMerge(\"text-xs text-gray-500 mt-1\", disabled && \"text-gray-400\");\n return /* @__PURE__ */ jsxs(\"div\", { className: twMerge(className), children: [\n /* @__PURE__ */ jsxs(\"div\", { className: clsx(\"flex gap-2\", description && label ? \"items-start\" : \"items-center\"), children: [\n positionLabel === \"start\" && (label || description) && /* @__PURE__ */ jsxs(\"div\", { onClick: handleClick, className: \"cursor-pointer\", children: [\n label && /* @__PURE__ */ jsx(\"p\", { className: classText, children: label }),\n description && /* @__PURE__ */ jsx(\"p\", { className: classDescription, children: description })\n ] }),\n /* @__PURE__ */ jsxs(\n \"label\",\n {\n htmlFor: resolvedId,\n className: cn(SwitchClassProps({ size, color }), classLabel),\n children: [\n /* @__PURE__ */ jsx(\n \"input\",\n {\n type: \"checkbox\",\n id: resolvedId,\n className: \"sr-only peer\",\n onChange: handleChange,\n disabled,\n checked: valueCheck,\n \"data-state\": valueCheck ? \"checked\" : \"unchecked\",\n ...props2\n }\n ),\n leftIcon && /* @__PURE__ */ jsx(\n motion.div,\n {\n initial: false,\n animate: valueCheck ? { scale: 1, opacity: 1 } : { scale: 0, opacity: 0 },\n transition: { type: \"spring\", bounce: 0 },\n className: \"absolute left-1 top-1/2 -translate-y-1/2 text-neutral-400\",\n children: leftIcon\n }\n ),\n rightIcon && /* @__PURE__ */ jsx(\n motion.div,\n {\n initial: false,\n animate: !valueCheck ? { scale: 1, opacity: 1 } : { scale: 0, opacity: 0 },\n transition: { type: \"spring\", bounce: 0 },\n className: \"absolute right-1 top-1/2 -translate-y-1/2 text-neutral-400\",\n children: rightIcon\n }\n ),\n /* @__PURE__ */ jsx(\"span\", { className: classSpan, children: thumbIcon && /* @__PURE__ */ jsx(\n motion.div,\n {\n initial: false,\n animate: { scale: 1 },\n className: \"flex items-center justify-center\",\n children: thumbIcon\n }\n ) })\n ]\n }\n ),\n positionLabel === \"end\" && (label || description) && /* @__PURE__ */ jsxs(\"div\", { onClick: handleClick, className: \"cursor-pointer\", children: [\n label && /* @__PURE__ */ jsx(\"p\", { className: classText, children: label }),\n description && /* @__PURE__ */ jsx(\"p\", { className: classDescription, children: description })\n ] })\n ] }),\n !disabled && error && touched && /* @__PURE__ */ jsx(LabelError, { text: error })\n ] });\n};\nSwitch.displayName = \"Switch\";\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n const Provider = (props2) => {\n const { children, ...context } = props2;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider = (props2) => {\n const { scope, children, ...context } = props2;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nvar useInsertionEffect = React[\" useInsertionEffect \".trim().toString()] || useLayoutEffect2;\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n },\n caller\n}) {\n const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({\n defaultProp,\n onChange\n });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n {\n const isControlledRef = React.useRef(prop !== void 0);\n React.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;\n if (value2 !== prop) {\n onChangeRef.current?.(value2);\n }\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, onChangeRef]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const [value, setValue] = React.useState(defaultProp);\n const prevValueRef = React.useRef(value);\n const onChangeRef = React.useRef(onChange);\n useInsertionEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n onChangeRef.current?.(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef]);\n return [value, setValue, onChangeRef];\n}\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\nfunction useCallbackRef$1(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nfunction useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {\n const onEscapeKeyDown = useCallbackRef$1(onEscapeKeyDownProp);\n React.useEffect(() => {\n const handleKeyDown = (event) => {\n if (event.key === \"Escape\") {\n onEscapeKeyDown(event);\n }\n };\n ownerDocument.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => ownerDocument.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n }, [onEscapeKeyDown, ownerDocument]);\n}\nvar DISMISSABLE_LAYER_NAME = \"DismissableLayer\";\nvar CONTEXT_UPDATE = \"dismissableLayer.update\";\nvar POINTER_DOWN_OUTSIDE = \"dismissableLayer.pointerDownOutside\";\nvar FOCUS_OUTSIDE = \"dismissableLayer.focusOutside\";\nvar originalBodyPointerEvents;\nvar DismissableLayerContext = React.createContext({\n layers: /* @__PURE__ */ new Set(),\n layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),\n branches: /* @__PURE__ */ new Set()\n});\nvar DismissableLayer = React.forwardRef(\n (props2, forwardedRef) => {\n const {\n disableOutsidePointerEvents = false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n ...layerProps\n } = props2;\n const context = React.useContext(DismissableLayerContext);\n const [node, setNode] = React.useState(null);\n const ownerDocument = node?.ownerDocument ?? globalThis?.document;\n const [, force] = React.useState({});\n const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));\n const layers = Array.from(context.layers);\n const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);\n const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);\n const index = node ? layers.indexOf(node) : -1;\n const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;\n const pointerDownOutside = usePointerDownOutside((event) => {\n const target = event.target;\n const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));\n if (!isPointerEventsEnabled || isPointerDownOnBranch) return;\n onPointerDownOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n const focusOutside = useFocusOutside((event) => {\n const target = event.target;\n const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));\n if (isFocusInBranch) return;\n onFocusOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n useEscapeKeydown((event) => {\n const isHighestLayer = index === context.layers.size - 1;\n if (!isHighestLayer) return;\n onEscapeKeyDown?.(event);\n if (!event.defaultPrevented && onDismiss) {\n event.preventDefault();\n onDismiss();\n }\n }, ownerDocument);\n React.useEffect(() => {\n if (!node) return;\n if (disableOutsidePointerEvents) {\n if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n ownerDocument.body.style.pointerEvents = \"none\";\n }\n context.layersWithOutsidePointerEventsDisabled.add(node);\n }\n context.layers.add(node);\n dispatchUpdate();\n return () => {\n if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {\n ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;\n }\n };\n }, [node, ownerDocument, disableOutsidePointerEvents, context]);\n React.useEffect(() => {\n return () => {\n if (!node) return;\n context.layers.delete(node);\n context.layersWithOutsidePointerEventsDisabled.delete(node);\n dispatchUpdate();\n };\n }, [node, context]);\n React.useEffect(() => {\n const handleUpdate = () => force({});\n document.addEventListener(CONTEXT_UPDATE, handleUpdate);\n return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);\n }, []);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...layerProps,\n ref: composedRefs,\n style: {\n pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? \"auto\" : \"none\" : void 0,\n ...props2.style\n },\n onFocusCapture: composeEventHandlers(props2.onFocusCapture, focusOutside.onFocusCapture),\n onBlurCapture: composeEventHandlers(props2.onBlurCapture, focusOutside.onBlurCapture),\n onPointerDownCapture: composeEventHandlers(\n props2.onPointerDownCapture,\n pointerDownOutside.onPointerDownCapture\n )\n }\n );\n }\n);\nDismissableLayer.displayName = DISMISSABLE_LAYER_NAME;\nvar BRANCH_NAME = \"DismissableLayerBranch\";\nvar DismissableLayerBranch = React.forwardRef((props2, forwardedRef) => {\n const context = React.useContext(DismissableLayerContext);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n context.branches.add(node);\n return () => {\n context.branches.delete(node);\n };\n }\n }, [context.branches]);\n return /* @__PURE__ */ jsx(Primitive.div, { ...props2, ref: composedRefs });\n});\nDismissableLayerBranch.displayName = BRANCH_NAME;\nfunction usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {\n const handlePointerDownOutside = useCallbackRef$1(onPointerDownOutside);\n const isPointerInsideReactTreeRef = React.useRef(false);\n const handleClickRef = React.useRef(() => {\n });\n React.useEffect(() => {\n const handlePointerDown2 = (event) => {\n if (event.target && !isPointerInsideReactTreeRef.current) {\n let handleAndDispatchPointerDownOutsideEvent2 = function() {\n handleAndDispatchCustomEvent(\n POINTER_DOWN_OUTSIDE,\n handlePointerDownOutside,\n eventDetail,\n { discrete: true }\n );\n };\n const eventDetail = { originalEvent: event };\n if (event.pointerType === \"touch\") {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;\n ownerDocument.addEventListener(\"click\", handleClickRef.current, { once: true });\n } else {\n handleAndDispatchPointerDownOutsideEvent2();\n }\n } else {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n }\n isPointerInsideReactTreeRef.current = false;\n };\n const timerId = window.setTimeout(() => {\n ownerDocument.addEventListener(\"pointerdown\", handlePointerDown2);\n }, 0);\n return () => {\n window.clearTimeout(timerId);\n ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown2);\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n };\n }, [ownerDocument, handlePointerDownOutside]);\n return {\n // ensures we check React component tree (not just DOM tree)\n onPointerDownCapture: () => isPointerInsideReactTreeRef.current = true\n };\n}\nfunction useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {\n const handleFocusOutside = useCallbackRef$1(onFocusOutside);\n const isFocusInsideReactTreeRef = React.useRef(false);\n React.useEffect(() => {\n const handleFocus = (event) => {\n if (event.target && !isFocusInsideReactTreeRef.current) {\n const eventDetail = { originalEvent: event };\n handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n discrete: false\n });\n }\n };\n ownerDocument.addEventListener(\"focusin\", handleFocus);\n return () => ownerDocument.removeEventListener(\"focusin\", handleFocus);\n }, [ownerDocument, handleFocusOutside]);\n return {\n onFocusCapture: () => isFocusInsideReactTreeRef.current = true,\n onBlurCapture: () => isFocusInsideReactTreeRef.current = false\n };\n}\nfunction dispatchUpdate() {\n const event = new CustomEvent(CONTEXT_UPDATE);\n document.dispatchEvent(event);\n}\nfunction handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n const target = detail.originalEvent.target;\n const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });\n if (handler) target.addEventListener(name, handler, { once: true });\n if (discrete) {\n dispatchDiscreteCustomEvent(target, event);\n } else {\n target.dispatchEvent(event);\n }\n}\nvar count$1 = 0;\nfunction useFocusGuards() {\n React.useEffect(() => {\n const edgeGuards = document.querySelectorAll(\"[data-radix-focus-guard]\");\n document.body.insertAdjacentElement(\"afterbegin\", edgeGuards[0] ?? createFocusGuard());\n document.body.insertAdjacentElement(\"beforeend\", edgeGuards[1] ?? createFocusGuard());\n count$1++;\n return () => {\n if (count$1 === 1) {\n document.querySelectorAll(\"[data-radix-focus-guard]\").forEach((node) => node.remove());\n }\n count$1--;\n };\n }, []);\n}\nfunction createFocusGuard() {\n const element = document.createElement(\"span\");\n element.setAttribute(\"data-radix-focus-guard\", \"\");\n element.tabIndex = 0;\n element.style.outline = \"none\";\n element.style.opacity = \"0\";\n element.style.position = \"fixed\";\n element.style.pointerEvents = \"none\";\n return element;\n}\nvar AUTOFOCUS_ON_MOUNT = \"focusScope.autoFocusOnMount\";\nvar AUTOFOCUS_ON_UNMOUNT = \"focusScope.autoFocusOnUnmount\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar FOCUS_SCOPE_NAME = \"FocusScope\";\nvar FocusScope = React.forwardRef((props2, forwardedRef) => {\n const {\n loop = false,\n trapped = false,\n onMountAutoFocus: onMountAutoFocusProp,\n onUnmountAutoFocus: onUnmountAutoFocusProp,\n ...scopeProps\n } = props2;\n const [container, setContainer] = React.useState(null);\n const onMountAutoFocus = useCallbackRef$1(onMountAutoFocusProp);\n const onUnmountAutoFocus = useCallbackRef$1(onUnmountAutoFocusProp);\n const lastFocusedElementRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContainer(node));\n const focusScope = React.useRef({\n paused: false,\n pause() {\n this.paused = true;\n },\n resume() {\n this.paused = false;\n }\n }).current;\n React.useEffect(() => {\n if (trapped) {\n let handleFocusIn2 = function(event) {\n if (focusScope.paused || !container) return;\n const target = event.target;\n if (container.contains(target)) {\n lastFocusedElementRef.current = target;\n } else {\n focus(lastFocusedElementRef.current, { select: true });\n }\n }, handleFocusOut2 = function(event) {\n if (focusScope.paused || !container) return;\n const relatedTarget = event.relatedTarget;\n if (relatedTarget === null) return;\n if (!container.contains(relatedTarget)) {\n focus(lastFocusedElementRef.current, { select: true });\n }\n }, handleMutations2 = function(mutations) {\n const focusedElement = document.activeElement;\n if (focusedElement !== document.body) return;\n for (const mutation of mutations) {\n if (mutation.removedNodes.length > 0) focus(container);\n }\n };\n document.addEventListener(\"focusin\", handleFocusIn2);\n document.addEventListener(\"focusout\", handleFocusOut2);\n const mutationObserver = new MutationObserver(handleMutations2);\n if (container) mutationObserver.observe(container, { childList: true, subtree: true });\n return () => {\n document.removeEventListener(\"focusin\", handleFocusIn2);\n document.removeEventListener(\"focusout\", handleFocusOut2);\n mutationObserver.disconnect();\n };\n }\n }, [trapped, container, focusScope.paused]);\n React.useEffect(() => {\n if (container) {\n focusScopesStack.add(focusScope);\n const previouslyFocusedElement = document.activeElement;\n const hasFocusedCandidate = container.contains(previouslyFocusedElement);\n if (!hasFocusedCandidate) {\n const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);\n container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n container.dispatchEvent(mountEvent);\n if (!mountEvent.defaultPrevented) {\n focusFirst(removeLinks(getTabbableCandidates(container)), { select: true });\n if (document.activeElement === previouslyFocusedElement) {\n focus(container);\n }\n }\n }\n return () => {\n container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n setTimeout(() => {\n const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);\n container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n container.dispatchEvent(unmountEvent);\n if (!unmountEvent.defaultPrevented) {\n focus(previouslyFocusedElement ?? document.body, { select: true });\n }\n container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n focusScopesStack.remove(focusScope);\n }, 0);\n };\n }\n }, [container, onMountAutoFocus, onUnmountAutoFocus, focusScope]);\n const handleKeyDown = React.useCallback(\n (event) => {\n if (!loop && !trapped) return;\n if (focusScope.paused) return;\n const isTabKey = event.key === \"Tab\" && !event.altKey && !event.ctrlKey && !event.metaKey;\n const focusedElement = document.activeElement;\n if (isTabKey && focusedElement) {\n const container2 = event.currentTarget;\n const [first, last] = getTabbableEdges(container2);\n const hasTabbableElementsInside = first && last;\n if (!hasTabbableElementsInside) {\n if (focusedElement === container2) event.preventDefault();\n } else {\n if (!event.shiftKey && focusedElement === last) {\n event.preventDefault();\n if (loop) focus(first, { select: true });\n } else if (event.shiftKey && focusedElement === first) {\n event.preventDefault();\n if (loop) focus(last, { select: true });\n }\n }\n }\n },\n [loop, trapped, focusScope.paused]\n );\n return /* @__PURE__ */ jsx(Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });\n});\nFocusScope.displayName = FOCUS_SCOPE_NAME;\nfunction focusFirst(candidates, { select = false } = {}) {\n const previouslyFocusedElement = document.activeElement;\n for (const candidate of candidates) {\n focus(candidate, { select });\n if (document.activeElement !== previouslyFocusedElement) return;\n }\n}\nfunction getTabbableEdges(container) {\n const candidates = getTabbableCandidates(container);\n const first = findVisible(candidates, container);\n const last = findVisible(candidates.reverse(), container);\n return [first, last];\n}\nfunction getTabbableCandidates(container) {\n const nodes = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (node) => {\n const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n while (walker.nextNode()) nodes.push(walker.currentNode);\n return nodes;\n}\nfunction findVisible(elements, container) {\n for (const element of elements) {\n if (!isHidden(element, { upTo: container })) return element;\n }\n}\nfunction isHidden(node, { upTo }) {\n if (getComputedStyle(node).visibility === \"hidden\") return true;\n while (node) {\n if (upTo !== void 0 && node === upTo) return false;\n if (getComputedStyle(node).display === \"none\") return true;\n node = node.parentElement;\n }\n return false;\n}\nfunction isSelectableInput(element) {\n return element instanceof HTMLInputElement && \"select\" in element;\n}\nfunction focus(element, { select = false } = {}) {\n if (element && element.focus) {\n const previouslyFocusedElement = document.activeElement;\n element.focus({ preventScroll: true });\n if (element !== previouslyFocusedElement && isSelectableInput(element) && select)\n element.select();\n }\n}\nvar focusScopesStack = createFocusScopesStack();\nfunction createFocusScopesStack() {\n let stack = [];\n return {\n add(focusScope) {\n const activeFocusScope = stack[0];\n if (focusScope !== activeFocusScope) {\n activeFocusScope?.pause();\n }\n stack = arrayRemove(stack, focusScope);\n stack.unshift(focusScope);\n },\n remove(focusScope) {\n stack = arrayRemove(stack, focusScope);\n stack[0]?.resume();\n }\n };\n}\nfunction arrayRemove(array, item) {\n const updatedArray = [...array];\n const index = updatedArray.indexOf(item);\n if (index !== -1) {\n updatedArray.splice(index, 1);\n }\n return updatedArray;\n}\nfunction removeLinks(items) {\n return items.filter((item) => item.tagName !== \"A\");\n}\nvar useReactId = React[\" useId \".trim().toString()] || (() => void 0);\nvar count = 0;\nfunction useId$1(deterministicId) {\n const [id, setId] = React.useState(useReactId());\n useLayoutEffect2(() => {\n setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : \"\");\n}\nvar PORTAL_NAME$1 = \"Portal\";\nvar Portal$1 = React.forwardRef((props2, forwardedRef) => {\n const { container: containerProp, ...portalProps } = props2;\n const [mounted, setMounted] = React.useState(false);\n useLayoutEffect2(() => setMounted(true), []);\n const container = containerProp || mounted && globalThis?.document?.body;\n return container ? ReactDOM__default.createPortal(/* @__PURE__ */ jsx(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;\n});\nPortal$1.displayName = PORTAL_NAME$1;\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\nvar Presence = (props2) => {\n const { present, children } = props2;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React.useState();\n const stylesRef = React.useRef(null);\n const prevPresentRef = React.useRef(present);\n const prevAnimationNameRef = React.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect2(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect2(() => {\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React.useCallback((node2) => {\n stylesRef.current = node2 ? getComputedStyle(node2) : null;\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar getDefaultParent = function(originalTarget) {\n if (typeof document === \"undefined\") {\n return null;\n }\n var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;\n return sampleTarget.ownerDocument.body;\n};\nvar counterMap = /* @__PURE__ */ new WeakMap();\nvar uncontrolledNodes = /* @__PURE__ */ new WeakMap();\nvar markerMap = {};\nvar lockCount = 0;\nvar unwrapHost = function(node) {\n return node && (node.host || unwrapHost(node.parentNode));\n};\nvar correctTargets = function(parent, targets) {\n return targets.map(function(target) {\n if (parent.contains(target)) {\n return target;\n }\n var correctedTarget = unwrapHost(target);\n if (correctedTarget && parent.contains(correctedTarget)) {\n return correctedTarget;\n }\n return null;\n }).filter(function(x) {\n return Boolean(x);\n });\n};\nvar applyAttributeToOthers = function(originalTarget, parentNode, markerName, controlAttribute) {\n var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n if (!markerMap[markerName]) {\n markerMap[markerName] = /* @__PURE__ */ new WeakMap();\n }\n var markerCounter = markerMap[markerName];\n var hiddenNodes = [];\n var elementsToKeep = /* @__PURE__ */ new Set();\n var elementsToStop = new Set(targets);\n var keep = function(el) {\n if (!el || elementsToKeep.has(el)) {\n return;\n }\n elementsToKeep.add(el);\n keep(el.parentNode);\n };\n targets.forEach(keep);\n var deep = function(parent) {\n if (!parent || elementsToStop.has(parent)) {\n return;\n }\n Array.prototype.forEach.call(parent.children, function(node) {\n if (elementsToKeep.has(node)) {\n deep(node);\n } else {\n try {\n var attr = node.getAttribute(controlAttribute);\n var alreadyHidden = attr !== null && attr !== \"false\";\n var counterValue = (counterMap.get(node) || 0) + 1;\n var markerValue = (markerCounter.get(node) || 0) + 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n hiddenNodes.push(node);\n if (counterValue === 1 && alreadyHidden) {\n uncontrolledNodes.set(node, true);\n }\n if (markerValue === 1) {\n node.setAttribute(markerName, \"true\");\n }\n if (!alreadyHidden) {\n node.setAttribute(controlAttribute, \"true\");\n }\n } catch (e) {\n }\n }\n });\n };\n deep(parentNode);\n elementsToKeep.clear();\n lockCount++;\n return function() {\n hiddenNodes.forEach(function(node) {\n var counterValue = counterMap.get(node) - 1;\n var markerValue = markerCounter.get(node) - 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n if (!counterValue) {\n if (!uncontrolledNodes.has(node)) {\n node.removeAttribute(controlAttribute);\n }\n uncontrolledNodes.delete(node);\n }\n if (!markerValue) {\n node.removeAttribute(markerName);\n }\n });\n lockCount--;\n if (!lockCount) {\n counterMap = /* @__PURE__ */ new WeakMap();\n counterMap = /* @__PURE__ */ new WeakMap();\n uncontrolledNodes = /* @__PURE__ */ new WeakMap();\n markerMap = {};\n }\n };\n};\nvar hideOthers = function(originalTarget, parentNode, markerName) {\n if (markerName === void 0) {\n markerName = \"data-aria-hidden\";\n }\n var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n var activeParentNode = getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function() {\n return null;\n };\n }\n targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll(\"[aria-live], script\")));\n return applyAttributeToOthers(targets, activeParentNode, markerName, \"aria-hidden\");\n};\nvar __assign = function() {\n __assign = Object.assign || function __assign2(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nfunction __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\nfunction __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\ntypeof SuppressedError === \"function\" ? SuppressedError : function(error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\nvar zeroRightClassName = \"right-scroll-bar-position\";\nvar fullWidthClassName = \"width-before-scroll-bar\";\nvar noScrollbarsClassName = \"with-scroll-bars-hidden\";\nvar removedBarSizeVariable = \"--removed-body-scroll-bar-size\";\nfunction assignRef(ref, value) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n return ref;\n}\nfunction useCallbackRef(initialValue, callback) {\n var ref = useState(function() {\n return {\n // value\n value: initialValue,\n // last callback\n callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n var last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n }\n }\n };\n })[0];\n ref.callback = callback;\n return ref.facade;\n}\nvar useIsomorphicLayoutEffect$1 = typeof window !== \"undefined\" ? React.useLayoutEffect : React.useEffect;\nvar currentValues = /* @__PURE__ */ new WeakMap();\nfunction useMergeRefs(refs, defaultValue) {\n var callbackRef = useCallbackRef(null, function(newValue) {\n return refs.forEach(function(ref) {\n return assignRef(ref, newValue);\n });\n });\n useIsomorphicLayoutEffect$1(function() {\n var oldValue = currentValues.get(callbackRef);\n if (oldValue) {\n var prevRefs_1 = new Set(oldValue);\n var nextRefs_1 = new Set(refs);\n var current_1 = callbackRef.current;\n prevRefs_1.forEach(function(ref) {\n if (!nextRefs_1.has(ref)) {\n assignRef(ref, null);\n }\n });\n nextRefs_1.forEach(function(ref) {\n if (!prevRefs_1.has(ref)) {\n assignRef(ref, current_1);\n }\n });\n }\n currentValues.set(callbackRef, refs);\n }, [refs]);\n return callbackRef;\n}\nfunction ItoI(a) {\n return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) {\n middleware = ItoI;\n }\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function() {\n if (assigned) {\n throw new Error(\"Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.\");\n }\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n return defaults;\n },\n useMedium: function(data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function() {\n buffer = buffer.filter(function(x) {\n return x !== item;\n });\n };\n },\n assignSyncMedium: function(cb) {\n assigned = true;\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n buffer = {\n push: function(x) {\n return cb(x);\n },\n filter: function() {\n return buffer;\n }\n };\n },\n assignMedium: function(cb) {\n assigned = true;\n var pendingQueue = [];\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n var executeQueue = function() {\n var cbs2 = pendingQueue;\n pendingQueue = [];\n cbs2.forEach(cb);\n };\n var cycle = function() {\n return Promise.resolve().then(executeQueue);\n };\n cycle();\n buffer = {\n push: function(x) {\n pendingQueue.push(x);\n cycle();\n },\n filter: function(filter) {\n pendingQueue = pendingQueue.filter(filter);\n return buffer;\n }\n };\n }\n };\n return medium;\n}\nfunction createSidecarMedium(options) {\n if (options === void 0) {\n options = {};\n }\n var medium = innerCreateMedium(null);\n medium.options = __assign({ async: true, ssr: false }, options);\n return medium;\n}\nvar SideCar$1 = function(_a) {\n var sideCar = _a.sideCar, rest = __rest(_a, [\"sideCar\"]);\n if (!sideCar) {\n throw new Error(\"Sidecar: please provide `sideCar` property to import the right car\");\n }\n var Target = sideCar.read();\n if (!Target) {\n throw new Error(\"Sidecar medium not found\");\n }\n return React.createElement(Target, __assign({}, rest));\n};\nSideCar$1.isSideCarExport = true;\nfunction exportSidecar(medium, exported) {\n medium.useMedium(exported);\n return SideCar$1;\n}\nvar effectCar = createSidecarMedium();\nvar nothing = function() {\n return;\n};\nvar RemoveScroll = React.forwardRef(function(props2, parentRef) {\n var ref = React.useRef(null);\n var _a = React.useState({\n onScrollCapture: nothing,\n onWheelCapture: nothing,\n onTouchMoveCapture: nothing\n }), callbacks = _a[0], setCallbacks = _a[1];\n var forwardProps = props2.forwardProps, children = props2.children, className = props2.className, removeScrollBar = props2.removeScrollBar, enabled = props2.enabled, shards = props2.shards, sideCar = props2.sideCar, noRelative = props2.noRelative, noIsolation = props2.noIsolation, inert = props2.inert, allowPinchZoom = props2.allowPinchZoom, _b = props2.as, Container = _b === void 0 ? \"div\" : _b, gapMode = props2.gapMode, rest = __rest(props2, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noRelative\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\", \"gapMode\"]);\n var SideCar2 = sideCar;\n var containerRef = useMergeRefs([ref, parentRef]);\n var containerProps = __assign(__assign({}, rest), callbacks);\n return React.createElement(\n React.Fragment,\n null,\n enabled && React.createElement(SideCar2, { sideCar: effectCar, removeScrollBar, shards, noRelative, noIsolation, inert, setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode }),\n forwardProps ? React.cloneElement(React.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef })) : React.createElement(Container, __assign({}, containerProps, { className, ref: containerRef }), children)\n );\n});\nRemoveScroll.defaultProps = {\n enabled: true,\n removeScrollBar: true,\n inert: false\n};\nRemoveScroll.classNames = {\n fullWidth: fullWidthClassName,\n zeroRight: zeroRightClassName\n};\nvar getNonce = function() {\n if (typeof __webpack_nonce__ !== \"undefined\") {\n return __webpack_nonce__;\n }\n return void 0;\n};\nfunction makeStyleTag() {\n if (!document)\n return null;\n var tag = document.createElement(\"style\");\n tag.type = \"text/css\";\n var nonce = getNonce();\n if (nonce) {\n tag.setAttribute(\"nonce\", nonce);\n }\n return tag;\n}\nfunction injectStyles(tag, css) {\n if (tag.styleSheet) {\n tag.styleSheet.cssText = css;\n } else {\n tag.appendChild(document.createTextNode(css));\n }\n}\nfunction insertStyleTag(tag) {\n var head = document.head || document.getElementsByTagName(\"head\")[0];\n head.appendChild(tag);\n}\nvar stylesheetSingleton = function() {\n var counter2 = 0;\n var stylesheet = null;\n return {\n add: function(style) {\n if (counter2 == 0) {\n if (stylesheet = makeStyleTag()) {\n injectStyles(stylesheet, style);\n insertStyleTag(stylesheet);\n }\n }\n counter2++;\n },\n remove: function() {\n counter2--;\n if (!counter2 && stylesheet) {\n stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);\n stylesheet = null;\n }\n }\n };\n};\nvar styleHookSingleton = function() {\n var sheet = stylesheetSingleton();\n return function(styles, isDynamic) {\n React.useEffect(function() {\n sheet.add(styles);\n return function() {\n sheet.remove();\n };\n }, [styles && isDynamic]);\n };\n};\nvar styleSingleton = function() {\n var useStyle = styleHookSingleton();\n var Sheet = function(_a) {\n var styles = _a.styles, dynamic = _a.dynamic;\n useStyle(styles, dynamic);\n return null;\n };\n return Sheet;\n};\nvar zeroGap = {\n left: 0,\n top: 0,\n right: 0,\n gap: 0\n};\nvar parse = function(x) {\n return parseInt(x || \"\", 10) || 0;\n};\nvar getOffset = function(gapMode) {\n var cs = window.getComputedStyle(document.body);\n var left = cs[gapMode === \"padding\" ? \"paddingLeft\" : \"marginLeft\"];\n var top = cs[gapMode === \"padding\" ? \"paddingTop\" : \"marginTop\"];\n var right = cs[gapMode === \"padding\" ? \"paddingRight\" : \"marginRight\"];\n return [parse(left), parse(top), parse(right)];\n};\nvar getGapWidth = function(gapMode) {\n if (gapMode === void 0) {\n gapMode = \"margin\";\n }\n if (typeof window === \"undefined\") {\n return zeroGap;\n }\n var offsets = getOffset(gapMode);\n var documentWidth = document.documentElement.clientWidth;\n var windowWidth = window.innerWidth;\n return {\n left: offsets[0],\n top: offsets[1],\n right: offsets[2],\n gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0])\n };\n};\nvar Style = styleSingleton();\nvar lockAttribute = \"data-scroll-locked\";\nvar getStyles = function(_a, allowRelative, gapMode, important) {\n var left = _a.left, top = _a.top, right = _a.right, gap = _a.gap;\n if (gapMode === void 0) {\n gapMode = \"margin\";\n }\n return \"\\n .\".concat(noScrollbarsClassName, \" {\\n overflow: hidden \").concat(important, \";\\n padding-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n body[\").concat(lockAttribute, \"] {\\n overflow: hidden \").concat(important, \";\\n overscroll-behavior: contain;\\n \").concat([\n allowRelative && \"position: relative \".concat(important, \";\"),\n gapMode === \"margin\" && \"\\n padding-left: \".concat(left, \"px;\\n padding-top: \").concat(top, \"px;\\n padding-right: \").concat(right, \"px;\\n margin-left:0;\\n margin-top:0;\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n \"),\n gapMode === \"padding\" && \"padding-right: \".concat(gap, \"px \").concat(important, \";\")\n ].filter(Boolean).join(\"\"), \"\\n }\\n \\n .\").concat(zeroRightClassName, \" {\\n right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" {\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(zeroRightClassName, \" .\").concat(zeroRightClassName, \" {\\n right: 0 \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" .\").concat(fullWidthClassName, \" {\\n margin-right: 0 \").concat(important, \";\\n }\\n \\n body[\").concat(lockAttribute, \"] {\\n \").concat(removedBarSizeVariable, \": \").concat(gap, \"px;\\n }\\n\");\n};\nvar getCurrentUseCounter = function() {\n var counter2 = parseInt(document.body.getAttribute(lockAttribute) || \"0\", 10);\n return isFinite(counter2) ? counter2 : 0;\n};\nvar useLockAttribute = function() {\n React.useEffect(function() {\n document.body.setAttribute(lockAttribute, (getCurrentUseCounter() + 1).toString());\n return function() {\n var newCounter = getCurrentUseCounter() - 1;\n if (newCounter <= 0) {\n document.body.removeAttribute(lockAttribute);\n } else {\n document.body.setAttribute(lockAttribute, newCounter.toString());\n }\n };\n }, []);\n};\nvar RemoveScrollBar = function(_a) {\n var noRelative = _a.noRelative, noImportant = _a.noImportant, _b = _a.gapMode, gapMode = _b === void 0 ? \"margin\" : _b;\n useLockAttribute();\n var gap = React.useMemo(function() {\n return getGapWidth(gapMode);\n }, [gapMode]);\n return React.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? \"!important\" : \"\") });\n};\nvar passiveSupported = false;\nif (typeof window !== \"undefined\") {\n try {\n var options = Object.defineProperty({}, \"passive\", {\n get: function() {\n passiveSupported = true;\n return true;\n }\n });\n window.addEventListener(\"test\", options, options);\n window.removeEventListener(\"test\", options, options);\n } catch (err) {\n passiveSupported = false;\n }\n}\nvar nonPassive = passiveSupported ? { passive: false } : false;\nvar alwaysContainsScroll = function(node) {\n return node.tagName === \"TEXTAREA\";\n};\nvar elementCanBeScrolled = function(node, overflow) {\n if (!(node instanceof Element)) {\n return false;\n }\n var styles = window.getComputedStyle(node);\n return (\n // not-not-scrollable\n styles[overflow] !== \"hidden\" && // contains scroll inside self\n !(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === \"visible\")\n );\n};\nvar elementCouldBeVScrolled = function(node) {\n return elementCanBeScrolled(node, \"overflowY\");\n};\nvar elementCouldBeHScrolled = function(node) {\n return elementCanBeScrolled(node, \"overflowX\");\n};\nvar locationCouldBeScrolled = function(axis, node) {\n var ownerDocument = node.ownerDocument;\n var current = node;\n do {\n if (typeof ShadowRoot !== \"undefined\" && current instanceof ShadowRoot) {\n current = current.host;\n }\n var isScrollable = elementCouldBeScrolled(axis, current);\n if (isScrollable) {\n var _a = getScrollVariables(axis, current), scrollHeight = _a[1], clientHeight = _a[2];\n if (scrollHeight > clientHeight) {\n return true;\n }\n }\n current = current.parentNode;\n } while (current && current !== ownerDocument.body);\n return false;\n};\nvar getVScrollVariables = function(_a) {\n var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;\n return [\n scrollTop,\n scrollHeight,\n clientHeight\n ];\n};\nvar getHScrollVariables = function(_a) {\n var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n return [\n scrollLeft,\n scrollWidth,\n clientWidth\n ];\n};\nvar elementCouldBeScrolled = function(axis, node) {\n return axis === \"v\" ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\nvar getScrollVariables = function(axis, node) {\n return axis === \"v\" ? getVScrollVariables(node) : getHScrollVariables(node);\n};\nvar getDirectionFactor = function(axis, direction) {\n return axis === \"h\" && direction === \"rtl\" ? -1 : 1;\n};\nvar handleScroll = function(axis, endTarget, event, sourceDelta, noOverscroll) {\n var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n var delta = directionFactor * sourceDelta;\n var target = event.target;\n var targetInLock = endTarget.contains(target);\n var shouldCancelScroll = false;\n var isDeltaPositive = delta > 0;\n var availableScroll = 0;\n var availableScrollTop = 0;\n do {\n if (!target) {\n break;\n }\n var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2];\n var elementScroll = scroll_1 - capacity - directionFactor * position;\n if (position || elementScroll) {\n if (elementCouldBeScrolled(axis, target)) {\n availableScroll += elementScroll;\n availableScrollTop += position;\n }\n }\n var parent_1 = target.parentNode;\n target = parent_1 && parent_1.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? parent_1.host : parent_1;\n } while (\n // portaled content\n !targetInLock && target !== document.body || // self content\n targetInLock && (endTarget.contains(target) || endTarget === target)\n );\n if (isDeltaPositive && (Math.abs(availableScroll) < 1 || false)) {\n shouldCancelScroll = true;\n } else if (!isDeltaPositive && (Math.abs(availableScrollTop) < 1 || false)) {\n shouldCancelScroll = true;\n }\n return shouldCancelScroll;\n};\nvar getTouchXY = function(event) {\n return \"changedTouches\" in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\n};\nvar getDeltaXY = function(event) {\n return [event.deltaX, event.deltaY];\n};\nvar extractRef = function(ref) {\n return ref && \"current\" in ref ? ref.current : ref;\n};\nvar deltaCompare = function(x, y) {\n return x[0] === y[0] && x[1] === y[1];\n};\nvar generateStyle = function(id) {\n return \"\\n .block-interactivity-\".concat(id, \" {pointer-events: none;}\\n .allow-interactivity-\").concat(id, \" {pointer-events: all;}\\n\");\n};\nvar idCounter = 0;\nvar lockStack = [];\nfunction RemoveScrollSideCar(props2) {\n var shouldPreventQueue = React.useRef([]);\n var touchStartRef = React.useRef([0, 0]);\n var activeAxis = React.useRef();\n var id = React.useState(idCounter++)[0];\n var Style2 = React.useState(styleSingleton)[0];\n var lastProps = React.useRef(props2);\n React.useEffect(function() {\n lastProps.current = props2;\n }, [props2]);\n React.useEffect(function() {\n if (props2.inert) {\n document.body.classList.add(\"block-interactivity-\".concat(id));\n var allow_1 = __spreadArray([props2.lockRef.current], (props2.shards || []).map(extractRef), true).filter(Boolean);\n allow_1.forEach(function(el) {\n return el.classList.add(\"allow-interactivity-\".concat(id));\n });\n return function() {\n document.body.classList.remove(\"block-interactivity-\".concat(id));\n allow_1.forEach(function(el) {\n return el.classList.remove(\"allow-interactivity-\".concat(id));\n });\n };\n }\n return;\n }, [props2.inert, props2.lockRef.current, props2.shards]);\n var shouldCancelEvent = React.useCallback(function(event, parent) {\n if (\"touches\" in event && event.touches.length === 2 || event.type === \"wheel\" && event.ctrlKey) {\n return !lastProps.current.allowPinchZoom;\n }\n var touch = getTouchXY(event);\n var touchStart = touchStartRef.current;\n var deltaX = \"deltaX\" in event ? event.deltaX : touchStart[0] - touch[0];\n var deltaY = \"deltaY\" in event ? event.deltaY : touchStart[1] - touch[1];\n var currentAxis;\n var target = event.target;\n var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? \"h\" : \"v\";\n if (\"touches\" in event && moveDirection === \"h\" && target.type === \"range\") {\n return false;\n }\n var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n if (!canBeScrolledInMainDirection) {\n return true;\n }\n if (canBeScrolledInMainDirection) {\n currentAxis = moveDirection;\n } else {\n currentAxis = moveDirection === \"v\" ? \"h\" : \"v\";\n canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n }\n if (!canBeScrolledInMainDirection) {\n return false;\n }\n if (!activeAxis.current && \"changedTouches\" in event && (deltaX || deltaY)) {\n activeAxis.current = currentAxis;\n }\n if (!currentAxis) {\n return true;\n }\n var cancelingAxis = activeAxis.current || currentAxis;\n return handleScroll(cancelingAxis, parent, event, cancelingAxis === \"h\" ? deltaX : deltaY);\n }, []);\n var shouldPrevent = React.useCallback(function(_event) {\n var event = _event;\n if (!lockStack.length || lockStack[lockStack.length - 1] !== Style2) {\n return;\n }\n var delta = \"deltaY\" in event ? getDeltaXY(event) : getTouchXY(event);\n var sourceEvent = shouldPreventQueue.current.filter(function(e) {\n return e.name === event.type && (e.target === event.target || event.target === e.shadowParent) && deltaCompare(e.delta, delta);\n })[0];\n if (sourceEvent && sourceEvent.should) {\n if (event.cancelable) {\n event.preventDefault();\n }\n return;\n }\n if (!sourceEvent) {\n var shardNodes = (lastProps.current.shards || []).map(extractRef).filter(Boolean).filter(function(node) {\n return node.contains(event.target);\n });\n var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;\n if (shouldStop) {\n if (event.cancelable) {\n event.preventDefault();\n }\n }\n }\n }, []);\n var shouldCancel = React.useCallback(function(name, delta, target, should) {\n var event = { name, delta, target, should, shadowParent: getOutermostShadowParent(target) };\n shouldPreventQueue.current.push(event);\n setTimeout(function() {\n shouldPreventQueue.current = shouldPreventQueue.current.filter(function(e) {\n return e !== event;\n });\n }, 1);\n }, []);\n var scrollTouchStart = React.useCallback(function(event) {\n touchStartRef.current = getTouchXY(event);\n activeAxis.current = void 0;\n }, []);\n var scrollWheel = React.useCallback(function(event) {\n shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props2.lockRef.current));\n }, []);\n var scrollTouchMove = React.useCallback(function(event) {\n shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props2.lockRef.current));\n }, []);\n React.useEffect(function() {\n lockStack.push(Style2);\n props2.setCallbacks({\n onScrollCapture: scrollWheel,\n onWheelCapture: scrollWheel,\n onTouchMoveCapture: scrollTouchMove\n });\n document.addEventListener(\"wheel\", shouldPrevent, nonPassive);\n document.addEventListener(\"touchmove\", shouldPrevent, nonPassive);\n document.addEventListener(\"touchstart\", scrollTouchStart, nonPassive);\n return function() {\n lockStack = lockStack.filter(function(inst) {\n return inst !== Style2;\n });\n document.removeEventListener(\"wheel\", shouldPrevent, nonPassive);\n document.removeEventListener(\"touchmove\", shouldPrevent, nonPassive);\n document.removeEventListener(\"touchstart\", scrollTouchStart, nonPassive);\n };\n }, []);\n var removeScrollBar = props2.removeScrollBar, inert = props2.inert;\n return React.createElement(\n React.Fragment,\n null,\n inert ? React.createElement(Style2, { styles: generateStyle(id) }) : null,\n removeScrollBar ? React.createElement(RemoveScrollBar, { noRelative: props2.noRelative, gapMode: props2.gapMode }) : null\n );\n}\nfunction getOutermostShadowParent(node) {\n var shadowParent = null;\n while (node !== null) {\n if (node instanceof ShadowRoot) {\n shadowParent = node.host;\n node = node.host;\n }\n node = node.parentNode;\n }\n return shadowParent;\n}\nconst SideCar = exportSidecar(effectCar, RemoveScrollSideCar);\nvar ReactRemoveScroll = React.forwardRef(function(props2, ref) {\n return React.createElement(RemoveScroll, __assign({}, props2, { ref, sideCar: SideCar }));\n});\nReactRemoveScroll.classNames = RemoveScroll.classNames;\nconst PanelGroupContext = createContext(null);\nPanelGroupContext.displayName = \"PanelGroupContext\";\nconst DATA_ATTRIBUTES = {\n group: \"data-panel-group\",\n groupDirection: \"data-panel-group-direction\",\n groupId: \"data-panel-group-id\",\n panel: \"data-panel\",\n panelCollapsible: \"data-panel-collapsible\",\n panelId: \"data-panel-id\",\n panelSize: \"data-panel-size\",\n resizeHandle: \"data-resize-handle\",\n resizeHandleActive: \"data-resize-handle-active\",\n resizeHandleEnabled: \"data-panel-resize-handle-enabled\",\n resizeHandleId: \"data-panel-resize-handle-id\",\n resizeHandleState: \"data-resize-handle-state\"\n};\nconst PRECISION = 10;\nconst useIsomorphicLayoutEffect = useLayoutEffect;\nconst useId = React[\"useId\".toString()];\nconst wrappedUseId = typeof useId === \"function\" ? useId : () => null;\nlet counter = 0;\nfunction useUniqueId(idFromParams = null) {\n const idFromUseId = wrappedUseId();\n const idRef = useRef(idFromParams || idFromUseId || null);\n if (idRef.current === null) {\n idRef.current = \"\" + counter++;\n }\n return idFromParams !== null && idFromParams !== void 0 ? idFromParams : idRef.current;\n}\nfunction PanelWithForwardedRef({\n children,\n className: classNameFromProps = \"\",\n collapsedSize,\n collapsible,\n defaultSize,\n forwardedRef,\n id: idFromProps,\n maxSize,\n minSize,\n onCollapse,\n onExpand,\n onResize,\n order,\n style: styleFromProps,\n tagName: Type = \"div\",\n ...rest\n}) {\n const context = useContext(PanelGroupContext);\n if (context === null) {\n throw Error(`Panel components must be rendered within a PanelGroup container`);\n }\n const {\n collapsePanel,\n expandPanel,\n getPanelSize,\n getPanelStyle,\n groupId,\n isPanelCollapsed,\n reevaluatePanelConstraints,\n registerPanel,\n resizePanel: resizePanel2,\n unregisterPanel\n } = context;\n const panelId = useUniqueId(idFromProps);\n const panelDataRef = useRef({\n callbacks: {\n onCollapse,\n onExpand,\n onResize\n },\n constraints: {\n collapsedSize,\n collapsible,\n defaultSize,\n maxSize,\n minSize\n },\n id: panelId,\n idIsFromProps: idFromProps !== void 0,\n order\n });\n useRef({\n didLogMissingDefaultSizeWarning: false\n });\n useIsomorphicLayoutEffect(() => {\n const {\n callbacks,\n constraints\n } = panelDataRef.current;\n const prevConstraints = {\n ...constraints\n };\n panelDataRef.current.id = panelId;\n panelDataRef.current.idIsFromProps = idFromProps !== void 0;\n panelDataRef.current.order = order;\n callbacks.onCollapse = onCollapse;\n callbacks.onExpand = onExpand;\n callbacks.onResize = onResize;\n constraints.collapsedSize = collapsedSize;\n constraints.collapsible = collapsible;\n constraints.defaultSize = defaultSize;\n constraints.maxSize = maxSize;\n constraints.minSize = minSize;\n if (prevConstraints.collapsedSize !== constraints.collapsedSize || prevConstraints.collapsible !== constraints.collapsible || prevConstraints.maxSize !== constraints.maxSize || prevConstraints.minSize !== constraints.minSize) {\n reevaluatePanelConstraints(panelDataRef.current, prevConstraints);\n }\n });\n useIsomorphicLayoutEffect(() => {\n const panelData = panelDataRef.current;\n registerPanel(panelData);\n return () => {\n unregisterPanel(panelData);\n };\n }, [order, panelId, registerPanel, unregisterPanel]);\n useImperativeHandle(forwardedRef, () => ({\n collapse: () => {\n collapsePanel(panelDataRef.current);\n },\n expand: (minSize2) => {\n expandPanel(panelDataRef.current, minSize2);\n },\n getId() {\n return panelId;\n },\n getSize() {\n return getPanelSize(panelDataRef.current);\n },\n isCollapsed() {\n return isPanelCollapsed(panelDataRef.current);\n },\n isExpanded() {\n return !isPanelCollapsed(panelDataRef.current);\n },\n resize: (size) => {\n resizePanel2(panelDataRef.current, size);\n }\n }), [collapsePanel, expandPanel, getPanelSize, isPanelCollapsed, panelId, resizePanel2]);\n const style = getPanelStyle(panelDataRef.current, defaultSize);\n return createElement(Type, {\n ...rest,\n children,\n className: classNameFromProps,\n id: panelId,\n style: {\n ...style,\n ...styleFromProps\n },\n // CSS selectors\n [DATA_ATTRIBUTES.groupId]: groupId,\n [DATA_ATTRIBUTES.panel]: \"\",\n [DATA_ATTRIBUTES.panelCollapsible]: collapsible || void 0,\n [DATA_ATTRIBUTES.panelId]: panelId,\n [DATA_ATTRIBUTES.panelSize]: parseFloat(\"\" + style.flexGrow).toFixed(1)\n });\n}\nconst Panel = forwardRef((props2, ref) => createElement(PanelWithForwardedRef, {\n ...props2,\n forwardedRef: ref\n}));\nPanelWithForwardedRef.displayName = \"Panel\";\nPanel.displayName = \"forwardRef(Panel)\";\nlet currentCursorStyle = null;\nlet prevRuleIndex = -1;\nlet styleElement = null;\nfunction getCursorStyle(state, constraintFlags, isPointerDown2) {\n const horizontalMin = (constraintFlags & EXCEEDED_HORIZONTAL_MIN) !== 0;\n const horizontalMax = (constraintFlags & EXCEEDED_HORIZONTAL_MAX) !== 0;\n const verticalMin = (constraintFlags & EXCEEDED_VERTICAL_MIN) !== 0;\n const verticalMax = (constraintFlags & EXCEEDED_VERTICAL_MAX) !== 0;\n if (constraintFlags) {\n if (horizontalMin) {\n if (verticalMin) {\n return \"se-resize\";\n } else if (verticalMax) {\n return \"ne-resize\";\n } else {\n return \"e-resize\";\n }\n } else if (horizontalMax) {\n if (verticalMin) {\n return \"sw-resize\";\n } else if (verticalMax) {\n return \"nw-resize\";\n } else {\n return \"w-resize\";\n }\n } else if (verticalMin) {\n return \"s-resize\";\n } else if (verticalMax) {\n return \"n-resize\";\n }\n }\n switch (state) {\n case \"horizontal\":\n return \"ew-resize\";\n case \"intersection\":\n return \"move\";\n case \"vertical\":\n return \"ns-resize\";\n }\n}\nfunction resetGlobalCursorStyle() {\n if (styleElement !== null) {\n document.head.removeChild(styleElement);\n currentCursorStyle = null;\n styleElement = null;\n prevRuleIndex = -1;\n }\n}\nfunction setGlobalCursorStyle(state, constraintFlags, isPointerDown2) {\n var _styleElement$sheet$i, _styleElement$sheet2;\n const style = getCursorStyle(state, constraintFlags);\n if (currentCursorStyle === style) {\n return;\n }\n currentCursorStyle = style;\n if (styleElement === null) {\n styleElement = document.createElement(\"style\");\n document.head.appendChild(styleElement);\n }\n if (prevRuleIndex >= 0) {\n var _styleElement$sheet;\n (_styleElement$sheet = styleElement.sheet) === null || _styleElement$sheet === void 0 ? void 0 : _styleElement$sheet.removeRule(prevRuleIndex);\n }\n prevRuleIndex = (_styleElement$sheet$i = (_styleElement$sheet2 = styleElement.sheet) === null || _styleElement$sheet2 === void 0 ? void 0 : _styleElement$sheet2.insertRule(`*{cursor: ${style} !important;}`)) !== null && _styleElement$sheet$i !== void 0 ? _styleElement$sheet$i : -1;\n}\nfunction isKeyDown(event) {\n return event.type === \"keydown\";\n}\nfunction isPointerEvent(event) {\n return event.type.startsWith(\"pointer\");\n}\nfunction isMouseEvent(event) {\n return event.type.startsWith(\"mouse\");\n}\nfunction getResizeEventCoordinates(event) {\n if (isPointerEvent(event)) {\n if (event.isPrimary) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n } else if (isMouseEvent(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n return {\n x: Infinity,\n y: Infinity\n };\n}\nfunction getInputType() {\n if (typeof matchMedia === \"function\") {\n return matchMedia(\"(pointer:coarse)\").matches ? \"coarse\" : \"fine\";\n }\n}\nfunction intersects(rectOne, rectTwo, strict) {\n {\n return rectOne.x < rectTwo.x + rectTwo.width && rectOne.x + rectOne.width > rectTwo.x && rectOne.y < rectTwo.y + rectTwo.height && rectOne.y + rectOne.height > rectTwo.y;\n }\n}\nfunction compare(a, b) {\n if (a === b) throw new Error(\"Cannot compare node with itself\");\n const ancestors = {\n a: get_ancestors(a),\n b: get_ancestors(b)\n };\n let common_ancestor;\n while (ancestors.a.at(-1) === ancestors.b.at(-1)) {\n a = ancestors.a.pop();\n b = ancestors.b.pop();\n common_ancestor = a;\n }\n assert(common_ancestor, \"Stacking order can only be calculated for elements with a common ancestor\");\n const z_indexes = {\n a: get_z_index(find_stacking_context(ancestors.a)),\n b: get_z_index(find_stacking_context(ancestors.b))\n };\n if (z_indexes.a === z_indexes.b) {\n const children = common_ancestor.childNodes;\n const furthest_ancestors = {\n a: ancestors.a.at(-1),\n b: ancestors.b.at(-1)\n };\n let i = children.length;\n while (i--) {\n const child = children[i];\n if (child === furthest_ancestors.a) return 1;\n if (child === furthest_ancestors.b) return -1;\n }\n }\n return Math.sign(z_indexes.a - z_indexes.b);\n}\nconst props = /\\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\\b/;\nfunction is_flex_item(node) {\n var _get_parent;\n const display = getComputedStyle((_get_parent = get_parent(node)) !== null && _get_parent !== void 0 ? _get_parent : node).display;\n return display === \"flex\" || display === \"inline-flex\";\n}\nfunction creates_stacking_context(node) {\n const style = getComputedStyle(node);\n if (style.position === \"fixed\") return true;\n if (style.zIndex !== \"auto\" && (style.position !== \"static\" || is_flex_item(node))) return true;\n if (+style.opacity < 1) return true;\n if (\"transform\" in style && style.transform !== \"none\") return true;\n if (\"webkitTransform\" in style && style.webkitTransform !== \"none\") return true;\n if (\"mixBlendMode\" in style && style.mixBlendMode !== \"normal\") return true;\n if (\"filter\" in style && style.filter !== \"none\") return true;\n if (\"webkitFilter\" in style && style.webkitFilter !== \"none\") return true;\n if (\"isolation\" in style && style.isolation === \"isolate\") return true;\n if (props.test(style.willChange)) return true;\n if (style.webkitOverflowScrolling === \"touch\") return true;\n return false;\n}\nfunction find_stacking_context(nodes) {\n let i = nodes.length;\n while (i--) {\n const node = nodes[i];\n assert(node, \"Missing node\");\n if (creates_stacking_context(node)) return node;\n }\n return null;\n}\nfunction get_z_index(node) {\n return node && Number(getComputedStyle(node).zIndex) || 0;\n}\nfunction get_ancestors(node) {\n const ancestors = [];\n while (node) {\n ancestors.push(node);\n node = get_parent(node);\n }\n return ancestors;\n}\nfunction get_parent(node) {\n const {\n parentNode\n } = node;\n if (parentNode && parentNode instanceof ShadowRoot) {\n return parentNode.host;\n }\n return parentNode;\n}\nconst EXCEEDED_HORIZONTAL_MIN = 1;\nconst EXCEEDED_HORIZONTAL_MAX = 2;\nconst EXCEEDED_VERTICAL_MIN = 4;\nconst EXCEEDED_VERTICAL_MAX = 8;\nconst isCoarsePointer = getInputType() === \"coarse\";\nlet intersectingHandles = [];\nlet isPointerDown = false;\nlet ownerDocumentCounts = /* @__PURE__ */ new Map();\nlet panelConstraintFlags = /* @__PURE__ */ new Map();\nconst registeredResizeHandlers = /* @__PURE__ */ new Set();\nfunction registerResizeHandle(resizeHandleId, element, direction, hitAreaMargins, setResizeHandlerState) {\n var _ownerDocumentCounts$;\n const {\n ownerDocument\n } = element;\n const data = {\n direction,\n element,\n hitAreaMargins,\n setResizeHandlerState\n };\n const count2 = (_ownerDocumentCounts$ = ownerDocumentCounts.get(ownerDocument)) !== null && _ownerDocumentCounts$ !== void 0 ? _ownerDocumentCounts$ : 0;\n ownerDocumentCounts.set(ownerDocument, count2 + 1);\n registeredResizeHandlers.add(data);\n updateListeners();\n return function unregisterResizeHandle() {\n var _ownerDocumentCounts$2;\n panelConstraintFlags.delete(resizeHandleId);\n registeredResizeHandlers.delete(data);\n const count3 = (_ownerDocumentCounts$2 = ownerDocumentCounts.get(ownerDocument)) !== null && _ownerDocumentCounts$2 !== void 0 ? _ownerDocumentCounts$2 : 1;\n ownerDocumentCounts.set(ownerDocument, count3 - 1);\n updateListeners();\n if (count3 === 1) {\n ownerDocumentCounts.delete(ownerDocument);\n }\n if (intersectingHandles.includes(data)) {\n const index = intersectingHandles.indexOf(data);\n if (index >= 0) {\n intersectingHandles.splice(index, 1);\n }\n updateCursor();\n setResizeHandlerState(\"up\", true, null);\n }\n };\n}\nfunction handlePointerDown(event) {\n const {\n target\n } = event;\n const {\n x,\n y\n } = getResizeEventCoordinates(event);\n isPointerDown = true;\n recalculateIntersectingHandles({\n target,\n x,\n y\n });\n updateListeners();\n if (intersectingHandles.length > 0) {\n updateResizeHandlerStates(\"down\", event);\n updateCursor();\n event.preventDefault();\n if (!isWithinResizeHandle(target)) {\n event.stopImmediatePropagation();\n }\n }\n}\nfunction handlePointerMove(event) {\n const {\n x,\n y\n } = getResizeEventCoordinates(event);\n if (isPointerDown && // Skip this check for \"pointerleave\" events, else Firefox triggers a false positive (see #514)\n event.type !== \"pointerleave\" && event.buttons === 0) {\n isPointerDown = false;\n updateResizeHandlerStates(\"up\", event);\n }\n if (!isPointerDown) {\n const {\n target\n } = event;\n recalculateIntersectingHandles({\n target,\n x,\n y\n });\n }\n updateResizeHandlerStates(\"move\", event);\n updateCursor();\n if (intersectingHandles.length > 0) {\n event.preventDefault();\n }\n}\nfunction handlePointerUp(event) {\n const {\n target\n } = event;\n const {\n x,\n y\n } = getResizeEventCoordinates(event);\n panelConstraintFlags.clear();\n isPointerDown = false;\n if (intersectingHandles.length > 0) {\n event.preventDefault();\n if (!isWithinResizeHandle(target)) {\n event.stopImmediatePropagation();\n }\n }\n updateResizeHandlerStates(\"up\", event);\n recalculateIntersectingHandles({\n target,\n x,\n y\n });\n updateCursor();\n updateListeners();\n}\nfunction isWithinResizeHandle(element) {\n let currentElement = element;\n while (currentElement) {\n if (currentElement.hasAttribute(DATA_ATTRIBUTES.resizeHandle)) {\n return true;\n }\n currentElement = currentElement.parentElement;\n }\n return false;\n}\nfunction recalculateIntersectingHandles({\n target,\n x,\n y\n}) {\n intersectingHandles.splice(0);\n let targetElement = null;\n if (target instanceof HTMLElement || target instanceof SVGElement) {\n targetElement = target;\n }\n registeredResizeHandlers.forEach((data) => {\n const {\n element: dragHandleElement,\n hitAreaMargins\n } = data;\n const dragHandleRect = dragHandleElement.getBoundingClientRect();\n const {\n bottom,\n left,\n right,\n top\n } = dragHandleRect;\n const margin = isCoarsePointer ? hitAreaMargins.coarse : hitAreaMargins.fine;\n const eventIntersects = x >= left - margin && x <= right + margin && y >= top - margin && y <= bottom + margin;\n if (eventIntersects) {\n if (targetElement !== null && document.contains(targetElement) && dragHandleElement !== targetElement && !dragHandleElement.contains(targetElement) && !targetElement.contains(dragHandleElement) && // Calculating stacking order has a cost, so we should avoid it if possible\n // That is why we only check potentially intersecting handles,\n // and why we skip if the event target is within the handle's DOM\n compare(targetElement, dragHandleElement) > 0) {\n let currentElement = targetElement;\n let didIntersect = false;\n while (currentElement) {\n if (currentElement.contains(dragHandleElement)) {\n break;\n } else if (intersects(currentElement.getBoundingClientRect(), dragHandleRect)) {\n didIntersect = true;\n break;\n }\n currentElement = currentElement.parentElement;\n }\n if (didIntersect) {\n return;\n }\n }\n intersectingHandles.push(data);\n }\n });\n}\nfunction reportConstraintsViolation(resizeHandleId, flag) {\n panelConstraintFlags.set(resizeHandleId, flag);\n}\nfunction updateCursor() {\n let intersectsHorizontal = false;\n let intersectsVertical = false;\n intersectingHandles.forEach((data) => {\n const {\n direction\n } = data;\n if (direction === \"horizontal\") {\n intersectsHorizontal = true;\n } else {\n intersectsVertical = true;\n }\n });\n let constraintFlags = 0;\n panelConstraintFlags.forEach((flag) => {\n constraintFlags |= flag;\n });\n if (intersectsHorizontal && intersectsVertical) {\n setGlobalCursorStyle(\"intersection\", constraintFlags);\n } else if (intersectsHorizontal) {\n setGlobalCursorStyle(\"horizontal\", constraintFlags);\n } else if (intersectsVertical) {\n setGlobalCursorStyle(\"vertical\", constraintFlags);\n } else {\n resetGlobalCursorStyle();\n }\n}\nlet listenersAbortController;\nfunction updateListeners() {\n var _listenersAbortContro;\n (_listenersAbortContro = listenersAbortController) === null || _listenersAbortContro === void 0 ? void 0 : _listenersAbortContro.abort();\n listenersAbortController = new AbortController();\n const options = {\n capture: true,\n signal: listenersAbortController.signal\n };\n if (!registeredResizeHandlers.size) {\n return;\n }\n if (isPointerDown) {\n if (intersectingHandles.length > 0) {\n ownerDocumentCounts.forEach((count2, ownerDocument) => {\n const {\n body\n } = ownerDocument;\n if (count2 > 0) {\n body.addEventListener(\"contextmenu\", handlePointerUp, options);\n body.addEventListener(\"pointerleave\", handlePointerMove, options);\n body.addEventListener(\"pointermove\", handlePointerMove, options);\n }\n });\n }\n ownerDocumentCounts.forEach((_, ownerDocument) => {\n const {\n body\n } = ownerDocument;\n body.addEventListener(\"pointerup\", handlePointerUp, options);\n body.addEventListener(\"pointercancel\", handlePointerUp, options);\n });\n } else {\n ownerDocumentCounts.forEach((count2, ownerDocument) => {\n const {\n body\n } = ownerDocument;\n if (count2 > 0) {\n body.addEventListener(\"pointerdown\", handlePointerDown, options);\n body.addEventListener(\"pointermove\", handlePointerMove, options);\n }\n });\n }\n}\nfunction updateResizeHandlerStates(action, event) {\n registeredResizeHandlers.forEach((data) => {\n const {\n setResizeHandlerState\n } = data;\n const isActive = intersectingHandles.includes(data);\n setResizeHandlerState(action, isActive, event);\n });\n}\nfunction useForceUpdate() {\n const [_, setCount] = useState(0);\n return useCallback(() => setCount((prevCount) => prevCount + 1), []);\n}\nfunction assert(expectedCondition, message) {\n if (!expectedCondition) {\n throw Error(message);\n }\n}\nfunction fuzzyCompareNumbers(actual, expected, fractionDigits = PRECISION) {\n if (actual.toFixed(fractionDigits) === expected.toFixed(fractionDigits)) {\n return 0;\n } else {\n return actual > expected ? 1 : -1;\n }\n}\nfunction fuzzyNumbersEqual$1(actual, expected, fractionDigits = PRECISION) {\n return fuzzyCompareNumbers(actual, expected, fractionDigits) === 0;\n}\nfunction fuzzyNumbersEqual(actual, expected, fractionDigits) {\n return fuzzyCompareNumbers(actual, expected, fractionDigits) === 0;\n}\nfunction fuzzyLayoutsEqual(actual, expected, fractionDigits) {\n if (actual.length !== expected.length) {\n return false;\n }\n for (let index = 0; index < actual.length; index++) {\n const actualSize = actual[index];\n const expectedSize = expected[index];\n if (!fuzzyNumbersEqual(actualSize, expectedSize, fractionDigits)) {\n return false;\n }\n }\n return true;\n}\nfunction resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex,\n size\n}) {\n const panelConstraints = panelConstraintsArray[panelIndex];\n assert(panelConstraints != null, `Panel constraints not found for index ${panelIndex}`);\n let {\n collapsedSize = 0,\n collapsible,\n maxSize = 100,\n minSize = 0\n } = panelConstraints;\n if (fuzzyCompareNumbers(size, minSize) < 0) {\n if (collapsible) {\n const halfwayPoint = (collapsedSize + minSize) / 2;\n if (fuzzyCompareNumbers(size, halfwayPoint) < 0) {\n size = collapsedSize;\n } else {\n size = minSize;\n }\n } else {\n size = minSize;\n }\n }\n size = Math.min(maxSize, size);\n size = parseFloat(size.toFixed(PRECISION));\n return size;\n}\nfunction adjustLayoutByDelta({\n delta,\n initialLayout,\n panelConstraints: panelConstraintsArray,\n pivotIndices,\n prevLayout,\n trigger\n}) {\n if (fuzzyNumbersEqual(delta, 0)) {\n return initialLayout;\n }\n const nextLayout = [...initialLayout];\n const [firstPivotIndex, secondPivotIndex] = pivotIndices;\n assert(firstPivotIndex != null, \"Invalid first pivot index\");\n assert(secondPivotIndex != null, \"Invalid second pivot index\");\n let deltaApplied = 0;\n {\n if (trigger === \"keyboard\") {\n {\n const index = delta < 0 ? secondPivotIndex : firstPivotIndex;\n const panelConstraints = panelConstraintsArray[index];\n assert(panelConstraints, `Panel constraints not found for index ${index}`);\n const {\n collapsedSize = 0,\n collapsible,\n minSize = 0\n } = panelConstraints;\n if (collapsible) {\n const prevSize = initialLayout[index];\n assert(prevSize != null, `Previous layout not found for panel index ${index}`);\n if (fuzzyNumbersEqual(prevSize, collapsedSize)) {\n const localDelta = minSize - prevSize;\n if (fuzzyCompareNumbers(localDelta, Math.abs(delta)) > 0) {\n delta = delta < 0 ? 0 - localDelta : localDelta;\n }\n }\n }\n }\n {\n const index = delta < 0 ? firstPivotIndex : secondPivotIndex;\n const panelConstraints = panelConstraintsArray[index];\n assert(panelConstraints, `No panel constraints found for index ${index}`);\n const {\n collapsedSize = 0,\n collapsible,\n minSize = 0\n } = panelConstraints;\n if (collapsible) {\n const prevSize = initialLayout[index];\n assert(prevSize != null, `Previous layout not found for panel index ${index}`);\n if (fuzzyNumbersEqual(prevSize, minSize)) {\n const localDelta = prevSize - collapsedSize;\n if (fuzzyCompareNumbers(localDelta, Math.abs(delta)) > 0) {\n delta = delta < 0 ? 0 - localDelta : localDelta;\n }\n }\n }\n }\n }\n }\n {\n const increment = delta < 0 ? 1 : -1;\n let index = delta < 0 ? secondPivotIndex : firstPivotIndex;\n let maxAvailableDelta = 0;\n while (true) {\n const prevSize = initialLayout[index];\n assert(prevSize != null, `Previous layout not found for panel index ${index}`);\n const maxSafeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: 100\n });\n const delta2 = maxSafeSize - prevSize;\n maxAvailableDelta += delta2;\n index += increment;\n if (index < 0 || index >= panelConstraintsArray.length) {\n break;\n }\n }\n const minAbsDelta = Math.min(Math.abs(delta), Math.abs(maxAvailableDelta));\n delta = delta < 0 ? 0 - minAbsDelta : minAbsDelta;\n }\n {\n const pivotIndex = delta < 0 ? firstPivotIndex : secondPivotIndex;\n let index = pivotIndex;\n while (index >= 0 && index < panelConstraintsArray.length) {\n const deltaRemaining = Math.abs(delta) - Math.abs(deltaApplied);\n const prevSize = initialLayout[index];\n assert(prevSize != null, `Previous layout not found for panel index ${index}`);\n const unsafeSize = prevSize - deltaRemaining;\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: unsafeSize\n });\n if (!fuzzyNumbersEqual(prevSize, safeSize)) {\n deltaApplied += prevSize - safeSize;\n nextLayout[index] = safeSize;\n if (deltaApplied.toFixed(3).localeCompare(Math.abs(delta).toFixed(3), void 0, {\n numeric: true\n }) >= 0) {\n break;\n }\n }\n if (delta < 0) {\n index--;\n } else {\n index++;\n }\n }\n }\n if (fuzzyLayoutsEqual(prevLayout, nextLayout)) {\n return prevLayout;\n }\n {\n const pivotIndex = delta < 0 ? secondPivotIndex : firstPivotIndex;\n const prevSize = initialLayout[pivotIndex];\n assert(prevSize != null, `Previous layout not found for panel index ${pivotIndex}`);\n const unsafeSize = prevSize + deltaApplied;\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: pivotIndex,\n size: unsafeSize\n });\n nextLayout[pivotIndex] = safeSize;\n if (!fuzzyNumbersEqual(safeSize, unsafeSize)) {\n let deltaRemaining = unsafeSize - safeSize;\n const pivotIndex2 = delta < 0 ? secondPivotIndex : firstPivotIndex;\n let index = pivotIndex2;\n while (index >= 0 && index < panelConstraintsArray.length) {\n const prevSize2 = nextLayout[index];\n assert(prevSize2 != null, `Previous layout not found for panel index ${index}`);\n const unsafeSize2 = prevSize2 + deltaRemaining;\n const safeSize2 = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: unsafeSize2\n });\n if (!fuzzyNumbersEqual(prevSize2, safeSize2)) {\n deltaRemaining -= safeSize2 - prevSize2;\n nextLayout[index] = safeSize2;\n }\n if (fuzzyNumbersEqual(deltaRemaining, 0)) {\n break;\n }\n if (delta > 0) {\n index--;\n } else {\n index++;\n }\n }\n }\n }\n const totalSize = nextLayout.reduce((total, size) => size + total, 0);\n if (!fuzzyNumbersEqual(totalSize, 100)) {\n return prevLayout;\n }\n return nextLayout;\n}\nfunction calculateAriaValues({\n layout,\n panelsArray,\n pivotIndices\n}) {\n let currentMinSize = 0;\n let currentMaxSize = 100;\n let totalMinSize = 0;\n let totalMaxSize = 0;\n const firstIndex = pivotIndices[0];\n assert(firstIndex != null, \"No pivot index found\");\n panelsArray.forEach((panelData, index) => {\n const {\n constraints\n } = panelData;\n const {\n maxSize = 100,\n minSize = 0\n } = constraints;\n if (index === firstIndex) {\n currentMinSize = minSize;\n currentMaxSize = maxSize;\n } else {\n totalMinSize += minSize;\n totalMaxSize += maxSize;\n }\n });\n const valueMax = Math.min(currentMaxSize, 100 - totalMinSize);\n const valueMin = Math.max(currentMinSize, 100 - totalMaxSize);\n const valueNow = layout[firstIndex];\n return {\n valueMax,\n valueMin,\n valueNow\n };\n}\nfunction getResizeHandleElementsForGroup(groupId, scope = document) {\n return Array.from(scope.querySelectorAll(`[${DATA_ATTRIBUTES.resizeHandleId}][data-panel-group-id=\"${groupId}\"]`));\n}\nfunction getResizeHandleElementIndex(groupId, id, scope = document) {\n const handles = getResizeHandleElementsForGroup(groupId, scope);\n const index = handles.findIndex((handle) => handle.getAttribute(DATA_ATTRIBUTES.resizeHandleId) === id);\n return index !== null && index !== void 0 ? index : null;\n}\nfunction determinePivotIndices(groupId, dragHandleId, panelGroupElement) {\n const index = getResizeHandleElementIndex(groupId, dragHandleId, panelGroupElement);\n return index != null ? [index, index + 1] : [-1, -1];\n}\nfunction isHTMLElement(target) {\n if (target instanceof HTMLElement) {\n return true;\n }\n return typeof target === \"object\" && target !== null && \"tagName\" in target && \"getAttribute\" in target;\n}\nfunction getPanelGroupElement(id, rootElement = document) {\n if (isHTMLElement(rootElement) && rootElement.dataset.panelGroupId == id) {\n return rootElement;\n }\n const element = rootElement.querySelector(`[data-panel-group][data-panel-group-id=\"${id}\"]`);\n if (element) {\n return element;\n }\n return null;\n}\nfunction getResizeHandleElement(id, scope = document) {\n const element = scope.querySelector(`[${DATA_ATTRIBUTES.resizeHandleId}=\"${id}\"]`);\n if (element) {\n return element;\n }\n return null;\n}\nfunction getResizeHandlePanelIds(groupId, handleId, panelsArray, scope = document) {\n var _panelsArray$index$id, _panelsArray$index, _panelsArray$id, _panelsArray;\n const handle = getResizeHandleElement(handleId, scope);\n const handles = getResizeHandleElementsForGroup(groupId, scope);\n const index = handle ? handles.indexOf(handle) : -1;\n const idBefore = (_panelsArray$index$id = (_panelsArray$index = panelsArray[index]) === null || _panelsArray$index === void 0 ? void 0 : _panelsArray$index.id) !== null && _panelsArray$index$id !== void 0 ? _panelsArray$index$id : null;\n const idAfter = (_panelsArray$id = (_panelsArray = panelsArray[index + 1]) === null || _panelsArray === void 0 ? void 0 : _panelsArray.id) !== null && _panelsArray$id !== void 0 ? _panelsArray$id : null;\n return [idBefore, idAfter];\n}\nfunction useWindowSplitterPanelGroupBehavior({\n committedValuesRef,\n eagerValuesRef,\n groupId,\n layout,\n panelDataArray,\n panelGroupElement,\n setLayout\n}) {\n useRef({\n didWarnAboutMissingResizeHandle: false\n });\n useIsomorphicLayoutEffect(() => {\n if (!panelGroupElement) {\n return;\n }\n const resizeHandleElements = getResizeHandleElementsForGroup(groupId, panelGroupElement);\n for (let index = 0; index < panelDataArray.length - 1; index++) {\n const {\n valueMax,\n valueMin,\n valueNow\n } = calculateAriaValues({\n layout,\n panelsArray: panelDataArray,\n pivotIndices: [index, index + 1]\n });\n const resizeHandleElement = resizeHandleElements[index];\n if (resizeHandleElement == null) ;\n else {\n const panelData = panelDataArray[index];\n assert(panelData, `No panel data found for index \"${index}\"`);\n resizeHandleElement.setAttribute(\"aria-controls\", panelData.id);\n resizeHandleElement.setAttribute(\"aria-valuemax\", \"\" + Math.round(valueMax));\n resizeHandleElement.setAttribute(\"aria-valuemin\", \"\" + Math.round(valueMin));\n resizeHandleElement.setAttribute(\"aria-valuenow\", valueNow != null ? \"\" + Math.round(valueNow) : \"\");\n }\n }\n return () => {\n resizeHandleElements.forEach((resizeHandleElement, index) => {\n resizeHandleElement.removeAttribute(\"aria-controls\");\n resizeHandleElement.removeAttribute(\"aria-valuemax\");\n resizeHandleElement.removeAttribute(\"aria-valuemin\");\n resizeHandleElement.removeAttribute(\"aria-valuenow\");\n });\n };\n }, [groupId, layout, panelDataArray, panelGroupElement]);\n useEffect(() => {\n if (!panelGroupElement) {\n return;\n }\n const eagerValues = eagerValuesRef.current;\n assert(eagerValues, `Eager values not found`);\n const {\n panelDataArray: panelDataArray2\n } = eagerValues;\n const groupElement = getPanelGroupElement(groupId, panelGroupElement);\n assert(groupElement != null, `No group found for id \"${groupId}\"`);\n const handles = getResizeHandleElementsForGroup(groupId, panelGroupElement);\n assert(handles, `No resize handles found for group id \"${groupId}\"`);\n const cleanupFunctions = handles.map((handle) => {\n const handleId = handle.getAttribute(DATA_ATTRIBUTES.resizeHandleId);\n assert(handleId, `Resize handle element has no handle id attribute`);\n const [idBefore, idAfter] = getResizeHandlePanelIds(groupId, handleId, panelDataArray2, panelGroupElement);\n if (idBefore == null || idAfter == null) {\n return () => {\n };\n }\n const onKeyDown = (event) => {\n if (event.defaultPrevented) {\n return;\n }\n switch (event.key) {\n case \"Enter\": {\n event.preventDefault();\n const index = panelDataArray2.findIndex((panelData) => panelData.id === idBefore);\n if (index >= 0) {\n const panelData = panelDataArray2[index];\n assert(panelData, `No panel data found for index ${index}`);\n const size = layout[index];\n const {\n collapsedSize = 0,\n collapsible,\n minSize = 0\n } = panelData.constraints;\n if (size != null && collapsible) {\n const nextLayout = adjustLayoutByDelta({\n delta: fuzzyNumbersEqual(size, collapsedSize) ? minSize - collapsedSize : collapsedSize - size,\n initialLayout: layout,\n panelConstraints: panelDataArray2.map((panelData2) => panelData2.constraints),\n pivotIndices: determinePivotIndices(groupId, handleId, panelGroupElement),\n prevLayout: layout,\n trigger: \"keyboard\"\n });\n if (layout !== nextLayout) {\n setLayout(nextLayout);\n }\n }\n }\n break;\n }\n }\n };\n handle.addEventListener(\"keydown\", onKeyDown);\n return () => {\n handle.removeEventListener(\"keydown\", onKeyDown);\n };\n });\n return () => {\n cleanupFunctions.forEach((cleanupFunction) => cleanupFunction());\n };\n }, [panelGroupElement, committedValuesRef, eagerValuesRef, groupId, layout, panelDataArray, setLayout]);\n}\nfunction areEqual(arrayA, arrayB) {\n if (arrayA.length !== arrayB.length) {\n return false;\n }\n for (let index = 0; index < arrayA.length; index++) {\n if (arrayA[index] !== arrayB[index]) {\n return false;\n }\n }\n return true;\n}\nfunction getResizeEventCursorPosition(direction, event) {\n const isHorizontal = direction === \"horizontal\";\n const {\n x,\n y\n } = getResizeEventCoordinates(event);\n return isHorizontal ? x : y;\n}\nfunction calculateDragOffsetPercentage(event, dragHandleId, direction, initialDragState, panelGroupElement) {\n const isHorizontal = direction === \"horizontal\";\n const handleElement = getResizeHandleElement(dragHandleId, panelGroupElement);\n assert(handleElement, `No resize handle element found for id \"${dragHandleId}\"`);\n const groupId = handleElement.getAttribute(DATA_ATTRIBUTES.groupId);\n assert(groupId, `Resize handle element has no group id attribute`);\n let {\n initialCursorPosition\n } = initialDragState;\n const cursorPosition = getResizeEventCursorPosition(direction, event);\n const groupElement = getPanelGroupElement(groupId, panelGroupElement);\n assert(groupElement, `No group element found for id \"${groupId}\"`);\n const groupRect = groupElement.getBoundingClientRect();\n const groupSizeInPixels = isHorizontal ? groupRect.width : groupRect.height;\n const offsetPixels = cursorPosition - initialCursorPosition;\n const offsetPercentage = offsetPixels / groupSizeInPixels * 100;\n return offsetPercentage;\n}\nfunction calculateDeltaPercentage(event, dragHandleId, direction, initialDragState, keyboardResizeBy, panelGroupElement) {\n if (isKeyDown(event)) {\n const isHorizontal = direction === \"horizontal\";\n let delta = 0;\n if (event.shiftKey) {\n delta = 100;\n } else if (keyboardResizeBy != null) {\n delta = keyboardResizeBy;\n } else {\n delta = 10;\n }\n let movement = 0;\n switch (event.key) {\n case \"ArrowDown\":\n movement = isHorizontal ? 0 : delta;\n break;\n case \"ArrowLeft\":\n movement = isHorizontal ? -delta : 0;\n break;\n case \"ArrowRight\":\n movement = isHorizontal ? delta : 0;\n break;\n case \"ArrowUp\":\n movement = isHorizontal ? 0 : -delta;\n break;\n case \"End\":\n movement = 100;\n break;\n case \"Home\":\n movement = -100;\n break;\n }\n return movement;\n } else {\n if (initialDragState == null) {\n return 0;\n }\n return calculateDragOffsetPercentage(event, dragHandleId, direction, initialDragState, panelGroupElement);\n }\n}\nfunction calculateUnsafeDefaultLayout({\n panelDataArray\n}) {\n const layout = Array(panelDataArray.length);\n const panelConstraintsArray = panelDataArray.map((panelData) => panelData.constraints);\n let numPanelsWithSizes = 0;\n let remainingSize = 100;\n for (let index = 0; index < panelDataArray.length; index++) {\n const panelConstraints = panelConstraintsArray[index];\n assert(panelConstraints, `Panel constraints not found for index ${index}`);\n const {\n defaultSize\n } = panelConstraints;\n if (defaultSize != null) {\n numPanelsWithSizes++;\n layout[index] = defaultSize;\n remainingSize -= defaultSize;\n }\n }\n for (let index = 0; index < panelDataArray.length; index++) {\n const panelConstraints = panelConstraintsArray[index];\n assert(panelConstraints, `Panel constraints not found for index ${index}`);\n const {\n defaultSize\n } = panelConstraints;\n if (defaultSize != null) {\n continue;\n }\n const numRemainingPanels = panelDataArray.length - numPanelsWithSizes;\n const size = remainingSize / numRemainingPanels;\n numPanelsWithSizes++;\n layout[index] = size;\n remainingSize -= size;\n }\n return layout;\n}\nfunction callPanelCallbacks(panelsArray, layout, panelIdToLastNotifiedSizeMap) {\n layout.forEach((size, index) => {\n const panelData = panelsArray[index];\n assert(panelData, `Panel data not found for index ${index}`);\n const {\n callbacks,\n constraints,\n id: panelId\n } = panelData;\n const {\n collapsedSize = 0,\n collapsible\n } = constraints;\n const lastNotifiedSize = panelIdToLastNotifiedSizeMap[panelId];\n if (lastNotifiedSize == null || size !== lastNotifiedSize) {\n panelIdToLastNotifiedSizeMap[panelId] = size;\n const {\n onCollapse,\n onExpand,\n onResize\n } = callbacks;\n if (onResize) {\n onResize(size, lastNotifiedSize);\n }\n if (collapsible && (onCollapse || onExpand)) {\n if (onExpand && (lastNotifiedSize == null || fuzzyNumbersEqual$1(lastNotifiedSize, collapsedSize)) && !fuzzyNumbersEqual$1(size, collapsedSize)) {\n onExpand();\n }\n if (onCollapse && (lastNotifiedSize == null || !fuzzyNumbersEqual$1(lastNotifiedSize, collapsedSize)) && fuzzyNumbersEqual$1(size, collapsedSize)) {\n onCollapse();\n }\n }\n }\n });\n}\nfunction compareLayouts(a, b) {\n if (a.length !== b.length) {\n return false;\n } else {\n for (let index = 0; index < a.length; index++) {\n if (a[index] != b[index]) {\n return false;\n }\n }\n }\n return true;\n}\nfunction computePanelFlexBoxStyle({\n defaultSize,\n dragState,\n layout,\n panelData,\n panelIndex,\n precision = 3\n}) {\n const size = layout[panelIndex];\n let flexGrow;\n if (size == null) {\n flexGrow = defaultSize != void 0 ? defaultSize.toFixed(precision) : \"1\";\n } else if (panelData.length === 1) {\n flexGrow = \"1\";\n } else {\n flexGrow = size.toFixed(precision);\n }\n return {\n flexBasis: 0,\n flexGrow,\n flexShrink: 1,\n // Without this, Panel sizes may be unintentionally overridden by their content\n overflow: \"hidden\",\n // Disable pointer events inside of a panel during resize\n // This avoid edge cases like nested iframes\n pointerEvents: dragState !== null ? \"none\" : void 0\n };\n}\nfunction debounce(callback, durationMs = 10) {\n let timeoutId = null;\n let callable = (...args) => {\n if (timeoutId !== null) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n callback(...args);\n }, durationMs);\n };\n return callable;\n}\nfunction initializeDefaultStorage(storageObject) {\n try {\n if (typeof localStorage !== \"undefined\") {\n storageObject.getItem = (name) => {\n return localStorage.getItem(name);\n };\n storageObject.setItem = (name, value) => {\n localStorage.setItem(name, value);\n };\n } else {\n throw new Error(\"localStorage not supported in this environment\");\n }\n } catch (error) {\n storageObject.getItem = () => null;\n storageObject.setItem = () => {\n };\n }\n}\nfunction getPanelGroupKey(autoSaveId) {\n return `react-resizable-panels:${autoSaveId}`;\n}\nfunction getPanelKey(panels) {\n return panels.map((panel) => {\n const {\n constraints,\n id,\n idIsFromProps,\n order\n } = panel;\n if (idIsFromProps) {\n return id;\n } else {\n return order ? `${order}:${JSON.stringify(constraints)}` : JSON.stringify(constraints);\n }\n }).sort((a, b) => a.localeCompare(b)).join(\",\");\n}\nfunction loadSerializedPanelGroupState(autoSaveId, storage) {\n try {\n const panelGroupKey = getPanelGroupKey(autoSaveId);\n const serialized = storage.getItem(panelGroupKey);\n if (serialized) {\n const parsed = JSON.parse(serialized);\n if (typeof parsed === \"object\" && parsed != null) {\n return parsed;\n }\n }\n } catch (error) {\n }\n return null;\n}\nfunction loadPanelGroupState(autoSaveId, panels, storage) {\n var _loadSerializedPanelG, _state$panelKey;\n const state = (_loadSerializedPanelG = loadSerializedPanelGroupState(autoSaveId, storage)) !== null && _loadSerializedPanelG !== void 0 ? _loadSerializedPanelG : {};\n const panelKey = getPanelKey(panels);\n return (_state$panelKey = state[panelKey]) !== null && _state$panelKey !== void 0 ? _state$panelKey : null;\n}\nfunction savePanelGroupState(autoSaveId, panels, panelSizesBeforeCollapse, sizes, storage) {\n var _loadSerializedPanelG2;\n const panelGroupKey = getPanelGroupKey(autoSaveId);\n const panelKey = getPanelKey(panels);\n const state = (_loadSerializedPanelG2 = loadSerializedPanelGroupState(autoSaveId, storage)) !== null && _loadSerializedPanelG2 !== void 0 ? _loadSerializedPanelG2 : {};\n state[panelKey] = {\n expandToSizes: Object.fromEntries(panelSizesBeforeCollapse.entries()),\n layout: sizes\n };\n try {\n storage.setItem(panelGroupKey, JSON.stringify(state));\n } catch (error) {\n }\n}\nfunction validatePanelGroupLayout({\n layout: prevLayout,\n panelConstraints\n}) {\n const nextLayout = [...prevLayout];\n const nextLayoutTotalSize = nextLayout.reduce((accumulated, current) => accumulated + current, 0);\n if (nextLayout.length !== panelConstraints.length) {\n throw Error(`Invalid ${panelConstraints.length} panel layout: ${nextLayout.map((size) => `${size}%`).join(\", \")}`);\n } else if (!fuzzyNumbersEqual(nextLayoutTotalSize, 100) && nextLayout.length > 0) {\n for (let index = 0; index < panelConstraints.length; index++) {\n const unsafeSize = nextLayout[index];\n assert(unsafeSize != null, `No layout data found for index ${index}`);\n const safeSize = 100 / nextLayoutTotalSize * unsafeSize;\n nextLayout[index] = safeSize;\n }\n }\n let remainingSize = 0;\n for (let index = 0; index < panelConstraints.length; index++) {\n const unsafeSize = nextLayout[index];\n assert(unsafeSize != null, `No layout data found for index ${index}`);\n const safeSize = resizePanel({\n panelConstraints,\n panelIndex: index,\n size: unsafeSize\n });\n if (unsafeSize != safeSize) {\n remainingSize += unsafeSize - safeSize;\n nextLayout[index] = safeSize;\n }\n }\n if (!fuzzyNumbersEqual(remainingSize, 0)) {\n for (let index = 0; index < panelConstraints.length; index++) {\n const prevSize = nextLayout[index];\n assert(prevSize != null, `No layout data found for index ${index}`);\n const unsafeSize = prevSize + remainingSize;\n const safeSize = resizePanel({\n panelConstraints,\n panelIndex: index,\n size: unsafeSize\n });\n if (prevSize !== safeSize) {\n remainingSize -= safeSize - prevSize;\n nextLayout[index] = safeSize;\n if (fuzzyNumbersEqual(remainingSize, 0)) {\n break;\n }\n }\n }\n }\n return nextLayout;\n}\nconst LOCAL_STORAGE_DEBOUNCE_INTERVAL = 100;\nconst defaultStorage = {\n getItem: (name) => {\n initializeDefaultStorage(defaultStorage);\n return defaultStorage.getItem(name);\n },\n setItem: (name, value) => {\n initializeDefaultStorage(defaultStorage);\n defaultStorage.setItem(name, value);\n }\n};\nconst debounceMap = {};\nfunction PanelGroupWithForwardedRef({\n autoSaveId = null,\n children,\n className: classNameFromProps = \"\",\n direction,\n forwardedRef,\n id: idFromProps = null,\n onLayout = null,\n keyboardResizeBy = null,\n storage = defaultStorage,\n style: styleFromProps,\n tagName: Type = \"div\",\n ...rest\n}) {\n const groupId = useUniqueId(idFromProps);\n const panelGroupElementRef = useRef(null);\n const [dragState, setDragState] = useState(null);\n const [layout, setLayout] = useState([]);\n const forceUpdate = useForceUpdate();\n const panelIdToLastNotifiedSizeMapRef = useRef({});\n const panelSizeBeforeCollapseRef = useRef(/* @__PURE__ */ new Map());\n const prevDeltaRef = useRef(0);\n const committedValuesRef = useRef({\n autoSaveId,\n direction,\n dragState,\n id: groupId,\n keyboardResizeBy,\n onLayout,\n storage\n });\n const eagerValuesRef = useRef({\n layout,\n panelDataArray: [],\n panelDataArrayChanged: false\n });\n useRef({\n didLogIdAndOrderWarning: false,\n didLogPanelConstraintsWarning: false,\n prevPanelIds: []\n });\n useImperativeHandle(forwardedRef, () => ({\n getId: () => committedValuesRef.current.id,\n getLayout: () => {\n const {\n layout: layout2\n } = eagerValuesRef.current;\n return layout2;\n },\n setLayout: (unsafeLayout) => {\n const {\n onLayout: onLayout2\n } = committedValuesRef.current;\n const {\n layout: prevLayout,\n panelDataArray\n } = eagerValuesRef.current;\n const safeLayout = validatePanelGroupLayout({\n layout: unsafeLayout,\n panelConstraints: panelDataArray.map((panelData) => panelData.constraints)\n });\n if (!areEqual(prevLayout, safeLayout)) {\n setLayout(safeLayout);\n eagerValuesRef.current.layout = safeLayout;\n if (onLayout2) {\n onLayout2(safeLayout);\n }\n callPanelCallbacks(panelDataArray, safeLayout, panelIdToLastNotifiedSizeMapRef.current);\n }\n }\n }), []);\n useIsomorphicLayoutEffect(() => {\n committedValuesRef.current.autoSaveId = autoSaveId;\n committedValuesRef.current.direction = direction;\n committedValuesRef.current.dragState = dragState;\n committedValuesRef.current.id = groupId;\n committedValuesRef.current.onLayout = onLayout;\n committedValuesRef.current.storage = storage;\n });\n useWindowSplitterPanelGroupBehavior({\n committedValuesRef,\n eagerValuesRef,\n groupId,\n layout,\n panelDataArray: eagerValuesRef.current.panelDataArray,\n setLayout,\n panelGroupElement: panelGroupElementRef.current\n });\n useEffect(() => {\n const {\n panelDataArray\n } = eagerValuesRef.current;\n if (autoSaveId) {\n if (layout.length === 0 || layout.length !== panelDataArray.length) {\n return;\n }\n let debouncedSave = debounceMap[autoSaveId];\n if (debouncedSave == null) {\n debouncedSave = debounce(savePanelGroupState, LOCAL_STORAGE_DEBOUNCE_INTERVAL);\n debounceMap[autoSaveId] = debouncedSave;\n }\n const clonedPanelDataArray = [...panelDataArray];\n const clonedPanelSizesBeforeCollapse = new Map(panelSizeBeforeCollapseRef.current);\n debouncedSave(autoSaveId, clonedPanelDataArray, clonedPanelSizesBeforeCollapse, layout, storage);\n }\n }, [autoSaveId, layout, storage]);\n useEffect(() => {\n });\n const collapsePanel = useCallback((panelData) => {\n const {\n onLayout: onLayout2\n } = committedValuesRef.current;\n const {\n layout: prevLayout,\n panelDataArray\n } = eagerValuesRef.current;\n if (panelData.constraints.collapsible) {\n const panelConstraintsArray = panelDataArray.map((panelData2) => panelData2.constraints);\n const {\n collapsedSize = 0,\n panelSize,\n pivotIndices\n } = panelDataHelper(panelDataArray, panelData, prevLayout);\n assert(panelSize != null, `Panel size not found for panel \"${panelData.id}\"`);\n if (!fuzzyNumbersEqual$1(panelSize, collapsedSize)) {\n panelSizeBeforeCollapseRef.current.set(panelData.id, panelSize);\n const isLastPanel = findPanelDataIndex(panelDataArray, panelData) === panelDataArray.length - 1;\n const delta = isLastPanel ? panelSize - collapsedSize : collapsedSize - panelSize;\n const nextLayout = adjustLayoutByDelta({\n delta,\n initialLayout: prevLayout,\n panelConstraints: panelConstraintsArray,\n pivotIndices,\n prevLayout,\n trigger: \"imperative-api\"\n });\n if (!compareLayouts(prevLayout, nextLayout)) {\n setLayout(nextLayout);\n eagerValuesRef.current.layout = nextLayout;\n if (onLayout2) {\n onLayout2(nextLayout);\n }\n callPanelCallbacks(panelDataArray, nextLayout, panelIdToLastNotifiedSizeMapRef.current);\n }\n }\n }\n }, []);\n const expandPanel = useCallback((panelData, minSizeOverride) => {\n const {\n onLayout: onLayout2\n } = committedValuesRef.current;\n const {\n layout: prevLayout,\n panelDataArray\n } = eagerValuesRef.current;\n if (panelData.constraints.collapsible) {\n const panelConstraintsArray = panelDataArray.map((panelData2) => panelData2.constraints);\n const {\n collapsedSize = 0,\n panelSize = 0,\n minSize: minSizeFromProps = 0,\n pivotIndices\n } = panelDataHelper(panelDataArray, panelData, prevLayout);\n const minSize = minSizeOverride !== null && minSizeOverride !== void 0 ? minSizeOverride : minSizeFromProps;\n if (fuzzyNumbersEqual$1(panelSize, collapsedSize)) {\n const prevPanelSize = panelSizeBeforeCollapseRef.current.get(panelData.id);\n const baseSize = prevPanelSize != null && prevPanelSize >= minSize ? prevPanelSize : minSize;\n const isLastPanel = findPanelDataIndex(panelDataArray, panelData) === panelDataArray.length - 1;\n const delta = isLastPanel ? panelSize - baseSize : baseSize - panelSize;\n const nextLayout = adjustLayoutByDelta({\n delta,\n initialLayout: prevLayout,\n panelConstraints: panelConstraintsArray,\n pivotIndices,\n prevLayout,\n trigger: \"imperative-api\"\n });\n if (!compareLayouts(prevLayout, nextLayout)) {\n setLayout(nextLayout);\n eagerValuesRef.current.layout = nextLayout;\n if (onLayout2) {\n onLayout2(nextLayout);\n }\n callPanelCallbacks(panelDataArray, nextLayout, panelIdToLastNotifiedSizeMapRef.current);\n }\n }\n }\n }, []);\n const getPanelSize = useCallback((panelData) => {\n const {\n layout: layout2,\n panelDataArray\n } = eagerValuesRef.current;\n const {\n panelSize\n } = panelDataHelper(panelDataArray, panelData, layout2);\n assert(panelSize != null, `Panel size not found for panel \"${panelData.id}\"`);\n return panelSize;\n }, []);\n const getPanelStyle = useCallback((panelData, defaultSize) => {\n const {\n panelDataArray\n } = eagerValuesRef.current;\n const panelIndex = findPanelDataIndex(panelDataArray, panelData);\n return computePanelFlexBoxStyle({\n defaultSize,\n dragState,\n layout,\n panelData: panelDataArray,\n panelIndex\n });\n }, [dragState, layout]);\n const isPanelCollapsed = useCallback((panelData) => {\n const {\n layout: layout2,\n panelDataArray\n } = eagerValuesRef.current;\n const {\n collapsedSize = 0,\n collapsible,\n panelSize\n } = panelDataHelper(panelDataArray, panelData, layout2);\n assert(panelSize != null, `Panel size not found for panel \"${panelData.id}\"`);\n return collapsible === true && fuzzyNumbersEqual$1(panelSize, collapsedSize);\n }, []);\n const isPanelExpanded = useCallback((panelData) => {\n const {\n layout: layout2,\n panelDataArray\n } = eagerValuesRef.current;\n const {\n collapsedSize = 0,\n collapsible,\n panelSize\n } = panelDataHelper(panelDataArray, panelData, layout2);\n assert(panelSize != null, `Panel size not found for panel \"${panelData.id}\"`);\n return !collapsible || fuzzyCompareNumbers(panelSize, collapsedSize) > 0;\n }, []);\n const registerPanel = useCallback((panelData) => {\n const {\n panelDataArray\n } = eagerValuesRef.current;\n panelDataArray.push(panelData);\n panelDataArray.sort((panelA, panelB) => {\n const orderA = panelA.order;\n const orderB = panelB.order;\n if (orderA == null && orderB == null) {\n return 0;\n } else if (orderA == null) {\n return -1;\n } else if (orderB == null) {\n return 1;\n } else {\n return orderA - orderB;\n }\n });\n eagerValuesRef.current.panelDataArrayChanged = true;\n forceUpdate();\n }, [forceUpdate]);\n useIsomorphicLayoutEffect(() => {\n if (eagerValuesRef.current.panelDataArrayChanged) {\n eagerValuesRef.current.panelDataArrayChanged = false;\n const {\n autoSaveId: autoSaveId2,\n onLayout: onLayout2,\n storage: storage2\n } = committedValuesRef.current;\n const {\n layout: prevLayout,\n panelDataArray\n } = eagerValuesRef.current;\n let unsafeLayout = null;\n if (autoSaveId2) {\n const state = loadPanelGroupState(autoSaveId2, panelDataArray, storage2);\n if (state) {\n panelSizeBeforeCollapseRef.current = new Map(Object.entries(state.expandToSizes));\n unsafeLayout = state.layout;\n }\n }\n if (unsafeLayout == null) {\n unsafeLayout = calculateUnsafeDefaultLayout({\n panelDataArray\n });\n }\n const nextLayout = validatePanelGroupLayout({\n layout: unsafeLayout,\n panelConstraints: panelDataArray.map((panelData) => panelData.constraints)\n });\n if (!areEqual(prevLayout, nextLayout)) {\n setLayout(nextLayout);\n eagerValuesRef.current.layout = nextLayout;\n if (onLayout2) {\n onLayout2(nextLayout);\n }\n callPanelCallbacks(panelDataArray, nextLayout, panelIdToLastNotifiedSizeMapRef.current);\n }\n }\n });\n useIsomorphicLayoutEffect(() => {\n const eagerValues = eagerValuesRef.current;\n return () => {\n eagerValues.layout = [];\n };\n }, []);\n const registerResizeHandle2 = useCallback((dragHandleId) => {\n let isRTL = false;\n const panelGroupElement = panelGroupElementRef.current;\n if (panelGroupElement) {\n const style2 = window.getComputedStyle(panelGroupElement, null);\n if (style2.getPropertyValue(\"direction\") === \"rtl\") {\n isRTL = true;\n }\n }\n return function resizeHandler(event) {\n event.preventDefault();\n const panelGroupElement2 = panelGroupElementRef.current;\n if (!panelGroupElement2) {\n return () => null;\n }\n const {\n direction: direction2,\n dragState: dragState2,\n id: groupId2,\n keyboardResizeBy: keyboardResizeBy2,\n onLayout: onLayout2\n } = committedValuesRef.current;\n const {\n layout: prevLayout,\n panelDataArray\n } = eagerValuesRef.current;\n const {\n initialLayout\n } = dragState2 !== null && dragState2 !== void 0 ? dragState2 : {};\n const pivotIndices = determinePivotIndices(groupId2, dragHandleId, panelGroupElement2);\n let delta = calculateDeltaPercentage(event, dragHandleId, direction2, dragState2, keyboardResizeBy2, panelGroupElement2);\n const isHorizontal = direction2 === \"horizontal\";\n if (isHorizontal && isRTL) {\n delta = -delta;\n }\n const panelConstraints = panelDataArray.map((panelData) => panelData.constraints);\n const nextLayout = adjustLayoutByDelta({\n delta,\n initialLayout: initialLayout !== null && initialLayout !== void 0 ? initialLayout : prevLayout,\n panelConstraints,\n pivotIndices,\n prevLayout,\n trigger: isKeyDown(event) ? \"keyboard\" : \"mouse-or-touch\"\n });\n const layoutChanged = !compareLayouts(prevLayout, nextLayout);\n if (isPointerEvent(event) || isMouseEvent(event)) {\n if (prevDeltaRef.current != delta) {\n prevDeltaRef.current = delta;\n if (!layoutChanged && delta !== 0) {\n if (isHorizontal) {\n reportConstraintsViolation(dragHandleId, delta < 0 ? EXCEEDED_HORIZONTAL_MIN : EXCEEDED_HORIZONTAL_MAX);\n } else {\n reportConstraintsViolation(dragHandleId, delta < 0 ? EXCEEDED_VERTICAL_MIN : EXCEEDED_VERTICAL_MAX);\n }\n } else {\n reportConstraintsViolation(dragHandleId, 0);\n }\n }\n }\n if (layoutChanged) {\n setLayout(nextLayout);\n eagerValuesRef.current.layout = nextLayout;\n if (onLayout2) {\n onLayout2(nextLayout);\n }\n callPanelCallbacks(panelDataArray, nextLayout, panelIdToLastNotifiedSizeMapRef.current);\n }\n };\n }, []);\n const resizePanel2 = useCallback((panelData, unsafePanelSize) => {\n const {\n onLayout: onLayout2\n } = committedValuesRef.current;\n const {\n layout: prevLayout,\n panelDataArray\n } = eagerValuesRef.current;\n const panelConstraintsArray = panelDataArray.map((panelData2) => panelData2.constraints);\n const {\n panelSize,\n pivotIndices\n } = panelDataHelper(panelDataArray, panelData, prevLayout);\n assert(panelSize != null, `Panel size not found for panel \"${panelData.id}\"`);\n const isLastPanel = findPanelDataIndex(panelDataArray, panelData) === panelDataArray.length - 1;\n const delta = isLastPanel ? panelSize - unsafePanelSize : unsafePanelSize - panelSize;\n const nextLayout = adjustLayoutByDelta({\n delta,\n initialLayout: prevLayout,\n panelConstraints: panelConstraintsArray,\n pivotIndices,\n prevLayout,\n trigger: \"imperative-api\"\n });\n if (!compareLayouts(prevLayout, nextLayout)) {\n setLayout(nextLayout);\n eagerValuesRef.current.layout = nextLayout;\n if (onLayout2) {\n onLayout2(nextLayout);\n }\n callPanelCallbacks(panelDataArray, nextLayout, panelIdToLastNotifiedSizeMapRef.current);\n }\n }, []);\n const reevaluatePanelConstraints = useCallback((panelData, prevConstraints) => {\n const {\n layout: layout2,\n panelDataArray\n } = eagerValuesRef.current;\n const {\n collapsedSize: prevCollapsedSize = 0,\n collapsible: prevCollapsible\n } = prevConstraints;\n const {\n collapsedSize: nextCollapsedSize = 0,\n collapsible: nextCollapsible,\n maxSize: nextMaxSize = 100,\n minSize: nextMinSize = 0\n } = panelData.constraints;\n const {\n panelSize: prevPanelSize\n } = panelDataHelper(panelDataArray, panelData, layout2);\n if (prevPanelSize == null) {\n return;\n }\n if (prevCollapsible && nextCollapsible && fuzzyNumbersEqual$1(prevPanelSize, prevCollapsedSize)) {\n if (!fuzzyNumbersEqual$1(prevCollapsedSize, nextCollapsedSize)) {\n resizePanel2(panelData, nextCollapsedSize);\n }\n } else if (prevPanelSize < nextMinSize) {\n resizePanel2(panelData, nextMinSize);\n } else if (prevPanelSize > nextMaxSize) {\n resizePanel2(panelData, nextMaxSize);\n }\n }, [resizePanel2]);\n const startDragging = useCallback((dragHandleId, event) => {\n const {\n direction: direction2\n } = committedValuesRef.current;\n const {\n layout: layout2\n } = eagerValuesRef.current;\n if (!panelGroupElementRef.current) {\n return;\n }\n const handleElement = getResizeHandleElement(dragHandleId, panelGroupElementRef.current);\n assert(handleElement, `Drag handle element not found for id \"${dragHandleId}\"`);\n const initialCursorPosition = getResizeEventCursorPosition(direction2, event);\n setDragState({\n dragHandleId,\n dragHandleRect: handleElement.getBoundingClientRect(),\n initialCursorPosition,\n initialLayout: layout2\n });\n }, []);\n const stopDragging = useCallback(() => {\n setDragState(null);\n }, []);\n const unregisterPanel = useCallback((panelData) => {\n const {\n panelDataArray\n } = eagerValuesRef.current;\n const index = findPanelDataIndex(panelDataArray, panelData);\n if (index >= 0) {\n panelDataArray.splice(index, 1);\n delete panelIdToLastNotifiedSizeMapRef.current[panelData.id];\n eagerValuesRef.current.panelDataArrayChanged = true;\n forceUpdate();\n }\n }, [forceUpdate]);\n const context = useMemo(() => ({\n collapsePanel,\n direction,\n dragState,\n expandPanel,\n getPanelSize,\n getPanelStyle,\n groupId,\n isPanelCollapsed,\n isPanelExpanded,\n reevaluatePanelConstraints,\n registerPanel,\n registerResizeHandle: registerResizeHandle2,\n resizePanel: resizePanel2,\n startDragging,\n stopDragging,\n unregisterPanel,\n panelGroupElement: panelGroupElementRef.current\n }), [collapsePanel, dragState, direction, expandPanel, getPanelSize, getPanelStyle, groupId, isPanelCollapsed, isPanelExpanded, reevaluatePanelConstraints, registerPanel, registerResizeHandle2, resizePanel2, startDragging, stopDragging, unregisterPanel]);\n const style = {\n display: \"flex\",\n flexDirection: direction === \"horizontal\" ? \"row\" : \"column\",\n height: \"100%\",\n overflow: \"hidden\",\n width: \"100%\"\n };\n return createElement(PanelGroupContext.Provider, {\n value: context\n }, createElement(Type, {\n ...rest,\n children,\n className: classNameFromProps,\n id: idFromProps,\n ref: panelGroupElementRef,\n style: {\n ...style,\n ...styleFromProps\n },\n // CSS selectors\n [DATA_ATTRIBUTES.group]: \"\",\n [DATA_ATTRIBUTES.groupDirection]: direction,\n [DATA_ATTRIBUTES.groupId]: groupId\n }));\n}\nconst PanelGroup = forwardRef((props2, ref) => createElement(PanelGroupWithForwardedRef, {\n ...props2,\n forwardedRef: ref\n}));\nPanelGroupWithForwardedRef.displayName = \"PanelGroup\";\nPanelGroup.displayName = \"forwardRef(PanelGroup)\";\nfunction findPanelDataIndex(panelDataArray, panelData) {\n return panelDataArray.findIndex((prevPanelData) => prevPanelData === panelData || prevPanelData.id === panelData.id);\n}\nfunction panelDataHelper(panelDataArray, panelData, layout) {\n const panelIndex = findPanelDataIndex(panelDataArray, panelData);\n const isLastPanel = panelIndex === panelDataArray.length - 1;\n const pivotIndices = isLastPanel ? [panelIndex - 1, panelIndex] : [panelIndex, panelIndex + 1];\n const panelSize = layout[panelIndex];\n return {\n ...panelData.constraints,\n panelSize,\n pivotIndices\n };\n}\nfunction useWindowSplitterResizeHandlerBehavior({\n disabled,\n handleId,\n resizeHandler,\n panelGroupElement\n}) {\n useEffect(() => {\n if (disabled || resizeHandler == null || panelGroupElement == null) {\n return;\n }\n const handleElement = getResizeHandleElement(handleId, panelGroupElement);\n if (handleElement == null) {\n return;\n }\n const onKeyDown = (event) => {\n if (event.defaultPrevented) {\n return;\n }\n switch (event.key) {\n case \"ArrowDown\":\n case \"ArrowLeft\":\n case \"ArrowRight\":\n case \"ArrowUp\":\n case \"End\":\n case \"Home\": {\n event.preventDefault();\n resizeHandler(event);\n break;\n }\n case \"F6\": {\n event.preventDefault();\n const groupId = handleElement.getAttribute(DATA_ATTRIBUTES.groupId);\n assert(groupId, `No group element found for id \"${groupId}\"`);\n const handles = getResizeHandleElementsForGroup(groupId, panelGroupElement);\n const index = getResizeHandleElementIndex(groupId, handleId, panelGroupElement);\n assert(index !== null, `No resize element found for id \"${handleId}\"`);\n const nextIndex = event.shiftKey ? index > 0 ? index - 1 : handles.length - 1 : index + 1 < handles.length ? index + 1 : 0;\n const nextHandle = handles[nextIndex];\n nextHandle.focus();\n break;\n }\n }\n };\n handleElement.addEventListener(\"keydown\", onKeyDown);\n return () => {\n handleElement.removeEventListener(\"keydown\", onKeyDown);\n };\n }, [panelGroupElement, disabled, handleId, resizeHandler]);\n}\nfunction PanelResizeHandle({\n children = null,\n className: classNameFromProps = \"\",\n disabled = false,\n hitAreaMargins,\n id: idFromProps,\n onBlur,\n onClick,\n onDragging,\n onFocus,\n onPointerDown,\n onPointerUp,\n style: styleFromProps = {},\n tabIndex = 0,\n tagName: Type = \"div\",\n ...rest\n}) {\n var _hitAreaMargins$coars, _hitAreaMargins$fine;\n const elementRef = useRef(null);\n const callbacksRef = useRef({\n onClick,\n onDragging,\n onPointerDown,\n onPointerUp\n });\n useEffect(() => {\n callbacksRef.current.onClick = onClick;\n callbacksRef.current.onDragging = onDragging;\n callbacksRef.current.onPointerDown = onPointerDown;\n callbacksRef.current.onPointerUp = onPointerUp;\n });\n const panelGroupContext = useContext(PanelGroupContext);\n if (panelGroupContext === null) {\n throw Error(`PanelResizeHandle components must be rendered within a PanelGroup container`);\n }\n const {\n direction,\n groupId,\n registerResizeHandle: registerResizeHandleWithParentGroup,\n startDragging,\n stopDragging,\n panelGroupElement\n } = panelGroupContext;\n const resizeHandleId = useUniqueId(idFromProps);\n const [state, setState] = useState(\"inactive\");\n const [isFocused, setIsFocused] = useState(false);\n const [resizeHandler, setResizeHandler] = useState(null);\n const committedValuesRef = useRef({\n state\n });\n useIsomorphicLayoutEffect(() => {\n committedValuesRef.current.state = state;\n });\n useEffect(() => {\n if (disabled) {\n setResizeHandler(null);\n } else {\n const resizeHandler2 = registerResizeHandleWithParentGroup(resizeHandleId);\n setResizeHandler(() => resizeHandler2);\n }\n }, [disabled, resizeHandleId, registerResizeHandleWithParentGroup]);\n const coarseHitAreaMargins = (_hitAreaMargins$coars = hitAreaMargins === null || hitAreaMargins === void 0 ? void 0 : hitAreaMargins.coarse) !== null && _hitAreaMargins$coars !== void 0 ? _hitAreaMargins$coars : 15;\n const fineHitAreaMargins = (_hitAreaMargins$fine = hitAreaMargins === null || hitAreaMargins === void 0 ? void 0 : hitAreaMargins.fine) !== null && _hitAreaMargins$fine !== void 0 ? _hitAreaMargins$fine : 5;\n useEffect(() => {\n if (disabled || resizeHandler == null) {\n return;\n }\n const element = elementRef.current;\n assert(element, \"Element ref not attached\");\n let didMove = false;\n const setResizeHandlerState = (action, isActive, event) => {\n if (!isActive) {\n setState(\"inactive\");\n return;\n }\n switch (action) {\n case \"down\": {\n setState(\"drag\");\n didMove = false;\n assert(event, 'Expected event to be defined for \"down\" action');\n startDragging(resizeHandleId, event);\n const {\n onDragging: onDragging2,\n onPointerDown: onPointerDown2\n } = callbacksRef.current;\n onDragging2 === null || onDragging2 === void 0 ? void 0 : onDragging2(true);\n onPointerDown2 === null || onPointerDown2 === void 0 ? void 0 : onPointerDown2();\n break;\n }\n case \"move\": {\n const {\n state: state2\n } = committedValuesRef.current;\n didMove = true;\n if (state2 !== \"drag\") {\n setState(\"hover\");\n }\n assert(event, 'Expected event to be defined for \"move\" action');\n resizeHandler(event);\n break;\n }\n case \"up\": {\n setState(\"hover\");\n stopDragging();\n const {\n onClick: onClick2,\n onDragging: onDragging2,\n onPointerUp: onPointerUp2\n } = callbacksRef.current;\n onDragging2 === null || onDragging2 === void 0 ? void 0 : onDragging2(false);\n onPointerUp2 === null || onPointerUp2 === void 0 ? void 0 : onPointerUp2();\n if (!didMove) {\n onClick2 === null || onClick2 === void 0 ? void 0 : onClick2();\n }\n break;\n }\n }\n };\n return registerResizeHandle(resizeHandleId, element, direction, {\n coarse: coarseHitAreaMargins,\n fine: fineHitAreaMargins\n }, setResizeHandlerState);\n }, [coarseHitAreaMargins, direction, disabled, fineHitAreaMargins, registerResizeHandleWithParentGroup, resizeHandleId, resizeHandler, startDragging, stopDragging]);\n useWindowSplitterResizeHandlerBehavior({\n disabled,\n handleId: resizeHandleId,\n resizeHandler,\n panelGroupElement\n });\n const style = {\n touchAction: \"none\",\n userSelect: \"none\"\n };\n return createElement(Type, {\n ...rest,\n children,\n className: classNameFromProps,\n id: idFromProps,\n onBlur: () => {\n setIsFocused(false);\n onBlur === null || onBlur === void 0 ? void 0 : onBlur();\n },\n onFocus: () => {\n setIsFocused(true);\n onFocus === null || onFocus === void 0 ? void 0 : onFocus();\n },\n ref: elementRef,\n role: \"separator\",\n style: {\n ...style,\n ...styleFromProps\n },\n tabIndex,\n // CSS selectors\n [DATA_ATTRIBUTES.groupDirection]: direction,\n [DATA_ATTRIBUTES.groupId]: groupId,\n [DATA_ATTRIBUTES.resizeHandle]: \"\",\n [DATA_ATTRIBUTES.resizeHandleActive]: state === \"drag\" ? \"pointer\" : isFocused ? \"keyboard\" : void 0,\n [DATA_ATTRIBUTES.resizeHandleEnabled]: !disabled,\n [DATA_ATTRIBUTES.resizeHandleId]: resizeHandleId,\n [DATA_ATTRIBUTES.resizeHandleState]: state\n });\n}\nPanelResizeHandle.displayName = \"PanelResizeHandle\";\nvar DIALOG_NAME = \"Dialog\";\nvar [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\nvar [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);\nvar Dialog$1 = (props2) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props2;\n const triggerRef = React.useRef(null);\n const contentRef = React.useRef(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DIALOG_NAME\n });\n return /* @__PURE__ */ jsx(\n DialogProvider,\n {\n scope: __scopeDialog,\n triggerRef,\n contentRef,\n contentId: useId$1(),\n titleId: useId$1(),\n descriptionId: useId$1(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children\n }\n );\n};\nDialog$1.displayName = DIALOG_NAME;\nvar TRIGGER_NAME = \"DialogTrigger\";\nvar DialogTrigger$1 = React.forwardRef(\n (props2, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props2;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props2.onClick, context.onOpenToggle)\n }\n );\n }\n);\nDialogTrigger$1.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DialogPortal\";\nvar [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar DialogPortal$1 = (props2) => {\n const { __scopeDialog, forceMount, children, container } = props2;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React.Children.map(children, (child) => /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Portal$1, { asChild: true, container, children: child }) })) });\n};\nDialogPortal$1.displayName = PORTAL_NAME;\nvar OVERLAY_NAME = \"DialogOverlay\";\nvar DialogOverlay$1 = React.forwardRef(\n (props2, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props2.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props2;\n const context = useDialogContext(OVERLAY_NAME, props2.__scopeDialog);\n return context.modal ? /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;\n }\n);\nDialogOverlay$1.displayName = OVERLAY_NAME;\nvar Slot = createSlot(\"DialogOverlay.RemoveScroll\");\nvar DialogOverlayImpl = React.forwardRef(\n (props2, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props2;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n /* @__PURE__ */ jsx(ReactRemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n ...overlayProps,\n ref: forwardedRef,\n style: { pointerEvents: \"auto\", ...overlayProps.style }\n }\n ) })\n );\n }\n);\nvar CONTENT_NAME = \"DialogContent\";\nvar DialogContent$1 = React.forwardRef(\n (props2, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props2.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props2;\n const context = useDialogContext(CONTENT_NAME, props2.__scopeDialog);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nDialogContent$1.displayName = CONTENT_NAME;\nvar DialogContentModal = React.forwardRef(\n (props2, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props2.__scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props2,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props2.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(props2.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (isRightClick) event.preventDefault();\n }),\n onFocusOutside: composeEventHandlers(\n props2.onFocusOutside,\n (event) => event.preventDefault()\n )\n }\n );\n }\n);\nvar DialogContentNonModal = React.forwardRef(\n (props2, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props2.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props2,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props2.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props2.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar DialogContentImpl = React.forwardRef(\n (props2, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props2;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n useFocusGuards();\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n role: \"dialog\",\n id: context.contentId,\n \"aria-describedby\": context.descriptionId,\n \"aria-labelledby\": context.titleId,\n \"data-state\": getState(context.open),\n ...contentProps,\n ref: composedRefs,\n onDismiss: () => context.onOpenChange(false)\n }\n )\n }\n ),\n /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(TitleWarning, { titleId: context.titleId }),\n /* @__PURE__ */ jsx(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })\n ] })\n ] });\n }\n);\nvar TITLE_NAME = \"DialogTitle\";\nvar DialogTitle$1 = React.forwardRef(\n (props2, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props2;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });\n }\n);\nDialogTitle$1.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"DialogDescription\";\nvar DialogDescription$1 = React.forwardRef(\n (props2, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props2;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });\n }\n);\nDialogDescription$1.displayName = DESCRIPTION_NAME;\nvar CLOSE_NAME = \"DialogClose\";\nvar DialogClose$1 = React.forwardRef(\n (props2, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props2;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props2.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nDialogClose$1.displayName = CLOSE_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar TITLE_WARNING_NAME = \"DialogTitleWarning\";\nvar [WarningProvider, useWarningContext] = createContext2(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: \"dialog\"\n});\nvar TitleWarning = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n React.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) ;\n }\n }, [MESSAGE, titleId]);\n return null;\n};\nvar DESCRIPTION_WARNING_NAME = \"DialogDescriptionWarning\";\nvar DescriptionWarning = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n React.useEffect(() => {\n const describedById = contentRef.current?.getAttribute(\"aria-describedby\");\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) ;\n }\n }, [MESSAGE, contentRef, descriptionId]);\n return null;\n};\nvar Root = Dialog$1;\nvar Trigger = DialogTrigger$1;\nvar Portal = DialogPortal$1;\nvar Overlay = DialogOverlay$1;\nvar Content = DialogContent$1;\nvar Title = DialogTitle$1;\nvar Description = DialogDescription$1;\nvar Close = DialogClose$1;\nfunction Dialog({ ...props2 }) {\n return /* @__PURE__ */ jsx(Root, { \"data-slot\": \"dialog\", ...props2 });\n}\nfunction DialogTrigger({ ...props2 }) {\n return /* @__PURE__ */ jsx(Trigger, { \"data-slot\": \"dialog-trigger\", ...props2 });\n}\nfunction DialogPortal({ ...props2 }) {\n return /* @__PURE__ */ jsx(Portal, { \"data-slot\": \"dialog-portal\", ...props2 });\n}\nfunction DialogClose({ ...props2 }) {\n return /* @__PURE__ */ jsx(Close, { \"data-slot\": \"dialog-close\", ...props2 });\n}\nfunction DialogOverlay({ className, backdrop, ...props2 }) {\n let overlayClass = \"\";\n switch (backdrop) {\n case \"transparent\":\n overlayClass = \"bg-transparent\";\n break;\n case \"opaque\":\n overlayClass = \"bg-black/50\";\n break;\n case \"blur\":\n overlayClass = \"backdrop-blur-md backdrop-saturate-150 bg-overlay/30\";\n break;\n }\n return /* @__PURE__ */ jsx(\n Overlay,\n {\n \"data-slot\": \"dialog-overlay\",\n className: cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n overlayClass,\n className\n ),\n ...props2\n }\n );\n}\nconst DialogContent = React.forwardRef(\n ({ className, children, showCloseButton = true, disabled = false, backdrop = \"opaque\", ...props2 }, ref) => {\n return /* @__PURE__ */ jsx(AnimatePresence, { children: /* @__PURE__ */ jsxs(DialogPortal, { \"data-slot\": \"dialog-portal\", children: [\n /* @__PURE__ */ jsx(DialogOverlay, { backdrop }),\n /* @__PURE__ */ jsxs(\n Content,\n {\n \"data-slot\": \"dialog-content\",\n ref,\n className: cn(\n \"bg-content1 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg p-6 shadow-lg duration-200 sm:max-w-lg\",\n className\n ),\n ...props2,\n children: [\n children,\n showCloseButton && /* @__PURE__ */ jsx(Close, { \"data-slot\": \"dialog-close\", asChild: true, className: \"absolute top-3 right-4 disabled:pointer-events-none\", children: /* @__PURE__ */ jsx(\"div\", { children: /* @__PURE__ */ jsxs(\n Button,\n {\n isIconOnly: true,\n variant: \"light\",\n radius: \"full\",\n \"aria-label\": \"Close\",\n disabled,\n className: \"p-0 w-[36px] h-[36px] min-w-auto bg-default-100 hover:bg-default-200 text-default-500 hover:text-default-600 dark:bg-default-100 dark:hover:bg-default-200 dark:text-default-500 dark:hover:text-default-600 disabled:opacity-50 disabled:pointer-events-none\",\n children: [\n /* @__PURE__ */ jsxs(\"svg\", { width: \"20\", height: \"20\", fill: \"currentColor\", role: \"img\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ jsx(\"path\", { fill: \"none\", d: \"M0 0h21v21H0z\" }),\n /* @__PURE__ */ jsx(\"path\", { d: \"m12.12 10 4.07-4.06a1.5 1.5 0 1 0-2.11-2.12L10 7.88 5.94 3.81a1.5 1.5 0 1 0-2.12 2.12L7.88 10l-4.07 4.06a1.5 1.5 0 0 0 0 2.12 1.51 1.51 0 0 0 2.13 0L10 12.12l4.06 4.07a1.45 1.45 0 0 0 1.06.44 1.5 1.5 0 0 0 1.06-2.56Z\" })\n ] }),\n /* @__PURE__ */ jsx(\"span\", { className: \"sr-only\", children: \"Close\" })\n ]\n }\n ) }) })\n ]\n }\n )\n ] }) });\n }\n);\nfunction DialogHeader({ className, ...props2 }) {\n return /* @__PURE__ */ jsx(\"div\", { \"data-slot\": \"dialog-header\", className: cn(\"flex flex-col gap-2 text-center sm:text-left\", className), ...props2 });\n}\nfunction DialogFooter({ className, ...props2 }) {\n return /* @__PURE__ */ jsx(\"div\", { \"data-slot\": \"dialog-footer\", className: cn(\"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\", className), ...props2 });\n}\nfunction DialogTitle({ className, ...props2 }) {\n return /* @__PURE__ */ jsx(Title, { \"data-slot\": \"dialog-title\", className: cn(\"text-lg leading-none font-semibold\", className), ...props2 });\n}\nfunction DialogDescription({ className, ...props2 }) {\n return /* @__PURE__ */ jsx(Description, { \"data-slot\": \"dialog-description\", className: cn(\"text-muted-foreground text-sm\", className), ...props2 });\n}\nvar Bt = Object.defineProperty, At = Object.defineProperties;\nvar kt = Object.getOwnPropertyDescriptors;\nvar Y = Object.getOwnPropertySymbols;\nvar gt = Object.prototype.hasOwnProperty, Et = Object.prototype.propertyIsEnumerable;\nvar vt = (r, s, e) => s in r ? Bt(r, s, { enumerable: true, configurable: true, writable: true, value: e }) : r[s] = e, St = (r, s) => {\n for (var e in s || (s = {})) gt.call(s, e) && vt(r, e, s[e]);\n if (Y) for (var e of Y(s)) Et.call(s, e) && vt(r, e, s[e]);\n return r;\n}, bt = (r, s) => At(r, kt(s));\nvar Pt = (r, s) => {\n var e = {};\n for (var u in r) gt.call(r, u) && s.indexOf(u) < 0 && (e[u] = r[u]);\n if (r != null && Y) for (var u of Y(r)) s.indexOf(u) < 0 && Et.call(r, u) && (e[u] = r[u]);\n return e;\n};\nfunction ht(r) {\n let s = setTimeout(r, 0), e = setTimeout(r, 10), u = setTimeout(r, 50);\n return [s, e, u];\n}\nfunction _t(r) {\n let s = React.useRef();\n return React.useEffect(() => {\n s.current = r;\n }), s.current;\n}\nvar Ot = 18, wt = 40, Gt = `${wt}px`, xt = [\"[data-lastpass-icon-root]\", \"com-1password-button\", \"[data-dashlanecreated]\", '[style$=\"2147483647 !important;\"]'].join(\",\");\nfunction Tt({ containerRef: r, inputRef: s, pushPasswordManagerStrategy: e, isFocused: u }) {\n let [P, D] = React.useState(false), [G, H] = React.useState(false), [F, W] = React.useState(false), Z = React.useMemo(() => e === \"none\" ? false : (e === \"increase-width\" || e === \"experimental-no-flickering\") && P && G, [P, G, e]), T = React.useCallback(() => {\n let f = r.current, h = s.current;\n if (!f || !h || F || e === \"none\") return;\n let a = f, B = a.getBoundingClientRect().left + a.offsetWidth, A = a.getBoundingClientRect().top + a.offsetHeight / 2, z = B - Ot, q = A;\n document.querySelectorAll(xt).length === 0 && document.elementFromPoint(z, q) === f || (D(true), W(true));\n }, [r, s, F, e]);\n return React.useEffect(() => {\n let f = r.current;\n if (!f || e === \"none\") return;\n function h() {\n let A = window.innerWidth - f.getBoundingClientRect().right;\n H(A >= wt);\n }\n h();\n let a = setInterval(h, 1e3);\n return () => {\n clearInterval(a);\n };\n }, [r, e]), React.useEffect(() => {\n let f = u || document.activeElement === s.current;\n if (e === \"none\" || !f) return;\n let h = setTimeout(T, 0), a = setTimeout(T, 2e3), B = setTimeout(T, 5e3), A = setTimeout(() => {\n W(true);\n }, 6e3);\n return () => {\n clearTimeout(h), clearTimeout(a), clearTimeout(B), clearTimeout(A);\n };\n }, [s, u, e, T]), { hasPWMBadge: P, willPushPWMBadge: Z, PWM_BADGE_SPACE_WIDTH: Gt };\n}\nvar jt = React.createContext({}), Lt = React.forwardRef((A, B) => {\n var z = A, { value: r, onChange: s, maxLength: e, textAlign: u = \"left\", pattern: P, placeholder: D, inputMode: G = \"numeric\", onComplete: H, pushPasswordManagerStrategy: F = \"increase-width\", pasteTransformer: W, containerClassName: Z, noScriptCSSFallback: T = Nt, render: f, children: h } = z, a = Pt(z, [\"value\", \"onChange\", \"maxLength\", \"textAlign\", \"pattern\", \"placeholder\", \"inputMode\", \"onComplete\", \"pushPasswordManagerStrategy\", \"pasteTransformer\", \"containerClassName\", \"noScriptCSSFallback\", \"render\", \"children\"]);\n var X, lt, ut, dt, ft;\n let [q, nt] = React.useState(typeof a.defaultValue == \"string\" ? a.defaultValue : \"\"), i = r != null ? r : q, I = _t(i), x = React.useCallback((t) => {\n s == null || s(t), nt(t);\n }, [s]), m = React.useMemo(() => P ? typeof P == \"string\" ? new RegExp(P) : P : null, [P]), l = React.useRef(null), K = React.useRef(null), J = React.useRef({ value: i, onChange: x, isIOS: typeof window != \"undefined\" && ((lt = (X = window == null ? void 0 : window.CSS) == null ? void 0 : X.supports) == null ? void 0 : lt.call(X, \"-webkit-touch-callout\", \"none\")) }), V = React.useRef({ prev: [(ut = l.current) == null ? void 0 : ut.selectionStart, (dt = l.current) == null ? void 0 : dt.selectionEnd, (ft = l.current) == null ? void 0 : ft.selectionDirection] });\n React.useImperativeHandle(B, () => l.current, []), React.useEffect(() => {\n let t = l.current, o = K.current;\n if (!t || !o) return;\n J.current.value !== t.value && J.current.onChange(t.value), V.current.prev = [t.selectionStart, t.selectionEnd, t.selectionDirection];\n function d() {\n if (document.activeElement !== t) {\n L(null), N(null);\n return;\n }\n let c = t.selectionStart, b = t.selectionEnd, mt = t.selectionDirection, v = t.maxLength, C = t.value, _ = V.current.prev, g = -1, E = -1, w;\n if (C.length !== 0 && c !== null && b !== null) {\n let Dt = c === b, Ht = c === C.length && C.length < v;\n if (Dt && !Ht) {\n let y = c;\n if (y === 0) g = 0, E = 1, w = \"forward\";\n else if (y === v) g = y - 1, E = y, w = \"backward\";\n else if (v > 1 && C.length > 1) {\n let et = 0;\n if (_[0] !== null && _[1] !== null) {\n w = y < _[1] ? \"backward\" : \"forward\";\n let Wt = _[0] === _[1] && _[0] < v;\n w === \"backward\" && !Wt && (et = -1);\n }\n g = et + y, E = et + y + 1;\n }\n }\n g !== -1 && E !== -1 && g !== E && l.current.setSelectionRange(g, E, w);\n }\n let pt = g !== -1 ? g : c, Rt = E !== -1 ? E : b, yt = w != null ? w : mt;\n L(pt), N(Rt), V.current.prev = [pt, Rt, yt];\n }\n if (document.addEventListener(\"selectionchange\", d, { capture: true }), d(), document.activeElement === t && Q(true), !document.getElementById(\"input-otp-style\")) {\n let c = document.createElement(\"style\");\n if (c.id = \"input-otp-style\", document.head.appendChild(c), c.sheet) {\n let b = \"background: transparent !important; color: transparent !important; border-color: transparent !important; opacity: 0 !important; box-shadow: none !important; -webkit-box-shadow: none !important; -webkit-text-fill-color: transparent !important;\";\n $(c.sheet, \"[data-input-otp]::selection { background: transparent !important; color: transparent !important; }\"), $(c.sheet, `[data-input-otp]:autofill { ${b} }`), $(c.sheet, `[data-input-otp]:-webkit-autofill { ${b} }`), $(c.sheet, \"@supports (-webkit-touch-callout: none) { [data-input-otp] { letter-spacing: -.6em !important; font-weight: 100 !important; font-stretch: ultra-condensed; font-optical-sizing: none !important; left: -1px !important; right: 1px !important; } }\"), $(c.sheet, \"[data-input-otp] + * { pointer-events: all !important; }\");\n }\n }\n let R = () => {\n o && o.style.setProperty(\"--root-height\", `${t.clientHeight}px`);\n };\n R();\n let p = new ResizeObserver(R);\n return p.observe(t), () => {\n document.removeEventListener(\"selectionchange\", d, { capture: true }), p.disconnect();\n };\n }, []);\n let [ot, rt] = React.useState(false), [j, Q] = React.useState(false), [M, L] = React.useState(null), [k, N] = React.useState(null);\n React.useEffect(() => {\n ht(() => {\n var R, p, c, b;\n (R = l.current) == null || R.dispatchEvent(new Event(\"input\"));\n let t = (p = l.current) == null ? void 0 : p.selectionStart, o = (c = l.current) == null ? void 0 : c.selectionEnd, d = (b = l.current) == null ? void 0 : b.selectionDirection;\n t !== null && o !== null && (L(t), N(o), V.current.prev = [t, o, d]);\n });\n }, [i, j]), React.useEffect(() => {\n I !== void 0 && i !== I && I.length < e && i.length === e && (H == null || H(i));\n }, [e, H, I, i]);\n let O = Tt({ containerRef: K, inputRef: l, pushPasswordManagerStrategy: F, isFocused: j }), st = React.useCallback((t) => {\n let o = t.currentTarget.value.slice(0, e);\n if (o.length > 0 && m && !m.test(o)) {\n t.preventDefault();\n return;\n }\n typeof I == \"string\" && o.length < I.length && document.dispatchEvent(new Event(\"selectionchange\")), x(o);\n }, [e, x, I, m]), at = React.useCallback(() => {\n var t;\n if (l.current) {\n let o = Math.min(l.current.value.length, e - 1), d = l.current.value.length;\n (t = l.current) == null || t.setSelectionRange(o, d), L(o), N(d);\n }\n Q(true);\n }, [e]), ct = React.useCallback((t) => {\n var g, E;\n let o = l.current;\n if (!W && (!J.current.isIOS || !t.clipboardData || !o)) return;\n let d = t.clipboardData.getData(\"text/plain\"), R = W ? W(d) : d;\n t.preventDefault();\n let p = (g = l.current) == null ? void 0 : g.selectionStart, c = (E = l.current) == null ? void 0 : E.selectionEnd, v = (p !== c ? i.slice(0, p) + R + i.slice(c) : i.slice(0, p) + R + i.slice(p)).slice(0, e);\n if (v.length > 0 && m && !m.test(v)) return;\n o.value = v, x(v);\n let C = Math.min(v.length, e - 1), _ = v.length;\n o.setSelectionRange(C, _), L(C), N(_);\n }, [e, x, m, i]), It = React.useMemo(() => ({ position: \"relative\", cursor: a.disabled ? \"default\" : \"text\", userSelect: \"none\", WebkitUserSelect: \"none\", pointerEvents: \"none\" }), [a.disabled]), it = React.useMemo(() => ({ position: \"absolute\", inset: 0, width: O.willPushPWMBadge ? `calc(100% + ${O.PWM_BADGE_SPACE_WIDTH})` : \"100%\", clipPath: O.willPushPWMBadge ? `inset(0 ${O.PWM_BADGE_SPACE_WIDTH} 0 0)` : void 0, height: \"100%\", display: \"flex\", textAlign: u, opacity: \"1\", color: \"transparent\", pointerEvents: \"all\", background: \"transparent\", caretColor: \"transparent\", border: \"0 solid transparent\", outline: \"0 solid transparent\", boxShadow: \"none\", lineHeight: \"1\", letterSpacing: \"-.5em\", fontSize: \"var(--root-height)\", fontFamily: \"monospace\", fontVariantNumeric: \"tabular-nums\" }), [O.PWM_BADGE_SPACE_WIDTH, O.willPushPWMBadge, u]), Mt = React.useMemo(() => React.createElement(\"input\", bt(St({ autoComplete: a.autoComplete || \"one-time-code\" }, a), { \"data-input-otp\": true, \"data-input-otp-placeholder-shown\": i.length === 0 || void 0, \"data-input-otp-mss\": M, \"data-input-otp-mse\": k, inputMode: G, pattern: m == null ? void 0 : m.source, \"aria-placeholder\": D, style: it, maxLength: e, value: i, ref: l, onPaste: (t) => {\n var o;\n ct(t), (o = a.onPaste) == null || o.call(a, t);\n }, onChange: st, onMouseOver: (t) => {\n var o;\n rt(true), (o = a.onMouseOver) == null || o.call(a, t);\n }, onMouseLeave: (t) => {\n var o;\n rt(false), (o = a.onMouseLeave) == null || o.call(a, t);\n }, onFocus: (t) => {\n var o;\n at(), (o = a.onFocus) == null || o.call(a, t);\n }, onBlur: (t) => {\n var o;\n Q(false), (o = a.onBlur) == null || o.call(a, t);\n } })), [st, at, ct, G, it, e, k, M, a, m == null ? void 0 : m.source, i]), tt = React.useMemo(() => ({ slots: Array.from({ length: e }).map((t, o) => {\n var c;\n let d = j && M !== null && k !== null && (M === k && o === M || o >= M && o < k), R = i[o] !== void 0 ? i[o] : null, p = i[0] !== void 0 ? null : (c = D == null ? void 0 : D[o]) != null ? c : null;\n return { char: R, placeholderChar: p, isActive: d, hasFakeCaret: d && R === null };\n }), isFocused: j, isHovering: !a.disabled && ot }), [j, ot, e, k, M, a.disabled, i]), Ct = React.useMemo(() => f ? f(tt) : React.createElement(jt.Provider, { value: tt }, h), [h, tt, f]);\n return React.createElement(React.Fragment, null, T !== null && React.createElement(\"noscript\", null, React.createElement(\"style\", null, T)), React.createElement(\"div\", { ref: K, \"data-input-otp-container\": true, style: It, className: Z }, Ct, React.createElement(\"div\", { style: { position: \"absolute\", inset: 0, pointerEvents: \"none\" } }, Mt)));\n});\nLt.displayName = \"Input\";\nfunction $(r, s) {\n try {\n r.insertRule(s);\n } catch (e) {\n }\n}\nvar Nt = `\n[data-input-otp] {\n --nojs-bg: white !important;\n --nojs-fg: black !important;\n\n background-color: var(--nojs-bg) !important;\n color: var(--nojs-fg) !important;\n caret-color: var(--nojs-fg) !important;\n letter-spacing: .25em !important;\n text-align: center !important;\n border: 1px solid var(--nojs-fg) !important;\n border-radius: 4px !important;\n width: 100% !important;\n}\n@media (prefers-color-scheme: dark) {\n [data-input-otp] {\n --nojs-bg: black !important;\n --nojs-fg: white !important;\n }\n}`;\nconst Textarea = React.forwardRef(\n ({\n className,\n classNameContainer,\n label,\n id,\n disabled,\n error,\n touched,\n startContent,\n endContent,\n startClassName,\n endClassName,\n onClear,\n required = false,\n isClearable = false,\n value,\n defaultValue,\n ...props2\n }, ref) => {\n const inputId = React.useId();\n const resolvedId = id || inputId;\n const isControlled = value !== void 0;\n const isInvalid = !disabled && !!error && touched;\n const labelClass = cn(\"block font-normal text-sm text-foreground mb-1\", {\n \"text-danger\": isInvalid\n });\n const iconClass = clsx(\"absolute top-0 h-full flex items-center cursor-pointer px-1.5 z-[1]\", {\n \"text-red-700\": isInvalid,\n \"text-gray-400\": disabled,\n \"text-green-700\": !error && touched,\n \"text-gray-500\": !isInvalid\n });\n const paddingClass = clsx(startContent && \"pl-8\", !startContent && \"pl-2.5\", endContent && \"pr-8\", !endContent && \"pr-2.5\");\n const handleClear = (e) => {\n if (disabled) return;\n e.preventDefault();\n onClear?.();\n };\n return /* @__PURE__ */ jsxs(\"div\", { className: twMerge(\"w-full relative flex flex-col\", classNameContainer), children: [\n label && /* @__PURE__ */ jsxs(\"label\", { htmlFor: resolvedId, className: labelClass, children: [\n label,\n \" \",\n required && /* @__PURE__ */ jsx(\"span\", { className: \"text-danger\", children: \"*\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"w-full relative\", children: [\n startContent && /* @__PURE__ */ jsx(\"div\", { className: twMerge(\"left-1\", iconClass, startClassName), children: startContent }),\n /* @__PURE__ */ jsx(\n \"textarea\",\n {\n \"data-slot\": \"textarea\",\n id: resolvedId,\n ref,\n ...isControlled ? { value } : { defaultValue },\n className: cn(\n \"border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n paddingClass,\n className\n ),\n ...props2\n }\n ),\n isClearable && !disabled && value ? /* @__PURE__ */ jsx(\n \"div\",\n {\n className: twMerge(\n \"absolute top-0 h-full flex items-center px-1.5 z-[1] opacity-70 hover:opacity-100 cursor-pointer rounded-full\",\n \"right-1\",\n disabled ? \"opacity-50 cursor-not-allowed\" : \"opacity-70 hover:opacity-100 cursor-pointer\"\n // Estilo normal\n ),\n onClick: handleClear,\n children: /* @__PURE__ */ jsx(\"svg\", { \"aria-hidden\": \"true\", focusable: \"false\", height: \"18\", viewBox: \"0 0 24 24\", width: \"18\", children: /* @__PURE__ */ jsx(\n \"path\",\n {\n d: \"M12 2a10 10 0 1010 10A10.016 10.016 0 0012 2zm3.36 12.3a.754.754 0 010 1.06.748.748 0 01-1.06 0l-2.3-2.3-2.3 2.3a.748.748 0 01-1.06 0 .754.754 0 010-1.06l2.3-2.3-2.3-2.3A.75.75 0 019.7 8.64l2.3 2.3 2.3-2.3a.75.75 0 011.06 1.06l-2.3 2.3z\",\n fill: \"currentColor\"\n }\n ) })\n }\n ) : null,\n endContent && /* @__PURE__ */ jsx(\"div\", { className: twMerge(\"right-1\", iconClass, endClassName), children: endContent })\n ] })\n ] });\n }\n);\nTextarea.displayName = \"Textarea\";\nexport {\n DialogClose as A,\n Badge as B,\n Content as C,\n DismissableLayer as D,\n DialogFooter as E,\n FocusScope as F,\n DialogOverlay as G,\n DialogPortal as H,\n Input as I,\n DialogTrigger as J,\n Textarea as K,\n Lt as L,\n Overlay as O,\n Primitive as P,\n ReactRemoveScroll as R,\n Switch as S,\n Trigger as T,\n WarningProvider as W,\n Presence as a,\n composeEventHandlers as b,\n createContextScope as c,\n useLayoutEffect2 as d,\n useControllableState as e,\n useId$1 as f,\n Portal$1 as g,\n hideOthers as h,\n useFocusGuards as i,\n dispatchDiscreteCustomEvent as j,\n PanelGroup as k,\n Panel as l,\n PanelResizeHandle as m,\n Root as n,\n Portal as o,\n Dialog as p,\n DialogHeader as q,\n DialogTitle as r,\n DialogDescription as s,\n DialogContent as t,\n useCallbackRef$1 as u,\n jt as v,\n Close as w,\n Title as x,\n Description as y,\n createDialogScope as z\n};\n//# sourceMappingURL=textarea-_HQpXiCX.js.map\n","import { forwardRef, createElement } from \"react\";\nconst toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst toCamelCase = (string) => string.replace(\n /^([A-Z])|[\\s-_]+(\\w)/g,\n (match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()\n);\nconst toPascalCase = (string) => {\n const camelCase = toCamelCase(string);\n return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);\n};\nconst mergeClasses = (...classes) => classes.filter((className, index, array) => {\n return Boolean(className) && className.trim() !== \"\" && array.indexOf(className) === index;\n}).join(\" \").trim();\nconst hasA11yProp = (props) => {\n for (const prop in props) {\n if (prop.startsWith(\"aria-\") || prop === \"role\" || prop === \"title\") {\n return true;\n }\n }\n};\nvar defaultAttributes = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n};\nconst Icon = forwardRef(\n ({\n color = \"currentColor\",\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = \"\",\n children,\n iconNode,\n ...rest\n }, ref) => createElement(\n \"svg\",\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,\n className: mergeClasses(\"lucide\", className),\n ...!children && !hasA11yProp(rest) && { \"aria-hidden\": \"true\" },\n ...rest\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...Array.isArray(children) ? children : [children]\n ]\n )\n);\nconst createLucideIcon = (iconName, iconNode) => {\n const Component = forwardRef(\n ({ className, ...props }, ref) => createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(\n `lucide-${toKebabCase(toPascalCase(iconName))}`,\n `lucide-${iconName}`,\n className\n ),\n ...props\n })\n );\n Component.displayName = toPascalCase(iconName);\n return Component;\n};\nexport {\n createLucideIcon as c\n};\n//# sourceMappingURL=createLucideIcon-C5oU6LEj.js.map\n","import { c as createLucideIcon } from \"./createLucideIcon-C5oU6LEj.js\";\nimport * as React from \"react\";\nimport \"react/jsx-runtime\";\nconst __iconNode$1 = [[\"path\", { d: \"M20 6 9 17l-5-5\", key: \"1gmf2c\" }]];\nconst Check = createLucideIcon(\"check\", __iconNode$1);\nconst __iconNode = [[\"path\", { d: \"m6 9 6 6 6-6\", key: \"qrunsl\" }]];\nconst ChevronDown = createLucideIcon(\"chevron-down\", __iconNode);\nvar DirectionContext = React.createContext(void 0);\nfunction useDirection(localDir) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n}\nfunction clamp(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\nexport {\n ChevronDown as C,\n Check as a,\n clamp as c,\n useDirection as u\n};\n//# sourceMappingURL=index-DBpvJQOe.js.map\n","const sides = [\"top\", \"right\", \"bottom\", \"left\"];\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = (v) => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: \"right\",\n right: \"left\",\n bottom: \"top\",\n top: \"bottom\"\n};\nconst oppositeAlignmentMap = {\n start: \"end\",\n end: \"start\"\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === \"function\" ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split(\"-\")[0];\n}\nfunction getAlignment(placement) {\n return placement.split(\"-\")[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === \"x\" ? \"y\" : \"x\";\n}\nfunction getAxisLength(axis) {\n return axis === \"y\" ? \"height\" : \"width\";\n}\nconst yAxisSides = /* @__PURE__ */ new Set([\"top\", \"bottom\"]);\nfunction getSideAxis(placement) {\n return yAxisSides.has(getSide(placement)) ? \"y\" : \"x\";\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === \"x\" ? alignment === (rtl ? \"end\" : \"start\") ? \"right\" : \"left\" : alignment === \"start\" ? \"bottom\" : \"top\";\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, (alignment) => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = [\"left\", \"right\"];\nconst rlPlacement = [\"right\", \"left\"];\nconst tbPlacement = [\"top\", \"bottom\"];\nconst btPlacement = [\"bottom\", \"top\"];\nfunction getSideList(side, isStart, rtl) {\n switch (side) {\n case \"top\":\n case \"bottom\":\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case \"left\":\n case \"right\":\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === \"start\", rtl);\n if (alignment) {\n list = list.map((side) => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, (side) => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== \"number\" ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === \"y\";\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case \"top\":\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case \"bottom\":\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case \"right\":\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case \"left\":\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case \"start\":\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case \"end\":\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\nconst computePosition$1 = async (reference, floating, config) => {\n const {\n placement = \"bottom\",\n strategy = \"absolute\",\n middleware = [],\n platform: platform2\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(floating));\n let rects = await platform2.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform: platform2,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === \"object\") {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform2.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform: platform2,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = \"clippingAncestors\",\n rootBoundary = \"viewport\",\n elementContext = \"floating\",\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === \"floating\" ? \"reference\" : \"floating\";\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform2.getClippingRect({\n element: ((_await$platform$isEle = await (platform2.isElement == null ? void 0 : platform2.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform2.getDocumentElement == null ? void 0 : platform2.getDocumentElement(elements.floating)),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === \"floating\" ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(elements.floating));\n const offsetScale = await (platform2.isElement == null ? void 0 : platform2.isElement(offsetParent)) ? await (platform2.getScale == null ? void 0 : platform2.getScale(offsetParent)) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform2.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform2.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\nconst arrow$1 = (options) => ({\n name: \"arrow\",\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform: platform2,\n elements,\n middlewareData\n } = state;\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform2.getDimensions(element);\n const isYAxis = axis === \"y\";\n const minProp = isYAxis ? \"top\" : \"left\";\n const maxProp = isYAxis ? \"bottom\" : \"right\";\n const clientProp = isYAxis ? \"clientHeight\" : \"clientWidth\";\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n if (!clientSize || !await (platform2.isElement == null ? void 0 : platform2.isElement(arrowOffsetParent))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n const min$1 = minPadding;\n const max2 = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset2 = clamp(min$1, center, max2);\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset2 && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max2 : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset2,\n centerOffset: center - offset2 - alignmentOffset,\n ...shouldAddOffset && {\n alignmentOffset\n }\n },\n reset: shouldAddOffset\n };\n }\n});\nconst flip$1 = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"flip\",\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform: platform2,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = \"bestFit\",\n fallbackAxisSideDirection = \"none\",\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== \"none\";\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides2 = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides2[0]], overflow[sides2[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n if (!overflows.every((side2) => side2 <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === \"alignment\" ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow || // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every((d) => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n let resetPlacement = (_overflowsData$filter = overflowsData.filter((d) => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case \"bestFit\": {\n var _overflowsData$filter2;\n const placement2 = (_overflowsData$filter2 = overflowsData.filter((d) => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis || // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === \"y\";\n }\n return true;\n }).map((d) => [d.placement, d.overflows.filter((overflow2) => overflow2 > 0).reduce((acc, overflow2) => acc + overflow2, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement2) {\n resetPlacement = placement2;\n }\n break;\n }\n case \"initialPlacement\":\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some((side) => overflow[side] >= 0);\n}\nconst hide$1 = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"hide\",\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = \"referenceHidden\",\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case \"referenceHidden\": {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: \"reference\"\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case \"escaped\": {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default: {\n return {};\n }\n }\n }\n };\n};\nconst originSides = /* @__PURE__ */ new Set([\"left\", \"top\"]);\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform: platform2,\n elements\n } = state;\n const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === \"y\";\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === \"number\" ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === \"number\") {\n crossAxis = alignment === \"end\" ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\nconst offset$1 = function(options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: \"offset\",\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\nconst shift$1 = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"shift\",\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: (_ref) => {\n let {\n x: x2,\n y: y2\n } = _ref;\n return {\n x: x2,\n y: y2\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === \"y\" ? \"top\" : \"left\";\n const maxSide = mainAxis === \"y\" ? \"bottom\" : \"right\";\n const min2 = mainAxisCoord + overflow[minSide];\n const max2 = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min2, mainAxisCoord, max2);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === \"y\" ? \"top\" : \"left\";\n const maxSide = crossAxis === \"y\" ? \"bottom\" : \"right\";\n const min2 = crossAxisCoord + overflow[minSide];\n const max2 = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min2, crossAxisCoord, max2);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\nconst limitShift$1 = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset: offset2 = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset2, state);\n const computedOffset = typeof rawOffset === \"number\" ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === \"y\" ? \"height\" : \"width\";\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === \"y\" ? \"width\" : \"height\";\n const isOriginSide = originSides.has(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\nconst size$1 = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"size\",\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform: platform2,\n elements\n } = state;\n const {\n apply = () => {\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === \"y\";\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === \"top\" || side === \"bottom\") {\n heightSide = side;\n widthSide = alignment === (await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)) ? \"start\" : \"end\") ? \"left\" : \"right\";\n } else {\n widthSide = side;\n heightSide = alignment === \"end\" ? \"top\" : \"bottom\";\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform2.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\nfunction hasWindow() {\n return typeof window !== \"undefined\";\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || \"\").toLowerCase();\n }\n return \"#document\";\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === \"undefined\") {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /* @__PURE__ */ new Set([\"inline\", \"contents\"]);\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle$1(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /* @__PURE__ */ new Set([\"table\", \"td\", \"th\"]);\nfunction isTableElement(element) {\n return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [\":popover-open\", \":modal\"];\nfunction isTopLayer(element) {\n return topLayerSelectors.some((selector) => {\n try {\n return element.matches(selector);\n } catch (_e) {\n return false;\n }\n });\n}\nconst transformProperties = [\"transform\", \"translate\", \"scale\", \"rotate\", \"perspective\"];\nconst willChangeValues = [\"transform\", \"translate\", \"scale\", \"rotate\", \"perspective\", \"filter\"];\nconst containValues = [\"paint\", \"layout\", \"strict\", \"content\"];\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;\n return transformProperties.some((value) => css[value] ? css[value] !== \"none\" : false) || (css.containerType ? css.containerType !== \"normal\" : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== \"none\" : false) || !webkit && (css.filter ? css.filter !== \"none\" : false) || willChangeValues.some((value) => (css.willChange || \"\").includes(value)) || containValues.some((value) => (css.contain || \"\").includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === \"undefined\" || !CSS.supports) return false;\n return CSS.supports(\"-webkit-backdrop-filter\", \"none\");\n}\nconst lastTraversableNodeNames = /* @__PURE__ */ new Set([\"html\", \"body\", \"#document\"]);\nfunction isLastTraversableNode(node) {\n return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle$1(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === \"html\") {\n return node;\n }\n const result = (\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot || // DOM Element detected.\n node.parentNode || // ShadowRoot detected.\n isShadowRoot(node) && node.host || // Fallback.\n getDocumentElement(node)\n );\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\nfunction getCssDimensions(element) {\n const css = getComputedStyle$1(element);\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\nconst noOffsets = /* @__PURE__ */ createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle$1(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\nfunction getHTMLOffset(documentElement, scroll) {\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === \"fixed\";\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== \"body\" || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle$1(body).direction === \"rtl\") {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === \"fixed\") {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n const windowScrollbarX = getWindowScrollBarX(html);\n if (windowScrollbarX <= 0) {\n const doc = html.ownerDocument;\n const body = doc.body;\n const bodyStyles = getComputedStyle(body);\n const bodyMarginInline = doc.compatMode === \"CSS1Compat\" ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n width -= clippingStableScrollbarWidth;\n }\n } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n width += windowScrollbarX;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\nconst absoluteOrFixed = /* @__PURE__ */ new Set([\"absolute\", \"fixed\"]);\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === \"fixed\");\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === \"viewport\") {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === \"document\") {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle$1(parentNode).position === \"fixed\" || hasFixedPositionAncestor(parentNode, stopNode);\n}\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter((el) => isElement(el) && getNodeName(el) !== \"body\");\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle$1(element).position === \"fixed\";\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle$1(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === \"fixed\") {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === \"static\" && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n result = result.filter((ancestor) => ancestor !== currentNode);\n } else {\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === \"clippingAncestors\" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === \"fixed\";\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== \"body\" || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\nfunction isStaticPositioned(element) {\n return getComputedStyle$1(element).position === \"static\";\n}\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle$1(element).position === \"fixed\") {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\nconst getElementRects = async function(data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\nfunction isRTL(element) {\n return getComputedStyle$1(element).direction === \"rtl\";\n}\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1e3);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n refresh();\n }\n isFirstUpdate = false;\n }\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === \"function\",\n layoutShift = typeof IntersectionObserver === \"function\",\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...getOverflowAncestors(floating)] : [];\n ancestors.forEach((ancestor) => {\n ancestorScroll && ancestor.addEventListener(\"scroll\", update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener(\"resize\", update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver((_ref) => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach((ancestor) => {\n ancestorScroll && ancestor.removeEventListener(\"scroll\", update);\n ancestorResize && ancestor.removeEventListener(\"resize\", update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\nconst offset = offset$1;\nconst shift = shift$1;\nconst flip = flip$1;\nconst size = size$1;\nconst hide = hide$1;\nconst arrow = arrow$1;\nconst limitShift = limitShift$1;\nconst computePosition = (reference, floating, options) => {\n const cache = /* @__PURE__ */ new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\nexport {\n arrow as a,\n size as b,\n computePosition as c,\n isHTMLElement as d,\n isElement as e,\n flip as f,\n getWindow as g,\n hide as h,\n isShadowRoot as i,\n getOverflowAncestors as j,\n getComputedStyle$1 as k,\n limitShift as l,\n isWebKit as m,\n isLastTraversableNode as n,\n offset as o,\n getParentNode as p,\n isNode as q,\n autoUpdate as r,\n shift as s\n};\n//# sourceMappingURL=floating-ui.dom-DRSBqyFN.js.map\n","import { o as offset$1, f as flip$1, s as shift$1, c as computePosition, a as arrow$2, b as size$1, h as hide$1, l as limitShift$1 } from \"./floating-ui.dom-DRSBqyFN.js\";\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"react\";\nimport * as ReactDOM from \"react-dom\";\nvar isClient = typeof document !== \"undefined\";\nvar noop = function noop2() {\n};\nvar index = isClient ? useLayoutEffect : noop;\nfunction deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (typeof a === \"function\" && a.toString() === b.toString()) {\n return true;\n }\n let length;\n let i;\n let keys;\n if (a && b && typeof a === \"object\") {\n if (Array.isArray(a)) {\n length = a.length;\n if (length !== b.length) return false;\n for (i = length; i-- !== 0; ) {\n if (!deepEqual(a[i], b[i])) {\n return false;\n }\n }\n return true;\n }\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) {\n return false;\n }\n for (i = length; i-- !== 0; ) {\n if (!{}.hasOwnProperty.call(b, keys[i])) {\n return false;\n }\n }\n for (i = length; i-- !== 0; ) {\n const key = keys[i];\n if (key === \"_owner\" && a.$$typeof) {\n continue;\n }\n if (!deepEqual(a[key], b[key])) {\n return false;\n }\n }\n return true;\n }\n return a !== a && b !== b;\n}\nfunction getDPR(element) {\n if (typeof window === \"undefined\") {\n return 1;\n }\n const win = element.ownerDocument.defaultView || window;\n return win.devicePixelRatio || 1;\n}\nfunction roundByDPR(element, value) {\n const dpr = getDPR(element);\n return Math.round(value * dpr) / dpr;\n}\nfunction useLatestRef(value) {\n const ref = React.useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\nfunction useFloating(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n placement = \"bottom\",\n strategy = \"absolute\",\n middleware = [],\n platform,\n elements: {\n reference: externalReference,\n floating: externalFloating\n } = {},\n transform = true,\n whileElementsMounted,\n open\n } = options;\n const [data, setData] = React.useState({\n x: 0,\n y: 0,\n strategy,\n placement,\n middlewareData: {},\n isPositioned: false\n });\n const [latestMiddleware, setLatestMiddleware] = React.useState(middleware);\n if (!deepEqual(latestMiddleware, middleware)) {\n setLatestMiddleware(middleware);\n }\n const [_reference, _setReference] = React.useState(null);\n const [_floating, _setFloating] = React.useState(null);\n const setReference = React.useCallback((node) => {\n if (node !== referenceRef.current) {\n referenceRef.current = node;\n _setReference(node);\n }\n }, []);\n const setFloating = React.useCallback((node) => {\n if (node !== floatingRef.current) {\n floatingRef.current = node;\n _setFloating(node);\n }\n }, []);\n const referenceEl = externalReference || _reference;\n const floatingEl = externalFloating || _floating;\n const referenceRef = React.useRef(null);\n const floatingRef = React.useRef(null);\n const dataRef = React.useRef(data);\n const hasWhileElementsMounted = whileElementsMounted != null;\n const whileElementsMountedRef = useLatestRef(whileElementsMounted);\n const platformRef = useLatestRef(platform);\n const openRef = useLatestRef(open);\n const update = React.useCallback(() => {\n if (!referenceRef.current || !floatingRef.current) {\n return;\n }\n const config = {\n placement,\n strategy,\n middleware: latestMiddleware\n };\n if (platformRef.current) {\n config.platform = platformRef.current;\n }\n computePosition(referenceRef.current, floatingRef.current, config).then((data2) => {\n const fullData = {\n ...data2,\n // The floating element's position may be recomputed while it's closed\n // but still mounted (such as when transitioning out). To ensure\n // `isPositioned` will be `false` initially on the next open, avoid\n // setting it to `true` when `open === false` (must be specified).\n isPositioned: openRef.current !== false\n };\n if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {\n dataRef.current = fullData;\n ReactDOM.flushSync(() => {\n setData(fullData);\n });\n }\n });\n }, [latestMiddleware, placement, strategy, platformRef, openRef]);\n index(() => {\n if (open === false && dataRef.current.isPositioned) {\n dataRef.current.isPositioned = false;\n setData((data2) => ({\n ...data2,\n isPositioned: false\n }));\n }\n }, [open]);\n const isMountedRef = React.useRef(false);\n index(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n index(() => {\n if (referenceEl) referenceRef.current = referenceEl;\n if (floatingEl) floatingRef.current = floatingEl;\n if (referenceEl && floatingEl) {\n if (whileElementsMountedRef.current) {\n return whileElementsMountedRef.current(referenceEl, floatingEl, update);\n }\n update();\n }\n }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);\n const refs = React.useMemo(() => ({\n reference: referenceRef,\n floating: floatingRef,\n setReference,\n setFloating\n }), [setReference, setFloating]);\n const elements = React.useMemo(() => ({\n reference: referenceEl,\n floating: floatingEl\n }), [referenceEl, floatingEl]);\n const floatingStyles = React.useMemo(() => {\n const initialStyles = {\n position: strategy,\n left: 0,\n top: 0\n };\n if (!elements.floating) {\n return initialStyles;\n }\n const x = roundByDPR(elements.floating, data.x);\n const y = roundByDPR(elements.floating, data.y);\n if (transform) {\n return {\n ...initialStyles,\n transform: \"translate(\" + x + \"px, \" + y + \"px)\",\n ...getDPR(elements.floating) >= 1.5 && {\n willChange: \"transform\"\n }\n };\n }\n return {\n position: strategy,\n left: x,\n top: y\n };\n }, [strategy, transform, elements.floating, data.x, data.y]);\n return React.useMemo(() => ({\n ...data,\n update,\n refs,\n elements,\n floatingStyles\n }), [data, update, refs, elements, floatingStyles]);\n}\nconst arrow$1 = (options) => {\n function isRef(value) {\n return {}.hasOwnProperty.call(value, \"current\");\n }\n return {\n name: \"arrow\",\n options,\n fn(state) {\n const {\n element,\n padding\n } = typeof options === \"function\" ? options(state) : options;\n if (element && isRef(element)) {\n if (element.current != null) {\n return arrow$2({\n element: element.current,\n padding\n }).fn(state);\n }\n return {};\n }\n if (element) {\n return arrow$2({\n element,\n padding\n }).fn(state);\n }\n return {};\n }\n };\n};\nconst offset = (options, deps) => ({\n ...offset$1(options),\n options: [options, deps]\n});\nconst shift = (options, deps) => ({\n ...shift$1(options),\n options: [options, deps]\n});\nconst limitShift = (options, deps) => ({\n ...limitShift$1(options),\n options: [options, deps]\n});\nconst flip = (options, deps) => ({\n ...flip$1(options),\n options: [options, deps]\n});\nconst size = (options, deps) => ({\n ...size$1(options),\n options: [options, deps]\n});\nconst hide = (options, deps) => ({\n ...hide$1(options),\n options: [options, deps]\n});\nconst arrow = (options, deps) => ({\n ...arrow$1(options),\n options: [options, deps]\n});\nexport {\n arrow as a,\n size as b,\n flip as f,\n hide as h,\n limitShift as l,\n offset as o,\n shift as s,\n useFloating as u\n};\n//# sourceMappingURL=floating-ui.react-dom-BUZLdP4-.js.map\n","import { jsx, jsxs, Fragment } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport React__default from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { u as useDirection, c as clamp, a as Check, C as ChevronDown } from \"./index-DBpvJQOe.js\";\nimport { c as createContextScope, P as Primitive, d as useLayoutEffect2, u as useCallbackRef, e as useControllableState, f as useId, g as Portal$1, b as composeEventHandlers, h as hideOthers, i as useFocusGuards, R as ReactRemoveScroll, F as FocusScope, D as DismissableLayer } from \"./textarea-_HQpXiCX.js\";\nimport { u as useComposedRefs, c as createSlot } from \"./index-B4RTH1-D.js\";\nimport { u as useFloating, o as offset, s as shift, f as flip, b as size, a as arrow, h as hide, l as limitShift } from \"./floating-ui.react-dom-BUZLdP4-.js\";\nimport { r as autoUpdate } from \"./floating-ui.dom-DRSBqyFN.js\";\nimport { c as cn } from \"./utils-H80jjgLf.js\";\nimport { c as createLucideIcon } from \"./createLucideIcon-C5oU6LEj.js\";\nconst __iconNode = [[\"path\", { d: \"m18 15-6-6-6 6\", key: \"153udz\" }]];\nconst ChevronUp = createLucideIcon(\"chevron-up\", __iconNode);\nfunction createCollection(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope2] = createContextScope(PROVIDER_NAME);\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n );\n const CollectionProvider = (props) => {\n const { scope, children } = props;\n const ref = React__default.useRef(null);\n const itemMap = React__default.useRef(/* @__PURE__ */ new Map()).current;\n return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);\n const CollectionSlot = React__default.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx(CollectionSlotImpl, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);\n const CollectionItemSlot = React__default.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React__default.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n React__default.useEffect(() => {\n context.itemMap.set(ref, { ref, ...itemData });\n return () => void context.itemMap.delete(ref);\n });\n return /* @__PURE__ */ jsx(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useCollection2(scope) {\n const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n const getItems = React__default.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n return getItems;\n }\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection2,\n createCollectionScope2\n ];\n}\nvar NAME$1 = \"Arrow\";\nvar Arrow$1 = React.forwardRef((props, forwardedRef) => {\n const { children, width = 10, height = 5, ...arrowProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.svg,\n {\n ...arrowProps,\n ref: forwardedRef,\n width,\n height,\n viewBox: \"0 0 30 10\",\n preserveAspectRatio: \"none\",\n children: props.asChild ? children : /* @__PURE__ */ jsx(\"polygon\", { points: \"0,0 30,0 15,10\" })\n }\n );\n});\nArrow$1.displayName = NAME$1;\nvar Root$1 = Arrow$1;\nfunction useSize(element) {\n const [size2, setSize] = React.useState(void 0);\n useLayoutEffect2(() => {\n if (element) {\n setSize({ width: element.offsetWidth, height: element.offsetHeight });\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries)) {\n return;\n }\n if (!entries.length) {\n return;\n }\n const entry = entries[0];\n let width;\n let height;\n if (\"borderBoxSize\" in entry) {\n const borderSizeEntry = entry[\"borderBoxSize\"];\n const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n width = borderSize[\"inlineSize\"];\n height = borderSize[\"blockSize\"];\n } else {\n width = element.offsetWidth;\n height = element.offsetHeight;\n }\n setSize({ width, height });\n });\n resizeObserver.observe(element, { box: \"border-box\" });\n return () => resizeObserver.unobserve(element);\n } else {\n setSize(void 0);\n }\n }, [element]);\n return size2;\n}\nvar POPPER_NAME = \"Popper\";\nvar [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);\nvar [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);\nvar Popper = (props) => {\n const { __scopePopper, children } = props;\n const [anchor, setAnchor] = React.useState(null);\n return /* @__PURE__ */ jsx(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });\n};\nPopper.displayName = POPPER_NAME;\nvar ANCHOR_NAME = \"PopperAnchor\";\nvar PopperAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopper, virtualRef, ...anchorProps } = props;\n const context = usePopperContext(ANCHOR_NAME, __scopePopper);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const anchorRef = React.useRef(null);\n React.useEffect(() => {\n const previousAnchor = anchorRef.current;\n anchorRef.current = virtualRef?.current || ref.current;\n if (previousAnchor !== anchorRef.current) {\n context.onAnchorChange(anchorRef.current);\n }\n });\n return virtualRef ? null : /* @__PURE__ */ jsx(Primitive.div, { ...anchorProps, ref: composedRefs });\n }\n);\nPopperAnchor.displayName = ANCHOR_NAME;\nvar CONTENT_NAME$1 = \"PopperContent\";\nvar [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME$1);\nvar PopperContent = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopper,\n side = \"bottom\",\n sideOffset = 0,\n align = \"center\",\n alignOffset = 0,\n arrowPadding = 0,\n avoidCollisions = true,\n collisionBoundary = [],\n collisionPadding: collisionPaddingProp = 0,\n sticky = \"partial\",\n hideWhenDetached = false,\n updatePositionStrategy = \"optimized\",\n onPlaced,\n ...contentProps\n } = props;\n const context = usePopperContext(CONTENT_NAME$1, __scopePopper);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [arrow$1, setArrow] = React.useState(null);\n const arrowSize = useSize(arrow$1);\n const arrowWidth = arrowSize?.width ?? 0;\n const arrowHeight = arrowSize?.height ?? 0;\n const desiredPlacement = side + (align !== \"center\" ? \"-\" + align : \"\");\n const collisionPadding = typeof collisionPaddingProp === \"number\" ? collisionPaddingProp : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };\n const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [collisionBoundary];\n const hasExplicitBoundaries = boundary.length > 0;\n const detectOverflowOptions = {\n padding: collisionPadding,\n boundary: boundary.filter(isNotNull),\n // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries\n altBoundary: hasExplicitBoundaries\n };\n const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({\n // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n strategy: \"fixed\",\n placement: desiredPlacement,\n whileElementsMounted: (...args) => {\n const cleanup = autoUpdate(...args, {\n animationFrame: updatePositionStrategy === \"always\"\n });\n return cleanup;\n },\n elements: {\n reference: context.anchor\n },\n middleware: [\n offset({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),\n avoidCollisions && shift({\n mainAxis: true,\n crossAxis: false,\n limiter: sticky === \"partial\" ? limitShift() : void 0,\n ...detectOverflowOptions\n }),\n avoidCollisions && flip({ ...detectOverflowOptions }),\n size({\n ...detectOverflowOptions,\n apply: ({ elements, rects, availableWidth, availableHeight }) => {\n const { width: anchorWidth, height: anchorHeight } = rects.reference;\n const contentStyle = elements.floating.style;\n contentStyle.setProperty(\"--radix-popper-available-width\", `${availableWidth}px`);\n contentStyle.setProperty(\"--radix-popper-available-height\", `${availableHeight}px`);\n contentStyle.setProperty(\"--radix-popper-anchor-width\", `${anchorWidth}px`);\n contentStyle.setProperty(\"--radix-popper-anchor-height\", `${anchorHeight}px`);\n }\n }),\n arrow$1 && arrow({ element: arrow$1, padding: arrowPadding }),\n transformOrigin({ arrowWidth, arrowHeight }),\n hideWhenDetached && hide({ strategy: \"referenceHidden\", ...detectOverflowOptions })\n ]\n });\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const handlePlaced = useCallbackRef(onPlaced);\n useLayoutEffect2(() => {\n if (isPositioned) {\n handlePlaced?.();\n }\n }, [isPositioned, handlePlaced]);\n const arrowX = middlewareData.arrow?.x;\n const arrowY = middlewareData.arrow?.y;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect2(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n return /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: refs.setFloating,\n \"data-radix-popper-content-wrapper\": \"\",\n style: {\n ...floatingStyles,\n transform: isPositioned ? floatingStyles.transform : \"translate(0, -200%)\",\n // keep off the page when measuring\n minWidth: \"max-content\",\n zIndex: contentZIndex,\n [\"--radix-popper-transform-origin\"]: [\n middlewareData.transformOrigin?.x,\n middlewareData.transformOrigin?.y\n ].join(\" \"),\n // hide the content if using the hide middleware and should be hidden\n // set visibility to hidden and disable pointer events so the UI behaves\n // as if the PopperContent isn't there at all\n ...middlewareData.hide?.referenceHidden && {\n visibility: \"hidden\",\n pointerEvents: \"none\"\n }\n },\n dir: props.dir,\n children: /* @__PURE__ */ jsx(\n PopperContentProvider,\n {\n scope: __scopePopper,\n placedSide,\n onArrowChange: setArrow,\n arrowX,\n arrowY,\n shouldHideArrow: cannotCenterArrow,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-side\": placedSide,\n \"data-align\": placedAlign,\n ...contentProps,\n ref: composedRefs,\n style: {\n ...contentProps.style,\n // if the PopperContent hasn't been placed yet (not all measurements done)\n // we prevent animations so that users's animation don't kick in too early referring wrong sides\n animation: !isPositioned ? \"none\" : void 0\n }\n }\n )\n }\n )\n }\n );\n }\n);\nPopperContent.displayName = CONTENT_NAME$1;\nvar ARROW_NAME$1 = \"PopperArrow\";\nvar OPPOSITE_SIDE = {\n top: \"bottom\",\n right: \"left\",\n bottom: \"top\",\n left: \"right\"\n};\nvar PopperArrow = React.forwardRef(function PopperArrow2(props, forwardedRef) {\n const { __scopePopper, ...arrowProps } = props;\n const contentContext = useContentContext(ARROW_NAME$1, __scopePopper);\n const baseSide = OPPOSITE_SIDE[contentContext.placedSide];\n return (\n // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)\n // doesn't report size as we'd expect on SVG elements.\n // it reports their bounding box which is effectively the largest path inside the SVG.\n /* @__PURE__ */ jsx(\n \"span\",\n {\n ref: contentContext.onArrowChange,\n style: {\n position: \"absolute\",\n left: contentContext.arrowX,\n top: contentContext.arrowY,\n [baseSide]: 0,\n transformOrigin: {\n top: \"\",\n right: \"0 0\",\n bottom: \"center 0\",\n left: \"100% 0\"\n }[contentContext.placedSide],\n transform: {\n top: \"translateY(100%)\",\n right: \"translateY(50%) rotate(90deg) translateX(-50%)\",\n bottom: `rotate(180deg)`,\n left: \"translateY(50%) rotate(-90deg) translateX(50%)\"\n }[contentContext.placedSide],\n visibility: contentContext.shouldHideArrow ? \"hidden\" : void 0\n },\n children: /* @__PURE__ */ jsx(\n Root$1,\n {\n ...arrowProps,\n ref: forwardedRef,\n style: {\n ...arrowProps.style,\n // ensures the element can be measured correctly (mostly for if SVG)\n display: \"block\"\n }\n }\n )\n }\n )\n );\n});\nPopperArrow.displayName = ARROW_NAME$1;\nfunction isNotNull(value) {\n return value !== null;\n}\nvar transformOrigin = (options) => ({\n name: \"transformOrigin\",\n options,\n fn(data) {\n const { placement, rects, middlewareData } = data;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const isArrowHidden = cannotCenterArrow;\n const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;\n const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const noArrowAlign = { start: \"0%\", center: \"50%\", end: \"100%\" }[placedAlign];\n const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;\n const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;\n let x = \"\";\n let y = \"\";\n if (placedSide === \"bottom\") {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${-arrowHeight}px`;\n } else if (placedSide === \"top\") {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${rects.floating.height + arrowHeight}px`;\n } else if (placedSide === \"right\") {\n x = `${-arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n } else if (placedSide === \"left\") {\n x = `${rects.floating.width + arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n }\n return { data: { x, y } };\n }\n});\nfunction getSideAndAlignFromPlacement(placement) {\n const [side, align = \"center\"] = placement.split(\"-\");\n return [side, align];\n}\nvar Root2$1 = Popper;\nvar Anchor = PopperAnchor;\nvar Content = PopperContent;\nvar Arrow = PopperArrow;\nfunction usePrevious(value) {\n const ref = React.useRef({ value, previous: value });\n return React.useMemo(() => {\n if (ref.current.value !== value) {\n ref.current.previous = ref.current.value;\n ref.current.value = value;\n }\n return ref.current.previous;\n }, [value]);\n}\nvar VISUALLY_HIDDEN_STYLES = Object.freeze({\n // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n position: \"absolute\",\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\"\n});\nvar NAME = \"VisuallyHidden\";\nvar VisuallyHidden = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...props,\n ref: forwardedRef,\n style: { ...VISUALLY_HIDDEN_STYLES, ...props.style }\n }\n );\n }\n);\nVisuallyHidden.displayName = NAME;\nvar Root = VisuallyHidden;\nvar OPEN_KEYS = [\" \", \"Enter\", \"ArrowUp\", \"ArrowDown\"];\nvar SELECTION_KEYS = [\" \", \"Enter\"];\nvar SELECT_NAME = \"Select\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SELECT_NAME);\nvar [createSelectContext] = createContextScope(SELECT_NAME, [\n createCollectionScope,\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);\nvar [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);\nvar Select$1 = (props) => {\n const {\n __scopeSelect,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n value: valueProp,\n defaultValue,\n onValueChange,\n dir,\n name,\n autoComplete,\n disabled,\n required,\n form\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const [trigger, setTrigger] = React.useState(null);\n const [valueNode, setValueNode] = React.useState(null);\n const [valueNodeHasChildren, setValueNodeHasChildren] = React.useState(false);\n const direction = useDirection(dir);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: SELECT_NAME\n });\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n caller: SELECT_NAME\n });\n const triggerPointerDownPosRef = React.useRef(null);\n const isFormControl = trigger ? form || !!trigger.closest(\"form\") : true;\n const [nativeOptionsSet, setNativeOptionsSet] = React.useState(/* @__PURE__ */ new Set());\n const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(\";\");\n return /* @__PURE__ */ jsx(Root2$1, { ...popperScope, children: /* @__PURE__ */ jsxs(\n SelectProvider,\n {\n required,\n scope: __scopeSelect,\n trigger,\n onTriggerChange: setTrigger,\n valueNode,\n onValueNodeChange: setValueNode,\n valueNodeHasChildren,\n onValueNodeHasChildrenChange: setValueNodeHasChildren,\n contentId: useId(),\n value,\n onValueChange: setValue,\n open,\n onOpenChange: setOpen,\n dir: direction,\n triggerPointerDownPosRef,\n disabled,\n children: [\n /* @__PURE__ */ jsx(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n SelectNativeOptionsProvider,\n {\n scope: props.__scopeSelect,\n onNativeOptionAdd: React.useCallback((option) => {\n setNativeOptionsSet((prev) => new Set(prev).add(option));\n }, []),\n onNativeOptionRemove: React.useCallback((option) => {\n setNativeOptionsSet((prev) => {\n const optionsSet = new Set(prev);\n optionsSet.delete(option);\n return optionsSet;\n });\n }, []),\n children\n }\n ) }),\n isFormControl ? /* @__PURE__ */ jsxs(\n SelectBubbleInput,\n {\n \"aria-hidden\": true,\n required,\n tabIndex: -1,\n name,\n autoComplete,\n value,\n onChange: (event) => setValue(event.target.value),\n disabled,\n form,\n children: [\n value === void 0 ? /* @__PURE__ */ jsx(\"option\", { value: \"\" }) : null,\n Array.from(nativeOptionsSet)\n ]\n },\n nativeSelectKey\n ) : null\n ]\n }\n ) });\n};\nSelect$1.displayName = SELECT_NAME;\nvar TRIGGER_NAME = \"SelectTrigger\";\nvar SelectTrigger$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, disabled = false, ...triggerProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(TRIGGER_NAME, __scopeSelect);\n const isDisabled = context.disabled || disabled;\n const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);\n const getItems = useCollection(__scopeSelect);\n const pointerTypeRef = React.useRef(\"touch\");\n const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.value === context.value);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem !== void 0) {\n context.onValueChange(nextItem.value);\n }\n });\n const handleOpen = (pointerEvent) => {\n if (!isDisabled) {\n context.onOpenChange(true);\n resetTypeahead();\n }\n if (pointerEvent) {\n context.triggerPointerDownPosRef.current = {\n x: Math.round(pointerEvent.pageX),\n y: Math.round(pointerEvent.pageY)\n };\n }\n };\n return /* @__PURE__ */ jsx(Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"combobox\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open,\n \"aria-required\": context.required,\n \"aria-autocomplete\": \"none\",\n dir: context.dir,\n \"data-state\": context.open ? \"open\" : \"closed\",\n disabled: isDisabled,\n \"data-disabled\": isDisabled ? \"\" : void 0,\n \"data-placeholder\": shouldShowPlaceholder(context.value) ? \"\" : void 0,\n ...triggerProps,\n ref: composedRefs,\n onClick: composeEventHandlers(triggerProps.onClick, (event) => {\n event.currentTarget.focus();\n if (pointerTypeRef.current !== \"mouse\") {\n handleOpen(event);\n }\n }),\n onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n }\n if (event.button === 0 && event.ctrlKey === false && event.pointerType === \"mouse\") {\n handleOpen(event);\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(triggerProps.onKeyDown, (event) => {\n const isTypingAhead = searchRef.current !== \"\";\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if (isTypingAhead && event.key === \" \") return;\n if (OPEN_KEYS.includes(event.key)) {\n handleOpen();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nSelectTrigger$1.displayName = TRIGGER_NAME;\nvar VALUE_NAME = \"SelectValue\";\nvar SelectValue$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, children, placeholder = \"\", ...valueProps } = props;\n const context = useSelectContext(VALUE_NAME, __scopeSelect);\n const { onValueNodeHasChildrenChange } = context;\n const hasChildren = children !== void 0;\n const composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);\n useLayoutEffect2(() => {\n onValueNodeHasChildrenChange(hasChildren);\n }, [onValueNodeHasChildrenChange, hasChildren]);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...valueProps,\n ref: composedRefs,\n style: { pointerEvents: \"none\" },\n children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ jsx(Fragment, { children: placeholder }) : children\n }\n );\n }\n);\nSelectValue$1.displayName = VALUE_NAME;\nvar ICON_NAME = \"SelectIcon\";\nvar SelectIcon = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, children, ...iconProps } = props;\n return /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...iconProps, ref: forwardedRef, children: children || \"▼\" });\n }\n);\nSelectIcon.displayName = ICON_NAME;\nvar PORTAL_NAME = \"SelectPortal\";\nvar SelectPortal = (props) => {\n return /* @__PURE__ */ jsx(Portal$1, { asChild: true, ...props });\n};\nSelectPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"SelectContent\";\nvar SelectContent$1 = React.forwardRef(\n (props, forwardedRef) => {\n const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);\n const [fragment, setFragment] = React.useState();\n useLayoutEffect2(() => {\n setFragment(new DocumentFragment());\n }, []);\n if (!context.open) {\n const frag = fragment;\n return frag ? ReactDOM.createPortal(\n /* @__PURE__ */ jsx(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(\"div\", { children: props.children }) }) }),\n frag\n ) : null;\n }\n return /* @__PURE__ */ jsx(SelectContentImpl, { ...props, ref: forwardedRef });\n }\n);\nSelectContent$1.displayName = CONTENT_NAME;\nvar CONTENT_MARGIN = 10;\nvar [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME);\nvar CONTENT_IMPL_NAME = \"SelectContentImpl\";\nvar Slot = createSlot(\"SelectContent.RemoveScroll\");\nvar SelectContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n position = \"item-aligned\",\n onCloseAutoFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n //\n // PopperContent props\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions,\n //\n ...contentProps\n } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const [content, setContent] = React.useState(null);\n const [viewport, setViewport] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [selectedItem, setSelectedItem] = React.useState(null);\n const [selectedItemText, setSelectedItemText] = React.useState(\n null\n );\n const getItems = useCollection(__scopeSelect);\n const [isPositioned, setIsPositioned] = React.useState(false);\n const firstValidItemFoundRef = React.useRef(false);\n React.useEffect(() => {\n if (content) return hideOthers(content);\n }, [content]);\n useFocusGuards();\n const focusFirst = React.useCallback(\n (candidates) => {\n const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);\n const [lastItem] = restItems.slice(-1);\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate?.scrollIntoView({ block: \"nearest\" });\n if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n candidate?.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n },\n [getItems, viewport]\n );\n const focusSelectedItem = React.useCallback(\n () => focusFirst([selectedItem, content]),\n [focusFirst, selectedItem, content]\n );\n React.useEffect(() => {\n if (isPositioned) {\n focusSelectedItem();\n }\n }, [isPositioned, focusSelectedItem]);\n const { onOpenChange, triggerPointerDownPosRef } = context;\n React.useEffect(() => {\n if (content) {\n let pointerMoveDelta = { x: 0, y: 0 };\n const handlePointerMove = (event) => {\n pointerMoveDelta = {\n x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),\n y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0))\n };\n };\n const handlePointerUp = (event) => {\n if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n event.preventDefault();\n } else {\n if (!content.contains(event.target)) {\n onOpenChange(false);\n }\n }\n document.removeEventListener(\"pointermove\", handlePointerMove);\n triggerPointerDownPosRef.current = null;\n };\n if (triggerPointerDownPosRef.current !== null) {\n document.addEventListener(\"pointermove\", handlePointerMove);\n document.addEventListener(\"pointerup\", handlePointerUp, { capture: true, once: true });\n }\n return () => {\n document.removeEventListener(\"pointermove\", handlePointerMove);\n document.removeEventListener(\"pointerup\", handlePointerUp, { capture: true });\n };\n }\n }, [content, onOpenChange, triggerPointerDownPosRef]);\n React.useEffect(() => {\n const close = () => onOpenChange(false);\n window.addEventListener(\"blur\", close);\n window.addEventListener(\"resize\", close);\n return () => {\n window.removeEventListener(\"blur\", close);\n window.removeEventListener(\"resize\", close);\n };\n }, [onOpenChange]);\n const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.ref.current === document.activeElement);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem) {\n setTimeout(() => nextItem.ref.current.focus());\n }\n });\n const itemRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItem(node);\n if (isFirstValidItem) firstValidItemFoundRef.current = true;\n }\n },\n [context.value]\n );\n const handleItemLeave = React.useCallback(() => content?.focus(), [content]);\n const itemTextRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItemText(node);\n }\n },\n [context.value]\n );\n const SelectPosition = position === \"popper\" ? SelectPopperPosition : SelectItemAlignedPosition;\n const popperContentProps = SelectPosition === SelectPopperPosition ? {\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions\n } : {};\n return /* @__PURE__ */ jsx(\n SelectContentProvider,\n {\n scope: __scopeSelect,\n content,\n viewport,\n onViewportChange: setViewport,\n itemRefCallback,\n selectedItem,\n onItemLeave: handleItemLeave,\n itemTextRefCallback,\n focusSelectedItem,\n selectedItemText,\n position,\n isPositioned,\n searchRef,\n children: /* @__PURE__ */ jsx(ReactRemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: context.open,\n onMountAutoFocus: (event) => {\n event.preventDefault();\n },\n onUnmountAutoFocus: composeEventHandlers(onCloseAutoFocus, (event) => {\n context.trigger?.focus({ preventScroll: true });\n event.preventDefault();\n }),\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: true,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n SelectPosition,\n {\n role: \"listbox\",\n id: context.contentId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n dir: context.dir,\n onContextMenu: (event) => event.preventDefault(),\n ...contentProps,\n ...popperContentProps,\n onPlaced: () => setIsPositioned(true),\n ref: composedRefs,\n style: {\n // flex layout so we can place the scroll buttons properly\n display: \"flex\",\n flexDirection: \"column\",\n // reset the outline by default as the content MAY get focused\n outline: \"none\",\n ...contentProps.style\n },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if ([\"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(event.key)) {\n const items = getItems().filter((item) => !item.disabled);\n let candidateNodes = items.map((item) => item.ref.current);\n if ([\"ArrowUp\", \"End\"].includes(event.key)) {\n candidateNodes = candidateNodes.slice().reverse();\n }\n if ([\"ArrowUp\", \"ArrowDown\"].includes(event.key)) {\n const currentElement = event.target;\n const currentIndex = candidateNodes.indexOf(currentElement);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n event.preventDefault();\n }\n })\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nSelectContentImpl.displayName = CONTENT_IMPL_NAME;\nvar ITEM_ALIGNED_POSITION_NAME = \"SelectItemAlignedPosition\";\nvar SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onPlaced, ...popperProps } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(CONTENT_NAME, __scopeSelect);\n const [contentWrapper, setContentWrapper] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const getItems = useCollection(__scopeSelect);\n const shouldExpandOnScrollRef = React.useRef(false);\n const shouldRepositionRef = React.useRef(true);\n const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;\n const position = React.useCallback(() => {\n if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {\n const triggerRect = context.trigger.getBoundingClientRect();\n const contentRect = content.getBoundingClientRect();\n const valueNodeRect = context.valueNode.getBoundingClientRect();\n const itemTextRect = selectedItemText.getBoundingClientRect();\n if (context.dir !== \"rtl\") {\n const itemTextOffset = itemTextRect.left - contentRect.left;\n const left = valueNodeRect.left - itemTextOffset;\n const leftDelta = triggerRect.left - left;\n const minContentWidth = triggerRect.width + leftDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const rightEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedLeft = clamp(left, [\n CONTENT_MARGIN,\n // Prevents the content from going off the starting edge of the\n // viewport. It may still go off the ending edge, but this can be\n // controlled by the user since they may want to manage overflow in a\n // specific way.\n // https://github.com/radix-ui/primitives/issues/2049\n Math.max(CONTENT_MARGIN, rightEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.left = clampedLeft + \"px\";\n } else {\n const itemTextOffset = contentRect.right - itemTextRect.right;\n const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n const rightDelta = window.innerWidth - triggerRect.right - right;\n const minContentWidth = triggerRect.width + rightDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const leftEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedRight = clamp(right, [\n CONTENT_MARGIN,\n Math.max(CONTENT_MARGIN, leftEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.right = clampedRight + \"px\";\n }\n const items = getItems();\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const itemsHeight = viewport.scrollHeight;\n const contentStyles = window.getComputedStyle(content);\n const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth;\n const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n const viewportStyles = window.getComputedStyle(viewport);\n const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;\n const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n if (willAlignWithoutTopOverflow) {\n const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;\n contentWrapper.style.bottom = \"0px\";\n const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n const clampedTriggerMiddleToBottomEdge = Math.max(\n triggerMiddleToBottomEdge,\n selectedItemHalfHeight + // viewport might have padding bottom, include it to avoid a scrollable viewport\n (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth\n );\n const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n contentWrapper.style.height = height + \"px\";\n } else {\n const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;\n contentWrapper.style.top = \"0px\";\n const clampedTopEdgeToTriggerMiddle = Math.max(\n topEdgeToTriggerMiddle,\n contentBorderTopWidth + viewport.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport\n (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight\n );\n const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n contentWrapper.style.height = height + \"px\";\n viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n }\n contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;\n contentWrapper.style.minHeight = minContentHeight + \"px\";\n contentWrapper.style.maxHeight = availableHeight + \"px\";\n onPlaced?.();\n requestAnimationFrame(() => shouldExpandOnScrollRef.current = true);\n }\n }, [\n getItems,\n context.trigger,\n context.valueNode,\n contentWrapper,\n content,\n viewport,\n selectedItem,\n selectedItemText,\n context.dir,\n onPlaced\n ]);\n useLayoutEffect2(() => position(), [position]);\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect2(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n const handleScrollButtonChange = React.useCallback(\n (node) => {\n if (node && shouldRepositionRef.current === true) {\n position();\n focusSelectedItem?.();\n shouldRepositionRef.current = false;\n }\n },\n [position, focusSelectedItem]\n );\n return /* @__PURE__ */ jsx(\n SelectViewportProvider,\n {\n scope: __scopeSelect,\n contentWrapper,\n shouldExpandOnScrollRef,\n onScrollButtonChange: handleScrollButtonChange,\n children: /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: setContentWrapper,\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n position: \"fixed\",\n zIndex: contentZIndex\n },\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...popperProps,\n ref: composedRefs,\n style: {\n // When we get the height of the content, it includes borders. If we were to set\n // the height without having `boxSizing: 'border-box'` it would be too big.\n boxSizing: \"border-box\",\n // We need to ensure the content doesn't get taller than the wrapper\n maxHeight: \"100%\",\n ...popperProps.style\n }\n }\n )\n }\n )\n }\n );\n});\nSelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;\nvar POPPER_POSITION_NAME = \"SelectPopperPosition\";\nvar SelectPopperPosition = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeSelect,\n align = \"start\",\n collisionPadding = CONTENT_MARGIN,\n ...popperProps\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n return /* @__PURE__ */ jsx(\n Content,\n {\n ...popperScope,\n ...popperProps,\n ref: forwardedRef,\n align,\n collisionPadding,\n style: {\n // Ensure border-box for floating-ui calculations\n boxSizing: \"border-box\",\n ...popperProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-select-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-select-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-select-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-select-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-select-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nSelectPopperPosition.displayName = POPPER_POSITION_NAME;\nvar [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME, {});\nvar VIEWPORT_NAME = \"SelectViewport\";\nvar SelectViewport = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, nonce, ...viewportProps } = props;\n const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);\n const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);\n const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);\n const prevScrollTopRef = React.useRef(0);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-select-viewport\": \"\",\n role: \"presentation\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n // we use position: 'relative' here on the `viewport` so that when we call\n // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n // (independent of the scrollUpButton).\n position: \"relative\",\n flex: 1,\n // Viewport should only be scrollable in the vertical direction.\n // This won't work in vertical writing modes, so we'll need to\n // revisit this if/when that is supported\n // https://developer.chrome.com/blog/vertical-form-controls\n overflow: \"hidden auto\",\n ...viewportProps.style\n },\n onScroll: composeEventHandlers(viewportProps.onScroll, (event) => {\n const viewport = event.currentTarget;\n const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;\n if (shouldExpandOnScrollRef?.current && contentWrapper) {\n const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n if (scrolledBy > 0) {\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n const cssHeight = parseFloat(contentWrapper.style.height);\n const prevHeight = Math.max(cssMinHeight, cssHeight);\n if (prevHeight < availableHeight) {\n const nextHeight = prevHeight + scrolledBy;\n const clampedNextHeight = Math.min(availableHeight, nextHeight);\n const heightDiff = nextHeight - clampedNextHeight;\n contentWrapper.style.height = clampedNextHeight + \"px\";\n if (contentWrapper.style.bottom === \"0px\") {\n viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;\n contentWrapper.style.justifyContent = \"flex-end\";\n }\n }\n }\n }\n prevScrollTopRef.current = viewport.scrollTop;\n })\n }\n ) })\n ] });\n }\n);\nSelectViewport.displayName = VIEWPORT_NAME;\nvar GROUP_NAME = \"SelectGroup\";\nvar [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);\nvar SelectGroup$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...groupProps } = props;\n const groupId = useId();\n return /* @__PURE__ */ jsx(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", \"aria-labelledby\": groupId, ...groupProps, ref: forwardedRef }) });\n }\n);\nSelectGroup$1.displayName = GROUP_NAME;\nvar LABEL_NAME = \"SelectLabel\";\nvar SelectLabel$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...labelProps } = props;\n const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);\n return /* @__PURE__ */ jsx(Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });\n }\n);\nSelectLabel$1.displayName = LABEL_NAME;\nvar ITEM_NAME = \"SelectItem\";\nvar [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);\nvar SelectItem$1 = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n value,\n disabled = false,\n textValue: textValueProp,\n ...itemProps\n } = props;\n const context = useSelectContext(ITEM_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);\n const isSelected = context.value === value;\n const [textValue, setTextValue] = React.useState(textValueProp ?? \"\");\n const [isFocused, setIsFocused] = React.useState(false);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => contentContext.itemRefCallback?.(node, value, disabled)\n );\n const textId = useId();\n const pointerTypeRef = React.useRef(\"touch\");\n const handleSelect = () => {\n if (!disabled) {\n context.onValueChange(value);\n context.onOpenChange(false);\n }\n };\n if (value === \"\") {\n throw new Error(\n \"A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.\"\n );\n }\n return /* @__PURE__ */ jsx(\n SelectItemContextProvider,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textId,\n isSelected,\n onItemTextChange: React.useCallback((node) => {\n setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? \"\").trim());\n }, []),\n children: /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textValue,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"option\",\n \"aria-labelledby\": textId,\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-selected\": isSelected && isFocused,\n \"data-state\": isSelected ? \"checked\" : \"unchecked\",\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n tabIndex: disabled ? void 0 : -1,\n ...itemProps,\n ref: composedRefs,\n onFocus: composeEventHandlers(itemProps.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(itemProps.onBlur, () => setIsFocused(false)),\n onClick: composeEventHandlers(itemProps.onClick, () => {\n if (pointerTypeRef.current !== \"mouse\") handleSelect();\n }),\n onPointerUp: composeEventHandlers(itemProps.onPointerUp, () => {\n if (pointerTypeRef.current === \"mouse\") handleSelect();\n }),\n onPointerDown: composeEventHandlers(itemProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n }),\n onPointerMove: composeEventHandlers(itemProps.onPointerMove, (event) => {\n pointerTypeRef.current = event.pointerType;\n if (disabled) {\n contentContext.onItemLeave?.();\n } else if (pointerTypeRef.current === \"mouse\") {\n event.currentTarget.focus({ preventScroll: true });\n }\n }),\n onPointerLeave: composeEventHandlers(itemProps.onPointerLeave, (event) => {\n if (event.currentTarget === document.activeElement) {\n contentContext.onItemLeave?.();\n }\n }),\n onKeyDown: composeEventHandlers(itemProps.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef?.current !== \"\";\n if (isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) handleSelect();\n if (event.key === \" \") event.preventDefault();\n })\n }\n )\n }\n )\n }\n );\n }\n);\nSelectItem$1.displayName = ITEM_NAME;\nvar ITEM_TEXT_NAME = \"SelectItemText\";\nvar SelectItemText = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, ...itemTextProps } = props;\n const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);\n const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);\n const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);\n const [itemTextNode, setItemTextNode] = React.useState(null);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => setItemTextNode(node),\n itemContext.onItemTextChange,\n (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)\n );\n const textContent = itemTextNode?.textContent;\n const nativeOption = React.useMemo(\n () => /* @__PURE__ */ jsx(\"option\", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value),\n [itemContext.disabled, itemContext.value, textContent]\n );\n const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;\n useLayoutEffect2(() => {\n onNativeOptionAdd(nativeOption);\n return () => onNativeOptionRemove(nativeOption);\n }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),\n itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? ReactDOM.createPortal(itemTextProps.children, context.valueNode) : null\n ] });\n }\n);\nSelectItemText.displayName = ITEM_TEXT_NAME;\nvar ITEM_INDICATOR_NAME = \"SelectItemIndicator\";\nvar SelectItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...itemIndicatorProps } = props;\n const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);\n return itemContext.isSelected ? /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...itemIndicatorProps, ref: forwardedRef }) : null;\n }\n);\nSelectItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SCROLL_UP_BUTTON_NAME = \"SelectScrollUpButton\";\nvar SelectScrollUpButton$1 = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const [canScrollUp, setCanScrollUp] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect2(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const canScrollUp2 = viewport.scrollTop > 0;\n setCanScrollUp(canScrollUp2);\n };\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollUp ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollUpButton$1.displayName = SCROLL_UP_BUTTON_NAME;\nvar SCROLL_DOWN_BUTTON_NAME = \"SelectScrollDownButton\";\nvar SelectScrollDownButton$1 = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const [canScrollDown, setCanScrollDown] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect2(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const maxScroll = viewport.scrollHeight - viewport.clientHeight;\n const canScrollDown2 = Math.ceil(viewport.scrollTop) < maxScroll;\n setCanScrollDown(canScrollDown2);\n };\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollDown ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollDownButton$1.displayName = SCROLL_DOWN_BUTTON_NAME;\nvar SelectScrollButtonImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;\n const contentContext = useSelectContentContext(\"SelectScrollButton\", __scopeSelect);\n const autoScrollTimerRef = React.useRef(null);\n const getItems = useCollection(__scopeSelect);\n const clearAutoScrollTimer = React.useCallback(() => {\n if (autoScrollTimerRef.current !== null) {\n window.clearInterval(autoScrollTimerRef.current);\n autoScrollTimerRef.current = null;\n }\n }, []);\n React.useEffect(() => {\n return () => clearAutoScrollTimer();\n }, [clearAutoScrollTimer]);\n useLayoutEffect2(() => {\n const activeItem = getItems().find((item) => item.ref.current === document.activeElement);\n activeItem?.ref.current?.scrollIntoView({ block: \"nearest\" });\n }, [getItems]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-hidden\": true,\n ...scrollIndicatorProps,\n ref: forwardedRef,\n style: { flexShrink: 0, ...scrollIndicatorProps.style },\n onPointerDown: composeEventHandlers(scrollIndicatorProps.onPointerDown, () => {\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerMove: composeEventHandlers(scrollIndicatorProps.onPointerMove, () => {\n contentContext.onItemLeave?.();\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerLeave: composeEventHandlers(scrollIndicatorProps.onPointerLeave, () => {\n clearAutoScrollTimer();\n })\n }\n );\n});\nvar SEPARATOR_NAME = \"SelectSeparator\";\nvar SelectSeparator$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { \"aria-hidden\": true, ...separatorProps, ref: forwardedRef });\n }\n);\nSelectSeparator$1.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"SelectArrow\";\nvar SelectArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(ARROW_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);\n return context.open && contentContext.position === \"popper\" ? /* @__PURE__ */ jsx(Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;\n }\n);\nSelectArrow.displayName = ARROW_NAME;\nvar BUBBLE_INPUT_NAME = \"SelectBubbleInput\";\nvar SelectBubbleInput = React.forwardRef(\n ({ __scopeSelect, value, ...props }, forwardedRef) => {\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const prevValue = usePrevious(value);\n React.useEffect(() => {\n const select = ref.current;\n if (!select) return;\n const selectProto = window.HTMLSelectElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n selectProto,\n \"value\"\n );\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"change\", { bubbles: true });\n setValue.call(select, value);\n select.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ jsx(\n Primitive.select,\n {\n ...props,\n style: { ...VISUALLY_HIDDEN_STYLES, ...props.style },\n ref: composedRefs,\n defaultValue: value\n }\n );\n }\n);\nSelectBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction shouldShowPlaceholder(value) {\n return value === \"\" || value === void 0;\n}\nfunction useTypeaheadSearch(onSearchChange) {\n const handleSearchChange = useCallbackRef(onSearchChange);\n const searchRef = React.useRef(\"\");\n const timerRef = React.useRef(0);\n const handleTypeaheadSearch = React.useCallback(\n (key) => {\n const search = searchRef.current + key;\n handleSearchChange(search);\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n },\n [handleSearchChange]\n );\n const resetTypeahead = React.useCallback(() => {\n searchRef.current = \"\";\n window.clearTimeout(timerRef.current);\n }, []);\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n return [searchRef, handleTypeaheadSearch, resetTypeahead];\n}\nfunction findNextItem(items, search, currentItem) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n let wrappedItems = wrapArray(items, Math.max(currentItemIndex, 0));\n const excludeCurrentItem = normalizedSearch.length === 1;\n if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v) => v !== currentItem);\n const nextItem = wrappedItems.find(\n (item) => item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextItem !== currentItem ? nextItem : void 0;\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root2 = Select$1;\nvar Trigger = SelectTrigger$1;\nvar Value = SelectValue$1;\nvar Icon = SelectIcon;\nvar Portal = SelectPortal;\nvar Content2 = SelectContent$1;\nvar Viewport = SelectViewport;\nvar Group = SelectGroup$1;\nvar Label = SelectLabel$1;\nvar Item = SelectItem$1;\nvar ItemText = SelectItemText;\nvar ItemIndicator = SelectItemIndicator;\nvar ScrollUpButton = SelectScrollUpButton$1;\nvar ScrollDownButton = SelectScrollDownButton$1;\nvar Separator = SelectSeparator$1;\nfunction Select({ ...props }) {\n return /* @__PURE__ */ jsx(Root2, { \"data-slot\": \"select\", ...props });\n}\nfunction SelectGroup({ ...props }) {\n return /* @__PURE__ */ jsx(Group, { \"data-slot\": \"select-group\", ...props });\n}\nfunction SelectValue({ ...props }) {\n return /* @__PURE__ */ jsx(Value, { \"data-slot\": \"select-value\", ...props });\n}\nfunction SelectTrigger({\n className,\n size: size2 = \"default\",\n children,\n ...props\n}) {\n return /* @__PURE__ */ jsxs(\n Trigger,\n {\n \"data-slot\": \"select-trigger\",\n \"data-size\": size2,\n className: cn(\n \"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n ),\n ...props,\n children: [\n children,\n /* @__PURE__ */ jsx(Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDown, { className: \"size-4 opacity-50\" }) })\n ]\n }\n );\n}\nfunction SelectContent({ className, children, position = \"popper\", ...props }) {\n return /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsxs(\n Content2,\n {\n \"data-slot\": \"select-content\",\n className: cn(\n \"bg-content1 text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md shadow-medium\",\n position === \"popper\" && \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n ),\n position,\n ...props,\n children: [\n /* @__PURE__ */ jsx(SelectScrollUpButton, {}),\n /* @__PURE__ */ jsx(\n Viewport,\n {\n className: cn(\n \"p-1\",\n position === \"popper\" && \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\"\n ),\n children\n }\n ),\n /* @__PURE__ */ jsx(SelectScrollDownButton, {})\n ]\n }\n ) });\n}\nfunction SelectLabel({ className, ...props }) {\n return /* @__PURE__ */ jsx(Label, { \"data-slot\": \"select-label\", className: cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className), ...props });\n}\nfunction SelectItem({ className, children, ...props }) {\n return /* @__PURE__ */ jsxs(\n Item,\n {\n \"data-slot\": \"select-item\",\n className: cn(\n \"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n ),\n ...props,\n children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"absolute right-2 flex size-3.5 items-center justify-center\", children: /* @__PURE__ */ jsx(ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: \"size-4\" }) }) }),\n /* @__PURE__ */ jsx(ItemText, { children })\n ]\n }\n );\n}\nfunction SelectSeparator({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n Separator,\n {\n \"data-slot\": \"select-separator\",\n className: cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className),\n ...props\n }\n );\n}\nfunction SelectScrollUpButton({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n ScrollUpButton,\n {\n \"data-slot\": \"select-scroll-up-button\",\n className: cn(\"flex cursor-default items-center justify-center py-1\", className),\n ...props,\n children: /* @__PURE__ */ jsx(ChevronUp, { className: \"size-4\" })\n }\n );\n}\nfunction SelectScrollDownButton({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n ScrollDownButton,\n {\n \"data-slot\": \"select-scroll-down-button\",\n className: cn(\"flex cursor-default items-center justify-center py-1\", className),\n ...props,\n children: /* @__PURE__ */ jsx(ChevronDown, { className: \"size-4\" })\n }\n );\n}\nexport {\n Anchor as A,\n Content as C,\n Root2$1 as R,\n Select as S,\n SelectTrigger as a,\n SelectValue as b,\n SelectContent as c,\n SelectGroup as d,\n SelectLabel as e,\n SelectItem as f,\n createCollection as g,\n createPopperScope as h,\n Arrow as i,\n Root as j,\n useSize as k,\n SelectScrollDownButton as l,\n SelectScrollUpButton as m,\n SelectSeparator as n,\n usePrevious as u\n};\n//# sourceMappingURL=select-BVS-SGsI.js.map\n","import { c as createLucideIcon } from \"./createLucideIcon-C5oU6LEj.js\";\nimport { jsx, jsxs, Fragment } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport { c as createContextScope, P as Primitive, a as Presence, b as composeEventHandlers, u as useCallbackRef, d as useLayoutEffect2 } from \"./textarea-_HQpXiCX.js\";\nimport { u as useComposedRefs } from \"./index-B4RTH1-D.js\";\nimport { u as useDirection, c as clamp } from \"./index-DBpvJQOe.js\";\nimport { c as cn } from \"./utils-H80jjgLf.js\";\nconst __iconNode = [\n [\"path\", { d: \"m21 21-4.34-4.34\", key: \"14j7rj\" }],\n [\"circle\", { cx: \"11\", cy: \"11\", r: \"8\", key: \"4ej97u\" }]\n];\nconst Search = createLucideIcon(\"search\", __iconNode);\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\nvar SCROLL_AREA_NAME = \"ScrollArea\";\nvar [createScrollAreaContext] = createContextScope(SCROLL_AREA_NAME);\nvar [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);\nvar ScrollArea$1 = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeScrollArea,\n type = \"hover\",\n dir,\n scrollHideDelay = 600,\n ...scrollAreaProps\n } = props;\n const [scrollArea, setScrollArea] = React.useState(null);\n const [viewport, setViewport] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const [scrollbarX, setScrollbarX] = React.useState(null);\n const [scrollbarY, setScrollbarY] = React.useState(null);\n const [cornerWidth, setCornerWidth] = React.useState(0);\n const [cornerHeight, setCornerHeight] = React.useState(0);\n const [scrollbarXEnabled, setScrollbarXEnabled] = React.useState(false);\n const [scrollbarYEnabled, setScrollbarYEnabled] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setScrollArea(node));\n const direction = useDirection(dir);\n return /* @__PURE__ */ jsx(\n ScrollAreaProvider,\n {\n scope: __scopeScrollArea,\n type,\n dir: direction,\n scrollHideDelay,\n scrollArea,\n viewport,\n onViewportChange: setViewport,\n content,\n onContentChange: setContent,\n scrollbarX,\n onScrollbarXChange: setScrollbarX,\n scrollbarXEnabled,\n onScrollbarXEnabledChange: setScrollbarXEnabled,\n scrollbarY,\n onScrollbarYChange: setScrollbarY,\n scrollbarYEnabled,\n onScrollbarYEnabledChange: setScrollbarYEnabled,\n onCornerWidthChange: setCornerWidth,\n onCornerHeightChange: setCornerHeight,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n ...scrollAreaProps,\n ref: composedRefs,\n style: {\n position: \"relative\",\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n [\"--radix-scroll-area-corner-width\"]: cornerWidth + \"px\",\n [\"--radix-scroll-area-corner-height\"]: cornerHeight + \"px\",\n ...props.style\n }\n }\n )\n }\n );\n }\n);\nScrollArea$1.displayName = SCROLL_AREA_NAME;\nvar VIEWPORT_NAME = \"ScrollAreaViewport\";\nvar ScrollAreaViewport = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, children, nonce, ...viewportProps } = props;\n const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-scroll-area-viewport\": \"\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */\n overflowX: context.scrollbarXEnabled ? \"scroll\" : \"hidden\",\n overflowY: context.scrollbarYEnabled ? \"scroll\" : \"hidden\",\n ...props.style\n },\n children: /* @__PURE__ */ jsx(\"div\", { ref: context.onContentChange, style: { minWidth: \"100%\", display: \"table\" }, children })\n }\n )\n ] });\n }\n);\nScrollAreaViewport.displayName = VIEWPORT_NAME;\nvar SCROLLBAR_NAME = \"ScrollAreaScrollbar\";\nvar ScrollAreaScrollbar = React.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;\n const isHorizontal = props.orientation === \"horizontal\";\n React.useEffect(() => {\n isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);\n return () => {\n isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);\n };\n }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);\n return context.type === \"hover\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarHover, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"scroll\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarScroll, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"auto\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarAuto, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"always\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarVisible, { ...scrollbarProps, ref: forwardedRef }) : null;\n }\n);\nScrollAreaScrollbar.displayName = SCROLLBAR_NAME;\nvar ScrollAreaScrollbarHover = React.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [visible, setVisible] = React.useState(false);\n React.useEffect(() => {\n const scrollArea = context.scrollArea;\n let hideTimer = 0;\n if (scrollArea) {\n const handlePointerEnter = () => {\n window.clearTimeout(hideTimer);\n setVisible(true);\n };\n const handlePointerLeave = () => {\n hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);\n };\n scrollArea.addEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.addEventListener(\"pointerleave\", handlePointerLeave);\n return () => {\n window.clearTimeout(hideTimer);\n scrollArea.removeEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.removeEventListener(\"pointerleave\", handlePointerLeave);\n };\n }\n }, [context.scrollArea, context.scrollHideDelay]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarAuto,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarScroll = React.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const isHorizontal = props.orientation === \"horizontal\";\n const debounceScrollEnd = useDebounceCallback(() => send(\"SCROLL_END\"), 100);\n const [state, send] = useStateMachine(\"hidden\", {\n hidden: {\n SCROLL: \"scrolling\"\n },\n scrolling: {\n SCROLL_END: \"idle\",\n POINTER_ENTER: \"interacting\"\n },\n interacting: {\n SCROLL: \"interacting\",\n POINTER_LEAVE: \"idle\"\n },\n idle: {\n HIDE: \"hidden\",\n SCROLL: \"scrolling\",\n POINTER_ENTER: \"interacting\"\n }\n });\n React.useEffect(() => {\n if (state === \"idle\") {\n const hideTimer = window.setTimeout(() => send(\"HIDE\"), context.scrollHideDelay);\n return () => window.clearTimeout(hideTimer);\n }\n }, [state, context.scrollHideDelay, send]);\n React.useEffect(() => {\n const viewport = context.viewport;\n const scrollDirection = isHorizontal ? \"scrollLeft\" : \"scrollTop\";\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection];\n const handleScroll = () => {\n const scrollPos = viewport[scrollDirection];\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;\n if (hasScrollInDirectionChanged) {\n send(\"SCROLL\");\n debounceScrollEnd();\n }\n prevScrollPos = scrollPos;\n };\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [context.viewport, isHorizontal, send, debounceScrollEnd]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || state !== \"hidden\", children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": state === \"hidden\" ? \"hidden\" : \"visible\",\n ...scrollbarProps,\n ref: forwardedRef,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, () => send(\"POINTER_ENTER\")),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => send(\"POINTER_LEAVE\"))\n }\n ) });\n});\nvar ScrollAreaScrollbarAuto = React.forwardRef((props, forwardedRef) => {\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { forceMount, ...scrollbarProps } = props;\n const [visible, setVisible] = React.useState(false);\n const isHorizontal = props.orientation === \"horizontal\";\n const handleResize = useDebounceCallback(() => {\n if (context.viewport) {\n const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;\n const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;\n setVisible(isHorizontal ? isOverflowX : isOverflowY);\n }\n }, 10);\n useResizeObserver(context.viewport, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarVisible = React.forwardRef((props, forwardedRef) => {\n const { orientation = \"vertical\", ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const thumbRef = React.useRef(null);\n const pointerOffsetRef = React.useRef(0);\n const [sizes, setSizes] = React.useState({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }\n });\n const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);\n const commonProps = {\n ...scrollbarProps,\n sizes,\n onSizesChange: setSizes,\n hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),\n onThumbChange: (thumb) => thumbRef.current = thumb,\n onThumbPointerUp: () => pointerOffsetRef.current = 0,\n onThumbPointerDown: (pointerPos) => pointerOffsetRef.current = pointerPos\n };\n function getScrollPosition(pointerPos, dir) {\n return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);\n }\n if (orientation === \"horizontal\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarX,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollLeft;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);\n thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollLeft = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) {\n context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);\n }\n }\n }\n );\n }\n if (orientation === \"vertical\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarY,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollTop;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes);\n thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollTop = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);\n }\n }\n );\n }\n return null;\n});\nvar ScrollAreaScrollbarX = React.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React.useState();\n const ref = React.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);\n React.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"horizontal\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n bottom: 0,\n left: context.dir === \"rtl\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n right: context.dir === \"ltr\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n [\"--radix-scroll-area-thumb-width\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.x),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.x),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollLeft + event.deltaX;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollWidth,\n viewport: context.viewport.offsetWidth,\n scrollbar: {\n size: ref.current.clientWidth,\n paddingStart: toInt(computedStyle.paddingLeft),\n paddingEnd: toInt(computedStyle.paddingRight)\n }\n });\n }\n }\n }\n );\n});\nvar ScrollAreaScrollbarY = React.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React.useState();\n const ref = React.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);\n React.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"vertical\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n top: 0,\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: \"var(--radix-scroll-area-corner-height)\",\n [\"--radix-scroll-area-thumb-height\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.y),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.y),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollTop + event.deltaY;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollHeight,\n viewport: context.viewport.offsetHeight,\n scrollbar: {\n size: ref.current.clientHeight,\n paddingStart: toInt(computedStyle.paddingTop),\n paddingEnd: toInt(computedStyle.paddingBottom)\n }\n });\n }\n }\n }\n );\n});\nvar [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);\nvar ScrollAreaScrollbarImpl = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeScrollArea,\n sizes,\n hasThumb,\n onThumbChange,\n onThumbPointerUp,\n onThumbPointerDown,\n onThumbPositionChange,\n onDragScroll,\n onWheelScroll,\n onResize,\n ...scrollbarProps\n } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);\n const [scrollbar, setScrollbar] = React.useState(null);\n const composeRefs = useComposedRefs(forwardedRef, (node) => setScrollbar(node));\n const rectRef = React.useRef(null);\n const prevWebkitUserSelectRef = React.useRef(\"\");\n const viewport = context.viewport;\n const maxScrollPos = sizes.content - sizes.viewport;\n const handleWheelScroll = useCallbackRef(onWheelScroll);\n const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);\n const handleResize = useDebounceCallback(onResize, 10);\n function handleDragScroll(event) {\n if (rectRef.current) {\n const x = event.clientX - rectRef.current.left;\n const y = event.clientY - rectRef.current.top;\n onDragScroll({ x, y });\n }\n }\n React.useEffect(() => {\n const handleWheel = (event) => {\n const element = event.target;\n const isScrollbarWheel = scrollbar?.contains(element);\n if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n };\n document.addEventListener(\"wheel\", handleWheel, { passive: false });\n return () => document.removeEventListener(\"wheel\", handleWheel, { passive: false });\n }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n React.useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n useResizeObserver(scrollbar, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(\n ScrollbarProvider,\n {\n scope: __scopeScrollArea,\n scrollbar,\n hasThumb,\n onThumbChange: useCallbackRef(onThumbChange),\n onThumbPointerUp: useCallbackRef(onThumbPointerUp),\n onThumbPositionChange: handleThumbPositionChange,\n onThumbPointerDown: useCallbackRef(onThumbPointerDown),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...scrollbarProps,\n ref: composeRefs,\n style: { position: \"absolute\", ...scrollbarProps.style },\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const mainPointer = 0;\n if (event.button === mainPointer) {\n const element = event.target;\n element.setPointerCapture(event.pointerId);\n rectRef.current = scrollbar.getBoundingClientRect();\n prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n document.body.style.webkitUserSelect = \"none\";\n if (context.viewport) context.viewport.style.scrollBehavior = \"auto\";\n handleDragScroll(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const element = event.target;\n if (element.hasPointerCapture(event.pointerId)) {\n element.releasePointerCapture(event.pointerId);\n }\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n if (context.viewport) context.viewport.style.scrollBehavior = \"\";\n rectRef.current = null;\n })\n }\n )\n }\n );\n});\nvar THUMB_NAME = \"ScrollAreaThumb\";\nvar ScrollAreaThumb = React.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...thumbProps } = props;\n const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || scrollbarContext.hasThumb, children: /* @__PURE__ */ jsx(ScrollAreaThumbImpl, { ref: forwardedRef, ...thumbProps }) });\n }\n);\nvar ScrollAreaThumbImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, style, ...thumbProps } = props;\n const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);\n const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);\n const { onThumbPositionChange } = scrollbarContext;\n const composedRef = useComposedRefs(\n forwardedRef,\n (node) => scrollbarContext.onThumbChange(node)\n );\n const removeUnlinkedScrollListenerRef = React.useRef(void 0);\n const debounceScrollEnd = useDebounceCallback(() => {\n if (removeUnlinkedScrollListenerRef.current) {\n removeUnlinkedScrollListenerRef.current();\n removeUnlinkedScrollListenerRef.current = void 0;\n }\n }, 100);\n React.useEffect(() => {\n const viewport = scrollAreaContext.viewport;\n if (viewport) {\n const handleScroll = () => {\n debounceScrollEnd();\n if (!removeUnlinkedScrollListenerRef.current) {\n const listener = addUnlinkedScrollListener(viewport, onThumbPositionChange);\n removeUnlinkedScrollListenerRef.current = listener;\n onThumbPositionChange();\n }\n };\n onThumbPositionChange();\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": scrollbarContext.hasThumb ? \"visible\" : \"hidden\",\n ...thumbProps,\n ref: composedRef,\n style: {\n width: \"var(--radix-scroll-area-thumb-width)\",\n height: \"var(--radix-scroll-area-thumb-height)\",\n ...style\n },\n onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, (event) => {\n const thumb = event.target;\n const thumbRect = thumb.getBoundingClientRect();\n const x = event.clientX - thumbRect.left;\n const y = event.clientY - thumbRect.top;\n scrollbarContext.onThumbPointerDown({ x, y });\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)\n }\n );\n }\n);\nScrollAreaThumb.displayName = THUMB_NAME;\nvar CORNER_NAME = \"ScrollAreaCorner\";\nvar ScrollAreaCorner = React.forwardRef(\n (props, forwardedRef) => {\n const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);\n const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);\n const hasCorner = context.type !== \"scroll\" && hasBothScrollbarsVisible;\n return hasCorner ? /* @__PURE__ */ jsx(ScrollAreaCornerImpl, { ...props, ref: forwardedRef }) : null;\n }\n);\nScrollAreaCorner.displayName = CORNER_NAME;\nvar ScrollAreaCornerImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeScrollArea, ...cornerProps } = props;\n const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);\n const [width, setWidth] = React.useState(0);\n const [height, setHeight] = React.useState(0);\n const hasSize = Boolean(width && height);\n useResizeObserver(context.scrollbarX, () => {\n const height2 = context.scrollbarX?.offsetHeight || 0;\n context.onCornerHeightChange(height2);\n setHeight(height2);\n });\n useResizeObserver(context.scrollbarY, () => {\n const width2 = context.scrollbarY?.offsetWidth || 0;\n context.onCornerWidthChange(width2);\n setWidth(width2);\n });\n return hasSize ? /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...cornerProps,\n ref: forwardedRef,\n style: {\n width,\n height,\n position: \"absolute\",\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: 0,\n ...props.style\n }\n }\n ) : null;\n});\nfunction toInt(value) {\n return value ? parseInt(value, 10) : 0;\n}\nfunction getThumbRatio(viewportSize, contentSize) {\n const ratio = viewportSize / contentSize;\n return isNaN(ratio) ? 0 : ratio;\n}\nfunction getThumbSize(sizes) {\n const ratio = getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n return Math.max(thumbSize, 18);\n}\nfunction getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const thumbCenter = thumbSizePx / 2;\n const offset = pointerOffset || thumbCenter;\n const thumbOffsetFromEnd = thumbSizePx - offset;\n const minPointerPos = sizes.scrollbar.paddingStart + offset;\n const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n const maxScrollPos = sizes.content - sizes.viewport;\n const scrollRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);\n return interpolate(pointerPos);\n}\nfunction getThumbOffsetFromScroll(scrollPos, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n const maxScrollPos = sizes.content - sizes.viewport;\n const maxThumbPos = scrollbar - thumbSizePx;\n const scrollClampRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange);\n const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n return interpolate(scrollWithoutMomentum);\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n}\nvar addUnlinkedScrollListener = (node, handler = () => {\n}) => {\n let prevPosition = { left: node.scrollLeft, top: node.scrollTop };\n let rAF = 0;\n (function loop() {\n const position = { left: node.scrollLeft, top: node.scrollTop };\n const isHorizontalScroll = prevPosition.left !== position.left;\n const isVerticalScroll = prevPosition.top !== position.top;\n if (isHorizontalScroll || isVerticalScroll) handler();\n prevPosition = position;\n rAF = window.requestAnimationFrame(loop);\n })();\n return () => window.cancelAnimationFrame(rAF);\n};\nfunction useDebounceCallback(callback, delay) {\n const handleCallback = useCallbackRef(callback);\n const debounceTimerRef = React.useRef(0);\n React.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);\n return React.useCallback(() => {\n window.clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = window.setTimeout(handleCallback, delay);\n }, [handleCallback, delay]);\n}\nfunction useResizeObserver(element, onResize) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect2(() => {\n let rAF = 0;\n if (element) {\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n}\nvar Root = ScrollArea$1;\nvar Viewport = ScrollAreaViewport;\nvar Corner = ScrollAreaCorner;\nfunction ScrollArea({ className, children, ...props }) {\n return /* @__PURE__ */ jsxs(Root, { \"data-slot\": \"scroll-area\", className: cn(\"relative\", className), ...props, children: [\n /* @__PURE__ */ jsx(\n Viewport,\n {\n \"data-slot\": \"scroll-area-viewport\",\n className: \"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1\",\n children\n }\n ),\n /* @__PURE__ */ jsx(ScrollBar, {}),\n /* @__PURE__ */ jsx(Corner, {})\n ] });\n}\nfunction ScrollBar({ className, orientation = \"vertical\", ...props }) {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbar,\n {\n \"data-slot\": \"scroll-area-scrollbar\",\n orientation,\n className: cn(\n \"flex touch-none p-px transition-colors select-none\",\n orientation === \"vertical\" && \"h-full w-2.5 border-l border-l-transparent\",\n orientation === \"horizontal\" && \"h-2.5 flex-col border-t border-t-transparent\",\n className\n ),\n ...props,\n children: /* @__PURE__ */ jsx(ScrollAreaThumb, { \"data-slot\": \"scroll-area-thumb\", className: \"bg-border relative flex-1 rounded-full\" })\n }\n );\n}\nexport {\n Search as S,\n ScrollArea as a,\n ScrollBar as b\n};\n//# sourceMappingURL=scroll-area-DAQUXpBS.js.map\n","import { P as Primitive, c as createContextScope, f as useId, b as composeEventHandlers, e as useControllableState, u as useCallbackRef, a as Presence, g as Portal$3, h as hideOthers, j as dispatchDiscreteCustomEvent, i as useFocusGuards, R as ReactRemoveScroll, F as FocusScope, D as DismissableLayer, k as PanelGroup, l as Panel, m as PanelResizeHandle, d as useLayoutEffect2, n as Root$5, o as Portal$4, O as Overlay, C as Content$4, p as Dialog, q as DialogHeader, r as DialogTitle, s as DialogDescription, t as DialogContent, L as Lt, v as jt, T as Trigger$7, w as Close, x as Title, y as Description, z as createDialogScope, W as WarningProvider } from \"../chunks/textarea-_HQpXiCX.js\";\nimport { B, A, E, G, H, J, I, S, K } from \"../chunks/textarea-_HQpXiCX.js\";\nimport { jsx, jsxs, Fragment } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport React__default from \"react\";\nimport { c as cn } from \"../chunks/utils-H80jjgLf.js\";\nimport { L } from \"../chunks/label-error-BTCuInp7.js\";\nimport { u as useComposedRefs, a as composeRefs, c as createSlot, b as createSlottable } from \"../chunks/index-B4RTH1-D.js\";\nimport { g as createCollection, h as createPopperScope, R as Root2$8, A as Anchor, C as Content$3, i as Arrow, j as Root$6, u as usePrevious, k as useSize } from \"../chunks/select-BVS-SGsI.js\";\nimport { S as S2, c, d, f, e, l, m, n, a, b } from \"../chunks/select-BVS-SGsI.js\";\nimport { u as useDirection, a as Check, C as ChevronDown } from \"../chunks/index-DBpvJQOe.js\";\nimport { c as createLucideIcon } from \"../chunks/createLucideIcon-C5oU6LEj.js\";\nimport { c as cva } from \"../chunks/index-CEKmKomA.js\";\nimport { S as Search } from \"../chunks/scroll-area-DAQUXpBS.js\";\nimport { a as a2, b as b2 } from \"../chunks/scroll-area-DAQUXpBS.js\";\nimport ReactDOM__default from \"react-dom\";\nimport { B as Button, b as button } from \"../chunks/button-B0fpJrMg.js\";\nconst __iconNode$3 = [[\"path\", { d: \"m9 18 6-6-6-6\", key: \"mthhwq\" }]];\nconst ChevronRight = createLucideIcon(\"chevron-right\", __iconNode$3);\nconst __iconNode$2 = [[\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }]];\nconst Circle = createLucideIcon(\"circle\", __iconNode$2);\nconst __iconNode$1 = [\n [\"circle\", { cx: \"9\", cy: \"12\", r: \"1\", key: \"1vctgf\" }],\n [\"circle\", { cx: \"9\", cy: \"5\", r: \"1\", key: \"hp0tcf\" }],\n [\"circle\", { cx: \"9\", cy: \"19\", r: \"1\", key: \"fkjjf6\" }],\n [\"circle\", { cx: \"15\", cy: \"12\", r: \"1\", key: \"1tmaij\" }],\n [\"circle\", { cx: \"15\", cy: \"5\", r: \"1\", key: \"19l28e\" }],\n [\"circle\", { cx: \"15\", cy: \"19\", r: \"1\", key: \"f4zoj3\" }]\n];\nconst GripVertical = createLucideIcon(\"grip-vertical\", __iconNode$1);\nconst __iconNode = [[\"path\", { d: \"M5 12h14\", key: \"1ays0h\" }]];\nconst Minus = createLucideIcon(\"minus\", __iconNode);\nvar NAME$1 = \"Label\";\nvar Label$2 = React.forwardRef((props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.label,\n {\n ...props,\n ref: forwardedRef,\n onMouseDown: (event) => {\n const target = event.target;\n if (target.closest(\"button, input, select, textarea\")) return;\n props.onMouseDown?.(event);\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }\n }\n );\n});\nLabel$2.displayName = NAME$1;\nvar Root$4 = Label$2;\nfunction Label$1({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n Root$4,\n {\n \"data-slot\": \"label\",\n className: cn(\n \"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n className\n ),\n ...props\n }\n );\n}\nvar ENTRY_FOCUS = \"rovingFocusGroup.onEntryFocus\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar GROUP_NAME$3 = \"RovingFocusGroup\";\nvar [Collection$4, useCollection$4, createCollectionScope$4] = createCollection(GROUP_NAME$3);\nvar [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME$3,\n [createCollectionScope$4]\n);\nvar [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME$3);\nvar RovingFocusGroup = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(Collection$4.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(Collection$4.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });\n }\n);\nRovingFocusGroup.displayName = GROUP_NAME$3;\nvar RovingFocusGroupImpl = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n preventScrollOnEntryFocus = false,\n ...groupProps\n } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId ?? null,\n onChange: onCurrentTabStopIdChange,\n caller: GROUP_NAME$3\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection$4(__scopeRovingFocusGroup);\n const isClickFocusRef = React.useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n return /* @__PURE__ */ jsx(\n RovingFocusProvider,\n {\n scope: __scopeRovingFocusGroup,\n orientation,\n dir: direction,\n loop,\n currentTabStopId,\n onItemFocus: React.useCallback(\n (tabStopId) => setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId]\n ),\n onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(true), []),\n onFocusableItemAdd: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount + 1),\n []\n ),\n onFocusableItemRemove: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount - 1),\n []\n ),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n \"data-orientation\": orientation,\n ...groupProps,\n ref: composedRefs,\n style: { outline: \"none\", ...props.style },\n onMouseDown: composeEventHandlers(props.onMouseDown, () => {\n isClickFocusRef.current = true;\n }),\n onFocus: composeEventHandlers(props.onFocus, (event) => {\n const isKeyboardFocus = !isClickFocusRef.current;\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean\n );\n const candidateNodes = candidateItems.map((item) => item.ref.current);\n focusFirst$2(candidateNodes, preventScrollOnEntryFocus);\n }\n }\n isClickFocusRef.current = false;\n }),\n onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))\n }\n )\n }\n );\n});\nvar ITEM_NAME$6 = \"RovingFocusGroupItem\";\nvar RovingFocusGroupItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n focusable = true,\n active = false,\n tabStopId,\n children,\n ...itemProps\n } = props;\n const autoId = useId();\n const id = tabStopId || autoId;\n const context = useRovingFocusContext(ITEM_NAME$6, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection$4(__scopeRovingFocusGroup);\n const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;\n React.useEffect(() => {\n if (focusable) {\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }\n }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n return /* @__PURE__ */ jsx(\n Collection$4.ItemSlot,\n {\n scope: __scopeRovingFocusGroup,\n id,\n focusable,\n active,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n tabIndex: isCurrentTabStop ? 0 : -1,\n \"data-orientation\": context.orientation,\n ...itemProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!focusable) event.preventDefault();\n else context.onItemFocus(id);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Tab\" && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n if (event.target !== event.currentTarget) return;\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n if (focusIntent !== void 0) {\n if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current);\n if (focusIntent === \"last\") candidateNodes.reverse();\n else if (focusIntent === \"prev\" || focusIntent === \"next\") {\n if (focusIntent === \"prev\") candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop ? wrapArray$2(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst$2(candidateNodes));\n }\n }),\n children: typeof children === \"function\" ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null }) : children\n }\n )\n }\n );\n }\n);\nRovingFocusGroupItem.displayName = ITEM_NAME$6;\nvar MAP_KEY_TO_FOCUS_INTENT = {\n ArrowLeft: \"prev\",\n ArrowUp: \"prev\",\n ArrowRight: \"next\",\n ArrowDown: \"next\",\n PageUp: \"first\",\n Home: \"first\",\n PageDown: \"last\",\n End: \"last\"\n};\nfunction getDirectionAwareKey(key, dir) {\n if (dir !== \"rtl\") return key;\n return key === \"ArrowLeft\" ? \"ArrowRight\" : key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n}\nfunction getFocusIntent(event, orientation, dir) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === \"vertical\" && [\"ArrowLeft\", \"ArrowRight\"].includes(key)) return void 0;\n if (orientation === \"horizontal\" && [\"ArrowUp\", \"ArrowDown\"].includes(key)) return void 0;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n}\nfunction focusFirst$2(candidates, preventScroll = false) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray$2(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root$3 = RovingFocusGroup;\nvar Item$2 = RovingFocusGroupItem;\nvar SELECTION_KEYS = [\"Enter\", \" \"];\nvar FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nvar LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nvar FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\nvar SUB_OPEN_KEYS = {\n ltr: [...SELECTION_KEYS, \"ArrowRight\"],\n rtl: [...SELECTION_KEYS, \"ArrowLeft\"]\n};\nvar SUB_CLOSE_KEYS = {\n ltr: [\"ArrowLeft\"],\n rtl: [\"ArrowRight\"]\n};\nvar MENU_NAME$1 = \"Menu\";\nvar [Collection$3, useCollection$3, createCollectionScope$3] = createCollection(MENU_NAME$1);\nvar [createMenuContext, createMenuScope] = createContextScope(MENU_NAME$1, [\n createCollectionScope$3,\n createPopperScope,\n createRovingFocusGroupScope\n]);\nvar usePopperScope$2 = createPopperScope();\nvar useRovingFocusGroupScope$3 = createRovingFocusGroupScope();\nvar [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME$1);\nvar [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME$1);\nvar Menu$1 = (props) => {\n const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n const popperScope = usePopperScope$2(__scopeMenu);\n const [content, setContent] = React.useState(null);\n const isUsingKeyboardRef = React.useRef(false);\n const handleOpenChange = useCallbackRef(onOpenChange);\n const direction = useDirection(dir);\n React.useEffect(() => {\n const handleKeyDown = () => {\n isUsingKeyboardRef.current = true;\n document.addEventListener(\"pointerdown\", handlePointer, { capture: true, once: true });\n document.addEventListener(\"pointermove\", handlePointer, { capture: true, once: true });\n };\n const handlePointer = () => isUsingKeyboardRef.current = false;\n document.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n document.removeEventListener(\"pointerdown\", handlePointer, { capture: true });\n document.removeEventListener(\"pointermove\", handlePointer, { capture: true });\n };\n }, []);\n return /* @__PURE__ */ jsx(Root2$8, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuRootProvider,\n {\n scope: __scopeMenu,\n onClose: React.useCallback(() => handleOpenChange(false), [handleOpenChange]),\n isUsingKeyboardRef,\n dir: direction,\n modal,\n children\n }\n )\n }\n ) });\n};\nMenu$1.displayName = MENU_NAME$1;\nvar ANCHOR_NAME$1 = \"MenuAnchor\";\nvar MenuAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...anchorProps } = props;\n const popperScope = usePopperScope$2(__scopeMenu);\n return /* @__PURE__ */ jsx(Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nMenuAnchor.displayName = ANCHOR_NAME$1;\nvar PORTAL_NAME$5 = \"MenuPortal\";\nvar [PortalProvider$2, usePortalContext$2] = createMenuContext(PORTAL_NAME$5, {\n forceMount: void 0\n});\nvar MenuPortal = (props) => {\n const { __scopeMenu, forceMount, children, container } = props;\n const context = useMenuContext(PORTAL_NAME$5, __scopeMenu);\n return /* @__PURE__ */ jsx(PortalProvider$2, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Portal$3, { asChild: true, container, children }) }) });\n};\nMenuPortal.displayName = PORTAL_NAME$5;\nvar CONTENT_NAME$9 = \"MenuContent\";\nvar [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME$9);\nvar MenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext$2(CONTENT_NAME$9, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useMenuContext(CONTENT_NAME$9, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME$9, props.__scopeMenu);\n return /* @__PURE__ */ jsx(Collection$3.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection$3.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });\n }\n);\nvar MenuRootContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME$9, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const content = ref.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: context.open,\n disableOutsideScroll: true,\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n ),\n onDismiss: () => context.onOpenChange(false)\n }\n );\n }\n);\nvar MenuRootContentNonModal = React.forwardRef((props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME$9, props.__scopeMenu);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n onDismiss: () => context.onOpenChange(false)\n }\n );\n});\nvar Slot$1 = createSlot(\"MenuContent.ScrollLock\");\nvar MenuContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeMenu,\n loop = false,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEntryFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n disableOutsideScroll,\n ...contentProps\n } = props;\n const context = useMenuContext(CONTENT_NAME$9, __scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME$9, __scopeMenu);\n const popperScope = usePopperScope$2(__scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope$3(__scopeMenu);\n const getItems = useCollection$3(__scopeMenu);\n const [currentItemId, setCurrentItemId] = React.useState(null);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n const timerRef = React.useRef(0);\n const searchRef = React.useRef(\"\");\n const pointerGraceTimerRef = React.useRef(0);\n const pointerGraceIntentRef = React.useRef(null);\n const pointerDirRef = React.useRef(\"right\");\n const lastPointerXRef = React.useRef(0);\n const ScrollLockWrapper = disableOutsideScroll ? ReactRemoveScroll : React.Fragment;\n const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot$1, allowPinchZoom: true } : void 0;\n const handleTypeaheadSearch = (key) => {\n const search = searchRef.current + key;\n const items = getItems().filter((item) => !item.disabled);\n const currentItem = document.activeElement;\n const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n const values = items.map((item) => item.textValue);\n const nextMatch = getNextMatch(values, search, currentMatch);\n const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n if (newItem) {\n setTimeout(() => newItem.focus());\n }\n };\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n useFocusGuards();\n const isPointerMovingToSubmenu = React.useCallback((event) => {\n const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentProvider,\n {\n scope: __scopeMenu,\n searchRef,\n onItemEnter: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n onItemLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) return;\n contentRef.current?.focus();\n setCurrentItemId(null);\n },\n [isPointerMovingToSubmenu]\n ),\n onTriggerLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n pointerGraceTimerRef,\n onPointerGraceIntentChange: React.useCallback((intent) => {\n pointerGraceIntentRef.current = intent;\n }, []),\n children: /* @__PURE__ */ jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: trapFocus,\n onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {\n event.preventDefault();\n contentRef.current?.focus({ preventScroll: true });\n }),\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n children: /* @__PURE__ */ jsx(\n Root$3,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n dir: rootContext.dir,\n orientation: \"vertical\",\n loop,\n currentTabStopId: currentItemId,\n onCurrentTabStopIdChange: setCurrentItemId,\n onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {\n if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n }),\n preventScrollOnEntryFocus: true,\n children: /* @__PURE__ */ jsx(\n Content$3,\n {\n role: \"menu\",\n \"aria-orientation\": \"vertical\",\n \"data-state\": getOpenState$1(context.open),\n \"data-radix-menu-content\": \"\",\n dir: rootContext.dir,\n ...popperScope,\n ...contentProps,\n ref: composedRefs,\n style: { outline: \"none\", ...contentProps.style },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const target = event.target;\n const isKeyDownInside = target.closest(\"[data-radix-menu-content]\") === event.currentTarget;\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n const isCharacterKey = event.key.length === 1;\n if (isKeyDownInside) {\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n }\n const content = contentRef.current;\n if (event.target !== content) return;\n if (!FIRST_LAST_KEYS.includes(event.key)) return;\n event.preventDefault();\n const items = getItems().filter((item) => !item.disabled);\n const candidateNodes = items.map((item) => item.ref.current);\n if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n focusFirst$1(candidateNodes);\n }),\n onBlur: composeEventHandlers(props.onBlur, (event) => {\n if (!event.currentTarget.contains(event.target)) {\n window.clearTimeout(timerRef.current);\n searchRef.current = \"\";\n }\n }),\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse$1((event) => {\n const target = event.target;\n const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n if (event.currentTarget.contains(target) && pointerXHasChanged) {\n const newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n pointerDirRef.current = newDir;\n lastPointerXRef.current = event.clientX;\n }\n })\n )\n }\n )\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nMenuContent.displayName = CONTENT_NAME$9;\nvar GROUP_NAME$2 = \"MenuGroup\";\nvar MenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...groupProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", ...groupProps, ref: forwardedRef });\n }\n);\nMenuGroup.displayName = GROUP_NAME$2;\nvar LABEL_NAME$2 = \"MenuLabel\";\nvar MenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...labelProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { ...labelProps, ref: forwardedRef });\n }\n);\nMenuLabel.displayName = LABEL_NAME$2;\nvar ITEM_NAME$5 = \"MenuItem\";\nvar ITEM_SELECT = \"menu.itemSelect\";\nvar MenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { disabled = false, onSelect, ...itemProps } = props;\n const ref = React.useRef(null);\n const rootContext = useMenuRootContext(ITEM_NAME$5, props.__scopeMenu);\n const contentContext = useMenuContentContext(ITEM_NAME$5, props.__scopeMenu);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const isPointerDownRef = React.useRef(false);\n const handleSelect = () => {\n const menuItem = ref.current;\n if (!disabled && menuItem) {\n const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n if (itemSelectEvent.defaultPrevented) {\n isPointerDownRef.current = false;\n } else {\n rootContext.onClose();\n }\n }\n };\n return /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n ...itemProps,\n ref: composedRefs,\n disabled,\n onClick: composeEventHandlers(props.onClick, handleSelect),\n onPointerDown: (event) => {\n props.onPointerDown?.(event);\n isPointerDownRef.current = true;\n },\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n if (!isPointerDownRef.current) event.currentTarget?.click();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (disabled || isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) {\n event.currentTarget.click();\n event.preventDefault();\n }\n })\n }\n );\n }\n);\nMenuItem.displayName = ITEM_NAME$5;\nvar MenuItemImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n const contentContext = useMenuContentContext(ITEM_NAME$5, __scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope$3(__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [isFocused, setIsFocused] = React.useState(false);\n const [textContent, setTextContent] = React.useState(\"\");\n React.useEffect(() => {\n const menuItem = ref.current;\n if (menuItem) {\n setTextContent((menuItem.textContent ?? \"\").trim());\n }\n }, [itemProps.children]);\n return /* @__PURE__ */ jsx(\n Collection$3.ItemSlot,\n {\n scope: __scopeMenu,\n disabled,\n textValue: textValue ?? textContent,\n children: /* @__PURE__ */ jsx(Item$2, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"menuitem\",\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...itemProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse$1((event) => {\n if (disabled) {\n contentContext.onItemLeave(event);\n } else {\n contentContext.onItemEnter(event);\n if (!event.defaultPrevented) {\n const item = event.currentTarget;\n item.focus({ preventScroll: true });\n }\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse$1((event) => contentContext.onItemLeave(event))\n ),\n onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))\n }\n ) })\n }\n );\n }\n);\nvar CHECKBOX_ITEM_NAME$2 = \"MenuCheckboxItem\";\nvar MenuCheckboxItem = React.forwardRef(\n (props, forwardedRef) => {\n const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemcheckbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n ...checkboxItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n checkboxItemProps.onSelect,\n () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME$2;\nvar RADIO_GROUP_NAME$3 = \"MenuRadioGroup\";\nvar [RadioGroupProvider$1, useRadioGroupContext$1] = createMenuContext(\n RADIO_GROUP_NAME$3,\n { value: void 0, onValueChange: () => {\n } }\n);\nvar MenuRadioGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { value, onValueChange, ...groupProps } = props;\n const handleValueChange = useCallbackRef(onValueChange);\n return /* @__PURE__ */ jsx(RadioGroupProvider$1, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });\n }\n);\nMenuRadioGroup.displayName = RADIO_GROUP_NAME$3;\nvar RADIO_ITEM_NAME$2 = \"MenuRadioItem\";\nvar MenuRadioItem = React.forwardRef(\n (props, forwardedRef) => {\n const { value, ...radioItemProps } = props;\n const context = useRadioGroupContext$1(RADIO_ITEM_NAME$2, props.__scopeMenu);\n const checked = value === context.value;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemradio\",\n \"aria-checked\": checked,\n ...radioItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n radioItemProps.onSelect,\n () => context.onValueChange?.(value),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuRadioItem.displayName = RADIO_ITEM_NAME$2;\nvar ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\nvar [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n ITEM_INDICATOR_NAME,\n { checked: false }\n);\nvar MenuItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(\n Presence,\n {\n present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...itemIndicatorProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(indicatorContext.checked)\n }\n )\n }\n );\n }\n);\nMenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SEPARATOR_NAME$2 = \"MenuSeparator\";\nvar MenuSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"separator\",\n \"aria-orientation\": \"horizontal\",\n ...separatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nMenuSeparator.displayName = SEPARATOR_NAME$2;\nvar ARROW_NAME$4 = \"MenuArrow\";\nvar MenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...arrowProps } = props;\n const popperScope = usePopperScope$2(__scopeMenu);\n return /* @__PURE__ */ jsx(Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nMenuArrow.displayName = ARROW_NAME$4;\nvar SUB_NAME$2 = \"MenuSub\";\nvar [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME$2);\nvar MenuSub = (props) => {\n const { __scopeMenu, children, open = false, onOpenChange } = props;\n const parentMenuContext = useMenuContext(SUB_NAME$2, __scopeMenu);\n const popperScope = usePopperScope$2(__scopeMenu);\n const [trigger, setTrigger] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const handleOpenChange = useCallbackRef(onOpenChange);\n React.useEffect(() => {\n if (parentMenuContext.open === false) handleOpenChange(false);\n return () => handleOpenChange(false);\n }, [parentMenuContext.open, handleOpenChange]);\n return /* @__PURE__ */ jsx(Root2$8, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuSubProvider,\n {\n scope: __scopeMenu,\n contentId: useId(),\n triggerId: useId(),\n trigger,\n onTriggerChange: setTrigger,\n children\n }\n )\n }\n ) });\n};\nMenuSub.displayName = SUB_NAME$2;\nvar SUB_TRIGGER_NAME$2 = \"MenuSubTrigger\";\nvar MenuSubTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(SUB_TRIGGER_NAME$2, props.__scopeMenu);\n const rootContext = useMenuRootContext(SUB_TRIGGER_NAME$2, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_TRIGGER_NAME$2, props.__scopeMenu);\n const contentContext = useMenuContentContext(SUB_TRIGGER_NAME$2, props.__scopeMenu);\n const openTimerRef = React.useRef(null);\n const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n const scope = { __scopeMenu: props.__scopeMenu };\n const clearOpenTimer = React.useCallback(() => {\n if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }, []);\n React.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n React.useEffect(() => {\n const pointerGraceTimer = pointerGraceTimerRef.current;\n return () => {\n window.clearTimeout(pointerGraceTimer);\n onPointerGraceIntentChange(null);\n };\n }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n return /* @__PURE__ */ jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n id: subContext.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": subContext.contentId,\n \"data-state\": getOpenState$1(context.open),\n ...props,\n ref: composeRefs(forwardedRef, subContext.onTriggerChange),\n onClick: (event) => {\n props.onClick?.(event);\n if (props.disabled || event.defaultPrevented) return;\n event.currentTarget.focus();\n if (!context.open) context.onOpenChange(true);\n },\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse$1((event) => {\n contentContext.onItemEnter(event);\n if (event.defaultPrevented) return;\n if (!props.disabled && !context.open && !openTimerRef.current) {\n contentContext.onPointerGraceIntentChange(null);\n openTimerRef.current = window.setTimeout(() => {\n context.onOpenChange(true);\n clearOpenTimer();\n }, 100);\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse$1((event) => {\n clearOpenTimer();\n const contentRect = context.content?.getBoundingClientRect();\n if (contentRect) {\n const side = context.content?.dataset.side;\n const rightSide = side === \"right\";\n const bleed = rightSide ? -5 : 5;\n const contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n const contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n contentContext.onPointerGraceIntentChange({\n area: [\n // Apply a bleed on clientX to ensure that our exit point is\n // consistently within polygon bounds\n { x: event.clientX + bleed, y: event.clientY },\n { x: contentNearEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.bottom },\n { x: contentNearEdge, y: contentRect.bottom }\n ],\n side\n });\n window.clearTimeout(pointerGraceTimerRef.current);\n pointerGraceTimerRef.current = window.setTimeout(\n () => contentContext.onPointerGraceIntentChange(null),\n 300\n );\n } else {\n contentContext.onTriggerLeave(event);\n if (event.defaultPrevented) return;\n contentContext.onPointerGraceIntentChange(null);\n }\n })\n ),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (props.disabled || isTypingAhead && event.key === \" \") return;\n if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n context.onOpenChange(true);\n context.content?.focus();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nMenuSubTrigger.displayName = SUB_TRIGGER_NAME$2;\nvar SUB_CONTENT_NAME$2 = \"MenuSubContent\";\nvar MenuSubContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext$2(CONTENT_NAME$9, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...subContentProps } = props;\n const context = useMenuContext(CONTENT_NAME$9, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME$9, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_CONTENT_NAME$2, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n return /* @__PURE__ */ jsx(Collection$3.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection$3.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n id: subContext.contentId,\n \"aria-labelledby\": subContext.triggerId,\n ...subContentProps,\n ref: composedRefs,\n align: \"start\",\n side: rootContext.dir === \"rtl\" ? \"left\" : \"right\",\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n trapFocus: false,\n onOpenAutoFocus: (event) => {\n if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n event.preventDefault();\n },\n onCloseAutoFocus: (event) => event.preventDefault(),\n onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n if (event.target !== subContext.trigger) context.onOpenChange(false);\n }),\n onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {\n rootContext.onClose();\n event.preventDefault();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isKeyDownInside = event.currentTarget.contains(event.target);\n const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n if (isKeyDownInside && isCloseKey) {\n context.onOpenChange(false);\n subContext.trigger?.focus();\n event.preventDefault();\n }\n })\n }\n ) }) }) });\n }\n);\nMenuSubContent.displayName = SUB_CONTENT_NAME$2;\nfunction getOpenState$1(open) {\n return open ? \"open\" : \"closed\";\n}\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getCheckedState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nfunction focusFirst$1(candidates) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray$1(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nfunction getNextMatch(values, search, currentMatch) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n let wrappedValues = wrapArray$1(values, Math.max(currentMatchIndex, 0));\n const excludeCurrentMatch = normalizedSearch.length === 1;\n if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n const nextMatch = wrappedValues.find(\n (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextMatch !== currentMatch ? nextMatch : void 0;\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction isPointerInGraceArea(event, area) {\n if (!area) return false;\n const cursorPos = { x: event.clientX, y: event.clientY };\n return isPointInPolygon(cursorPos, area);\n}\nfunction whenMouse$1(handler) {\n return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root3$1 = Menu$1;\nvar Anchor2$1 = MenuAnchor;\nvar Portal$2 = MenuPortal;\nvar Content2$6 = MenuContent;\nvar Group = MenuGroup;\nvar Label = MenuLabel;\nvar Item2$2 = MenuItem;\nvar CheckboxItem = MenuCheckboxItem;\nvar RadioGroup$2 = MenuRadioGroup;\nvar RadioItem = MenuRadioItem;\nvar ItemIndicator = MenuItemIndicator;\nvar Separator = MenuSeparator;\nvar Arrow2 = MenuArrow;\nvar Sub = MenuSub;\nvar SubTrigger = MenuSubTrigger;\nvar SubContent = MenuSubContent;\nvar DROPDOWN_MENU_NAME = \"DropdownMenu\";\nvar [createDropdownMenuContext] = createContextScope(\n DROPDOWN_MENU_NAME,\n [createMenuScope]\n);\nvar useMenuScope$1 = createMenuScope();\nvar [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);\nvar DropdownMenu$1 = (props) => {\n const {\n __scopeDropdownMenu,\n children,\n dir,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const menuScope = useMenuScope$1(__scopeDropdownMenu);\n const triggerRef = React.useRef(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DROPDOWN_MENU_NAME\n });\n return /* @__PURE__ */ jsx(\n DropdownMenuProvider,\n {\n scope: __scopeDropdownMenu,\n triggerId: useId(),\n triggerRef,\n contentId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children: /* @__PURE__ */ jsx(Root3$1, { ...menuScope, open, onOpenChange: setOpen, dir, modal, children })\n }\n );\n};\nDropdownMenu$1.displayName = DROPDOWN_MENU_NAME;\nvar TRIGGER_NAME$8 = \"DropdownMenuTrigger\";\nvar DropdownMenuTrigger$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;\n const context = useDropdownMenuContext(TRIGGER_NAME$8, __scopeDropdownMenu);\n const menuScope = useMenuScope$1(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(Anchor2$1, { asChild: true, ...menuScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n id: context.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.open ? context.contentId : void 0,\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n ...triggerProps,\n ref: composeRefs(forwardedRef, context.triggerRef),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onOpenToggle();\n if (!context.open) event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (disabled) return;\n if ([\"Enter\", \" \"].includes(event.key)) context.onOpenToggle();\n if (event.key === \"ArrowDown\") context.onOpenChange(true);\n if ([\"Enter\", \" \", \"ArrowDown\"].includes(event.key)) event.preventDefault();\n })\n }\n ) });\n }\n);\nDropdownMenuTrigger$1.displayName = TRIGGER_NAME$8;\nvar PORTAL_NAME$4 = \"DropdownMenuPortal\";\nvar DropdownMenuPortal$1 = (props) => {\n const { __scopeDropdownMenu, ...portalProps } = props;\n const menuScope = useMenuScope$1(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(Portal$2, { ...menuScope, ...portalProps });\n};\nDropdownMenuPortal$1.displayName = PORTAL_NAME$4;\nvar CONTENT_NAME$8 = \"DropdownMenuContent\";\nvar DropdownMenuContent$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...contentProps } = props;\n const context = useDropdownMenuContext(CONTENT_NAME$8, __scopeDropdownMenu);\n const menuScope = useMenuScope$1(__scopeDropdownMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n Content2$6,\n {\n id: context.contentId,\n \"aria-labelledby\": context.triggerId,\n ...menuScope,\n ...contentProps,\n ref: forwardedRef,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n hasInteractedOutsideRef.current = false;\n event.preventDefault();\n }),\n onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n }),\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n }\n);\nDropdownMenuContent$1.displayName = CONTENT_NAME$8;\nvar GROUP_NAME$1 = \"DropdownMenuGroup\";\nvar DropdownMenuGroup$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...groupProps } = props;\n const menuScope = useMenuScope$1(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n }\n);\nDropdownMenuGroup$1.displayName = GROUP_NAME$1;\nvar LABEL_NAME$1 = \"DropdownMenuLabel\";\nvar DropdownMenuLabel$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...labelProps } = props;\n const menuScope = useMenuScope$1(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n }\n);\nDropdownMenuLabel$1.displayName = LABEL_NAME$1;\nvar ITEM_NAME$4 = \"DropdownMenuItem\";\nvar DropdownMenuItem$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemProps } = props;\n const menuScope = useMenuScope$1(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(Item2$2, { ...menuScope, ...itemProps, ref: forwardedRef });\n }\n);\nDropdownMenuItem$1.displayName = ITEM_NAME$4;\nvar CHECKBOX_ITEM_NAME$1 = \"DropdownMenuCheckboxItem\";\nvar DropdownMenuCheckboxItem$1 = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope$1(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n});\nDropdownMenuCheckboxItem$1.displayName = CHECKBOX_ITEM_NAME$1;\nvar RADIO_GROUP_NAME$2 = \"DropdownMenuRadioGroup\";\nvar DropdownMenuRadioGroup$1 = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope$1(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(RadioGroup$2, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n});\nDropdownMenuRadioGroup$1.displayName = RADIO_GROUP_NAME$2;\nvar RADIO_ITEM_NAME$1 = \"DropdownMenuRadioItem\";\nvar DropdownMenuRadioItem$1 = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope$1(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n});\nDropdownMenuRadioItem$1.displayName = RADIO_ITEM_NAME$1;\nvar INDICATOR_NAME$3 = \"DropdownMenuItemIndicator\";\nvar DropdownMenuItemIndicator = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope$1(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n});\nDropdownMenuItemIndicator.displayName = INDICATOR_NAME$3;\nvar SEPARATOR_NAME$1 = \"DropdownMenuSeparator\";\nvar DropdownMenuSeparator$1 = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...separatorProps } = props;\n const menuScope = useMenuScope$1(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n});\nDropdownMenuSeparator$1.displayName = SEPARATOR_NAME$1;\nvar ARROW_NAME$3 = \"DropdownMenuArrow\";\nvar DropdownMenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...arrowProps } = props;\n const menuScope = useMenuScope$1(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(Arrow2, { ...menuScope, ...arrowProps, ref: forwardedRef });\n }\n);\nDropdownMenuArrow.displayName = ARROW_NAME$3;\nvar DropdownMenuSub$1 = (props) => {\n const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;\n const menuScope = useMenuScope$1(__scopeDropdownMenu);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: \"DropdownMenuSub\"\n });\n return /* @__PURE__ */ jsx(Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n};\nvar SUB_TRIGGER_NAME$1 = \"DropdownMenuSubTrigger\";\nvar DropdownMenuSubTrigger$1 = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subTriggerProps } = props;\n const menuScope = useMenuScope$1(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });\n});\nDropdownMenuSubTrigger$1.displayName = SUB_TRIGGER_NAME$1;\nvar SUB_CONTENT_NAME$1 = \"DropdownMenuSubContent\";\nvar DropdownMenuSubContent$1 = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subContentProps } = props;\n const menuScope = useMenuScope$1(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(\n SubContent,\n {\n ...menuScope,\n ...subContentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nDropdownMenuSubContent$1.displayName = SUB_CONTENT_NAME$1;\nvar Root2$7 = DropdownMenu$1;\nvar Trigger$6 = DropdownMenuTrigger$1;\nvar Portal2$2 = DropdownMenuPortal$1;\nvar Content2$5 = DropdownMenuContent$1;\nvar Group2$1 = DropdownMenuGroup$1;\nvar Label2$1 = DropdownMenuLabel$1;\nvar Item2$1 = DropdownMenuItem$1;\nvar CheckboxItem2$1 = DropdownMenuCheckboxItem$1;\nvar RadioGroup2$1 = DropdownMenuRadioGroup$1;\nvar RadioItem2$1 = DropdownMenuRadioItem$1;\nvar ItemIndicator2$1 = DropdownMenuItemIndicator;\nvar Separator2$1 = DropdownMenuSeparator$1;\nvar Sub2$1 = DropdownMenuSub$1;\nvar SubTrigger2$1 = DropdownMenuSubTrigger$1;\nvar SubContent2$1 = DropdownMenuSubContent$1;\nfunction DropdownMenu({ ...props }) {\n return /* @__PURE__ */ jsx(Root2$7, { \"data-slot\": \"dropdown-menu\", ...props });\n}\nfunction DropdownMenuPortal({ ...props }) {\n return /* @__PURE__ */ jsx(Portal2$2, { \"data-slot\": \"dropdown-menu-portal\", ...props });\n}\nfunction DropdownMenuTrigger({ ...props }) {\n return /* @__PURE__ */ jsx(Trigger$6, { \"data-slot\": \"dropdown-menu-trigger\", ...props });\n}\nfunction DropdownMenuContent({ className, sideOffset = 4, ...props }) {\n return /* @__PURE__ */ jsx(Portal2$2, { children: /* @__PURE__ */ jsx(\n Content2$5,\n {\n \"data-slot\": \"dropdown-menu-content\",\n sideOffset,\n className: cn(\n \"bg-content1 text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md p-1 shadow-medium\",\n className\n ),\n ...props\n }\n ) });\n}\nfunction DropdownMenuGroup({ ...props }) {\n return /* @__PURE__ */ jsx(Group2$1, { \"data-slot\": \"dropdown-menu-group\", ...props });\n}\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}) {\n return /* @__PURE__ */ jsx(\n Item2$1,\n {\n \"data-slot\": \"dropdown-menu-item\",\n \"data-inset\": inset,\n \"data-variant\": variant,\n className: cn(\n \"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n ),\n ...props\n }\n );\n}\nfunction DropdownMenuCheckboxItem({ className, children, checked, ...props }) {\n return /* @__PURE__ */ jsxs(\n CheckboxItem2$1,\n {\n \"data-slot\": \"dropdown-menu-checkbox-item\",\n className: cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n ),\n checked,\n ...props,\n children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\", children: /* @__PURE__ */ jsx(ItemIndicator2$1, { children: /* @__PURE__ */ jsx(Check, { className: \"size-4\" }) }) }),\n children\n ]\n }\n );\n}\nfunction DropdownMenuRadioGroup({ ...props }) {\n return /* @__PURE__ */ jsx(RadioGroup2$1, { \"data-slot\": \"dropdown-menu-radio-group\", ...props });\n}\nfunction DropdownMenuRadioItem({ className, children, ...props }) {\n return /* @__PURE__ */ jsxs(\n RadioItem2$1,\n {\n \"data-slot\": \"dropdown-menu-radio-item\",\n className: cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n ),\n ...props,\n children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\", children: /* @__PURE__ */ jsx(ItemIndicator2$1, { children: /* @__PURE__ */ jsx(Circle, { className: \"size-2 fill-current\" }) }) }),\n children\n ]\n }\n );\n}\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}) {\n return /* @__PURE__ */ jsx(\n Label2$1,\n {\n \"data-slot\": \"dropdown-menu-label\",\n \"data-inset\": inset,\n className: cn(\"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8\", className),\n ...props\n }\n );\n}\nfunction DropdownMenuSeparator({ className, ...props }) {\n return /* @__PURE__ */ jsx(Separator2$1, { \"data-slot\": \"dropdown-menu-separator\", className: cn(\"bg-border -mx-1 my-1 h-px\", className), ...props });\n}\nfunction DropdownMenuShortcut({ className, ...props }) {\n return /* @__PURE__ */ jsx(\"span\", { \"data-slot\": \"dropdown-menu-shortcut\", className: cn(\"text-muted-foreground ml-auto text-xs tracking-widest\", className), ...props });\n}\nfunction DropdownMenuSub({ ...props }) {\n return /* @__PURE__ */ jsx(Sub2$1, { \"data-slot\": \"dropdown-menu-sub\", ...props });\n}\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}) {\n return /* @__PURE__ */ jsxs(\n SubTrigger2$1,\n {\n \"data-slot\": \"dropdown-menu-sub-trigger\",\n \"data-inset\": inset,\n className: cn(\n \"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8\",\n className\n ),\n ...props,\n children: [\n children,\n /* @__PURE__ */ jsx(ChevronRight, { className: \"ml-auto size-4\" })\n ]\n }\n );\n}\nfunction DropdownMenuSubContent({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n SubContent2$1,\n {\n \"data-slot\": \"dropdown-menu-sub-content\",\n className: cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg\",\n className\n ),\n ...props\n }\n );\n}\nvar TABS_NAME = \"Tabs\";\nvar [createTabsContext] = createContextScope(TABS_NAME, [\n createRovingFocusGroupScope\n]);\nvar useRovingFocusGroupScope$2 = createRovingFocusGroupScope();\nvar [TabsProvider, useTabsContext] = createTabsContext(TABS_NAME);\nvar Tabs$1 = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTabs,\n value: valueProp,\n onValueChange,\n defaultValue,\n orientation = \"horizontal\",\n dir,\n activationMode = \"automatic\",\n ...tabsProps\n } = props;\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue ?? \"\",\n caller: TABS_NAME\n });\n return /* @__PURE__ */ jsx(\n TabsProvider,\n {\n scope: __scopeTabs,\n baseId: useId(),\n value,\n onValueChange: setValue,\n orientation,\n dir: direction,\n activationMode,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n \"data-orientation\": orientation,\n ...tabsProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nTabs$1.displayName = TABS_NAME;\nvar TAB_LIST_NAME = \"TabsList\";\nvar TabsList$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, loop = true, ...listProps } = props;\n const context = useTabsContext(TAB_LIST_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope$2(__scopeTabs);\n return /* @__PURE__ */ jsx(\n Root$3,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation: context.orientation,\n dir: context.dir,\n loop,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"tablist\",\n \"aria-orientation\": context.orientation,\n ...listProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nTabsList$1.displayName = TAB_LIST_NAME;\nvar TRIGGER_NAME$7 = \"TabsTrigger\";\nvar TabsTrigger$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, disabled = false, ...triggerProps } = props;\n const context = useTabsContext(TRIGGER_NAME$7, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope$2(__scopeTabs);\n const triggerId = makeTriggerId$1(context.baseId, value);\n const contentId = makeContentId$1(context.baseId, value);\n const isSelected = value === context.value;\n return /* @__PURE__ */ jsx(\n Item$2,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n focusable: !disabled,\n active: isSelected,\n children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"tab\",\n \"aria-selected\": isSelected,\n \"aria-controls\": contentId,\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n id: triggerId,\n ...triggerProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onValueChange(value);\n } else {\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if ([\" \", \"Enter\"].includes(event.key)) context.onValueChange(value);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n const isAutomaticActivation = context.activationMode !== \"manual\";\n if (!isSelected && !disabled && isAutomaticActivation) {\n context.onValueChange(value);\n }\n })\n }\n )\n }\n );\n }\n);\nTabsTrigger$1.displayName = TRIGGER_NAME$7;\nvar CONTENT_NAME$7 = \"TabsContent\";\nvar TabsContent$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, forceMount, children, ...contentProps } = props;\n const context = useTabsContext(CONTENT_NAME$7, __scopeTabs);\n const triggerId = makeTriggerId$1(context.baseId, value);\n const contentId = makeContentId$1(context.baseId, value);\n const isSelected = value === context.value;\n const isMountAnimationPreventedRef = React.useRef(isSelected);\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || isSelected, children: ({ present }) => /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-orientation\": context.orientation,\n role: \"tabpanel\",\n \"aria-labelledby\": triggerId,\n hidden: !present,\n id: contentId,\n tabIndex: 0,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n animationDuration: isMountAnimationPreventedRef.current ? \"0s\" : void 0\n },\n children: present && children\n }\n ) });\n }\n);\nTabsContent$1.displayName = CONTENT_NAME$7;\nfunction makeTriggerId$1(baseId, value) {\n return `${baseId}-trigger-${value}`;\n}\nfunction makeContentId$1(baseId, value) {\n return `${baseId}-content-${value}`;\n}\nvar Root2$6 = Tabs$1;\nvar List$1 = TabsList$1;\nvar Trigger$5 = TabsTrigger$1;\nvar Content$2 = TabsContent$1;\nfunction Tabs({ className, ...props }) {\n return /* @__PURE__ */ jsx(Root2$6, { \"data-slot\": \"tabs\", className: cn(\"flex flex-col gap-2\", className), ...props });\n}\nfunction TabsList({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n List$1,\n {\n \"data-slot\": \"tabs-list\",\n className: cn(\"bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]\", className),\n ...props\n }\n );\n}\nfunction TabsTrigger({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n Trigger$5,\n {\n \"data-slot\": \"tabs-trigger\",\n className: cn(\n \"data-[state=active]:bg-content1 dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n ),\n ...props\n }\n );\n}\nfunction TabsContent({ className, ...props }) {\n return /* @__PURE__ */ jsx(Content$2, { \"data-slot\": \"tabs-content\", className: cn(\"flex-1 outline-none\", className), ...props });\n}\nfunction Skeleton({ className, ...props }) {\n return /* @__PURE__ */ jsx(\"div\", { \"data-slot\": \"skeleton\", className: cn(\"bg-accent animate-pulse rounded-md\", className), ...props });\n}\nfunction ResizablePanelGroup({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n PanelGroup,\n {\n \"data-slot\": \"resizable-panel-group\",\n className: cn(\"flex h-full w-full data-[panel-group-direction=vertical]:flex-col\", className),\n ...props\n }\n );\n}\nfunction ResizablePanel({ ...props }) {\n return /* @__PURE__ */ jsx(Panel, { \"data-slot\": \"resizable-panel\", ...props });\n}\nfunction ResizableHandle({\n withHandle,\n className,\n ...props\n}) {\n return /* @__PURE__ */ jsx(\n PanelResizeHandle,\n {\n \"data-slot\": \"resizable-handle\",\n className: cn(\n \"bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90\",\n className\n ),\n ...props,\n children: withHandle && /* @__PURE__ */ jsx(\"div\", { className: \"bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border\", children: /* @__PURE__ */ jsx(GripVertical, { className: \"size-2.5\" }) })\n }\n );\n}\nvar shim = { exports: {} };\nvar useSyncExternalStoreShim_production = {};\nvar hasRequiredUseSyncExternalStoreShim_production;\nfunction requireUseSyncExternalStoreShim_production() {\n if (hasRequiredUseSyncExternalStoreShim_production) return useSyncExternalStoreShim_production;\n hasRequiredUseSyncExternalStoreShim_production = 1;\n var React2 = React__default;\n function is(x, y) {\n return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;\n }\n var objectIs = \"function\" === typeof Object.is ? Object.is : is, useState = React2.useState, useEffect = React2.useEffect, useLayoutEffect = React2.useLayoutEffect, useDebugValue = React2.useDebugValue;\n function useSyncExternalStore$2(subscribe2, getSnapshot) {\n var value = getSnapshot(), _useState = useState({ inst: { value, getSnapshot } }), inst = _useState[0].inst, forceUpdate = _useState[1];\n useLayoutEffect(\n function() {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst });\n },\n [subscribe2, value, getSnapshot]\n );\n useEffect(\n function() {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst });\n return subscribe2(function() {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst });\n });\n },\n [subscribe2]\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 true;\n }\n }\n function useSyncExternalStore$1(subscribe2, getSnapshot) {\n return getSnapshot();\n }\n var shim2 = \"undefined\" === typeof window || \"undefined\" === typeof window.document || \"undefined\" === typeof window.document.createElement ? useSyncExternalStore$1 : useSyncExternalStore$2;\n useSyncExternalStoreShim_production.useSyncExternalStore = void 0 !== React2.useSyncExternalStore ? React2.useSyncExternalStore : shim2;\n return useSyncExternalStoreShim_production;\n}\nvar useSyncExternalStoreShim_development = {};\nvar hasRequiredUseSyncExternalStoreShim_development;\nfunction requireUseSyncExternalStoreShim_development() {\n if (hasRequiredUseSyncExternalStoreShim_development) return useSyncExternalStoreShim_development;\n hasRequiredUseSyncExternalStoreShim_development = 1;\n \"production\" !== process.env.NODE_ENV && (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(subscribe2, getSnapshot) {\n didWarnOld18Alpha || void 0 === React2.startTransition || (didWarnOld18Alpha = true, void 0);\n var value = getSnapshot();\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n objectIs(value, cachedValue) || (void 0, didWarnUncachedGetSnapshot = true);\n }\n cachedValue = useState({\n inst: { value, getSnapshot }\n });\n var inst = cachedValue[0].inst, forceUpdate = cachedValue[1];\n useLayoutEffect(\n function() {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst });\n },\n [subscribe2, value, getSnapshot]\n );\n useEffect(\n function() {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst });\n return subscribe2(function() {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst });\n });\n },\n [subscribe2]\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 true;\n }\n }\n function useSyncExternalStore$1(subscribe2, getSnapshot) {\n return getSnapshot();\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && \"function\" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React2 = React__default, objectIs = \"function\" === typeof Object.is ? Object.is : is, useState = React2.useState, useEffect = React2.useEffect, useLayoutEffect = React2.useLayoutEffect, useDebugValue = React2.useDebugValue, didWarnOld18Alpha = false, didWarnUncachedGetSnapshot = false, shim2 = \"undefined\" === typeof window || \"undefined\" === typeof window.document || \"undefined\" === typeof window.document.createElement ? useSyncExternalStore$1 : useSyncExternalStore$2;\n useSyncExternalStoreShim_development.useSyncExternalStore = void 0 !== React2.useSyncExternalStore ? React2.useSyncExternalStore : shim2;\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && \"function\" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n return useSyncExternalStoreShim_development;\n}\nvar hasRequiredShim;\nfunction requireShim() {\n if (hasRequiredShim) return shim.exports;\n hasRequiredShim = 1;\n if (process.env.NODE_ENV === \"production\") {\n shim.exports = requireUseSyncExternalStoreShim_production();\n } else {\n shim.exports = requireUseSyncExternalStoreShim_development();\n }\n return shim.exports;\n}\nvar shimExports = requireShim();\nfunction useIsHydrated() {\n return shimExports.useSyncExternalStore(\n subscribe,\n () => true,\n () => false\n );\n}\nfunction subscribe() {\n return () => {\n };\n}\nvar AVATAR_NAME = \"Avatar\";\nvar [createAvatarContext] = createContextScope(AVATAR_NAME);\nvar [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME);\nvar Avatar$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAvatar, ...avatarProps } = props;\n const [imageLoadingStatus, setImageLoadingStatus] = React.useState(\"idle\");\n return /* @__PURE__ */ jsx(\n AvatarProvider,\n {\n scope: __scopeAvatar,\n imageLoadingStatus,\n onImageLoadingStatusChange: setImageLoadingStatus,\n children: /* @__PURE__ */ jsx(Primitive.span, { ...avatarProps, ref: forwardedRef })\n }\n );\n }\n);\nAvatar$1.displayName = AVATAR_NAME;\nvar IMAGE_NAME = \"AvatarImage\";\nvar AvatarImage$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAvatar, src, onLoadingStatusChange = () => {\n }, ...imageProps } = props;\n const context = useAvatarContext(IMAGE_NAME, __scopeAvatar);\n const imageLoadingStatus = useImageLoadingStatus(src, imageProps);\n const handleLoadingStatusChange = useCallbackRef((status) => {\n onLoadingStatusChange(status);\n context.onImageLoadingStatusChange(status);\n });\n useLayoutEffect2(() => {\n if (imageLoadingStatus !== \"idle\") {\n handleLoadingStatusChange(imageLoadingStatus);\n }\n }, [imageLoadingStatus, handleLoadingStatusChange]);\n return imageLoadingStatus === \"loaded\" ? /* @__PURE__ */ jsx(Primitive.img, { ...imageProps, ref: forwardedRef, src }) : null;\n }\n);\nAvatarImage$1.displayName = IMAGE_NAME;\nvar FALLBACK_NAME = \"AvatarFallback\";\nvar AvatarFallback$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAvatar, delayMs, ...fallbackProps } = props;\n const context = useAvatarContext(FALLBACK_NAME, __scopeAvatar);\n const [canRender, setCanRender] = React.useState(delayMs === void 0);\n React.useEffect(() => {\n if (delayMs !== void 0) {\n const timerId = window.setTimeout(() => setCanRender(true), delayMs);\n return () => window.clearTimeout(timerId);\n }\n }, [delayMs]);\n return canRender && context.imageLoadingStatus !== \"loaded\" ? /* @__PURE__ */ jsx(Primitive.span, { ...fallbackProps, ref: forwardedRef }) : null;\n }\n);\nAvatarFallback$1.displayName = FALLBACK_NAME;\nfunction resolveLoadingStatus(image, src) {\n if (!image) {\n return \"idle\";\n }\n if (!src) {\n return \"error\";\n }\n if (image.src !== src) {\n image.src = src;\n }\n return image.complete && image.naturalWidth > 0 ? \"loaded\" : \"loading\";\n}\nfunction useImageLoadingStatus(src, { referrerPolicy, crossOrigin }) {\n const isHydrated = useIsHydrated();\n const imageRef = React.useRef(null);\n const image = (() => {\n if (!isHydrated) return null;\n if (!imageRef.current) {\n imageRef.current = new window.Image();\n }\n return imageRef.current;\n })();\n const [loadingStatus, setLoadingStatus] = React.useState(\n () => resolveLoadingStatus(image, src)\n );\n useLayoutEffect2(() => {\n setLoadingStatus(resolveLoadingStatus(image, src));\n }, [image, src]);\n useLayoutEffect2(() => {\n const updateStatus = (status) => () => {\n setLoadingStatus(status);\n };\n if (!image) return;\n const handleLoad = updateStatus(\"loaded\");\n const handleError = updateStatus(\"error\");\n image.addEventListener(\"load\", handleLoad);\n image.addEventListener(\"error\", handleError);\n if (referrerPolicy) {\n image.referrerPolicy = referrerPolicy;\n }\n if (typeof crossOrigin === \"string\") {\n image.crossOrigin = crossOrigin;\n }\n return () => {\n image.removeEventListener(\"load\", handleLoad);\n image.removeEventListener(\"error\", handleError);\n };\n }, [image, crossOrigin, referrerPolicy]);\n return loadingStatus;\n}\nvar Root$2 = Avatar$1;\nvar Image = AvatarImage$1;\nvar Fallback = AvatarFallback$1;\nconst avatarStyles = cva(\n \"flex relative justify-center items-center box-border overflow-hidden align-middle z-0 outline-none data-[focus-visible=true]:z-10 data-[focus-visible=true]:outline-2 data-[focus-visible=true]:outline-focus data-[focus-visible=true]:outline-offset-2 text-tiny text-default-foreground rounded-full\",\n {\n variants: {\n color: {\n primary: \"bg-primary ring-primary text-primary-foreground\",\n secondary: \"bg-secondary ring-secondary text-secondary-foreground\",\n success: \"bg-success ring-success text-success-foreground\",\n warning: \"bg-warning ring-warning text-warning-foreground\",\n danger: \"bg-danger ring-danger text-danger-foreground\",\n default: \"bg-default ring-default text-default-foreground\"\n },\n isBordered: {\n true: \"ring-2 ring-offset-2 ring-offset-background dark:ring-offset-background-dark\",\n false: \"\"\n },\n size: {\n sm: \"w-8 h-8\",\n md: \"w-10 h-10\",\n lg: \"w-12 h-12\"\n }\n },\n defaultVariants: {\n color: \"default\",\n isBordered: false,\n size: \"md\"\n }\n }\n);\nfunction Avatar({\n className,\n color = \"default\",\n isBordered = false,\n size = \"md\",\n ...props\n}) {\n return /* @__PURE__ */ jsx(Root$2, { \"data-slot\": \"avatar\", asChild: true, children: /* @__PURE__ */ jsx(\n \"span\",\n {\n tabIndex: -1,\n \"data-slot\": \"avatar\",\n className: cn(avatarStyles({ color, isBordered, size }), className),\n ...props\n }\n ) });\n}\nfunction AvatarImage({ className, ...props }) {\n return /* @__PURE__ */ jsx(Image, { \"data-slot\": \"avatar-image\", className: cn(\"aspect-square size-full object-cover\", className), ...props });\n}\nfunction AvatarFallback({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n Fallback,\n {\n \"data-slot\": \"avatar-fallback\",\n className: cn(\" flex size-full items-center justify-center rounded-full\", className),\n ...props\n }\n );\n}\nvar POPOVER_NAME = \"Popover\";\nvar [createPopoverContext] = createContextScope(POPOVER_NAME, [\n createPopperScope\n]);\nvar usePopperScope$1 = createPopperScope();\nvar [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);\nvar Popover$1 = (props) => {\n const {\n __scopePopover,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = false\n } = props;\n const popperScope = usePopperScope$1(__scopePopover);\n const triggerRef = React.useRef(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: POPOVER_NAME\n });\n return /* @__PURE__ */ jsx(Root2$8, { ...popperScope, children: /* @__PURE__ */ jsx(\n PopoverProvider,\n {\n scope: __scopePopover,\n contentId: useId(),\n triggerRef,\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n hasCustomAnchor,\n onCustomAnchorAdd: React.useCallback(() => setHasCustomAnchor(true), []),\n onCustomAnchorRemove: React.useCallback(() => setHasCustomAnchor(false), []),\n modal,\n children\n }\n ) });\n};\nPopover$1.displayName = POPOVER_NAME;\nvar ANCHOR_NAME = \"PopoverAnchor\";\nvar PopoverAnchor$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...anchorProps } = props;\n const context = usePopoverContext(ANCHOR_NAME, __scopePopover);\n const popperScope = usePopperScope$1(__scopePopover);\n const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n React.useEffect(() => {\n onCustomAnchorAdd();\n return () => onCustomAnchorRemove();\n }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n return /* @__PURE__ */ jsx(Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nPopoverAnchor$1.displayName = ANCHOR_NAME;\nvar TRIGGER_NAME$6 = \"PopoverTrigger\";\nvar PopoverTrigger$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...triggerProps } = props;\n const context = usePopoverContext(TRIGGER_NAME$6, __scopePopover);\n const popperScope = usePopperScope$1(__scopePopover);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n const trigger = /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState$3(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(Anchor, { asChild: true, ...popperScope, children: trigger });\n }\n);\nPopoverTrigger$1.displayName = TRIGGER_NAME$6;\nvar PORTAL_NAME$3 = \"PopoverPortal\";\nvar [PortalProvider$1, usePortalContext$1] = createPopoverContext(PORTAL_NAME$3, {\n forceMount: void 0\n});\nvar PopoverPortal = (props) => {\n const { __scopePopover, forceMount, children, container } = props;\n const context = usePopoverContext(PORTAL_NAME$3, __scopePopover);\n return /* @__PURE__ */ jsx(PortalProvider$1, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Portal$3, { asChild: true, container, children }) }) });\n};\nPopoverPortal.displayName = PORTAL_NAME$3;\nvar CONTENT_NAME$6 = \"PopoverContent\";\nvar PopoverContent$1 = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext$1(CONTENT_NAME$6, props.__scopePopover);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = usePopoverContext(CONTENT_NAME$6, props.__scopePopover);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nPopoverContent$1.displayName = CONTENT_NAME$6;\nvar Slot = createSlot(\"PopoverContent.RemoveScroll\");\nvar PopoverContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME$6, props.__scopePopover);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const isRightClickOutsideRef = React.useRef(false);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(ReactRemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n isRightClickOutsideRef.current = isRightClick;\n },\n { checkForDefaultPrevented: false }\n ),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nvar PopoverContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME$6, props.__scopePopover);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar PopoverContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopover,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = usePopoverContext(CONTENT_NAME$6, __scopePopover);\n const popperScope = usePopperScope$1(__scopePopover);\n useFocusGuards();\n return /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onInteractOutside,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n Content$3,\n {\n \"data-state\": getState$3(context.open),\n role: \"dialog\",\n id: context.contentId,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-popover-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-popover-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-popover-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-popover-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-popover-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n )\n }\n )\n }\n );\n }\n);\nvar CLOSE_NAME = \"PopoverClose\";\nvar PopoverClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...closeProps } = props;\n const context = usePopoverContext(CLOSE_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nPopoverClose.displayName = CLOSE_NAME;\nvar ARROW_NAME$2 = \"PopoverArrow\";\nvar PopoverArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...arrowProps } = props;\n const popperScope = usePopperScope$1(__scopePopover);\n return /* @__PURE__ */ jsx(Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nPopoverArrow.displayName = ARROW_NAME$2;\nfunction getState$3(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2$5 = Popover$1;\nvar Anchor2 = PopoverAnchor$1;\nvar Trigger$4 = PopoverTrigger$1;\nvar Portal$1 = PopoverPortal;\nvar Content2$4 = PopoverContent$1;\nfunction Popover({ ...props }) {\n return /* @__PURE__ */ jsx(Root2$5, { \"data-slot\": \"popover\", ...props });\n}\nfunction PopoverTrigger({ ...props }) {\n return /* @__PURE__ */ jsx(Trigger$4, { \"data-slot\": \"popover-trigger\", ...props });\n}\nfunction PopoverContent({ className, align = \"center\", sideOffset = 4, ...props }) {\n return /* @__PURE__ */ jsx(Portal$1, { children: /* @__PURE__ */ jsx(\n Content2$4,\n {\n \"data-slot\": \"popover-content\",\n align,\n sideOffset,\n className: cn(\n \"bg-content1 text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md shadow-medium outline-hidden\",\n className\n ),\n ...props\n }\n ) });\n}\nfunction PopoverAnchor({ ...props }) {\n return /* @__PURE__ */ jsx(Anchor2, { \"data-slot\": \"popover-anchor\", ...props });\n}\nvar U = 1, Y$1 = 0.9, H2 = 0.8, J2 = 0.17, p = 0.1, u = 0.999, $ = 0.9999;\nvar k$1 = 0.99, m2 = /[\\\\\\/_+.#\"@\\[\\(\\{&]/, B$1 = /[\\\\\\/_+.#\"@\\[\\(\\{&]/g, K$1 = /[\\s-]/, X = /[\\s-]/g;\nfunction G2(_, C, h, P2, A2, f2, O) {\n if (f2 === C.length) return A2 === _.length ? U : k$1;\n var T2 = `${A2},${f2}`;\n if (O[T2] !== void 0) return O[T2];\n for (var L3 = P2.charAt(f2), c2 = h.indexOf(L3, A2), S3 = 0, E2, N2, R, M; c2 >= 0; ) E2 = G2(_, C, h, P2, c2 + 1, f2 + 1, O), E2 > S3 && (c2 === A2 ? E2 *= U : m2.test(_.charAt(c2 - 1)) ? (E2 *= H2, R = _.slice(A2, c2 - 1).match(B$1), R && A2 > 0 && (E2 *= Math.pow(u, R.length))) : K$1.test(_.charAt(c2 - 1)) ? (E2 *= Y$1, M = _.slice(A2, c2 - 1).match(X), M && A2 > 0 && (E2 *= Math.pow(u, M.length))) : (E2 *= J2, A2 > 0 && (E2 *= Math.pow(u, c2 - A2))), _.charAt(c2) !== C.charAt(f2) && (E2 *= $)), (E2 < p && h.charAt(c2 - 1) === P2.charAt(f2 + 1) || P2.charAt(f2 + 1) === P2.charAt(f2) && h.charAt(c2 - 1) !== P2.charAt(f2)) && (N2 = G2(_, C, h, P2, c2 + 1, f2 + 2, O), N2 * p > E2 && (E2 = N2 * p)), E2 > S3 && (S3 = E2), c2 = h.indexOf(L3, c2 + 1);\n return O[T2] = S3, S3;\n}\nfunction D(_) {\n return _.toLowerCase().replace(X, \" \");\n}\nfunction W(_, C, h) {\n return _ = h && h.length > 0 ? `${_ + \" \" + h.join(\" \")}` : _, G2(_, C, D(_), D(C), 0, 0, {});\n}\nvar N = '[cmdk-group=\"\"]', Y = '[cmdk-group-items=\"\"]', be = '[cmdk-group-heading=\"\"]', le = '[cmdk-item=\"\"]', ce = `${le}:not([aria-disabled=\"true\"])`, Z = \"cmdk-item-select\", T = \"data-value\", Re = (r, o, n2) => W(r, o, n2), ue = React.createContext(void 0), K2 = () => React.useContext(ue), de = React.createContext(void 0), ee = () => React.useContext(de), fe = React.createContext(void 0), me = React.forwardRef((r, o) => {\n let n2 = L2(() => {\n var e2, a3;\n return { search: \"\", value: (a3 = (e2 = r.value) != null ? e2 : r.defaultValue) != null ? a3 : \"\", selectedItemId: void 0, filtered: { count: 0, items: /* @__PURE__ */ new Map(), groups: /* @__PURE__ */ new Set() } };\n }), u2 = L2(() => /* @__PURE__ */ new Set()), c2 = L2(() => /* @__PURE__ */ new Map()), d2 = L2(() => /* @__PURE__ */ new Map()), f2 = L2(() => /* @__PURE__ */ new Set()), p2 = pe(r), { label: b3, children: m3, value: R, onValueChange: x, filter: C, shouldFilter: S3, loop: A2, disablePointerSelection: ge = false, vimBindings: j = true, ...O } = r, $2 = useId(), q = useId(), _ = useId(), I2 = React.useRef(null), v = ke();\n k(() => {\n if (R !== void 0) {\n let e2 = R.trim();\n n2.current.value = e2, E2.emit();\n }\n }, [R]), k(() => {\n v(6, ne);\n }, []);\n let E2 = React.useMemo(() => ({ subscribe: (e2) => (f2.current.add(e2), () => f2.current.delete(e2)), snapshot: () => n2.current, setState: (e2, a3, s) => {\n var i, l2, g, y;\n if (!Object.is(n2.current[e2], a3)) {\n if (n2.current[e2] = a3, e2 === \"search\") J3(), z(), v(1, W2);\n else if (e2 === \"value\") {\n if (document.activeElement.hasAttribute(\"cmdk-input\") || document.activeElement.hasAttribute(\"cmdk-root\")) {\n let h = document.getElementById(_);\n h ? h.focus() : (i = document.getElementById($2)) == null || i.focus();\n }\n if (v(7, () => {\n var h;\n n2.current.selectedItemId = (h = M()) == null ? void 0 : h.id, E2.emit();\n }), s || v(5, ne), ((l2 = p2.current) == null ? void 0 : l2.value) !== void 0) {\n let h = a3 != null ? a3 : \"\";\n (y = (g = p2.current).onValueChange) == null || y.call(g, h);\n return;\n }\n }\n E2.emit();\n }\n }, emit: () => {\n f2.current.forEach((e2) => e2());\n } }), []), U2 = React.useMemo(() => ({ value: (e2, a3, s) => {\n var i;\n a3 !== ((i = d2.current.get(e2)) == null ? void 0 : i.value) && (d2.current.set(e2, { value: a3, keywords: s }), n2.current.filtered.items.set(e2, te(a3, s)), v(2, () => {\n z(), E2.emit();\n }));\n }, item: (e2, a3) => (u2.current.add(e2), a3 && (c2.current.has(a3) ? c2.current.get(a3).add(e2) : c2.current.set(a3, /* @__PURE__ */ new Set([e2]))), v(3, () => {\n J3(), z(), n2.current.value || W2(), E2.emit();\n }), () => {\n d2.current.delete(e2), u2.current.delete(e2), n2.current.filtered.items.delete(e2);\n let s = M();\n v(4, () => {\n J3(), (s == null ? void 0 : s.getAttribute(\"id\")) === e2 && W2(), E2.emit();\n });\n }), group: (e2) => (c2.current.has(e2) || c2.current.set(e2, /* @__PURE__ */ new Set()), () => {\n d2.current.delete(e2), c2.current.delete(e2);\n }), filter: () => p2.current.shouldFilter, label: b3 || r[\"aria-label\"], getDisablePointerSelection: () => p2.current.disablePointerSelection, listId: $2, inputId: _, labelId: q, listInnerRef: I2 }), []);\n function te(e2, a3) {\n var i, l2;\n let s = (l2 = (i = p2.current) == null ? void 0 : i.filter) != null ? l2 : Re;\n return e2 ? s(e2, n2.current.search, a3) : 0;\n }\n function z() {\n if (!n2.current.search || p2.current.shouldFilter === false) return;\n let e2 = n2.current.filtered.items, a3 = [];\n n2.current.filtered.groups.forEach((i) => {\n let l2 = c2.current.get(i), g = 0;\n l2.forEach((y) => {\n let h = e2.get(y);\n g = Math.max(h, g);\n }), a3.push([i, g]);\n });\n let s = I2.current;\n V().sort((i, l2) => {\n var h, F;\n let g = i.getAttribute(\"id\"), y = l2.getAttribute(\"id\");\n return ((h = e2.get(y)) != null ? h : 0) - ((F = e2.get(g)) != null ? F : 0);\n }).forEach((i) => {\n let l2 = i.closest(Y);\n l2 ? l2.appendChild(i.parentElement === l2 ? i : i.closest(`${Y} > *`)) : s.appendChild(i.parentElement === s ? i : i.closest(`${Y} > *`));\n }), a3.sort((i, l2) => l2[1] - i[1]).forEach((i) => {\n var g;\n let l2 = (g = I2.current) == null ? void 0 : g.querySelector(`${N}[${T}=\"${encodeURIComponent(i[0])}\"]`);\n l2 == null || l2.parentElement.appendChild(l2);\n });\n }\n function W2() {\n let e2 = V().find((s) => s.getAttribute(\"aria-disabled\") !== \"true\"), a3 = e2 == null ? void 0 : e2.getAttribute(T);\n E2.setState(\"value\", a3 || void 0);\n }\n function J3() {\n var a3, s, i, l2;\n if (!n2.current.search || p2.current.shouldFilter === false) {\n n2.current.filtered.count = u2.current.size;\n return;\n }\n n2.current.filtered.groups = /* @__PURE__ */ new Set();\n let e2 = 0;\n for (let g of u2.current) {\n let y = (s = (a3 = d2.current.get(g)) == null ? void 0 : a3.value) != null ? s : \"\", h = (l2 = (i = d2.current.get(g)) == null ? void 0 : i.keywords) != null ? l2 : [], F = te(y, h);\n n2.current.filtered.items.set(g, F), F > 0 && e2++;\n }\n for (let [g, y] of c2.current) for (let h of y) if (n2.current.filtered.items.get(h) > 0) {\n n2.current.filtered.groups.add(g);\n break;\n }\n n2.current.filtered.count = e2;\n }\n function ne() {\n var a3, s, i;\n let e2 = M();\n e2 && (((a3 = e2.parentElement) == null ? void 0 : a3.firstChild) === e2 && ((i = (s = e2.closest(N)) == null ? void 0 : s.querySelector(be)) == null || i.scrollIntoView({ block: \"nearest\" })), e2.scrollIntoView({ block: \"nearest\" }));\n }\n function M() {\n var e2;\n return (e2 = I2.current) == null ? void 0 : e2.querySelector(`${le}[aria-selected=\"true\"]`);\n }\n function V() {\n var e2;\n return Array.from(((e2 = I2.current) == null ? void 0 : e2.querySelectorAll(ce)) || []);\n }\n function X2(e2) {\n let s = V()[e2];\n s && E2.setState(\"value\", s.getAttribute(T));\n }\n function Q(e2) {\n var g;\n let a3 = M(), s = V(), i = s.findIndex((y) => y === a3), l2 = s[i + e2];\n (g = p2.current) != null && g.loop && (l2 = i + e2 < 0 ? s[s.length - 1] : i + e2 === s.length ? s[0] : s[i + e2]), l2 && E2.setState(\"value\", l2.getAttribute(T));\n }\n function re(e2) {\n let a3 = M(), s = a3 == null ? void 0 : a3.closest(N), i;\n for (; s && !i; ) s = e2 > 0 ? we(s, N) : De(s, N), i = s == null ? void 0 : s.querySelector(ce);\n i ? E2.setState(\"value\", i.getAttribute(T)) : Q(e2);\n }\n let oe = () => X2(V().length - 1), ie = (e2) => {\n e2.preventDefault(), e2.metaKey ? oe() : e2.altKey ? re(1) : Q(1);\n }, se = (e2) => {\n e2.preventDefault(), e2.metaKey ? X2(0) : e2.altKey ? re(-1) : Q(-1);\n };\n return React.createElement(Primitive.div, { ref: o, tabIndex: -1, ...O, \"cmdk-root\": \"\", onKeyDown: (e2) => {\n var s;\n (s = O.onKeyDown) == null || s.call(O, e2);\n let a3 = e2.nativeEvent.isComposing || e2.keyCode === 229;\n if (!(e2.defaultPrevented || a3)) switch (e2.key) {\n case \"n\":\n case \"j\": {\n j && e2.ctrlKey && ie(e2);\n break;\n }\n case \"ArrowDown\": {\n ie(e2);\n break;\n }\n case \"p\":\n case \"k\": {\n j && e2.ctrlKey && se(e2);\n break;\n }\n case \"ArrowUp\": {\n se(e2);\n break;\n }\n case \"Home\": {\n e2.preventDefault(), X2(0);\n break;\n }\n case \"End\": {\n e2.preventDefault(), oe();\n break;\n }\n case \"Enter\": {\n e2.preventDefault();\n let i = M();\n if (i) {\n let l2 = new Event(Z);\n i.dispatchEvent(l2);\n }\n }\n }\n } }, React.createElement(\"label\", { \"cmdk-label\": \"\", htmlFor: U2.inputId, id: U2.labelId, style: Te }, b3), B2(r, (e2) => React.createElement(de.Provider, { value: E2 }, React.createElement(ue.Provider, { value: U2 }, e2))));\n}), he = React.forwardRef((r, o) => {\n var _, I2;\n let n2 = useId(), u2 = React.useRef(null), c2 = React.useContext(fe), d2 = K2(), f2 = pe(r), p2 = (I2 = (_ = f2.current) == null ? void 0 : _.forceMount) != null ? I2 : c2 == null ? void 0 : c2.forceMount;\n k(() => {\n if (!p2) return d2.item(n2, c2 == null ? void 0 : c2.id);\n }, [p2]);\n let b3 = ve(n2, u2, [r.value, r.children, u2], r.keywords), m3 = ee(), R = P((v) => v.value && v.value === b3.current), x = P((v) => p2 || d2.filter() === false ? true : v.search ? v.filtered.items.get(n2) > 0 : true);\n React.useEffect(() => {\n let v = u2.current;\n if (!(!v || r.disabled)) return v.addEventListener(Z, C), () => v.removeEventListener(Z, C);\n }, [x, r.onSelect, r.disabled]);\n function C() {\n var v, E2;\n S3(), (E2 = (v = f2.current).onSelect) == null || E2.call(v, b3.current);\n }\n function S3() {\n m3.setState(\"value\", b3.current, true);\n }\n if (!x) return null;\n let { disabled: A2, value: ge, onSelect: j, forceMount: O, keywords: $2, ...q } = r;\n return React.createElement(Primitive.div, { ref: composeRefs(u2, o), ...q, id: n2, \"cmdk-item\": \"\", role: \"option\", \"aria-disabled\": !!A2, \"aria-selected\": !!R, \"data-disabled\": !!A2, \"data-selected\": !!R, onPointerMove: A2 || d2.getDisablePointerSelection() ? void 0 : S3, onClick: A2 ? void 0 : C }, r.children);\n}), Ee = React.forwardRef((r, o) => {\n let { heading: n2, children: u2, forceMount: c2, ...d2 } = r, f2 = useId(), p2 = React.useRef(null), b3 = React.useRef(null), m3 = useId(), R = K2(), x = P((S3) => c2 || R.filter() === false ? true : S3.search ? S3.filtered.groups.has(f2) : true);\n k(() => R.group(f2), []), ve(f2, p2, [r.value, r.heading, b3]);\n let C = React.useMemo(() => ({ id: f2, forceMount: c2 }), [c2]);\n return React.createElement(Primitive.div, { ref: composeRefs(p2, o), ...d2, \"cmdk-group\": \"\", role: \"presentation\", hidden: x ? void 0 : true }, n2 && React.createElement(\"div\", { ref: b3, \"cmdk-group-heading\": \"\", \"aria-hidden\": true, id: m3 }, n2), B2(r, (S3) => React.createElement(\"div\", { \"cmdk-group-items\": \"\", role: \"group\", \"aria-labelledby\": n2 ? m3 : void 0 }, React.createElement(fe.Provider, { value: C }, S3))));\n}), ye = React.forwardRef((r, o) => {\n let { alwaysRender: n2, ...u2 } = r, c2 = React.useRef(null), d2 = P((f2) => !f2.search);\n return !n2 && !d2 ? null : React.createElement(Primitive.div, { ref: composeRefs(c2, o), ...u2, \"cmdk-separator\": \"\", role: \"separator\" });\n}), Se = React.forwardRef((r, o) => {\n let { onValueChange: n2, ...u2 } = r, c2 = r.value != null, d2 = ee(), f2 = P((m3) => m3.search), p2 = P((m3) => m3.selectedItemId), b3 = K2();\n return React.useEffect(() => {\n r.value != null && d2.setState(\"search\", r.value);\n }, [r.value]), React.createElement(Primitive.input, { ref: o, ...u2, \"cmdk-input\": \"\", autoComplete: \"off\", autoCorrect: \"off\", spellCheck: false, \"aria-autocomplete\": \"list\", role: \"combobox\", \"aria-expanded\": true, \"aria-controls\": b3.listId, \"aria-labelledby\": b3.labelId, \"aria-activedescendant\": p2, id: b3.inputId, type: \"text\", value: c2 ? r.value : f2, onChange: (m3) => {\n c2 || d2.setState(\"search\", m3.target.value), n2 == null || n2(m3.target.value);\n } });\n}), Ce = React.forwardRef((r, o) => {\n let { children: n2, label: u2 = \"Suggestions\", ...c2 } = r, d2 = React.useRef(null), f2 = React.useRef(null), p2 = P((m3) => m3.selectedItemId), b3 = K2();\n return React.useEffect(() => {\n if (f2.current && d2.current) {\n let m3 = f2.current, R = d2.current, x, C = new ResizeObserver(() => {\n x = requestAnimationFrame(() => {\n let S3 = m3.offsetHeight;\n R.style.setProperty(\"--cmdk-list-height\", S3.toFixed(1) + \"px\");\n });\n });\n return C.observe(m3), () => {\n cancelAnimationFrame(x), C.unobserve(m3);\n };\n }\n }, []), React.createElement(Primitive.div, { ref: composeRefs(d2, o), ...c2, \"cmdk-list\": \"\", role: \"listbox\", tabIndex: -1, \"aria-activedescendant\": p2, \"aria-label\": u2, id: b3.listId }, B2(r, (m3) => React.createElement(\"div\", { ref: composeRefs(f2, b3.listInnerRef), \"cmdk-list-sizer\": \"\" }, m3)));\n}), xe = React.forwardRef((r, o) => {\n let { open: n2, onOpenChange: u2, overlayClassName: c2, contentClassName: d2, container: f2, ...p2 } = r;\n return React.createElement(Root$5, { open: n2, onOpenChange: u2 }, React.createElement(Portal$4, { container: f2 }, React.createElement(Overlay, { \"cmdk-overlay\": \"\", className: c2 }), React.createElement(Content$4, { \"aria-label\": r.label, \"cmdk-dialog\": \"\", className: d2 }, React.createElement(me, { ref: o, ...p2 }))));\n}), Ie = React.forwardRef((r, o) => P((u2) => u2.filtered.count === 0) ? React.createElement(Primitive.div, { ref: o, ...r, \"cmdk-empty\": \"\", role: \"presentation\" }) : null), Pe = React.forwardRef((r, o) => {\n let { progress: n2, children: u2, label: c2 = \"Loading...\", ...d2 } = r;\n return React.createElement(Primitive.div, { ref: o, ...d2, \"cmdk-loading\": \"\", role: \"progressbar\", \"aria-valuenow\": n2, \"aria-valuemin\": 0, \"aria-valuemax\": 100, \"aria-label\": c2 }, B2(r, (f2) => React.createElement(\"div\", { \"aria-hidden\": true }, f2)));\n}), _e = Object.assign(me, { List: Ce, Item: he, Input: Se, Group: Ee, Separator: ye, Dialog: xe, Empty: Ie, Loading: Pe });\nfunction we(r, o) {\n let n2 = r.nextElementSibling;\n for (; n2; ) {\n if (n2.matches(o)) return n2;\n n2 = n2.nextElementSibling;\n }\n}\nfunction De(r, o) {\n let n2 = r.previousElementSibling;\n for (; n2; ) {\n if (n2.matches(o)) return n2;\n n2 = n2.previousElementSibling;\n }\n}\nfunction pe(r) {\n let o = React.useRef(r);\n return k(() => {\n o.current = r;\n }), o;\n}\nvar k = typeof window == \"undefined\" ? React.useEffect : React.useLayoutEffect;\nfunction L2(r) {\n let o = React.useRef();\n return o.current === void 0 && (o.current = r()), o;\n}\nfunction P(r) {\n let o = ee(), n2 = () => r(o.snapshot());\n return React.useSyncExternalStore(o.subscribe, n2, n2);\n}\nfunction ve(r, o, n2, u2 = []) {\n let c2 = React.useRef(), d2 = K2();\n return k(() => {\n var b3;\n let f2 = (() => {\n var m3;\n for (let R of n2) {\n if (typeof R == \"string\") return R.trim();\n if (typeof R == \"object\" && \"current\" in R) return R.current ? (m3 = R.current.textContent) == null ? void 0 : m3.trim() : c2.current;\n }\n })(), p2 = u2.map((m3) => m3.trim());\n d2.value(r, f2, p2), (b3 = o.current) == null || b3.setAttribute(T, f2), c2.current = f2;\n }), c2;\n}\nvar ke = () => {\n let [r, o] = React.useState(), n2 = L2(() => /* @__PURE__ */ new Map());\n return k(() => {\n n2.current.forEach((u2) => u2()), n2.current = /* @__PURE__ */ new Map();\n }, [r]), (u2, c2) => {\n n2.current.set(u2, c2), o({});\n };\n};\nfunction Me(r) {\n let o = r.type;\n return typeof o == \"function\" ? o(r.props) : \"render\" in o ? o.render(r.props) : r;\n}\nfunction B2({ asChild: r, children: o }, n2) {\n return r && React.isValidElement(o) ? React.cloneElement(Me(o), { ref: o.ref }, n2(o.props.children)) : n2(o);\n}\nvar Te = { position: \"absolute\", width: \"1px\", height: \"1px\", padding: \"0\", margin: \"-1px\", overflow: \"hidden\", clip: \"rect(0, 0, 0, 0)\", whiteSpace: \"nowrap\", borderWidth: \"0\" };\nfunction Command({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n _e,\n {\n \"data-slot\": \"command\",\n className: cn(\"bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md\", className),\n ...props\n }\n );\n}\nfunction CommandDialog({\n title = \"Command Palette\",\n description = \"Search for a command to run...\",\n children,\n className,\n showCloseButton = true,\n ...props\n}) {\n return /* @__PURE__ */ jsxs(Dialog, { ...props, children: [\n /* @__PURE__ */ jsxs(DialogHeader, { className: \"sr-only\", children: [\n /* @__PURE__ */ jsx(DialogTitle, { children: title }),\n /* @__PURE__ */ jsx(DialogDescription, { children: description })\n ] }),\n /* @__PURE__ */ jsx(DialogContent, { className: cn(\"overflow-hidden p-0\", className), showCloseButton, children: /* @__PURE__ */ jsx(Command, { className: \"[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\", children }) })\n ] });\n}\nfunction CommandInput({ className, ...props }) {\n return /* @__PURE__ */ jsxs(\"div\", { \"data-slot\": \"command-input-wrapper\", className: \"flex h-9 items-center gap-2 border-b px-3\", children: [\n /* @__PURE__ */ jsx(Search, { className: \"size-4 shrink-0 opacity-50\" }),\n /* @__PURE__ */ jsx(\n _e.Input,\n {\n \"data-slot\": \"command-input\",\n className: cn(\n \"placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50\",\n className\n ),\n ...props\n }\n )\n ] });\n}\nfunction CommandList({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n _e.List,\n {\n \"data-slot\": \"command-list\",\n className: cn(\"max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto\", className),\n ...props\n }\n );\n}\nfunction CommandEmpty({ ...props }) {\n return /* @__PURE__ */ jsx(_e.Empty, { \"data-slot\": \"command-empty\", className: \"py-6 text-center text-sm\", ...props });\n}\nfunction CommandGroup({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n _e.Group,\n {\n \"data-slot\": \"command-group\",\n className: cn(\n \"text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium\",\n className\n ),\n ...props\n }\n );\n}\nfunction CommandSeparator({ className, ...props }) {\n return /* @__PURE__ */ jsx(_e.Separator, { \"data-slot\": \"command-separator\", className: cn(\"bg-border -mx-1 h-px\", className), ...props });\n}\nfunction CommandItem({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n _e.Item,\n {\n \"data-slot\": \"command-item\",\n className: cn(\n \"data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n ),\n ...props\n }\n );\n}\nfunction CommandShortcut({ className, ...props }) {\n return /* @__PURE__ */ jsx(\"span\", { \"data-slot\": \"command-shortcut\", className: cn(\"text-muted-foreground ml-auto text-xs tracking-widest\", className), ...props });\n}\nvar COLLAPSIBLE_NAME = \"Collapsible\";\nvar [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLLAPSIBLE_NAME);\nvar [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME);\nvar Collapsible = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeCollapsible,\n open: openProp,\n defaultOpen,\n disabled,\n onOpenChange,\n ...collapsibleProps\n } = props;\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: COLLAPSIBLE_NAME\n });\n return /* @__PURE__ */ jsx(\n CollapsibleProvider,\n {\n scope: __scopeCollapsible,\n disabled,\n contentId: useId(),\n open,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState$2(open),\n \"data-disabled\": disabled ? \"\" : void 0,\n ...collapsibleProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nCollapsible.displayName = COLLAPSIBLE_NAME;\nvar TRIGGER_NAME$5 = \"CollapsibleTrigger\";\nvar CollapsibleTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeCollapsible, ...triggerProps } = props;\n const context = useCollapsibleContext(TRIGGER_NAME$5, __scopeCollapsible);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open || false,\n \"data-state\": getState$2(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n disabled: context.disabled,\n ...triggerProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n);\nCollapsibleTrigger.displayName = TRIGGER_NAME$5;\nvar CONTENT_NAME$5 = \"CollapsibleContent\";\nvar CollapsibleContent = React.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME$5, props.__scopeCollapsible);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: ({ present }) => /* @__PURE__ */ jsx(CollapsibleContentImpl, { ...contentProps, ref: forwardedRef, present }) });\n }\n);\nCollapsibleContent.displayName = CONTENT_NAME$5;\nvar CollapsibleContentImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeCollapsible, present, children, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME$5, __scopeCollapsible);\n const [isPresent, setIsPresent] = React.useState(present);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const heightRef = React.useRef(0);\n const height = heightRef.current;\n const widthRef = React.useRef(0);\n const width = widthRef.current;\n const isOpen = context.open || isPresent;\n const isMountAnimationPreventedRef = React.useRef(isOpen);\n const originalStylesRef = React.useRef(void 0);\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n useLayoutEffect2(() => {\n const node = ref.current;\n if (node) {\n originalStylesRef.current = originalStylesRef.current || {\n transitionDuration: node.style.transitionDuration,\n animationName: node.style.animationName\n };\n node.style.transitionDuration = \"0s\";\n node.style.animationName = \"none\";\n const rect = node.getBoundingClientRect();\n heightRef.current = rect.height;\n widthRef.current = rect.width;\n if (!isMountAnimationPreventedRef.current) {\n node.style.transitionDuration = originalStylesRef.current.transitionDuration;\n node.style.animationName = originalStylesRef.current.animationName;\n }\n setIsPresent(present);\n }\n }, [context.open, present]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState$2(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n id: context.contentId,\n hidden: !isOpen,\n ...contentProps,\n ref: composedRefs,\n style: {\n [`--radix-collapsible-content-height`]: height ? `${height}px` : void 0,\n [`--radix-collapsible-content-width`]: width ? `${width}px` : void 0,\n ...props.style\n },\n children: isOpen && children\n }\n );\n});\nfunction getState$2(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root$1 = Collapsible;\nvar Trigger$3 = CollapsibleTrigger;\nvar Content$1 = CollapsibleContent;\nvar ACCORDION_NAME = \"Accordion\";\nvar ACCORDION_KEYS = [\"Home\", \"End\", \"ArrowDown\", \"ArrowUp\", \"ArrowLeft\", \"ArrowRight\"];\nvar [Collection$2, useCollection$2, createCollectionScope$2] = createCollection(ACCORDION_NAME);\nvar [createAccordionContext] = createContextScope(ACCORDION_NAME, [\n createCollectionScope$2,\n createCollapsibleScope\n]);\nvar useCollapsibleScope = createCollapsibleScope();\nvar Accordion$1 = React__default.forwardRef(\n (props, forwardedRef) => {\n const { type, ...accordionProps } = props;\n const singleProps = accordionProps;\n const multipleProps = accordionProps;\n return /* @__PURE__ */ jsx(Collection$2.Provider, { scope: props.__scopeAccordion, children: type === \"multiple\" ? /* @__PURE__ */ jsx(AccordionImplMultiple, { ...multipleProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(AccordionImplSingle, { ...singleProps, ref: forwardedRef }) });\n }\n);\nAccordion$1.displayName = ACCORDION_NAME;\nvar [AccordionValueProvider, useAccordionValueContext] = createAccordionContext(ACCORDION_NAME);\nvar [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccordionContext(\n ACCORDION_NAME,\n { collapsible: false }\n);\nvar AccordionImplSingle = React__default.forwardRef(\n (props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n collapsible = false,\n ...accordionSingleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? \"\",\n onChange: onValueChange,\n caller: ACCORDION_NAME\n });\n return /* @__PURE__ */ jsx(\n AccordionValueProvider,\n {\n scope: props.__scopeAccordion,\n value: React__default.useMemo(() => value ? [value] : [], [value]),\n onItemOpen: setValue,\n onItemClose: React__default.useCallback(() => collapsible && setValue(\"\"), [collapsible, setValue]),\n children: /* @__PURE__ */ jsx(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible, children: /* @__PURE__ */ jsx(AccordionImpl, { ...accordionSingleProps, ref: forwardedRef }) })\n }\n );\n }\n);\nvar AccordionImplMultiple = React__default.forwardRef((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n ...accordionMultipleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? [],\n onChange: onValueChange,\n caller: ACCORDION_NAME\n });\n const handleItemOpen = React__default.useCallback(\n (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n const handleItemClose = React__default.useCallback(\n (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),\n [setValue]\n );\n return /* @__PURE__ */ jsx(\n AccordionValueProvider,\n {\n scope: props.__scopeAccordion,\n value,\n onItemOpen: handleItemOpen,\n onItemClose: handleItemClose,\n children: /* @__PURE__ */ jsx(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible: true, children: /* @__PURE__ */ jsx(AccordionImpl, { ...accordionMultipleProps, ref: forwardedRef }) })\n }\n );\n});\nvar [AccordionImplProvider, useAccordionContext] = createAccordionContext(ACCORDION_NAME);\nvar AccordionImpl = React__default.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, disabled, dir, orientation = \"vertical\", ...accordionProps } = props;\n const accordionRef = React__default.useRef(null);\n const composedRefs = useComposedRefs(accordionRef, forwardedRef);\n const getItems = useCollection$2(__scopeAccordion);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === \"ltr\";\n const handleKeyDown = composeEventHandlers(props.onKeyDown, (event) => {\n if (!ACCORDION_KEYS.includes(event.key)) return;\n const target = event.target;\n const triggerCollection = getItems().filter((item) => !item.ref.current?.disabled);\n const triggerIndex = triggerCollection.findIndex((item) => item.ref.current === target);\n const triggerCount = triggerCollection.length;\n if (triggerIndex === -1) return;\n event.preventDefault();\n let nextIndex = triggerIndex;\n const homeIndex = 0;\n const endIndex = triggerCount - 1;\n const moveNext = () => {\n nextIndex = triggerIndex + 1;\n if (nextIndex > endIndex) {\n nextIndex = homeIndex;\n }\n };\n const movePrev = () => {\n nextIndex = triggerIndex - 1;\n if (nextIndex < homeIndex) {\n nextIndex = endIndex;\n }\n };\n switch (event.key) {\n case \"Home\":\n nextIndex = homeIndex;\n break;\n case \"End\":\n nextIndex = endIndex;\n break;\n case \"ArrowRight\":\n if (orientation === \"horizontal\") {\n if (isDirectionLTR) {\n moveNext();\n } else {\n movePrev();\n }\n }\n break;\n case \"ArrowDown\":\n if (orientation === \"vertical\") {\n moveNext();\n }\n break;\n case \"ArrowLeft\":\n if (orientation === \"horizontal\") {\n if (isDirectionLTR) {\n movePrev();\n } else {\n moveNext();\n }\n }\n break;\n case \"ArrowUp\":\n if (orientation === \"vertical\") {\n movePrev();\n }\n break;\n }\n const clampedIndex = nextIndex % triggerCount;\n triggerCollection[clampedIndex].ref.current?.focus();\n });\n return /* @__PURE__ */ jsx(\n AccordionImplProvider,\n {\n scope: __scopeAccordion,\n disabled,\n direction: dir,\n orientation,\n children: /* @__PURE__ */ jsx(Collection$2.Slot, { scope: __scopeAccordion, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...accordionProps,\n \"data-orientation\": orientation,\n ref: composedRefs,\n onKeyDown: disabled ? void 0 : handleKeyDown\n }\n ) })\n }\n );\n }\n);\nvar ITEM_NAME$3 = \"AccordionItem\";\nvar [AccordionItemProvider, useAccordionItemContext] = createAccordionContext(ITEM_NAME$3);\nvar AccordionItem$1 = React__default.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, value, ...accordionItemProps } = props;\n const accordionContext = useAccordionContext(ITEM_NAME$3, __scopeAccordion);\n const valueContext = useAccordionValueContext(ITEM_NAME$3, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n const triggerId = useId();\n const open = value && valueContext.value.includes(value) || false;\n const disabled = accordionContext.disabled || props.disabled;\n return /* @__PURE__ */ jsx(\n AccordionItemProvider,\n {\n scope: __scopeAccordion,\n open,\n disabled,\n triggerId,\n children: /* @__PURE__ */ jsx(\n Root$1,\n {\n \"data-orientation\": accordionContext.orientation,\n \"data-state\": getState$1(open),\n ...collapsibleScope,\n ...accordionItemProps,\n ref: forwardedRef,\n disabled,\n open,\n onOpenChange: (open2) => {\n if (open2) {\n valueContext.onItemOpen(value);\n } else {\n valueContext.onItemClose(value);\n }\n }\n }\n )\n }\n );\n }\n);\nAccordionItem$1.displayName = ITEM_NAME$3;\nvar HEADER_NAME = \"AccordionHeader\";\nvar AccordionHeader = React__default.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...headerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);\n return /* @__PURE__ */ jsx(\n Primitive.h3,\n {\n \"data-orientation\": accordionContext.orientation,\n \"data-state\": getState$1(itemContext.open),\n \"data-disabled\": itemContext.disabled ? \"\" : void 0,\n ...headerProps,\n ref: forwardedRef\n }\n );\n }\n);\nAccordionHeader.displayName = HEADER_NAME;\nvar TRIGGER_NAME$4 = \"AccordionTrigger\";\nvar AccordionTrigger$1 = React__default.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...triggerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(TRIGGER_NAME$4, __scopeAccordion);\n const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME$4, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return /* @__PURE__ */ jsx(Collection$2.ItemSlot, { scope: __scopeAccordion, children: /* @__PURE__ */ jsx(\n Trigger$3,\n {\n \"aria-disabled\": itemContext.open && !collapsibleContext.collapsible || void 0,\n \"data-orientation\": accordionContext.orientation,\n id: itemContext.triggerId,\n ...collapsibleScope,\n ...triggerProps,\n ref: forwardedRef\n }\n ) });\n }\n);\nAccordionTrigger$1.displayName = TRIGGER_NAME$4;\nvar CONTENT_NAME$4 = \"AccordionContent\";\nvar AccordionContent$1 = React__default.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...contentProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(CONTENT_NAME$4, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return /* @__PURE__ */ jsx(\n Content$1,\n {\n role: \"region\",\n \"aria-labelledby\": itemContext.triggerId,\n \"data-orientation\": accordionContext.orientation,\n ...collapsibleScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n [\"--radix-accordion-content-height\"]: \"var(--radix-collapsible-content-height)\",\n [\"--radix-accordion-content-width\"]: \"var(--radix-collapsible-content-width)\",\n ...props.style\n }\n }\n );\n }\n);\nAccordionContent$1.displayName = CONTENT_NAME$4;\nfunction getState$1(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2$4 = Accordion$1;\nvar Item$1 = AccordionItem$1;\nvar Header = AccordionHeader;\nvar Trigger2$1 = AccordionTrigger$1;\nvar Content2$3 = AccordionContent$1;\nfunction Accordion({ ...props }) {\n return /* @__PURE__ */ jsx(Root2$4, { \"data-slot\": \"accordion\", ...props });\n}\nfunction AccordionItem({ className, ...props }) {\n return /* @__PURE__ */ jsx(Item$1, { \"data-slot\": \"accordion-item\", className: cn(\"border-b last:border-b-0\", className), ...props });\n}\nfunction AccordionTrigger({ className, children, ...props }) {\n return /* @__PURE__ */ jsx(Header, { className: \"flex\", children: /* @__PURE__ */ jsxs(\n Trigger2$1,\n {\n \"data-slot\": \"accordion-trigger\",\n className: cn(\n \"focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180\",\n className\n ),\n ...props,\n children: [\n children,\n /* @__PURE__ */ jsx(ChevronDown, { className: \"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200\" })\n ]\n }\n ) });\n}\nfunction AccordionContent({ className, children, ...props }) {\n return /* @__PURE__ */ jsx(\n Content2$3,\n {\n \"data-slot\": \"accordion-content\",\n className: \"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\",\n ...props,\n children: /* @__PURE__ */ jsx(\"div\", { className: cn(\"pt-0 pb-4\", className), children })\n }\n );\n}\nvar NAVIGATION_MENU_NAME = \"NavigationMenu\";\nvar [Collection$1, useCollection$1, createCollectionScope$1] = createCollection(NAVIGATION_MENU_NAME);\nvar [FocusGroupCollection, useFocusGroupCollection, createFocusGroupCollectionScope] = createCollection(NAVIGATION_MENU_NAME);\nvar [createNavigationMenuContext] = createContextScope(\n NAVIGATION_MENU_NAME,\n [createCollectionScope$1, createFocusGroupCollectionScope]\n);\nvar [NavigationMenuProviderImpl, useNavigationMenuContext] = createNavigationMenuContext(NAVIGATION_MENU_NAME);\nvar [ViewportContentProvider, useViewportContentContext] = createNavigationMenuContext(NAVIGATION_MENU_NAME);\nvar NavigationMenu$1 = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeNavigationMenu,\n value: valueProp,\n onValueChange,\n defaultValue,\n delayDuration = 200,\n skipDelayDuration = 300,\n orientation = \"horizontal\",\n dir,\n ...NavigationMenuProps\n } = props;\n const [navigationMenu, setNavigationMenu] = React.useState(null);\n const composedRef = useComposedRefs(forwardedRef, (node) => setNavigationMenu(node));\n const direction = useDirection(dir);\n const openTimerRef = React.useRef(0);\n const closeTimerRef = React.useRef(0);\n const skipDelayTimerRef = React.useRef(0);\n const [isOpenDelayed, setIsOpenDelayed] = React.useState(true);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: (value2) => {\n const isOpen = value2 !== \"\";\n const hasSkipDelayDuration = skipDelayDuration > 0;\n if (isOpen) {\n window.clearTimeout(skipDelayTimerRef.current);\n if (hasSkipDelayDuration) setIsOpenDelayed(false);\n } else {\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(\n () => setIsOpenDelayed(true),\n skipDelayDuration\n );\n }\n onValueChange?.(value2);\n },\n defaultProp: defaultValue ?? \"\",\n caller: NAVIGATION_MENU_NAME\n });\n const startCloseTimer = React.useCallback(() => {\n window.clearTimeout(closeTimerRef.current);\n closeTimerRef.current = window.setTimeout(() => setValue(\"\"), 150);\n }, [setValue]);\n const handleOpen = React.useCallback(\n (itemValue) => {\n window.clearTimeout(closeTimerRef.current);\n setValue(itemValue);\n },\n [setValue]\n );\n const handleDelayedOpen = React.useCallback(\n (itemValue) => {\n const isOpenItem = value === itemValue;\n if (isOpenItem) {\n window.clearTimeout(closeTimerRef.current);\n } else {\n openTimerRef.current = window.setTimeout(() => {\n window.clearTimeout(closeTimerRef.current);\n setValue(itemValue);\n }, delayDuration);\n }\n },\n [value, setValue, delayDuration]\n );\n React.useEffect(() => {\n return () => {\n window.clearTimeout(openTimerRef.current);\n window.clearTimeout(closeTimerRef.current);\n window.clearTimeout(skipDelayTimerRef.current);\n };\n }, []);\n return /* @__PURE__ */ jsx(\n NavigationMenuProvider,\n {\n scope: __scopeNavigationMenu,\n isRootMenu: true,\n value,\n dir: direction,\n orientation,\n rootNavigationMenu: navigationMenu,\n onTriggerEnter: (itemValue) => {\n window.clearTimeout(openTimerRef.current);\n if (isOpenDelayed) handleDelayedOpen(itemValue);\n else handleOpen(itemValue);\n },\n onTriggerLeave: () => {\n window.clearTimeout(openTimerRef.current);\n startCloseTimer();\n },\n onContentEnter: () => window.clearTimeout(closeTimerRef.current),\n onContentLeave: startCloseTimer,\n onItemSelect: (itemValue) => {\n setValue((prevValue) => prevValue === itemValue ? \"\" : itemValue);\n },\n onItemDismiss: () => setValue(\"\"),\n children: /* @__PURE__ */ jsx(\n Primitive.nav,\n {\n \"aria-label\": \"Main\",\n \"data-orientation\": orientation,\n dir: direction,\n ...NavigationMenuProps,\n ref: composedRef\n }\n )\n }\n );\n }\n);\nNavigationMenu$1.displayName = NAVIGATION_MENU_NAME;\nvar SUB_NAME$1 = \"NavigationMenuSub\";\nvar NavigationMenuSub = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeNavigationMenu,\n value: valueProp,\n onValueChange,\n defaultValue,\n orientation = \"horizontal\",\n ...subProps\n } = props;\n const context = useNavigationMenuContext(SUB_NAME$1, __scopeNavigationMenu);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue ?? \"\",\n caller: SUB_NAME$1\n });\n return /* @__PURE__ */ jsx(\n NavigationMenuProvider,\n {\n scope: __scopeNavigationMenu,\n isRootMenu: false,\n value,\n dir: context.dir,\n orientation,\n rootNavigationMenu: context.rootNavigationMenu,\n onTriggerEnter: (itemValue) => setValue(itemValue),\n onItemSelect: (itemValue) => setValue(itemValue),\n onItemDismiss: () => setValue(\"\"),\n children: /* @__PURE__ */ jsx(Primitive.div, { \"data-orientation\": orientation, ...subProps, ref: forwardedRef })\n }\n );\n }\n);\nNavigationMenuSub.displayName = SUB_NAME$1;\nvar NavigationMenuProvider = (props) => {\n const {\n scope,\n isRootMenu,\n rootNavigationMenu,\n dir,\n orientation,\n children,\n value,\n onItemSelect,\n onItemDismiss,\n onTriggerEnter,\n onTriggerLeave,\n onContentEnter,\n onContentLeave\n } = props;\n const [viewport, setViewport] = React.useState(null);\n const [viewportContent, setViewportContent] = React.useState(/* @__PURE__ */ new Map());\n const [indicatorTrack, setIndicatorTrack] = React.useState(null);\n return /* @__PURE__ */ jsx(\n NavigationMenuProviderImpl,\n {\n scope,\n isRootMenu,\n rootNavigationMenu,\n value,\n previousValue: usePrevious(value),\n baseId: useId(),\n dir,\n orientation,\n viewport,\n onViewportChange: setViewport,\n indicatorTrack,\n onIndicatorTrackChange: setIndicatorTrack,\n onTriggerEnter: useCallbackRef(onTriggerEnter),\n onTriggerLeave: useCallbackRef(onTriggerLeave),\n onContentEnter: useCallbackRef(onContentEnter),\n onContentLeave: useCallbackRef(onContentLeave),\n onItemSelect: useCallbackRef(onItemSelect),\n onItemDismiss: useCallbackRef(onItemDismiss),\n onViewportContentChange: React.useCallback((contentValue, contentData) => {\n setViewportContent((prevContent) => {\n prevContent.set(contentValue, contentData);\n return new Map(prevContent);\n });\n }, []),\n onViewportContentRemove: React.useCallback((contentValue) => {\n setViewportContent((prevContent) => {\n if (!prevContent.has(contentValue)) return prevContent;\n prevContent.delete(contentValue);\n return new Map(prevContent);\n });\n }, []),\n children: /* @__PURE__ */ jsx(Collection$1.Provider, { scope, children: /* @__PURE__ */ jsx(ViewportContentProvider, { scope, items: viewportContent, children }) })\n }\n );\n};\nvar LIST_NAME = \"NavigationMenuList\";\nvar NavigationMenuList$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeNavigationMenu, ...listProps } = props;\n const context = useNavigationMenuContext(LIST_NAME, __scopeNavigationMenu);\n const list = /* @__PURE__ */ jsx(Primitive.ul, { \"data-orientation\": context.orientation, ...listProps, ref: forwardedRef });\n return /* @__PURE__ */ jsx(Primitive.div, { style: { position: \"relative\" }, ref: context.onIndicatorTrackChange, children: /* @__PURE__ */ jsx(Collection$1.Slot, { scope: __scopeNavigationMenu, children: context.isRootMenu ? /* @__PURE__ */ jsx(FocusGroup, { asChild: true, children: list }) : list }) });\n }\n);\nNavigationMenuList$1.displayName = LIST_NAME;\nvar ITEM_NAME$2 = \"NavigationMenuItem\";\nvar [NavigationMenuItemContextProvider, useNavigationMenuItemContext] = createNavigationMenuContext(ITEM_NAME$2);\nvar NavigationMenuItem$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeNavigationMenu, value: valueProp, ...itemProps } = props;\n const autoValue = useId();\n const value = valueProp || autoValue || \"LEGACY_REACT_AUTO_VALUE\";\n const contentRef = React.useRef(null);\n const triggerRef = React.useRef(null);\n const focusProxyRef = React.useRef(null);\n const restoreContentTabOrderRef = React.useRef(() => {\n });\n const wasEscapeCloseRef = React.useRef(false);\n const handleContentEntry = React.useCallback((side = \"start\") => {\n if (contentRef.current) {\n restoreContentTabOrderRef.current();\n const candidates = getTabbableCandidates(contentRef.current);\n if (candidates.length) focusFirst(side === \"start\" ? candidates : candidates.reverse());\n }\n }, []);\n const handleContentExit = React.useCallback(() => {\n if (contentRef.current) {\n const candidates = getTabbableCandidates(contentRef.current);\n if (candidates.length) restoreContentTabOrderRef.current = removeFromTabOrder(candidates);\n }\n }, []);\n return /* @__PURE__ */ jsx(\n NavigationMenuItemContextProvider,\n {\n scope: __scopeNavigationMenu,\n value,\n triggerRef,\n contentRef,\n focusProxyRef,\n wasEscapeCloseRef,\n onEntryKeyDown: handleContentEntry,\n onFocusProxyEnter: handleContentEntry,\n onRootContentClose: handleContentExit,\n onContentFocusOutside: handleContentExit,\n children: /* @__PURE__ */ jsx(Primitive.li, { ...itemProps, ref: forwardedRef })\n }\n );\n }\n);\nNavigationMenuItem$1.displayName = ITEM_NAME$2;\nvar TRIGGER_NAME$3 = \"NavigationMenuTrigger\";\nvar NavigationMenuTrigger$1 = React.forwardRef((props, forwardedRef) => {\n const { __scopeNavigationMenu, disabled, ...triggerProps } = props;\n const context = useNavigationMenuContext(TRIGGER_NAME$3, props.__scopeNavigationMenu);\n const itemContext = useNavigationMenuItemContext(TRIGGER_NAME$3, props.__scopeNavigationMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, itemContext.triggerRef, forwardedRef);\n const triggerId = makeTriggerId(context.baseId, itemContext.value);\n const contentId = makeContentId(context.baseId, itemContext.value);\n const hasPointerMoveOpenedRef = React.useRef(false);\n const wasClickCloseRef = React.useRef(false);\n const open = itemContext.value === context.value;\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(Collection$1.ItemSlot, { scope: __scopeNavigationMenu, value: itemContext.value, children: /* @__PURE__ */ jsx(FocusGroupItem, { asChild: true, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n id: triggerId,\n disabled,\n \"data-disabled\": disabled ? \"\" : void 0,\n \"data-state\": getOpenState(open),\n \"aria-expanded\": open,\n \"aria-controls\": contentId,\n ...triggerProps,\n ref: composedRefs,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, () => {\n wasClickCloseRef.current = false;\n itemContext.wasEscapeCloseRef.current = false;\n }),\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse(() => {\n if (disabled || wasClickCloseRef.current || itemContext.wasEscapeCloseRef.current || hasPointerMoveOpenedRef.current)\n return;\n context.onTriggerEnter(itemContext.value);\n hasPointerMoveOpenedRef.current = true;\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse(() => {\n if (disabled) return;\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n })\n ),\n onClick: composeEventHandlers(props.onClick, () => {\n context.onItemSelect(itemContext.value);\n wasClickCloseRef.current = open;\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const verticalEntryKey = context.dir === \"rtl\" ? \"ArrowLeft\" : \"ArrowRight\";\n const entryKey = { horizontal: \"ArrowDown\", vertical: verticalEntryKey }[context.orientation];\n if (open && event.key === entryKey) {\n itemContext.onEntryKeyDown();\n event.preventDefault();\n }\n })\n }\n ) }) }),\n open && /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n Root$6,\n {\n \"aria-hidden\": true,\n tabIndex: 0,\n ref: itemContext.focusProxyRef,\n onFocus: (event) => {\n const content = itemContext.contentRef.current;\n const prevFocusedElement = event.relatedTarget;\n const wasTriggerFocused = prevFocusedElement === ref.current;\n const wasFocusFromContent = content?.contains(prevFocusedElement);\n if (wasTriggerFocused || !wasFocusFromContent) {\n itemContext.onFocusProxyEnter(wasTriggerFocused ? \"start\" : \"end\");\n }\n }\n }\n ),\n context.viewport && /* @__PURE__ */ jsx(\"span\", { \"aria-owns\": contentId })\n ] })\n ] });\n});\nNavigationMenuTrigger$1.displayName = TRIGGER_NAME$3;\nvar LINK_NAME = \"NavigationMenuLink\";\nvar LINK_SELECT = \"navigationMenu.linkSelect\";\nvar NavigationMenuLink$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeNavigationMenu, active, onSelect, ...linkProps } = props;\n return /* @__PURE__ */ jsx(FocusGroupItem, { asChild: true, children: /* @__PURE__ */ jsx(\n Primitive.a,\n {\n \"data-active\": active ? \"\" : void 0,\n \"aria-current\": active ? \"page\" : void 0,\n ...linkProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(\n props.onClick,\n (event) => {\n const target = event.target;\n const linkSelectEvent = new CustomEvent(LINK_SELECT, {\n bubbles: true,\n cancelable: true\n });\n target.addEventListener(LINK_SELECT, (event2) => onSelect?.(event2), { once: true });\n dispatchDiscreteCustomEvent(target, linkSelectEvent);\n if (!linkSelectEvent.defaultPrevented && !event.metaKey) {\n const rootContentDismissEvent = new CustomEvent(ROOT_CONTENT_DISMISS, {\n bubbles: true,\n cancelable: true\n });\n dispatchDiscreteCustomEvent(target, rootContentDismissEvent);\n }\n },\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nNavigationMenuLink$1.displayName = LINK_NAME;\nvar INDICATOR_NAME$2 = \"NavigationMenuIndicator\";\nvar NavigationMenuIndicator$1 = React.forwardRef((props, forwardedRef) => {\n const { forceMount, ...indicatorProps } = props;\n const context = useNavigationMenuContext(INDICATOR_NAME$2, props.__scopeNavigationMenu);\n const isVisible = Boolean(context.value);\n return context.indicatorTrack ? ReactDOM__default.createPortal(\n /* @__PURE__ */ jsx(Presence, { present: forceMount || isVisible, children: /* @__PURE__ */ jsx(NavigationMenuIndicatorImpl, { ...indicatorProps, ref: forwardedRef }) }),\n context.indicatorTrack\n ) : null;\n});\nNavigationMenuIndicator$1.displayName = INDICATOR_NAME$2;\nvar NavigationMenuIndicatorImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeNavigationMenu, ...indicatorProps } = props;\n const context = useNavigationMenuContext(INDICATOR_NAME$2, __scopeNavigationMenu);\n const getItems = useCollection$1(__scopeNavigationMenu);\n const [activeTrigger, setActiveTrigger] = React.useState(\n null\n );\n const [position, setPosition] = React.useState(null);\n const isHorizontal = context.orientation === \"horizontal\";\n const isVisible = Boolean(context.value);\n React.useEffect(() => {\n const items = getItems();\n const triggerNode = items.find((item) => item.value === context.value)?.ref.current;\n if (triggerNode) setActiveTrigger(triggerNode);\n }, [getItems, context.value]);\n const handlePositionChange = () => {\n if (activeTrigger) {\n setPosition({\n size: isHorizontal ? activeTrigger.offsetWidth : activeTrigger.offsetHeight,\n offset: isHorizontal ? activeTrigger.offsetLeft : activeTrigger.offsetTop\n });\n }\n };\n useResizeObserver(activeTrigger, handlePositionChange);\n useResizeObserver(context.indicatorTrack, handlePositionChange);\n return position ? /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-hidden\": true,\n \"data-state\": isVisible ? \"visible\" : \"hidden\",\n \"data-orientation\": context.orientation,\n ...indicatorProps,\n ref: forwardedRef,\n style: {\n position: \"absolute\",\n ...isHorizontal ? {\n left: 0,\n width: position.size + \"px\",\n transform: `translateX(${position.offset}px)`\n } : {\n top: 0,\n height: position.size + \"px\",\n transform: `translateY(${position.offset}px)`\n },\n ...indicatorProps.style\n }\n }\n ) : null;\n});\nvar CONTENT_NAME$3 = \"NavigationMenuContent\";\nvar NavigationMenuContent$1 = React.forwardRef((props, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useNavigationMenuContext(CONTENT_NAME$3, props.__scopeNavigationMenu);\n const itemContext = useNavigationMenuItemContext(CONTENT_NAME$3, props.__scopeNavigationMenu);\n const composedRefs = useComposedRefs(itemContext.contentRef, forwardedRef);\n const open = itemContext.value === context.value;\n const commonProps = {\n value: itemContext.value,\n triggerRef: itemContext.triggerRef,\n focusProxyRef: itemContext.focusProxyRef,\n wasEscapeCloseRef: itemContext.wasEscapeCloseRef,\n onContentFocusOutside: itemContext.onContentFocusOutside,\n onRootContentClose: itemContext.onRootContentClose,\n ...contentProps\n };\n return !context.viewport ? /* @__PURE__ */ jsx(Presence, { present: forceMount || open, children: /* @__PURE__ */ jsx(\n NavigationMenuContentImpl,\n {\n \"data-state\": getOpenState(open),\n ...commonProps,\n ref: composedRefs,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, context.onContentEnter),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse(context.onContentLeave)\n ),\n style: {\n // Prevent interaction when animating out\n pointerEvents: !open && context.isRootMenu ? \"none\" : void 0,\n ...commonProps.style\n }\n }\n ) }) : /* @__PURE__ */ jsx(ViewportContentMounter, { forceMount, ...commonProps, ref: composedRefs });\n});\nNavigationMenuContent$1.displayName = CONTENT_NAME$3;\nvar ViewportContentMounter = React.forwardRef((props, forwardedRef) => {\n const context = useNavigationMenuContext(CONTENT_NAME$3, props.__scopeNavigationMenu);\n const { onViewportContentChange, onViewportContentRemove } = context;\n useLayoutEffect2(() => {\n onViewportContentChange(props.value, {\n ref: forwardedRef,\n ...props\n });\n }, [props, forwardedRef, onViewportContentChange]);\n useLayoutEffect2(() => {\n return () => onViewportContentRemove(props.value);\n }, [props.value, onViewportContentRemove]);\n return null;\n});\nvar ROOT_CONTENT_DISMISS = \"navigationMenu.rootContentDismiss\";\nvar NavigationMenuContentImpl = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeNavigationMenu,\n value,\n triggerRef,\n focusProxyRef,\n wasEscapeCloseRef,\n onRootContentClose,\n onContentFocusOutside,\n ...contentProps\n } = props;\n const context = useNavigationMenuContext(CONTENT_NAME$3, __scopeNavigationMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const getItems = useCollection$1(__scopeNavigationMenu);\n const prevMotionAttributeRef = React.useRef(null);\n const { onItemDismiss } = context;\n React.useEffect(() => {\n const content = ref.current;\n if (context.isRootMenu && content) {\n const handleClose = () => {\n onItemDismiss();\n onRootContentClose();\n if (content.contains(document.activeElement)) triggerRef.current?.focus();\n };\n content.addEventListener(ROOT_CONTENT_DISMISS, handleClose);\n return () => content.removeEventListener(ROOT_CONTENT_DISMISS, handleClose);\n }\n }, [context.isRootMenu, props.value, triggerRef, onItemDismiss, onRootContentClose]);\n const motionAttribute = React.useMemo(() => {\n const items = getItems();\n const values = items.map((item) => item.value);\n if (context.dir === \"rtl\") values.reverse();\n const index = values.indexOf(context.value);\n const prevIndex = values.indexOf(context.previousValue);\n const isSelected = value === context.value;\n const wasSelected = prevIndex === values.indexOf(value);\n if (!isSelected && !wasSelected) return prevMotionAttributeRef.current;\n const attribute = (() => {\n if (index !== prevIndex) {\n if (isSelected && prevIndex !== -1) return index > prevIndex ? \"from-end\" : \"from-start\";\n if (wasSelected && index !== -1) return index > prevIndex ? \"to-start\" : \"to-end\";\n }\n return null;\n })();\n prevMotionAttributeRef.current = attribute;\n return attribute;\n }, [context.previousValue, context.value, context.dir, getItems, value]);\n return /* @__PURE__ */ jsx(FocusGroup, { asChild: true, children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n id: contentId,\n \"aria-labelledby\": triggerId,\n \"data-motion\": motionAttribute,\n \"data-orientation\": context.orientation,\n ...contentProps,\n ref: composedRefs,\n disableOutsidePointerEvents: false,\n onDismiss: () => {\n const rootContentDismissEvent = new Event(ROOT_CONTENT_DISMISS, {\n bubbles: true,\n cancelable: true\n });\n ref.current?.dispatchEvent(rootContentDismissEvent);\n },\n onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n onContentFocusOutside();\n const target = event.target;\n if (context.rootNavigationMenu?.contains(target)) event.preventDefault();\n }),\n onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {\n const target = event.target;\n const isTrigger = getItems().some((item) => item.ref.current?.contains(target));\n const isRootViewport = context.isRootMenu && context.viewport?.contains(target);\n if (isTrigger || isRootViewport || !context.isRootMenu) event.preventDefault();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isMetaKey = event.altKey || event.ctrlKey || event.metaKey;\n const isTabKey = event.key === \"Tab\" && !isMetaKey;\n if (isTabKey) {\n const candidates = getTabbableCandidates(event.currentTarget);\n const focusedElement = document.activeElement;\n const index = candidates.findIndex((candidate) => candidate === focusedElement);\n const isMovingBackwards = event.shiftKey;\n const nextCandidates = isMovingBackwards ? candidates.slice(0, index).reverse() : candidates.slice(index + 1, candidates.length);\n if (focusFirst(nextCandidates)) {\n event.preventDefault();\n } else {\n focusProxyRef.current?.focus();\n }\n }\n }),\n onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (_event) => {\n wasEscapeCloseRef.current = true;\n })\n }\n ) });\n});\nvar VIEWPORT_NAME = \"NavigationMenuViewport\";\nvar NavigationMenuViewport$1 = React.forwardRef((props, forwardedRef) => {\n const { forceMount, ...viewportProps } = props;\n const context = useNavigationMenuContext(VIEWPORT_NAME, props.__scopeNavigationMenu);\n const open = Boolean(context.value);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || open, children: /* @__PURE__ */ jsx(NavigationMenuViewportImpl, { ...viewportProps, ref: forwardedRef }) });\n});\nNavigationMenuViewport$1.displayName = VIEWPORT_NAME;\nvar NavigationMenuViewportImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeNavigationMenu, children, ...viewportImplProps } = props;\n const context = useNavigationMenuContext(VIEWPORT_NAME, __scopeNavigationMenu);\n const composedRefs = useComposedRefs(forwardedRef, context.onViewportChange);\n const viewportContentContext = useViewportContentContext(\n CONTENT_NAME$3,\n props.__scopeNavigationMenu\n );\n const [size, setSize] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const viewportWidth = size ? size?.width + \"px\" : void 0;\n const viewportHeight = size ? size?.height + \"px\" : void 0;\n const open = Boolean(context.value);\n const activeContentValue = open ? context.value : context.previousValue;\n const handleSizeChange = () => {\n if (content) setSize({ width: content.offsetWidth, height: content.offsetHeight });\n };\n useResizeObserver(content, handleSizeChange);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getOpenState(open),\n \"data-orientation\": context.orientation,\n ...viewportImplProps,\n ref: composedRefs,\n style: {\n // Prevent interaction when animating out\n pointerEvents: !open && context.isRootMenu ? \"none\" : void 0,\n [\"--radix-navigation-menu-viewport-width\"]: viewportWidth,\n [\"--radix-navigation-menu-viewport-height\"]: viewportHeight,\n ...viewportImplProps.style\n },\n onPointerEnter: composeEventHandlers(props.onPointerEnter, context.onContentEnter),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, whenMouse(context.onContentLeave)),\n children: Array.from(viewportContentContext.items).map(([value, { ref, forceMount, ...props2 }]) => {\n const isActive = activeContentValue === value;\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || isActive, children: /* @__PURE__ */ jsx(\n NavigationMenuContentImpl,\n {\n ...props2,\n ref: composeRefs(ref, (node) => {\n if (isActive && node) setContent(node);\n })\n }\n ) }, value);\n })\n }\n );\n});\nvar FOCUS_GROUP_NAME = \"FocusGroup\";\nvar FocusGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeNavigationMenu, ...groupProps } = props;\n const context = useNavigationMenuContext(FOCUS_GROUP_NAME, __scopeNavigationMenu);\n return /* @__PURE__ */ jsx(FocusGroupCollection.Provider, { scope: __scopeNavigationMenu, children: /* @__PURE__ */ jsx(FocusGroupCollection.Slot, { scope: __scopeNavigationMenu, children: /* @__PURE__ */ jsx(Primitive.div, { dir: context.dir, ...groupProps, ref: forwardedRef }) }) });\n }\n);\nvar ARROW_KEYS$1 = [\"ArrowRight\", \"ArrowLeft\", \"ArrowUp\", \"ArrowDown\"];\nvar FOCUS_GROUP_ITEM_NAME = \"FocusGroupItem\";\nvar FocusGroupItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeNavigationMenu, ...groupProps } = props;\n const getItems = useFocusGroupCollection(__scopeNavigationMenu);\n const context = useNavigationMenuContext(FOCUS_GROUP_ITEM_NAME, __scopeNavigationMenu);\n return /* @__PURE__ */ jsx(FocusGroupCollection.ItemSlot, { scope: __scopeNavigationMenu, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n ...groupProps,\n ref: forwardedRef,\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isFocusNavigationKey = [\"Home\", \"End\", ...ARROW_KEYS$1].includes(event.key);\n if (isFocusNavigationKey) {\n let candidateNodes = getItems().map((item) => item.ref.current);\n const prevItemKey = context.dir === \"rtl\" ? \"ArrowRight\" : \"ArrowLeft\";\n const prevKeys = [prevItemKey, \"ArrowUp\", \"End\"];\n if (prevKeys.includes(event.key)) candidateNodes.reverse();\n if (ARROW_KEYS$1.includes(event.key)) {\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nfunction getTabbableCandidates(container) {\n const nodes = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (node) => {\n const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n while (walker.nextNode()) nodes.push(walker.currentNode);\n return nodes;\n}\nfunction focusFirst(candidates) {\n const previouslyFocusedElement = document.activeElement;\n return candidates.some((candidate) => {\n if (candidate === previouslyFocusedElement) return true;\n candidate.focus();\n return document.activeElement !== previouslyFocusedElement;\n });\n}\nfunction removeFromTabOrder(candidates) {\n candidates.forEach((candidate) => {\n candidate.dataset.tabindex = candidate.getAttribute(\"tabindex\") || \"\";\n candidate.setAttribute(\"tabindex\", \"-1\");\n });\n return () => {\n candidates.forEach((candidate) => {\n const prevTabIndex = candidate.dataset.tabindex;\n candidate.setAttribute(\"tabindex\", prevTabIndex);\n });\n };\n}\nfunction useResizeObserver(element, onResize) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect2(() => {\n let rAF = 0;\n if (element) {\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n}\nfunction getOpenState(open) {\n return open ? \"open\" : \"closed\";\n}\nfunction makeTriggerId(baseId, value) {\n return `${baseId}-trigger-${value}`;\n}\nfunction makeContentId(baseId, value) {\n return `${baseId}-content-${value}`;\n}\nfunction whenMouse(handler) {\n return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root2$3 = NavigationMenu$1;\nvar List = NavigationMenuList$1;\nvar Item = NavigationMenuItem$1;\nvar Trigger$2 = NavigationMenuTrigger$1;\nvar Link = NavigationMenuLink$1;\nvar Indicator$1 = NavigationMenuIndicator$1;\nvar Content = NavigationMenuContent$1;\nvar Viewport = NavigationMenuViewport$1;\nfunction NavigationMenu({\n className,\n children,\n viewport = true,\n ...props\n}) {\n return /* @__PURE__ */ jsxs(\n Root2$3,\n {\n \"data-slot\": \"navigation-menu\",\n \"data-viewport\": viewport,\n className: cn(\"group/navigation-menu relative flex max-w-max flex-1 items-center justify-center\", className),\n ...props,\n children: [\n children,\n viewport && /* @__PURE__ */ jsx(NavigationMenuViewport, {})\n ]\n }\n );\n}\nfunction NavigationMenuList({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n List,\n {\n \"data-slot\": \"navigation-menu-list\",\n className: cn(\"group flex flex-1 list-none items-center justify-center gap-1\", className),\n ...props\n }\n );\n}\nfunction NavigationMenuItem({ className, ...props }) {\n return /* @__PURE__ */ jsx(Item, { \"data-slot\": \"navigation-menu-item\", className: cn(\"relative\", className), ...props });\n}\nconst navigationMenuTriggerStyle = cva(\n \"group inline-flex h-9 w-max items-center justify-center rounded-md px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1\"\n);\nfunction NavigationMenuTrigger({ className, children, ...props }) {\n return /* @__PURE__ */ jsxs(\n Trigger$2,\n {\n \"data-slot\": \"navigation-menu-trigger\",\n className: cn(navigationMenuTriggerStyle(), \"group\", className),\n ...props,\n children: [\n children,\n \" \",\n /* @__PURE__ */ jsx(\n ChevronDown,\n {\n className: \"relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180\",\n \"aria-hidden\": \"true\"\n }\n )\n ]\n }\n );\n}\nfunction NavigationMenuContent({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n Content,\n {\n \"data-slot\": \"navigation-menu-content\",\n className: cn(\n \"data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto\",\n \"group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:shadow-medium group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none\",\n className\n ),\n ...props\n }\n );\n}\nfunction NavigationMenuViewport({ className, ...props }) {\n return /* @__PURE__ */ jsx(\"div\", { className: cn(\"absolute top-full left-0 isolate z-50 flex justify-center\"), children: /* @__PURE__ */ jsx(\n Viewport,\n {\n \"data-slot\": \"navigation-menu-viewport\",\n className: cn(\n \"origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]\",\n className\n ),\n ...props\n }\n ) });\n}\nfunction NavigationMenuLink({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n Link,\n {\n \"data-slot\": \"navigation-menu-link\",\n className: cn(\n \"data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 \",\n className\n ),\n ...props\n }\n );\n}\nfunction NavigationMenuIndicator({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n Indicator$1,\n {\n \"data-slot\": \"navigation-menu-indicator\",\n className: cn(\n \"data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden \",\n className\n ),\n ...props,\n children: /* @__PURE__ */ jsx(\"div\", { className: \"bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md\" })\n }\n );\n}\nfunction Card({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n \"div\",\n {\n \"data-slot\": \"card\",\n className: cn(\"text-card-foreground flex flex-col gap-6 rounded-lg py-6 bg-content1 \", className),\n ...props\n }\n );\n}\nfunction CardHeader({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n \"div\",\n {\n \"data-slot\": \"card-header\",\n className: cn(\n \"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6\",\n className\n ),\n ...props\n }\n );\n}\nfunction CardTitle({ className, ...props }) {\n return /* @__PURE__ */ jsx(\"div\", { \"data-slot\": \"card-title\", className: cn(\"leading-none font-semibold\", className), ...props });\n}\nfunction CardDescription({ className, ...props }) {\n return /* @__PURE__ */ jsx(\"div\", { \"data-slot\": \"card-description\", className: cn(\"text-muted-foreground text-sm\", className), ...props });\n}\nfunction CardAction({ className, ...props }) {\n return /* @__PURE__ */ jsx(\"div\", { \"data-slot\": \"card-action\", className: cn(\"col-start-2 row-span-2 row-start-1 self-start justify-self-end\", className), ...props });\n}\nfunction CardContent({ className, ...props }) {\n return /* @__PURE__ */ jsx(\"div\", { \"data-slot\": \"card-content\", className: cn(\"px-6\", className), ...props });\n}\nfunction CardFooter({ className, ...props }) {\n return /* @__PURE__ */ jsx(\"div\", { \"data-slot\": \"card-footer\", className: cn(\"flex items-center px-6 [.border-t]:pt-6\", className), ...props });\n}\nfunction InputOTP({\n className,\n containerClassName,\n ...props\n}) {\n return /* @__PURE__ */ jsx(\n Lt,\n {\n \"data-slot\": \"input-otp\",\n containerClassName: cn(\"flex items-center gap-2 has-disabled:opacity-50\", containerClassName),\n className: cn(\"disabled:cursor-not-allowed\", className),\n ...props\n }\n );\n}\nfunction InputOTPGroup({ className, ...props }) {\n return /* @__PURE__ */ jsx(\"div\", { \"data-slot\": \"input-otp-group\", className: cn(\"flex items-center\", className), ...props });\n}\nfunction InputOTPSlot({\n index,\n className,\n ...props\n}) {\n const inputOTPContext = React.useContext(jt);\n const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n \"data-slot\": \"input-otp-slot\",\n \"data-active\": isActive,\n className: cn(\n \"data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40 aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive dark:bg-input/30 border-input relative flex h-9 w-9 items-center justify-center border-y border-r text-sm shadow-xs transition-all outline-none first:rounded-l-md first:border-l last:rounded-r-md data-[active=true]:z-10 data-[active=true]:ring-[3px]\",\n className\n ),\n ...props,\n children: [\n char,\n hasFakeCaret && /* @__PURE__ */ jsx(\"div\", { className: \"pointer-events-none absolute inset-0 flex items-center justify-center\", children: /* @__PURE__ */ jsx(\"div\", { className: \"animate-caret-blink bg-foreground h-4 w-px duration-1000\" }) })\n ]\n }\n );\n}\nfunction InputOTPSeparator({ ...props }) {\n return /* @__PURE__ */ jsx(\"div\", { \"data-slot\": \"input-otp-separator\", role: \"separator\", ...props, children: /* @__PURE__ */ jsx(Minus, {}) });\n}\nvar NAME = \"AspectRatio\";\nvar AspectRatio$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { ratio = 1 / 1, style, ...aspectRatioProps } = props;\n return /* @__PURE__ */ jsx(\n \"div\",\n {\n style: {\n // ensures inner element is contained\n position: \"relative\",\n // ensures padding bottom trick maths works\n width: \"100%\",\n paddingBottom: `${100 / ratio}%`\n },\n \"data-radix-aspect-ratio-wrapper\": \"\",\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...aspectRatioProps,\n ref: forwardedRef,\n style: {\n ...style,\n // ensures children expand in ratio\n position: \"absolute\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n }\n )\n }\n );\n }\n);\nAspectRatio$1.displayName = NAME;\nvar Root = AspectRatio$1;\nfunction AspectRatio({ ...props }) {\n return /* @__PURE__ */ jsx(Root, { \"data-slot\": \"aspect-ratio\", ...props });\n}\nvar RADIO_NAME = \"Radio\";\nvar [createRadioContext, createRadioScope] = createContextScope(RADIO_NAME);\nvar [RadioProvider, useRadioContext] = createRadioContext(RADIO_NAME);\nvar Radio = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRadio,\n name,\n checked = false,\n required,\n disabled,\n value = \"on\",\n onCheck,\n form,\n ...radioProps\n } = props;\n const [button2, setButton] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const isFormControl = button2 ? form || !!button2.closest(\"form\") : true;\n return /* @__PURE__ */ jsxs(RadioProvider, { scope: __scopeRadio, checked, disabled, children: [\n /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"radio\",\n \"aria-checked\": checked,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...radioProps,\n ref: composedRefs,\n onClick: composeEventHandlers(props.onClick, (event) => {\n if (!checked) onCheck?.();\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n ),\n isFormControl && /* @__PURE__ */ jsx(\n RadioBubbleInput,\n {\n control: button2,\n bubbles: !hasConsumerStoppedPropagationRef.current,\n name,\n value,\n checked,\n required,\n disabled,\n form,\n style: { transform: \"translateX(-100%)\" }\n }\n )\n ] });\n }\n);\nRadio.displayName = RADIO_NAME;\nvar INDICATOR_NAME$1 = \"RadioIndicator\";\nvar RadioIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeRadio, forceMount, ...indicatorProps } = props;\n const context = useRadioContext(INDICATOR_NAME$1, __scopeRadio);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.checked, children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": getState(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...indicatorProps,\n ref: forwardedRef\n }\n ) });\n }\n);\nRadioIndicator.displayName = INDICATOR_NAME$1;\nvar BUBBLE_INPUT_NAME = \"RadioBubbleInput\";\nvar RadioBubbleInput = React.forwardRef(\n ({\n __scopeRadio,\n control,\n checked,\n bubbles = true,\n ...props\n }, forwardedRef) => {\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React.useEffect(() => {\n const input = ref.current;\n if (!input) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n inputProto,\n \"checked\"\n );\n const setChecked = descriptor.set;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n setChecked.call(input, checked);\n input.dispatchEvent(event);\n }\n }, [prevChecked, checked, bubbles]);\n return /* @__PURE__ */ jsx(\n Primitive.input,\n {\n type: \"radio\",\n \"aria-hidden\": true,\n defaultChecked: checked,\n ...props,\n tabIndex: -1,\n ref: composedRefs,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0\n }\n }\n );\n }\n);\nRadioBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction getState(checked) {\n return checked ? \"checked\" : \"unchecked\";\n}\nvar ARROW_KEYS = [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"];\nvar RADIO_GROUP_NAME$1 = \"RadioGroup\";\nvar [createRadioGroupContext] = createContextScope(RADIO_GROUP_NAME$1, [\n createRovingFocusGroupScope,\n createRadioScope\n]);\nvar useRovingFocusGroupScope$1 = createRovingFocusGroupScope();\nvar useRadioScope = createRadioScope();\nvar [RadioGroupProvider, useRadioGroupContext] = createRadioGroupContext(RADIO_GROUP_NAME$1);\nvar RadioGroup$1 = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRadioGroup,\n name,\n defaultValue,\n value: valueProp,\n required = false,\n disabled = false,\n orientation,\n dir,\n loop = true,\n onValueChange,\n ...groupProps\n } = props;\n const rovingFocusGroupScope = useRovingFocusGroupScope$1(__scopeRadioGroup);\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? null,\n onChange: onValueChange,\n caller: RADIO_GROUP_NAME$1\n });\n return /* @__PURE__ */ jsx(\n RadioGroupProvider,\n {\n scope: __scopeRadioGroup,\n name,\n required,\n disabled,\n value,\n onValueChange: setValue,\n children: /* @__PURE__ */ jsx(\n Root$3,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation,\n dir: direction,\n loop,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"radiogroup\",\n \"aria-required\": required,\n \"aria-orientation\": orientation,\n \"data-disabled\": disabled ? \"\" : void 0,\n dir: direction,\n ...groupProps,\n ref: forwardedRef\n }\n )\n }\n )\n }\n );\n }\n);\nRadioGroup$1.displayName = RADIO_GROUP_NAME$1;\nvar ITEM_NAME$1 = \"RadioGroupItem\";\nvar RadioGroupItem$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeRadioGroup, disabled, ...itemProps } = props;\n const context = useRadioGroupContext(ITEM_NAME$1, __scopeRadioGroup);\n const isDisabled = context.disabled || disabled;\n const rovingFocusGroupScope = useRovingFocusGroupScope$1(__scopeRadioGroup);\n const radioScope = useRadioScope(__scopeRadioGroup);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const checked = context.value === itemProps.value;\n const isArrowKeyPressedRef = React.useRef(false);\n React.useEffect(() => {\n const handleKeyDown = (event) => {\n if (ARROW_KEYS.includes(event.key)) {\n isArrowKeyPressedRef.current = true;\n }\n };\n const handleKeyUp = () => isArrowKeyPressedRef.current = false;\n document.addEventListener(\"keydown\", handleKeyDown);\n document.addEventListener(\"keyup\", handleKeyUp);\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n document.removeEventListener(\"keyup\", handleKeyUp);\n };\n }, []);\n return /* @__PURE__ */ jsx(\n Item$2,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n focusable: !isDisabled,\n active: checked,\n children: /* @__PURE__ */ jsx(\n Radio,\n {\n disabled: isDisabled,\n required: context.required,\n checked,\n ...radioScope,\n ...itemProps,\n name: context.name,\n ref: composedRefs,\n onCheck: () => context.onValueChange(itemProps.value),\n onKeyDown: composeEventHandlers((event) => {\n if (event.key === \"Enter\") event.preventDefault();\n }),\n onFocus: composeEventHandlers(itemProps.onFocus, () => {\n if (isArrowKeyPressedRef.current) ref.current?.click();\n })\n }\n )\n }\n );\n }\n);\nRadioGroupItem$1.displayName = ITEM_NAME$1;\nvar INDICATOR_NAME2 = \"RadioGroupIndicator\";\nvar RadioGroupIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeRadioGroup, ...indicatorProps } = props;\n const radioScope = useRadioScope(__scopeRadioGroup);\n return /* @__PURE__ */ jsx(RadioIndicator, { ...radioScope, ...indicatorProps, ref: forwardedRef });\n }\n);\nRadioGroupIndicator.displayName = INDICATOR_NAME2;\nvar Root2$2 = RadioGroup$1;\nvar Item2 = RadioGroupItem$1;\nvar Indicator = RadioGroupIndicator;\nfunction RadioGroup({ className, ...props }) {\n return /* @__PURE__ */ jsx(Root2$2, { \"data-slot\": \"radio-group\", className: cn(\"grid gap-3\", className), ...props });\n}\nfunction RadioGroupItem({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n Item2,\n {\n \"data-slot\": \"radio-group-item\",\n className: cn(\n \"border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50\",\n className\n ),\n ...props,\n children: /* @__PURE__ */ jsx(Indicator, { \"data-slot\": \"radio-group-indicator\", className: \"relative flex items-center justify-center\", children: /* @__PURE__ */ jsx(Circle, { className: \"fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2\" }) })\n }\n );\n}\nfunction Sheet({ ...props }) {\n return /* @__PURE__ */ jsx(Root$5, { \"data-slot\": \"sheet\", ...props });\n}\nfunction SheetTrigger({ ...props }) {\n return /* @__PURE__ */ jsx(Trigger$7, { \"data-slot\": \"sheet-trigger\", ...props });\n}\nfunction SheetClose({ ...props }) {\n return /* @__PURE__ */ jsx(Close, { \"data-slot\": \"sheet-close\", ...props });\n}\nfunction SheetPortal({ ...props }) {\n return /* @__PURE__ */ jsx(Portal$4, { \"data-slot\": \"sheet-portal\", ...props });\n}\nfunction SheetOverlay({ className, backdrop, ...props }) {\n let overlayClass = \"\";\n switch (backdrop) {\n case \"transparent\":\n overlayClass = \"bg-transparent\";\n break;\n case \"opaque\":\n overlayClass = \"bg-black/50\";\n break;\n case \"blur\":\n overlayClass = \"backdrop-blur-md backdrop-saturate-150 bg-overlay/30\";\n break;\n }\n return /* @__PURE__ */ jsx(\n Overlay,\n {\n \"data-slot\": \"sheet-overlay\",\n className: cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n overlayClass,\n className\n ),\n ...props\n }\n );\n}\nfunction SheetContent({\n className,\n children,\n side = \"right\",\n backdrop = \"opaque\",\n showCloseButton = true,\n disabled = false,\n ...props\n}) {\n return /* @__PURE__ */ jsxs(SheetPortal, { children: [\n /* @__PURE__ */ jsx(SheetOverlay, { backdrop }),\n /* @__PURE__ */ jsxs(\n Content$4,\n {\n \"data-slot\": \"sheet-content\",\n className: cn(\n \"bg-content1 data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500\",\n side === \"right\" && \"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 sm:max-w-sm\",\n side === \"left\" && \"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 sm:max-w-sm\",\n side === \"top\" && \"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b\",\n side === \"bottom\" && \"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto \",\n className\n ),\n ...props,\n children: [\n children,\n showCloseButton && /* @__PURE__ */ jsx(Close, { asChild: true, className: \"absolute top-3 right-4 focus:outline-hidden disabled:pointer-events-none\", children: /* @__PURE__ */ jsx(\"div\", { children: /* @__PURE__ */ jsxs(\n Button,\n {\n isIconOnly: true,\n variant: \"light\",\n radius: \"full\",\n \"aria-label\": \"Close\",\n disabled,\n className: \"p-0 w-[36px] h-[36px] min-w-auto bg-default-100 hover:bg-default-200 text-default-500 hover:text-default-600 dark:bg-default-100 dark:hover:bg-default-200 dark:text-default-500 dark:hover:text-default-600 disabled:opacity-50 disabled:pointer-events-none\",\n children: [\n /* @__PURE__ */ jsxs(\"svg\", { width: \"20\", height: \"20\", fill: \"currentColor\", role: \"img\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ jsx(\"path\", { fill: \"none\", d: \"M0 0h21v21H0z\" }),\n /* @__PURE__ */ jsx(\"path\", { d: \"m12.12 10 4.07-4.06a1.5 1.5 0 1 0-2.11-2.12L10 7.88 5.94 3.81a1.5 1.5 0 1 0-2.12 2.12L7.88 10l-4.07 4.06a1.5 1.5 0 0 0 0 2.12 1.51 1.51 0 0 0 2.13 0L10 12.12l4.06 4.07a1.45 1.45 0 0 0 1.06.44 1.5 1.5 0 0 0 1.06-2.56Z\" })\n ] }),\n /* @__PURE__ */ jsx(\"span\", { className: \"sr-only\", children: \"Close\" })\n ]\n }\n ) }) })\n ]\n }\n )\n ] });\n}\nfunction SheetHeader({ className, ...props }) {\n return /* @__PURE__ */ jsx(\"div\", { \"data-slot\": \"sheet-header\", className: cn(\"flex flex-col gap-1.5 p-4\", className), ...props });\n}\nfunction SheetFooter({ className, ...props }) {\n return /* @__PURE__ */ jsx(\"div\", { \"data-slot\": \"sheet-footer\", className: cn(\"mt-auto flex flex-col gap-2 p-4\", className), ...props });\n}\nfunction SheetTitle({ className, ...props }) {\n return /* @__PURE__ */ jsx(Title, { \"data-slot\": \"sheet-title\", className: cn(\"text-foreground font-semibold\", className), ...props });\n}\nfunction SheetDescription({ className, ...props }) {\n return /* @__PURE__ */ jsx(Description, { \"data-slot\": \"sheet-description\", className: cn(\"text-muted-foreground text-sm\", className), ...props });\n}\nvar MENUBAR_NAME = \"Menubar\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(MENUBAR_NAME);\nvar [createMenubarContext] = createContextScope(MENUBAR_NAME, [\n createCollectionScope,\n createRovingFocusGroupScope\n]);\nvar useMenuScope = createMenuScope();\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [MenubarContextProvider, useMenubarContext] = createMenubarContext(MENUBAR_NAME);\nvar Menubar$1 = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeMenubar,\n value: valueProp,\n onValueChange,\n defaultValue,\n loop = true,\n dir,\n ...menubarProps\n } = props;\n const direction = useDirection(dir);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenubar);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue ?? \"\",\n caller: MENUBAR_NAME\n });\n const [currentTabStopId, setCurrentTabStopId] = React.useState(null);\n return /* @__PURE__ */ jsx(\n MenubarContextProvider,\n {\n scope: __scopeMenubar,\n value,\n onMenuOpen: React.useCallback(\n (value2) => {\n setValue(value2);\n setCurrentTabStopId(value2);\n },\n [setValue]\n ),\n onMenuClose: React.useCallback(() => setValue(\"\"), [setValue]),\n onMenuToggle: React.useCallback(\n (value2) => {\n setValue((prevValue) => prevValue ? \"\" : value2);\n setCurrentTabStopId(value2);\n },\n [setValue]\n ),\n dir: direction,\n loop,\n children: /* @__PURE__ */ jsx(Collection.Provider, { scope: __scopeMenubar, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeMenubar, children: /* @__PURE__ */ jsx(\n Root$3,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation: \"horizontal\",\n loop,\n dir: direction,\n currentTabStopId,\n onCurrentTabStopIdChange: setCurrentTabStopId,\n children: /* @__PURE__ */ jsx(Primitive.div, { role: \"menubar\", ...menubarProps, ref: forwardedRef })\n }\n ) }) })\n }\n );\n }\n);\nMenubar$1.displayName = MENUBAR_NAME;\nvar MENU_NAME = \"MenubarMenu\";\nvar [MenubarMenuProvider, useMenubarMenuContext] = createMenubarContext(MENU_NAME);\nvar MenubarMenu$1 = (props) => {\n const { __scopeMenubar, value: valueProp, ...menuProps } = props;\n const autoValue = useId();\n const value = valueProp || autoValue || \"LEGACY_REACT_AUTO_VALUE\";\n const context = useMenubarContext(MENU_NAME, __scopeMenubar);\n const menuScope = useMenuScope(__scopeMenubar);\n const triggerRef = React.useRef(null);\n const wasKeyboardTriggerOpenRef = React.useRef(false);\n const open = context.value === value;\n React.useEffect(() => {\n if (!open) wasKeyboardTriggerOpenRef.current = false;\n }, [open]);\n return /* @__PURE__ */ jsx(\n MenubarMenuProvider,\n {\n scope: __scopeMenubar,\n value,\n triggerId: useId(),\n triggerRef,\n contentId: useId(),\n wasKeyboardTriggerOpenRef,\n children: /* @__PURE__ */ jsx(\n Root3$1,\n {\n ...menuScope,\n open,\n onOpenChange: (open2) => {\n if (!open2) context.onMenuClose();\n },\n modal: false,\n dir: context.dir,\n ...menuProps\n }\n )\n }\n );\n};\nMenubarMenu$1.displayName = MENU_NAME;\nvar TRIGGER_NAME$2 = \"MenubarTrigger\";\nvar MenubarTrigger$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenubar, disabled = false, ...triggerProps } = props;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenubar);\n const menuScope = useMenuScope(__scopeMenubar);\n const context = useMenubarContext(TRIGGER_NAME$2, __scopeMenubar);\n const menuContext = useMenubarMenuContext(TRIGGER_NAME$2, __scopeMenubar);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, menuContext.triggerRef);\n const [isFocused, setIsFocused] = React.useState(false);\n const open = context.value === menuContext.value;\n return /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: __scopeMenubar, value: menuContext.value, disabled, children: /* @__PURE__ */ jsx(\n Item$2,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n focusable: !disabled,\n tabStopId: menuContext.value,\n children: /* @__PURE__ */ jsx(Anchor2$1, { asChild: true, ...menuScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"menuitem\",\n id: menuContext.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": open,\n \"aria-controls\": open ? menuContext.contentId : void 0,\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n ...triggerProps,\n ref: composedRefs,\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onMenuOpen(menuContext.value);\n if (!open) event.preventDefault();\n }\n }),\n onPointerEnter: composeEventHandlers(props.onPointerEnter, () => {\n const menubarOpen = Boolean(context.value);\n if (menubarOpen && !open) {\n context.onMenuOpen(menuContext.value);\n ref.current?.focus();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (disabled) return;\n if ([\"Enter\", \" \"].includes(event.key)) context.onMenuToggle(menuContext.value);\n if (event.key === \"ArrowDown\") context.onMenuOpen(menuContext.value);\n if ([\"Enter\", \" \", \"ArrowDown\"].includes(event.key)) {\n menuContext.wasKeyboardTriggerOpenRef.current = true;\n event.preventDefault();\n }\n }),\n onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))\n }\n ) })\n }\n ) });\n }\n);\nMenubarTrigger$1.displayName = TRIGGER_NAME$2;\nvar PORTAL_NAME$2 = \"MenubarPortal\";\nvar MenubarPortal$1 = (props) => {\n const { __scopeMenubar, ...portalProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n return /* @__PURE__ */ jsx(Portal$2, { ...menuScope, ...portalProps });\n};\nMenubarPortal$1.displayName = PORTAL_NAME$2;\nvar CONTENT_NAME$2 = \"MenubarContent\";\nvar MenubarContent$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenubar, align = \"start\", ...contentProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n const context = useMenubarContext(CONTENT_NAME$2, __scopeMenubar);\n const menuContext = useMenubarMenuContext(CONTENT_NAME$2, __scopeMenubar);\n const getItems = useCollection(__scopeMenubar);\n const hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n Content2$6,\n {\n id: menuContext.contentId,\n \"aria-labelledby\": menuContext.triggerId,\n \"data-radix-menubar-content\": \"\",\n ...menuScope,\n ...contentProps,\n ref: forwardedRef,\n align,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n const menubarOpen = Boolean(context.value);\n if (!menubarOpen && !hasInteractedOutsideRef.current) {\n menuContext.triggerRef.current?.focus();\n }\n hasInteractedOutsideRef.current = false;\n event.preventDefault();\n }),\n onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n const target = event.target;\n const isMenubarTrigger = getItems().some((item) => item.ref.current?.contains(target));\n if (isMenubarTrigger) event.preventDefault();\n }),\n onInteractOutside: composeEventHandlers(props.onInteractOutside, () => {\n hasInteractedOutsideRef.current = true;\n }),\n onEntryFocus: (event) => {\n if (!menuContext.wasKeyboardTriggerOpenRef.current) event.preventDefault();\n },\n onKeyDown: composeEventHandlers(\n props.onKeyDown,\n (event) => {\n if ([\"ArrowRight\", \"ArrowLeft\"].includes(event.key)) {\n const target = event.target;\n const targetIsSubTrigger = target.hasAttribute(\"data-radix-menubar-subtrigger\");\n const isKeyDownInsideSubMenu = target.closest(\"[data-radix-menubar-content]\") !== event.currentTarget;\n const prevMenuKey = context.dir === \"rtl\" ? \"ArrowRight\" : \"ArrowLeft\";\n const isPrevKey = prevMenuKey === event.key;\n const isNextKey = !isPrevKey;\n if (isNextKey && targetIsSubTrigger) return;\n if (isKeyDownInsideSubMenu && isPrevKey) return;\n const items = getItems().filter((item) => !item.disabled);\n let candidateValues = items.map((item) => item.value);\n if (isPrevKey) candidateValues.reverse();\n const currentIndex = candidateValues.indexOf(menuContext.value);\n candidateValues = context.loop ? wrapArray(candidateValues, currentIndex + 1) : candidateValues.slice(currentIndex + 1);\n const [nextValue] = candidateValues;\n if (nextValue) context.onMenuOpen(nextValue);\n }\n },\n { checkForDefaultPrevented: false }\n ),\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-menubar-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-menubar-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-menubar-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-menubar-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-menubar-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n }\n);\nMenubarContent$1.displayName = CONTENT_NAME$2;\nvar GROUP_NAME = \"MenubarGroup\";\nvar MenubarGroup$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenubar, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n return /* @__PURE__ */ jsx(Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n }\n);\nMenubarGroup$1.displayName = GROUP_NAME;\nvar LABEL_NAME = \"MenubarLabel\";\nvar MenubarLabel$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenubar, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n return /* @__PURE__ */ jsx(Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n }\n);\nMenubarLabel$1.displayName = LABEL_NAME;\nvar ITEM_NAME = \"MenubarItem\";\nvar MenubarItem$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenubar, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n return /* @__PURE__ */ jsx(Item2$2, { ...menuScope, ...itemProps, ref: forwardedRef });\n }\n);\nMenubarItem$1.displayName = ITEM_NAME;\nvar CHECKBOX_ITEM_NAME = \"MenubarCheckboxItem\";\nvar MenubarCheckboxItem$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenubar, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n return /* @__PURE__ */ jsx(CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n }\n);\nMenubarCheckboxItem$1.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"MenubarRadioGroup\";\nvar MenubarRadioGroup$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenubar, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n return /* @__PURE__ */ jsx(RadioGroup$2, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n }\n);\nMenubarRadioGroup$1.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"MenubarRadioItem\";\nvar MenubarRadioItem$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenubar, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n return /* @__PURE__ */ jsx(RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n }\n);\nMenubarRadioItem$1.displayName = RADIO_ITEM_NAME;\nvar INDICATOR_NAME = \"MenubarItemIndicator\";\nvar MenubarItemIndicator = React.forwardRef((props, forwardedRef) => {\n const { __scopeMenubar, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n return /* @__PURE__ */ jsx(ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n});\nMenubarItemIndicator.displayName = INDICATOR_NAME;\nvar SEPARATOR_NAME = \"MenubarSeparator\";\nvar MenubarSeparator$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenubar, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n return /* @__PURE__ */ jsx(Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n }\n);\nMenubarSeparator$1.displayName = SEPARATOR_NAME;\nvar ARROW_NAME$1 = \"MenubarArrow\";\nvar MenubarArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenubar, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n return /* @__PURE__ */ jsx(Arrow2, { ...menuScope, ...arrowProps, ref: forwardedRef });\n }\n);\nMenubarArrow.displayName = ARROW_NAME$1;\nvar SUB_NAME = \"MenubarSub\";\nvar MenubarSub$1 = (props) => {\n const { __scopeMenubar, children, open: openProp, onOpenChange, defaultOpen } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: SUB_NAME\n });\n return /* @__PURE__ */ jsx(Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n};\nMenubarSub$1.displayName = SUB_NAME;\nvar SUB_TRIGGER_NAME = \"MenubarSubTrigger\";\nvar MenubarSubTrigger$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenubar, ...subTriggerProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n return /* @__PURE__ */ jsx(\n SubTrigger,\n {\n \"data-radix-menubar-subtrigger\": \"\",\n ...menuScope,\n ...subTriggerProps,\n ref: forwardedRef\n }\n );\n }\n);\nMenubarSubTrigger$1.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"MenubarSubContent\";\nvar MenubarSubContent$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenubar, ...subContentProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n return /* @__PURE__ */ jsx(\n SubContent,\n {\n ...menuScope,\n \"data-radix-menubar-content\": \"\",\n ...subContentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-menubar-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-menubar-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-menubar-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-menubar-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-menubar-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n }\n);\nMenubarSubContent$1.displayName = SUB_CONTENT_NAME;\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root3 = Menubar$1;\nvar Menu = MenubarMenu$1;\nvar Trigger$1 = MenubarTrigger$1;\nvar Portal2$1 = MenubarPortal$1;\nvar Content2$2 = MenubarContent$1;\nvar Group2 = MenubarGroup$1;\nvar Label2 = MenubarLabel$1;\nvar Item3 = MenubarItem$1;\nvar CheckboxItem2 = MenubarCheckboxItem$1;\nvar RadioGroup2 = MenubarRadioGroup$1;\nvar RadioItem2 = MenubarRadioItem$1;\nvar ItemIndicator2 = MenubarItemIndicator;\nvar Separator2 = MenubarSeparator$1;\nvar Sub2 = MenubarSub$1;\nvar SubTrigger2 = MenubarSubTrigger$1;\nvar SubContent2 = MenubarSubContent$1;\nfunction Menubar({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n Root3,\n {\n \"data-slot\": \"menubar\",\n className: cn(\"bg-content1 flex h-9 items-center gap-1 rounded-md border p-1 shadow-xs\", className),\n ...props\n }\n );\n}\nfunction MenubarMenu({ ...props }) {\n return /* @__PURE__ */ jsx(Menu, { \"data-slot\": \"menubar-menu\", ...props });\n}\nfunction MenubarGroup({ ...props }) {\n return /* @__PURE__ */ jsx(Group2, { \"data-slot\": \"menubar-group\", ...props });\n}\nfunction MenubarPortal({ ...props }) {\n return /* @__PURE__ */ jsx(Portal2$1, { \"data-slot\": \"menubar-portal\", ...props });\n}\nfunction MenubarRadioGroup({ ...props }) {\n return /* @__PURE__ */ jsx(RadioGroup2, { \"data-slot\": \"menubar-radio-group\", ...props });\n}\nfunction MenubarTrigger({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n Trigger$1,\n {\n \"data-slot\": \"menubar-trigger\",\n className: cn(\n \"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none\",\n className\n ),\n ...props\n }\n );\n}\nfunction MenubarContent({\n className,\n align = \"start\",\n alignOffset = -4,\n sideOffset = 8,\n ...props\n}) {\n return /* @__PURE__ */ jsx(MenubarPortal, { children: /* @__PURE__ */ jsx(\n Content2$2,\n {\n \"data-slot\": \"menubar-content\",\n align,\n alignOffset,\n sideOffset,\n className: cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[12rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-md\",\n className\n ),\n ...props\n }\n ) });\n}\nfunction MenubarItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}) {\n return /* @__PURE__ */ jsx(\n Item3,\n {\n \"data-slot\": \"menubar-item\",\n \"data-inset\": inset,\n \"data-variant\": variant,\n className: cn(\n \"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n ),\n ...props\n }\n );\n}\nfunction MenubarCheckboxItem({ className, children, checked, ...props }) {\n return /* @__PURE__ */ jsxs(\n CheckboxItem2,\n {\n \"data-slot\": \"menubar-checkbox-item\",\n className: cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n ),\n checked,\n ...props,\n children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\", children: /* @__PURE__ */ jsx(ItemIndicator2, { children: /* @__PURE__ */ jsx(Check, { className: \"size-4\" }) }) }),\n children\n ]\n }\n );\n}\nfunction MenubarRadioItem({ className, children, ...props }) {\n return /* @__PURE__ */ jsxs(\n RadioItem2,\n {\n \"data-slot\": \"menubar-radio-item\",\n className: cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n ),\n ...props,\n children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\", children: /* @__PURE__ */ jsx(ItemIndicator2, { children: /* @__PURE__ */ jsx(Circle, { className: \"size-2 fill-current\" }) }) }),\n children\n ]\n }\n );\n}\nfunction MenubarLabel({\n className,\n inset,\n ...props\n}) {\n return /* @__PURE__ */ jsx(\n Label2,\n {\n \"data-slot\": \"menubar-label\",\n \"data-inset\": inset,\n className: cn(\"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8\", className),\n ...props\n }\n );\n}\nfunction MenubarSeparator({ className, ...props }) {\n return /* @__PURE__ */ jsx(Separator2, { \"data-slot\": \"menubar-separator\", className: cn(\"bg-border -mx-1 my-1 h-px\", className), ...props });\n}\nfunction MenubarShortcut({ className, ...props }) {\n return /* @__PURE__ */ jsx(\"span\", { \"data-slot\": \"menubar-shortcut\", className: cn(\"text-muted-foreground ml-auto text-xs tracking-widest\", className), ...props });\n}\nfunction MenubarSub({ ...props }) {\n return /* @__PURE__ */ jsx(Sub2, { \"data-slot\": \"menubar-sub\", ...props });\n}\nfunction MenubarSubTrigger({\n className,\n inset,\n children,\n ...props\n}) {\n return /* @__PURE__ */ jsxs(\n SubTrigger2,\n {\n \"data-slot\": \"menubar-sub-trigger\",\n \"data-inset\": inset,\n className: cn(\n \"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[inset]:pl-8\",\n className\n ),\n ...props,\n children: [\n children,\n /* @__PURE__ */ jsx(ChevronRight, { className: \"ml-auto h-4 w-4\" })\n ]\n }\n );\n}\nfunction MenubarSubContent({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n SubContent2,\n {\n \"data-slot\": \"menubar-sub-content\",\n className: cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg\",\n className\n ),\n ...props\n }\n );\n}\nvar ROOT_NAME = \"AlertDialog\";\nvar [createAlertDialogContext] = createContextScope(ROOT_NAME, [\n createDialogScope\n]);\nvar useDialogScope = createDialogScope();\nvar AlertDialog$1 = (props) => {\n const { __scopeAlertDialog, ...alertDialogProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(Root$5, { ...dialogScope, ...alertDialogProps, modal: true });\n};\nAlertDialog$1.displayName = ROOT_NAME;\nvar TRIGGER_NAME$1 = \"AlertDialogTrigger\";\nvar AlertDialogTrigger$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...triggerProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(Trigger$7, { ...dialogScope, ...triggerProps, ref: forwardedRef });\n }\n);\nAlertDialogTrigger$1.displayName = TRIGGER_NAME$1;\nvar PORTAL_NAME$1 = \"AlertDialogPortal\";\nvar AlertDialogPortal$1 = (props) => {\n const { __scopeAlertDialog, ...portalProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(Portal$4, { ...dialogScope, ...portalProps });\n};\nAlertDialogPortal$1.displayName = PORTAL_NAME$1;\nvar OVERLAY_NAME = \"AlertDialogOverlay\";\nvar AlertDialogOverlay$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...overlayProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(Overlay, { ...dialogScope, ...overlayProps, ref: forwardedRef });\n }\n);\nAlertDialogOverlay$1.displayName = OVERLAY_NAME;\nvar CONTENT_NAME$1 = \"AlertDialogContent\";\nvar [AlertDialogContentProvider, useAlertDialogContentContext] = createAlertDialogContext(CONTENT_NAME$1);\nvar Slottable = createSlottable(\"AlertDialogContent\");\nvar AlertDialogContent$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, children, ...contentProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const cancelRef = React.useRef(null);\n return /* @__PURE__ */ jsx(\n WarningProvider,\n {\n contentName: CONTENT_NAME$1,\n titleName: TITLE_NAME,\n docsSlug: \"alert-dialog\",\n children: /* @__PURE__ */ jsx(AlertDialogContentProvider, { scope: __scopeAlertDialog, cancelRef, children: /* @__PURE__ */ jsxs(\n Content$4,\n {\n role: \"alertdialog\",\n ...dialogScope,\n ...contentProps,\n ref: composedRefs,\n onOpenAutoFocus: composeEventHandlers(contentProps.onOpenAutoFocus, (event) => {\n event.preventDefault();\n cancelRef.current?.focus({ preventScroll: true });\n }),\n onPointerDownOutside: (event) => event.preventDefault(),\n onInteractOutside: (event) => event.preventDefault(),\n children: [\n /* @__PURE__ */ jsx(Slottable, { children }),\n /* @__PURE__ */ jsx(DescriptionWarning, { contentRef })\n ]\n }\n ) })\n }\n );\n }\n);\nAlertDialogContent$1.displayName = CONTENT_NAME$1;\nvar TITLE_NAME = \"AlertDialogTitle\";\nvar AlertDialogTitle$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...titleProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(Title, { ...dialogScope, ...titleProps, ref: forwardedRef });\n }\n);\nAlertDialogTitle$1.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"AlertDialogDescription\";\nvar AlertDialogDescription$1 = React.forwardRef((props, forwardedRef) => {\n const { __scopeAlertDialog, ...descriptionProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(Description, { ...dialogScope, ...descriptionProps, ref: forwardedRef });\n});\nAlertDialogDescription$1.displayName = DESCRIPTION_NAME;\nvar ACTION_NAME = \"AlertDialogAction\";\nvar AlertDialogAction$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...actionProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(Close, { ...dialogScope, ...actionProps, ref: forwardedRef });\n }\n);\nAlertDialogAction$1.displayName = ACTION_NAME;\nvar CANCEL_NAME = \"AlertDialogCancel\";\nvar AlertDialogCancel$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...cancelProps } = props;\n const { cancelRef } = useAlertDialogContentContext(CANCEL_NAME, __scopeAlertDialog);\n const dialogScope = useDialogScope(__scopeAlertDialog);\n const ref = useComposedRefs(forwardedRef, cancelRef);\n return /* @__PURE__ */ jsx(Close, { ...dialogScope, ...cancelProps, ref });\n }\n);\nAlertDialogCancel$1.displayName = CANCEL_NAME;\nvar DescriptionWarning = ({ contentRef }) => {\n const MESSAGE = `\\`${CONTENT_NAME$1}\\` requires a description for the component to be accessible for screen reader users.\n\nYou can add a description to the \\`${CONTENT_NAME$1}\\` by passing a \\`${DESCRIPTION_NAME}\\` component as a child, which also benefits sighted users by adding visible context to the dialog.\n\nAlternatively, you can use your own component as a description by assigning it an \\`id\\` and passing the same value to the \\`aria-describedby\\` prop in \\`${CONTENT_NAME$1}\\`. If the description is confusing or duplicative for sighted users, you can use the \\`@radix-ui/react-visually-hidden\\` primitive as a wrapper around your description component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;\n React.useEffect(() => {\n const hasDescription = document.getElementById(\n contentRef.current?.getAttribute(\"aria-describedby\")\n );\n if (!hasDescription) ;\n }, [MESSAGE, contentRef]);\n return null;\n};\nvar Root2$1 = AlertDialog$1;\nvar Trigger2 = AlertDialogTrigger$1;\nvar Portal2 = AlertDialogPortal$1;\nvar Overlay2 = AlertDialogOverlay$1;\nvar Content2$1 = AlertDialogContent$1;\nvar Action = AlertDialogAction$1;\nvar Cancel = AlertDialogCancel$1;\nvar Title2 = AlertDialogTitle$1;\nvar Description2 = AlertDialogDescription$1;\nfunction AlertDialog({ ...props }) {\n return /* @__PURE__ */ jsx(Root2$1, { \"data-slot\": \"alert-dialog\", ...props });\n}\nfunction AlertDialogTrigger({ ...props }) {\n return /* @__PURE__ */ jsx(Trigger2, { \"data-slot\": \"alert-dialog-trigger\", ...props });\n}\nfunction AlertDialogPortal({ ...props }) {\n return /* @__PURE__ */ jsx(Portal2, { \"data-slot\": \"alert-dialog-portal\", ...props });\n}\nfunction AlertDialogOverlay({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n Overlay2,\n {\n \"data-slot\": \"alert-dialog-overlay\",\n className: cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n className\n ),\n ...props\n }\n );\n}\nfunction AlertDialogContent({ className, ...props }) {\n return /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [\n /* @__PURE__ */ jsx(AlertDialogOverlay, {}),\n /* @__PURE__ */ jsx(\n Content2$1,\n {\n \"data-slot\": \"alert-dialog-content\",\n className: cn(\n \"bg-content1 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg p-6 shadow-lg duration-200 sm:max-w-lg\",\n className\n ),\n ...props\n }\n )\n ] });\n}\nfunction AlertDialogHeader({ className, ...props }) {\n return /* @__PURE__ */ jsx(\"div\", { \"data-slot\": \"alert-dialog-header\", className: cn(\"flex flex-col gap-2 text-center sm:text-left\", className), ...props });\n}\nfunction AlertDialogFooter({ className, ...props }) {\n return /* @__PURE__ */ jsx(\"div\", { \"data-slot\": \"alert-dialog-footer\", className: cn(\"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\", className), ...props });\n}\nfunction AlertDialogTitle({ className, ...props }) {\n return /* @__PURE__ */ jsx(Title2, { \"data-slot\": \"alert-dialog-title\", className: cn(\"text-lg font-semibold\", className), ...props });\n}\nfunction AlertDialogDescription({ className, ...props }) {\n return /* @__PURE__ */ jsx(\n Description2,\n {\n \"data-slot\": \"alert-dialog-description\",\n className: cn(\"text-muted-foreground text-sm\", className),\n ...props\n }\n );\n}\nfunction AlertDialogAction({ className, ...props }) {\n return /* @__PURE__ */ jsx(Action, { className: cn(button({ color: \"primary\" }), className), ...props });\n}\nfunction AlertDialogCancel({ className, ...props }) {\n return /* @__PURE__ */ jsx(Cancel, { className: cn(button({ variant: \"solid\" }), className), ...props });\n}\nconst AlertConfirmation = ({\n isOpen,\n title,\n description,\n body,\n loading = false,\n onConfirm,\n onCancel,\n onOpenChange,\n buttonCancelText = \"Cancelar\",\n buttonConfirmText = \"Aceptar\",\n colorButtonConfirm = \"primary\",\n showButtonCancel = true\n}) => {\n return /* @__PURE__ */ jsx(AlertDialog, { open: isOpen, onOpenChange: (open) => onOpenChange?.(open), children: /* @__PURE__ */ jsxs(AlertDialogContent, { children: [\n /* @__PURE__ */ jsxs(AlertDialogHeader, { children: [\n title && /* @__PURE__ */ jsx(AlertDialogTitle, { children: title }),\n description && /* @__PURE__ */ jsx(AlertDialogDescription, { children: description }),\n body && /* @__PURE__ */ jsx(\"div\", { className: \"w-full relative\", children: body })\n ] }),\n /* @__PURE__ */ jsxs(AlertDialogFooter, { children: [\n showButtonCancel && /* @__PURE__ */ jsx(Button, { onClick: onCancel, disabled: loading, children: buttonCancelText }),\n /* @__PURE__ */ jsx(Button, { onClick: onConfirm, disabled: loading, isLoading: loading, color: colorButtonConfirm, children: buttonConfirmText })\n ] })\n ] }) });\n};\nvar originalBodyUserSelect;\nvar HOVERCARD_NAME = \"HoverCard\";\nvar [createHoverCardContext] = createContextScope(HOVERCARD_NAME, [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [HoverCardProvider, useHoverCardContext] = createHoverCardContext(HOVERCARD_NAME);\nvar HoverCard$1 = (props) => {\n const {\n __scopeHoverCard,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n openDelay = 700,\n closeDelay = 300\n } = props;\n const popperScope = usePopperScope(__scopeHoverCard);\n const openTimerRef = React.useRef(0);\n const closeTimerRef = React.useRef(0);\n const hasSelectionRef = React.useRef(false);\n const isPointerDownOnContentRef = React.useRef(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: HOVERCARD_NAME\n });\n const handleOpen = React.useCallback(() => {\n clearTimeout(closeTimerRef.current);\n openTimerRef.current = window.setTimeout(() => setOpen(true), openDelay);\n }, [openDelay, setOpen]);\n const handleClose = React.useCallback(() => {\n clearTimeout(openTimerRef.current);\n if (!hasSelectionRef.current && !isPointerDownOnContentRef.current) {\n closeTimerRef.current = window.setTimeout(() => setOpen(false), closeDelay);\n }\n }, [closeDelay, setOpen]);\n const handleDismiss = React.useCallback(() => setOpen(false), [setOpen]);\n React.useEffect(() => {\n return () => {\n clearTimeout(openTimerRef.current);\n clearTimeout(closeTimerRef.current);\n };\n }, []);\n return /* @__PURE__ */ jsx(\n HoverCardProvider,\n {\n scope: __scopeHoverCard,\n open,\n onOpenChange: setOpen,\n onOpen: handleOpen,\n onClose: handleClose,\n onDismiss: handleDismiss,\n hasSelectionRef,\n isPointerDownOnContentRef,\n children: /* @__PURE__ */ jsx(Root2$8, { ...popperScope, children })\n }\n );\n};\nHoverCard$1.displayName = HOVERCARD_NAME;\nvar TRIGGER_NAME = \"HoverCardTrigger\";\nvar HoverCardTrigger$1 = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeHoverCard, ...triggerProps } = props;\n const context = useHoverCardContext(TRIGGER_NAME, __scopeHoverCard);\n const popperScope = usePopperScope(__scopeHoverCard);\n return /* @__PURE__ */ jsx(Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.a,\n {\n \"data-state\": context.open ? \"open\" : \"closed\",\n ...triggerProps,\n ref: forwardedRef,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, excludeTouch(context.onOpen)),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, excludeTouch(context.onClose)),\n onFocus: composeEventHandlers(props.onFocus, context.onOpen),\n onBlur: composeEventHandlers(props.onBlur, context.onClose),\n onTouchStart: composeEventHandlers(props.onTouchStart, (event) => event.preventDefault())\n }\n ) });\n }\n);\nHoverCardTrigger$1.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"HoverCardPortal\";\nvar [PortalProvider, usePortalContext] = createHoverCardContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar HoverCardPortal = (props) => {\n const { __scopeHoverCard, forceMount, children, container } = props;\n const context = useHoverCardContext(PORTAL_NAME, __scopeHoverCard);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeHoverCard, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Portal$3, { asChild: true, container, children }) }) });\n};\nHoverCardPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"HoverCardContent\";\nvar HoverCardContent$1 = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeHoverCard);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useHoverCardContext(CONTENT_NAME, props.__scopeHoverCard);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(\n HoverCardContentImpl,\n {\n \"data-state\": context.open ? \"open\" : \"closed\",\n ...contentProps,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, excludeTouch(context.onOpen)),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, excludeTouch(context.onClose)),\n ref: forwardedRef\n }\n ) });\n }\n);\nHoverCardContent$1.displayName = CONTENT_NAME;\nvar HoverCardContentImpl = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeHoverCard,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = useHoverCardContext(CONTENT_NAME, __scopeHoverCard);\n const popperScope = usePopperScope(__scopeHoverCard);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [containSelection, setContainSelection] = React.useState(false);\n React.useEffect(() => {\n if (containSelection) {\n const body = document.body;\n originalBodyUserSelect = body.style.userSelect || body.style.webkitUserSelect;\n body.style.userSelect = \"none\";\n body.style.webkitUserSelect = \"none\";\n return () => {\n body.style.userSelect = originalBodyUserSelect;\n body.style.webkitUserSelect = originalBodyUserSelect;\n };\n }\n }, [containSelection]);\n React.useEffect(() => {\n if (ref.current) {\n const handlePointerUp = () => {\n setContainSelection(false);\n context.isPointerDownOnContentRef.current = false;\n setTimeout(() => {\n const hasSelection = document.getSelection()?.toString() !== \"\";\n if (hasSelection) context.hasSelectionRef.current = true;\n });\n };\n document.addEventListener(\"pointerup\", handlePointerUp);\n return () => {\n document.removeEventListener(\"pointerup\", handlePointerUp);\n context.hasSelectionRef.current = false;\n context.isPointerDownOnContentRef.current = false;\n };\n }\n }, [context.isPointerDownOnContentRef, context.hasSelectionRef]);\n React.useEffect(() => {\n if (ref.current) {\n const tabbables = getTabbableNodes(ref.current);\n tabbables.forEach((tabbable) => tabbable.setAttribute(\"tabindex\", \"-1\"));\n }\n });\n return /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: false,\n onInteractOutside,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: composeEventHandlers(onFocusOutside, (event) => {\n event.preventDefault();\n }),\n onDismiss: context.onDismiss,\n children: /* @__PURE__ */ jsx(\n Content$3,\n {\n ...popperScope,\n ...contentProps,\n onPointerDown: composeEventHandlers(contentProps.onPointerDown, (event) => {\n if (event.currentTarget.contains(event.target)) {\n setContainSelection(true);\n }\n context.hasSelectionRef.current = false;\n context.isPointerDownOnContentRef.current = true;\n }),\n ref: composedRefs,\n style: {\n ...contentProps.style,\n userSelect: containSelection ? \"text\" : void 0,\n // Safari requires prefix\n WebkitUserSelect: containSelection ? \"text\" : void 0,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-hover-card-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-hover-card-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-hover-card-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-hover-card-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-hover-card-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n )\n }\n );\n});\nvar ARROW_NAME = \"HoverCardArrow\";\nvar HoverCardArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeHoverCard, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeHoverCard);\n return /* @__PURE__ */ jsx(Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nHoverCardArrow.displayName = ARROW_NAME;\nfunction excludeTouch(eventHandler) {\n return (event) => event.pointerType === \"touch\" ? void 0 : eventHandler();\n}\nfunction getTabbableNodes(container) {\n const nodes = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (node) => {\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n while (walker.nextNode()) nodes.push(walker.currentNode);\n return nodes;\n}\nvar Root2 = HoverCard$1;\nvar Trigger = HoverCardTrigger$1;\nvar Portal = HoverCardPortal;\nvar Content2 = HoverCardContent$1;\nfunction HoverCard({ ...props }) {\n return /* @__PURE__ */ jsx(Root2, { \"data-slot\": \"hover-card\", ...props });\n}\nfunction HoverCardTrigger({ ...props }) {\n return /* @__PURE__ */ jsx(Trigger, { \"data-slot\": \"hover-card-trigger\", ...props });\n}\nfunction HoverCardContent({ className, align = \"center\", sideOffset = 4, ...props }) {\n return /* @__PURE__ */ jsx(Portal, { \"data-slot\": \"hover-card-portal\", children: /* @__PURE__ */ jsx(\n Content2,\n {\n \"data-slot\": \"hover-card-content\",\n align,\n sideOffset,\n className: cn(\n \"bg-content1 text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-md p-4 shadow-medium outline-hidden\",\n className\n ),\n ...props\n }\n ) });\n}\nexport {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n AlertConfirmation,\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n AspectRatio,\n Avatar,\n AvatarFallback,\n AvatarImage,\n B as Badge,\n Card,\n CardAction,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n CommandShortcut,\n Dialog,\n A as DialogClose,\n DialogContent,\n DialogDescription,\n E as DialogFooter,\n DialogHeader,\n G as DialogOverlay,\n H as DialogPortal,\n DialogTitle,\n J as DialogTrigger,\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n HoverCard,\n HoverCardContent,\n HoverCardTrigger,\n I as Input,\n InputOTP,\n InputOTPGroup,\n InputOTPSeparator,\n InputOTPSlot,\n Label$1 as Label,\n L as LabelError,\n Menubar,\n MenubarCheckboxItem,\n MenubarContent,\n MenubarGroup,\n MenubarItem,\n MenubarLabel,\n MenubarMenu,\n MenubarPortal,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarSeparator,\n MenubarShortcut,\n MenubarSub,\n MenubarSubContent,\n MenubarSubTrigger,\n MenubarTrigger,\n NavigationMenu,\n NavigationMenuContent,\n NavigationMenuIndicator,\n NavigationMenuItem,\n NavigationMenuLink,\n NavigationMenuList,\n NavigationMenuTrigger,\n NavigationMenuViewport,\n Popover,\n PopoverAnchor,\n PopoverContent,\n PopoverTrigger,\n RadioGroup,\n RadioGroupItem,\n ResizableHandle,\n ResizablePanel,\n ResizablePanelGroup,\n a2 as ScrollArea,\n b2 as ScrollBar,\n S2 as Select,\n c as SelectContent,\n d as SelectGroup,\n f as SelectItem,\n e as SelectLabel,\n l as SelectScrollDownButton,\n m as SelectScrollUpButton,\n n as SelectSeparator,\n a as SelectTrigger,\n b as SelectValue,\n Sheet,\n SheetClose,\n SheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetTitle,\n SheetTrigger,\n Skeleton,\n S as Switch,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n K as Textarea,\n navigationMenuTriggerStyle\n};\n//# sourceMappingURL=index.es.js.map\n","\nimport { cn } from \"@/lib/utils\";\nimport type { DataValueListItem } from \"./autocomplete-types\";\n\nimport React, { createRef, memo, useEffect } from \"react\";\n\ninterface AutocompleteOptionItemProps<T extends DataValueListItem = DataValueListItem> {\n\tel: T;\n\tactive: number | string | T[];\n\tonClick: (args: { e?: React.MouseEvent<HTMLLIElement>; el: T }) => void;\n\tisHoverIndex: boolean;\n\tsetHoverIndex: React.Dispatch<React.SetStateAction<number | null>>;\n\tindex: number;\n\tdisplayField?: keyof T | string;\n\tstartOptionIcon?: React.ReactNode;\n}\n\nconst CheckIcon = (props: React.SVGProps<SVGSVGElement>) => (\n\t<svg viewBox=\"0 0 24 24\" width={16} height={16} aria-hidden=\"true\" {...props}>\n\t\t<path d=\"M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z\" fill=\"currentColor\" />\n\t</svg>\n);\n\nexport const AutocompleteOptionItem = memo(\n\t<T extends DataValueListItem>({\n\t\tel,\n\t\tactive,\n\t\tonClick,\n\t\tisHoverIndex,\n\t\tsetHoverIndex,\n\t\tindex,\n\t\tdisplayField = \"name\",\n\t\tstartOptionIcon,\n\t}: AutocompleteOptionItemProps<T>) => {\n\t\tconst itemRef = createRef<HTMLLIElement>();\n\t\tconst isSelected = active === el.id;\n\n\t\tconst handleMouseEnterItem = () => {\n\t\t\t!isHoverIndex && setHoverIndex(index);\n\t\t};\n\n\t\tuseEffect(() => {\n\t\t\tif (isHoverIndex && itemRef.current) {\n\t\t\t\titemRef.current.scrollIntoView({ behavior: \"auto\", block: \"nearest\" });\n\t\t\t}\n\t\t}, [isHoverIndex]);\n\n\t\treturn (\n\t\t\t<li\n\t\t\t\tref={itemRef}\n\t\t\t\taria-selected={!!isSelected}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"d-flex w-full cursor-pointer rounded-md p-2 items-center gap-2 mb-0.5\",\n\t\t\t\t\tisHoverIndex ? \"bg-default-100\" : \"\",\n\t\t\t\t\tisSelected ? \"bg-default-200 font-semibold active-option-list\" : \"font-normal hover:bg-default-100 text-default-800\",\n\t\t\t\t)}\n\t\t\t\trole=\"option\"\n\t\t\t\ttranslate=\"no\"\n\t\t\t\tonClick={(e) => {\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\tonClick({ e: undefined, el });\n\t\t\t\t}}\n\t\t\t\tonMouseEnter={handleMouseEnterItem}\n\t\t\t>\n\t\t\t\t{el.children && <div className=\"flex-shrink-0\">{el.children}</div>}\n\t\t\t\t{!el.children && (\n\t\t\t\t\t<div className=\"flex items-center justify-between gap-2 w-full\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t{startOptionIcon ?? null}\n\t\t\t\t\t\t\t<div>{(el as any)[displayField as string]}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<CheckIcon className={cn(\"ml-auto\", isSelected ? \"visible \" : \"invisible\")} />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</li>\n\t\t);\n\t},\n);\n\nAutocompleteOptionItem.displayName = \"AutocompleteOptionItem\";\n","import { useEffect, useState } from \"react\";\n\ninterface Props {\n\ttargetKey: string;\n}\nexport const useKeyPress = ({ targetKey }: Props) => {\n\tconst [keyPressed, setKeyPressed] = useState(false);\n\n\tuseEffect(() => {\n\t\tconst downHandler = ({ key }: KeyboardEvent) => {\n\t\t\tif (key === targetKey) setKeyPressed(true);\n\t\t};\n\t\tconst upHandler = ({ key }: KeyboardEvent) => {\n\t\t\tif (key === targetKey) setKeyPressed(false);\n\t\t};\n\n\t\twindow.addEventListener(\"keydown\", downHandler);\n\t\twindow.addEventListener(\"keyup\", upHandler);\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"keydown\", downHandler);\n\t\t\twindow.removeEventListener(\"keyup\", upHandler);\n\t\t};\n\t}, [targetKey]);\n\n\treturn keyPressed;\n};\n","import type { OptionListProps } from \"./autocomplete-types\";\n\nimport { memo, useEffect } from \"react\";\n\nimport { AutocompleteOptionItem } from \"./autocomplete-option-item\";\nimport { useKeyPress } from \"./use-key-press\";\n\nconst AutocompleteOptionList = ({\n\tdataValue,\n\tactive,\n\tonClick,\n\tmultiple,\n\ttextNoData,\n\thoverIndex,\n\tsetHoverIndex,\n\tshowTextNoData = true,\n\temptyContentChildren,\n\tdisplayField = \"name\",\n startOptionIcon,\n}: OptionListProps<any>) => {\n\tconst arrowUpPressed = useKeyPress({ targetKey: \"ArrowUp\" });\n\tconst arrowDownPressed = useKeyPress({ targetKey: \"ArrowDown\" });\n\n\tuseEffect(() => {\n\t\tif (arrowUpPressed && hoverIndex !== null && hoverIndex > 0) {\n\t\t\tsetHoverIndex((previous) => (previous || 0) - 1);\n\t\t}\n\t}, [arrowUpPressed]);\n\n\tuseEffect(() => {\n\t\tif (arrowDownPressed && hoverIndex !== null && hoverIndex + 1 < dataValue.length) {\n\t\t\tsetHoverIndex((previous) => (previous || 0) + 1);\n\t\t}\n\t}, [arrowDownPressed]);\n\n\tif (dataValue.length === 0 && showTextNoData) {\n\t\tif (emptyContentChildren) return emptyContentChildren;\n\n\t\treturn (\n\t\t\t<div className=\"d-flex w-full cursor-pointer rounded-md p-2 items-center gap-2\">\n\t\t\t\t<div>{textNoData}</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{dataValue.map((el, index) =>\n\t\t\t\tmultiple ? (\n\t\t\t\t\t<div key={`autocomplete-multi-${(el as any).id}-${index}`} />\n\t\t\t\t) : (\n\t\t\t\t\t<AutocompleteOptionItem\n\t\t\t\t\t\tkey={`autocomplete-item-${(el as any).id}-${index}`}\n\t\t\t\t\t\tactive={active as any}\n\t\t\t\t\t\tdisplayField={displayField as string}\n\t\t\t\t\t\tel={el as any}\n\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\tisHoverIndex={hoverIndex === index}\n\t\t\t\t\t\tsetHoverIndex={setHoverIndex}\n\t\t\t\t\t\tonClick={onClick as any}\n startOptionIcon={startOptionIcon}\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t)}\n\t\t\t{emptyContentChildren ? <div className=\"mt-2\">{emptyContentChildren}</div> : null}\n\t\t</>\n\t);\n};\n\nexport default memo(AutocompleteOptionList);\n","import type { RefObject } from \"react\";\nimport type { DataValueListItem } from \"./autocomplete-types\";\n\nexport const hideAllSelectLists = (name: string | undefined) => {\n\tconst dropdowns = document.querySelectorAll<HTMLElement>(\".container-dropdown-list[data-name]\");\n\n\tdropdowns.forEach((dropdown) => {\n\t\tconst dropdownName = dropdown.getAttribute(\"data-name\");\n\n\t\tif (dropdownName === name) return; // es el activo, no cerrar\n\t\tconst isVisible = dropdown.offsetParent !== null || dropdown.style.visibility === \"visible\";\n\n\t\tif (!isVisible) return;\n\t\tconst root = dropdown.closest(\".main-container-autocomplete-form\");\n\t\tconst input = root?.querySelector<HTMLInputElement>(\".input-autocomplete-form-search\");\n\n\t\tif (input) {\n\t\t\tinput.dispatchEvent(new MouseEvent(\"click\", { bubbles: true }));\n\t\t}\n\t});\n};\n\nexport const hideAllPortalSelectLists = (name: string | undefined) => {\n\tconst parentElement: Element | null = document.querySelector(\".react-tiny-popover-container\");\n\n\tif (!parentElement) return;\n\tconst dropdowns = parentElement.querySelectorAll<HTMLElement>(\".container-dropdown-list[data-name]\");\n\n\tdropdowns.forEach((dropdown) => {\n\t\tconst dropdownName = dropdown.getAttribute(\"data-name\");\n\n\t\tif (dropdownName === name) return;\n\t\tconst isVisible = dropdown.offsetParent !== null || dropdown.style.visibility === \"visible\";\n\n\t\tif (!isVisible) return;\n\t\tconst root = dropdown.closest(\".main-container-autocomplete-form\");\n\t\tconst input = root?.querySelector<HTMLInputElement>(\".input-autocomplete-form-search\");\n\n\t\tif (input) {\n\t\t\tinput.dispatchEvent(new MouseEvent(\"click\", { bubbles: true }));\n\t\t}\n\t});\n};\n\nexport function getInitialActiveIndex(data: DataValueListItem[], active: string | number | DataValueListItem[]) {\n\tif (!data) return 0;\n\tlet index = 0;\n\n\tif (typeof active === \"string\" || typeof active === \"number\") {\n\t\tindex = data.findIndex((item) => item?.id?.toString() === active?.toString());\n\n\t\treturn index === -1 ? 0 : index;\n\t}\n\tif (active.length === 0) return 0;\n\tindex = data.findIndex((item) => item.id?.toString() === active[active.length - 1].id?.toString());\n\n\treturn index === -1 ? 0 : index;\n}\n\ninterface SetDropdownPositionArgs {\n\tdropdownRef: RefObject<HTMLElement> | { current: HTMLElement | null };\n\tanchorRef: RefObject<HTMLElement> | { current: HTMLElement | null };\n\theight: number;\n\twidth?: number | \"auto\";\n\tfixed?: boolean;\n}\n\nexport const setDropdownPosition = ({ dropdownRef, anchorRef, height, width, fixed = true }: SetDropdownPositionArgs) => {\n\tconst listEl = dropdownRef?.current;\n\tconst anchorEl = anchorRef?.current;\n\n\tif (!listEl || !anchorEl) return;\n\tconst gap = 8;\n\tconst inputRect = anchorEl.getBoundingClientRect();\n\tconst optionsContainerHeight = height || listEl.offsetHeight;\n\tconst overflowBottom = inputRect.bottom + optionsContainerHeight + gap > window.innerHeight;\n\n\tif (overflowBottom) {\n\t\tlistEl.style.bottom = fixed ? `${window.innerHeight - inputRect.top + gap}px` : `32px`;\n\t\tlistEl.style.top = \"auto\";\n\t} else {\n\t\tif (fixed) {\n\t\t\tlistEl.style.top = `${inputRect.bottom + gap}px`;\n\t\t}\n\t\tlistEl.style.bottom = \"auto\";\n\t}\n\tlistEl.style.left = fixed ? `${inputRect.left}px` : \"0\";\n\n\t// Cálculo de ancho: por defecto igual al input; si se pasa width numérico actúa como mínimo.\n\tconst inputWidth = inputRect.width;\n\tif (typeof width === \"number\") {\n\t\tconst finalWidth = Math.max(inputWidth, width);\n\t\tlistEl.style.minWidth = `${width}px`;\n\t\tlistEl.style.width = `${finalWidth}px`;\n\t} else {\n\t\tlistEl.style.width = `${inputWidth}px`;\n\t}\n\n\tlistEl.style.visibility = \"visible\";\n};\n","import type { DataValueListItem, DropdownContainerProps } from \"./autocomplete-types\";\n\nimport { motion } from \"framer-motion\";\nimport { Input } from \"lizaui/ui\";\nimport { forwardRef, memo, useCallback, useEffect, useRef, useState } from \"react\";\n\n\n\nimport AutocompleteOptionList from \"./autocomplete-option-list\";\nimport { getInitialActiveIndex, setDropdownPosition } from \"./autocomplete-utils\";\nimport { useKeyPress } from \"./use-key-press\";\nimport type { IconSvgProps } from \"@/types\";\n\n const SearchIcon = ({ size = 24, width, height, ...props }: IconSvgProps) => {\n\treturn (\n\t\t<svg fill=\"currentColor\" height={size || height} viewBox=\"0 0 16 16\" width={size || width} {...props}>\n\t\t\t<g fillRule=\"evenodd\" transform=\"translate(-448 -544)\">\n\t\t\t\t<g fillRule=\"nonzero\">\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M10.743 2.257a6 6 0 1 1-8.485 8.486 6 6 0 0 1 8.485-8.486zm-1.06 1.06a4.5 4.5 0 1 0-6.365 6.364 4.5 4.5 0 0 0 6.364-6.363z\"\n\t\t\t\t\t\ttransform=\"translate(448 544)\"\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M10.39 8.75a2.94 2.94 0 0 0-.199.432c-.155.417-.23.849-.172 1.284.055.415.232.794.54 1.103a.75.75 0 0 0 1.112-1.004l-.051-.057a.39.39 0 0 1-.114-.24c-.021-.155.014-.356.09-.563.031-.081.06-.145.08-.182l.012-.022a.75.75 0 1 0-1.299-.752z\"\n\t\t\t\t\t\ttransform=\"translate(448 544)\"\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M9.557 11.659c.038-.018.09-.04.15-.064.207-.077.408-.112.562-.092.08.01.143.034.198.077l.041.036a.75.75 0 0 0 1.06-1.06 1.881 1.881 0 0 0-1.103-.54c-.435-.058-.867.018-1.284.175-.189.07-.336.143-.433.2a.75.75 0 0 0 .624 1.356l.066-.027.12-.061z\"\n\t\t\t\t\t\ttransform=\"translate(448 544)\"\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"m13.463 15.142-.04-.044-3.574-4.192c-.599-.703.355-1.656 1.058-1.057l4.191 3.574.044.04c.058.059.122.137.182.24.249.425.249.96-.154 1.41l-.057.057c-.45.403-.986.403-1.411.154a1.182 1.182 0 0 1-.24-.182zm.617-.616.444-.444a.31.31 0 0 0-.063-.052c-.093-.055-.263-.055-.35.024l.208.232.207-.206.006.007-.22.257-.026-.024.033-.034.025.027-.257.22-.007-.007zm-.027-.415c-.078.088-.078.257-.023.35a.31.31 0 0 0 .051.063l.205-.204-.233-.209z\"\n\t\t\t\t\t\ttransform=\"translate(448 544)\"\n\t\t\t\t\t/>\n\t\t\t\t</g>\n\t\t\t</g>\n\t\t</svg>\n\t);\n};\n\nexport const AutocompleteDropdown = memo(\n\tforwardRef<HTMLElement, DropdownContainerProps>(\n\t\t(\n\t\t\t{\n\t\t\t\tdata,\n\t\t\t\tname,\n\t\t\t\theight = 160,\n\t\t\t\tonClick,\n\t\t\t\tactive,\n\t\t\t\trefPartner,\n\t\t\t\ttextNoData = \"No encontramos un resultado que coincida con tu búsqueda\",\n\t\t\t\tisSearch = true,\n\t\t\t\tmultiple = false,\n\t\t\t\twidthList,\n\t\t\t\tfixed = false,\n\t\t\t\tisLoading = false,\n\t\t\t\tisEnter = true,\n\t\t\t\temptyContentChildren,\n\t\t\t\tdisplayField = \"name\",\n startOptionIcon,\n\t\t\t},\n\t\t\tref,\n\t\t) => {\n\t\t\tconst [value, setValue] = useState(\"\");\n\t\t\tconst [dataValue, setDataValue] = useState<Array<DataValueListItem>>([]);\n\t\t\tconst [hoverIndex, setHoverIndex] = useState<number | null>(getInitialActiveIndex(data, active));\n\t\t\tconst keyEnterPressed = useKeyPress({ targetKey: \"Enter\" });\n\n\t\t\tconst handleSetPositionSelect = useCallback(() => {\n\t\t\t\tsetDropdownPosition({ dropdownRef: ref as any, anchorRef: refPartner as any, height, width: widthList, fixed });\n\t\t\t}, [ref, refPartner, widthList, height, fixed]);\n\n\t\t\tuseEffect(() => {\n\t\t\t\thandleSetPositionSelect();\n\t\t\t}, [handleSetPositionSelect]);\n\n\t\t\tuseEffect(() => {\n\t\t\t\tsetDataValue(data);\n\t\t\t}, [data]);\n\n\t\t\tuseEffect(() => {\n\t\t\t\tif (isEnter && keyEnterPressed && dataValue.length > 0) {\n\t\t\t\t\tif (hoverIndex !== null && data[hoverIndex]) {\n\t\t\t\t\t\tonClick({ e: undefined, el: data[hoverIndex || 0] });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, [keyEnterPressed, isEnter, hoverIndex, data, dataValue, onClick]);\n\n\t\t\tfunction handleSearchItem(e: React.ChangeEvent<HTMLInputElement>) {\n\t\t\t\tconst current = e.target.value;\n\n\t\t\t\tsetValue(current);\n\t\t\t\tif (current === \"\") {\n\t\t\t\t\tsetDataValue(data);\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst upper = current.trim().toUpperCase();\n\t\t\t\tconst result = data.filter((el: any) => el?.[displayField as string]?.toString().trim().toUpperCase().includes(upper));\n\n\t\t\t\tsetDataValue(result);\n\t\t\t}\n\n\t\t\tconst localRef = useRef<HTMLElement | null>(null);\n\t\t\tconst setRefs = (node: HTMLElement | null) => {\n\t\t\t\t(ref as any).current = node;\n\t\t\t\tlocalRef.current = node;\n\t\t\t};\n\n\t\t\tconst variants = {\n\t\t\t\thidden: { opacity: 0, y: 4 },\n\t\t\t\tshow: { opacity: 1, y: 0, transition: { duration: 0.14, ease: \"easeOut\" } },\n\t\t\t\texit: { opacity: 0, y: 4, transition: { duration: 0.1, ease: \"easeIn\" } },\n\t\t\t} as const;\n\n\t\t\treturn (\n\t\t\t\t<motion.div\n\t\t\t\t\tref={setRefs}\n\t\t\t\t\tkey=\"dropdown-motion-root\"\n\t\t\t\t\tvariants={variants}\n\t\t\t\t\tinitial=\"hidden\"\n\t\t\t\t\tanimate=\"show\"\n\t\t\t\t\texit=\"exit\"\n\t\t\t\t\taria-activedescendant={hoverIndex !== null ? String((dataValue[hoverIndex] as any)?.id) : undefined}\n\t\t\t\t\tclassName=\"container-dropdown-list bg-content1 shadow-large rounded-md p-2 overflow-y-auto origin-top\"\n\t\t\t\t\tdata-name={name}\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmaxHeight: height,\n\t\t\t\t\t\twidth: widthList || \"auto\",\n\t\t\t\t\t\tposition: fixed ? \"fixed\" : \"absolute\",\n\t\t\t\t\t\tzIndex: 10,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t<div translate=\"no\">\n\t\t\t\t\t\t\t<div>{\"Loading...\"}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{isSearch && (\n\t\t\t\t\t\t\t\t<div className=\"mb-2 \">\n\t\t\t\t\t\t\t\t\t<Input endContent={<SearchIcon size={18} />} placeholder=\"Buscar...\" value={value} onChange={handleSearchItem} />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<AutocompleteOptionList\n\t\t\t\t\t\t\t\tactive={active}\n\t\t\t\t\t\t\t\tdataValue={dataValue}\n\t\t\t\t\t\t\t\tdisplayField={displayField as string}\n\t\t\t\t\t\t\t\temptyContentChildren={emptyContentChildren}\n\t\t\t\t\t\t\t\thoverIndex={hoverIndex}\n\t\t\t\t\t\t\t\tmultiple={multiple}\n\t\t\t\t\t\t\t\tsetHoverIndex={setHoverIndex}\n\t\t\t\t\t\t\t\ttextNoData={textNoData}\n\t\t\t\t\t\t\t\tonClick={onClick}\n startOptionIcon={startOptionIcon}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t</motion.div>\n\t\t\t);\n\t\t},\n\t),\n);\n\nAutocompleteDropdown.displayName = \"AutocompleteDropdown\";\n","/**\n * @license lucide-react v0.544.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\", key: \"v9h5vc\" }],\n [\"path\", { d: \"M21 3v5h-5\", key: \"1q7to0\" }],\n [\"path\", { d: \"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\", key: \"3uifl3\" }],\n [\"path\", { d: \"M8 16H3v5\", key: \"1cv678\" }]\n];\nconst RefreshCw = createLucideIcon(\"refresh-cw\", __iconNode);\n\nexport { __iconNode, RefreshCw as default };\n//# sourceMappingURL=refresh-cw.js.map\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","import { useState, useCallback, useLayoutEffect, useEffect, useRef, useMemo } from 'react';\nimport debounce from 'lodash.debounce';\n\n// src/useBoolean/useBoolean.ts\nfunction useBoolean(defaultValue = false) {\n if (typeof defaultValue !== \"boolean\") {\n throw new Error(\"defaultValue must be `true` or `false`\");\n }\n const [value, setValue] = useState(defaultValue);\n const setTrue = useCallback(() => {\n setValue(true);\n }, []);\n const setFalse = useCallback(() => {\n setValue(false);\n }, []);\n const toggle = useCallback(() => {\n setValue((x) => !x);\n }, []);\n return { value, setValue, setTrue, setFalse, toggle };\n}\nvar useIsomorphicLayoutEffect = typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\n\n// src/useEventListener/useEventListener.ts\nfunction useEventListener(eventName, handler, element, options) {\n const savedHandler = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n useEffect(() => {\n const targetElement = (element == null ? void 0 : element.current) ?? window;\n if (!(targetElement && targetElement.addEventListener))\n return;\n const listener = (event) => {\n savedHandler.current(event);\n };\n targetElement.addEventListener(eventName, listener, options);\n return () => {\n targetElement.removeEventListener(eventName, listener, options);\n };\n }, [eventName, element, options]);\n}\n\n// src/useClickAnyWhere/useClickAnyWhere.ts\nfunction useClickAnyWhere(handler) {\n useEventListener(\"click\", (event) => {\n handler(event);\n });\n}\nfunction useCopyToClipboard() {\n const [copiedText, setCopiedText] = useState(null);\n const copy = useCallback(async (text) => {\n if (!(navigator == null ? void 0 : navigator.clipboard)) {\n console.warn(\"Clipboard not supported\");\n return false;\n }\n try {\n await navigator.clipboard.writeText(text);\n setCopiedText(text);\n return true;\n } catch (error) {\n console.warn(\"Copy failed\", error);\n setCopiedText(null);\n return false;\n }\n }, []);\n return [copiedText, copy];\n}\nfunction useCounter(initialValue) {\n const [count, setCount] = useState(initialValue ?? 0);\n const increment = useCallback(() => {\n setCount((x) => x + 1);\n }, []);\n const decrement = useCallback(() => {\n setCount((x) => x - 1);\n }, []);\n const reset = useCallback(() => {\n setCount(initialValue ?? 0);\n }, [initialValue]);\n return {\n count,\n increment,\n decrement,\n reset,\n setCount\n };\n}\nfunction useInterval(callback, delay) {\n const savedCallback = useRef(callback);\n useIsomorphicLayoutEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n useEffect(() => {\n if (delay === null) {\n return;\n }\n const id = setInterval(() => {\n savedCallback.current();\n }, delay);\n return () => {\n clearInterval(id);\n };\n }, [delay]);\n}\n\n// src/useCountdown/useCountdown.ts\nfunction useCountdown({\n countStart,\n countStop = 0,\n intervalMs = 1e3,\n isIncrement = false\n}) {\n const {\n count,\n increment,\n decrement,\n reset: resetCounter\n } = useCounter(countStart);\n const {\n value: isCountdownRunning,\n setTrue: startCountdown,\n setFalse: stopCountdown\n } = useBoolean(false);\n const resetCountdown = useCallback(() => {\n stopCountdown();\n resetCounter();\n }, [stopCountdown, resetCounter]);\n const countdownCallback = useCallback(() => {\n if (count === countStop) {\n stopCountdown();\n return;\n }\n if (isIncrement) {\n increment();\n } else {\n decrement();\n }\n }, [count, countStop, decrement, increment, isIncrement, stopCountdown]);\n useInterval(countdownCallback, isCountdownRunning ? intervalMs : null);\n return [count, { startCountdown, stopCountdown, resetCountdown }];\n}\nfunction useEventCallback(fn) {\n const ref = useRef(() => {\n throw new Error(\"Cannot call an event handler while rendering.\");\n });\n useIsomorphicLayoutEffect(() => {\n ref.current = fn;\n }, [fn]);\n return useCallback((...args) => {\n var _a;\n return (_a = ref.current) == null ? void 0 : _a.call(ref, ...args);\n }, [ref]);\n}\n\n// src/useLocalStorage/useLocalStorage.ts\nvar IS_SERVER = typeof window === \"undefined\";\nfunction useLocalStorage(key, initialValue, options = {}) {\n const { initializeWithValue = true } = options;\n const serializer = useCallback(\n (value) => {\n if (options.serializer) {\n return options.serializer(value);\n }\n return JSON.stringify(value);\n },\n [options]\n );\n const deserializer = useCallback(\n (value) => {\n if (options.deserializer) {\n return options.deserializer(value);\n }\n if (value === \"undefined\") {\n return void 0;\n }\n const defaultValue = initialValue instanceof Function ? initialValue() : initialValue;\n let parsed;\n try {\n parsed = JSON.parse(value);\n } catch (error) {\n console.error(\"Error parsing JSON:\", error);\n return defaultValue;\n }\n return parsed;\n },\n [options, initialValue]\n );\n const readValue = useCallback(() => {\n const initialValueToUse = initialValue instanceof Function ? initialValue() : initialValue;\n if (IS_SERVER) {\n return initialValueToUse;\n }\n try {\n const raw = window.localStorage.getItem(key);\n return raw ? deserializer(raw) : initialValueToUse;\n } catch (error) {\n console.warn(`Error reading localStorage key \\u201C${key}\\u201D:`, error);\n return initialValueToUse;\n }\n }, [initialValue, key, deserializer]);\n const [storedValue, setStoredValue] = useState(() => {\n if (initializeWithValue) {\n return readValue();\n }\n return initialValue instanceof Function ? initialValue() : initialValue;\n });\n const setValue = useEventCallback((value) => {\n if (IS_SERVER) {\n console.warn(\n `Tried setting localStorage key \\u201C${key}\\u201D even though environment is not a client`\n );\n }\n try {\n const newValue = value instanceof Function ? value(readValue()) : value;\n window.localStorage.setItem(key, serializer(newValue));\n setStoredValue(newValue);\n window.dispatchEvent(new StorageEvent(\"local-storage\", { key }));\n } catch (error) {\n console.warn(`Error setting localStorage key \\u201C${key}\\u201D:`, error);\n }\n });\n const removeValue = useEventCallback(() => {\n if (IS_SERVER) {\n console.warn(\n `Tried removing localStorage key \\u201C${key}\\u201D even though environment is not a client`\n );\n }\n const defaultValue = initialValue instanceof Function ? initialValue() : initialValue;\n window.localStorage.removeItem(key);\n setStoredValue(defaultValue);\n window.dispatchEvent(new StorageEvent(\"local-storage\", { key }));\n });\n useEffect(() => {\n setStoredValue(readValue());\n }, [key]);\n const handleStorageChange = useCallback(\n (event) => {\n if (event.key && event.key !== key) {\n return;\n }\n setStoredValue(readValue());\n },\n [key, readValue]\n );\n useEventListener(\"storage\", handleStorageChange);\n useEventListener(\"local-storage\", handleStorageChange);\n return [storedValue, setValue, removeValue];\n}\nvar IS_SERVER2 = typeof window === \"undefined\";\nfunction useMediaQuery(query, {\n defaultValue = false,\n initializeWithValue = true\n} = {}) {\n const getMatches = (query2) => {\n if (IS_SERVER2) {\n return defaultValue;\n }\n return window.matchMedia(query2).matches;\n };\n const [matches, setMatches] = useState(() => {\n if (initializeWithValue) {\n return getMatches(query);\n }\n return defaultValue;\n });\n function handleChange() {\n setMatches(getMatches(query));\n }\n useIsomorphicLayoutEffect(() => {\n const matchMedia = window.matchMedia(query);\n handleChange();\n if (matchMedia.addListener) {\n matchMedia.addListener(handleChange);\n } else {\n matchMedia.addEventListener(\"change\", handleChange);\n }\n return () => {\n if (matchMedia.removeListener) {\n matchMedia.removeListener(handleChange);\n } else {\n matchMedia.removeEventListener(\"change\", handleChange);\n }\n };\n }, [query]);\n return matches;\n}\n\n// src/useDarkMode/useDarkMode.ts\nvar COLOR_SCHEME_QUERY = \"(prefers-color-scheme: dark)\";\nvar LOCAL_STORAGE_KEY = \"usehooks-ts-dark-mode\";\nfunction useDarkMode(options = {}) {\n const {\n defaultValue,\n localStorageKey = LOCAL_STORAGE_KEY,\n initializeWithValue = true\n } = options;\n const isDarkOS = useMediaQuery(COLOR_SCHEME_QUERY, {\n initializeWithValue,\n defaultValue\n });\n const [isDarkMode, setDarkMode] = useLocalStorage(\n localStorageKey,\n defaultValue ?? isDarkOS ?? false,\n { initializeWithValue }\n );\n useIsomorphicLayoutEffect(() => {\n if (isDarkOS !== isDarkMode) {\n setDarkMode(isDarkOS);\n }\n }, [isDarkOS]);\n return {\n isDarkMode,\n toggle: () => {\n setDarkMode((prev) => !prev);\n },\n enable: () => {\n setDarkMode(true);\n },\n disable: () => {\n setDarkMode(false);\n },\n set: (value) => {\n setDarkMode(value);\n }\n };\n}\nfunction useUnmount(func) {\n const funcRef = useRef(func);\n funcRef.current = func;\n useEffect(\n () => () => {\n funcRef.current();\n },\n []\n );\n}\n\n// src/useDebounceCallback/useDebounceCallback.ts\nfunction useDebounceCallback(func, delay = 500, options) {\n const debouncedFunc = useRef();\n useUnmount(() => {\n if (debouncedFunc.current) {\n debouncedFunc.current.cancel();\n }\n });\n const debounced = useMemo(() => {\n const debouncedFuncInstance = debounce(func, delay, options);\n const wrappedFunc = (...args) => {\n return debouncedFuncInstance(...args);\n };\n wrappedFunc.cancel = () => {\n debouncedFuncInstance.cancel();\n };\n wrappedFunc.isPending = () => {\n return !!debouncedFunc.current;\n };\n wrappedFunc.flush = () => {\n return debouncedFuncInstance.flush();\n };\n return wrappedFunc;\n }, [func, delay, options]);\n useEffect(() => {\n debouncedFunc.current = debounce(func, delay, options);\n }, [func, delay, options]);\n return debounced;\n}\nfunction useDebounceValue(initialValue, delay, options) {\n const eq = (options == null ? void 0 : options.equalityFn) ?? ((left, right) => left === right);\n const unwrappedInitialValue = initialValue instanceof Function ? initialValue() : initialValue;\n const [debouncedValue, setDebouncedValue] = useState(unwrappedInitialValue);\n const previousValueRef = useRef(unwrappedInitialValue);\n const updateDebouncedValue = useDebounceCallback(\n setDebouncedValue,\n delay,\n options\n );\n if (!eq(previousValueRef.current, unwrappedInitialValue)) {\n updateDebouncedValue(unwrappedInitialValue);\n previousValueRef.current = unwrappedInitialValue;\n }\n return [debouncedValue, updateDebouncedValue];\n}\nfunction useDocumentTitle(title, options = {}) {\n const { preserveTitleOnUnmount = true } = options;\n const defaultTitle = useRef(null);\n useIsomorphicLayoutEffect(() => {\n defaultTitle.current = window.document.title;\n }, []);\n useIsomorphicLayoutEffect(() => {\n window.document.title = title;\n }, [title]);\n useUnmount(() => {\n if (!preserveTitleOnUnmount && defaultTitle.current) {\n window.document.title = defaultTitle.current;\n }\n });\n}\nfunction useHover(elementRef) {\n const [value, setValue] = useState(false);\n const handleMouseEnter = () => {\n setValue(true);\n };\n const handleMouseLeave = () => {\n setValue(false);\n };\n useEventListener(\"mouseenter\", handleMouseEnter, elementRef);\n useEventListener(\"mouseleave\", handleMouseLeave, elementRef);\n return value;\n}\nfunction useIntersectionObserver({\n threshold = 0,\n root = null,\n rootMargin = \"0%\",\n freezeOnceVisible = false,\n initialIsIntersecting = false,\n onChange\n} = {}) {\n var _a;\n const [ref, setRef] = useState(null);\n const [state, setState] = useState(() => ({\n isIntersecting: initialIsIntersecting,\n entry: void 0\n }));\n const callbackRef = useRef();\n callbackRef.current = onChange;\n const frozen = ((_a = state.entry) == null ? void 0 : _a.isIntersecting) && freezeOnceVisible;\n useEffect(() => {\n if (!ref)\n return;\n if (!(\"IntersectionObserver\" in window))\n return;\n if (frozen)\n return;\n let unobserve;\n const observer = new IntersectionObserver(\n (entries) => {\n const thresholds = Array.isArray(observer.thresholds) ? observer.thresholds : [observer.thresholds];\n entries.forEach((entry) => {\n const isIntersecting = entry.isIntersecting && thresholds.some((threshold2) => entry.intersectionRatio >= threshold2);\n setState({ isIntersecting, entry });\n if (callbackRef.current) {\n callbackRef.current(isIntersecting, entry);\n }\n if (isIntersecting && freezeOnceVisible && unobserve) {\n unobserve();\n unobserve = void 0;\n }\n });\n },\n { threshold, root, rootMargin }\n );\n observer.observe(ref);\n return () => {\n observer.disconnect();\n };\n }, [\n ref,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(threshold),\n root,\n rootMargin,\n frozen,\n freezeOnceVisible\n ]);\n const prevRef = useRef(null);\n useEffect(() => {\n var _a2;\n if (!ref && ((_a2 = state.entry) == null ? void 0 : _a2.target) && !freezeOnceVisible && !frozen && prevRef.current !== state.entry.target) {\n prevRef.current = state.entry.target;\n setState({ isIntersecting: initialIsIntersecting, entry: void 0 });\n }\n }, [ref, state.entry, freezeOnceVisible, frozen, initialIsIntersecting]);\n const result = [\n setRef,\n !!state.isIntersecting,\n state.entry\n ];\n result.ref = result[0];\n result.isIntersecting = result[1];\n result.entry = result[2];\n return result;\n}\nfunction useIsClient() {\n const [isClient, setClient] = useState(false);\n useEffect(() => {\n setClient(true);\n }, []);\n return isClient;\n}\nfunction useIsMounted() {\n const isMounted = useRef(false);\n useEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n return useCallback(() => isMounted.current, []);\n}\nfunction useMap(initialState = /* @__PURE__ */ new Map()) {\n const [map, setMap] = useState(new Map(initialState));\n const actions = {\n set: useCallback((key, value) => {\n setMap((prev) => {\n const copy = new Map(prev);\n copy.set(key, value);\n return copy;\n });\n }, []),\n setAll: useCallback((entries) => {\n setMap(() => new Map(entries));\n }, []),\n remove: useCallback((key) => {\n setMap((prev) => {\n const copy = new Map(prev);\n copy.delete(key);\n return copy;\n });\n }, []),\n reset: useCallback(() => {\n setMap(() => /* @__PURE__ */ new Map());\n }, [])\n };\n return [map, actions];\n}\n\n// src/useOnClickOutside/useOnClickOutside.ts\nfunction useOnClickOutside(ref, handler, eventType = \"mousedown\", eventListenerOptions = {}) {\n useEventListener(\n eventType,\n (event) => {\n const target = event.target;\n if (!target || !target.isConnected) {\n return;\n }\n const isOutside = Array.isArray(ref) ? ref.filter((r) => Boolean(r.current)).every((r) => r.current && !r.current.contains(target)) : ref.current && !ref.current.contains(target);\n if (isOutside) {\n handler(event);\n }\n },\n void 0,\n eventListenerOptions\n );\n}\nvar IS_SERVER3 = typeof window === \"undefined\";\nfunction useReadLocalStorage(key, options = {}) {\n let { initializeWithValue = true } = options;\n if (IS_SERVER3) {\n initializeWithValue = false;\n }\n const deserializer = useCallback(\n (value) => {\n if (options.deserializer) {\n return options.deserializer(value);\n }\n if (value === \"undefined\") {\n return void 0;\n }\n let parsed;\n try {\n parsed = JSON.parse(value);\n } catch (error) {\n console.error(\"Error parsing JSON:\", error);\n return null;\n }\n return parsed;\n },\n [options]\n );\n const readValue = useCallback(() => {\n if (IS_SERVER3) {\n return null;\n }\n try {\n const raw = window.localStorage.getItem(key);\n return raw ? deserializer(raw) : null;\n } catch (error) {\n console.warn(`Error reading localStorage key \\u201C${key}\\u201D:`, error);\n return null;\n }\n }, [key, deserializer]);\n const [storedValue, setStoredValue] = useState(() => {\n if (initializeWithValue) {\n return readValue();\n }\n return void 0;\n });\n useEffect(() => {\n setStoredValue(readValue());\n }, [key]);\n const handleStorageChange = useCallback(\n (event) => {\n if (event.key && event.key !== key) {\n return;\n }\n setStoredValue(readValue());\n },\n [key, readValue]\n );\n useEventListener(\"storage\", handleStorageChange);\n useEventListener(\"local-storage\", handleStorageChange);\n return storedValue;\n}\nvar initialSize = {\n width: void 0,\n height: void 0\n};\nfunction useResizeObserver(options) {\n const { ref, box = \"content-box\" } = options;\n const [{ width, height }, setSize] = useState(initialSize);\n const isMounted = useIsMounted();\n const previousSize = useRef({ ...initialSize });\n const onResize = useRef(void 0);\n onResize.current = options.onResize;\n useEffect(() => {\n if (!ref.current)\n return;\n if (typeof window === \"undefined\" || !(\"ResizeObserver\" in window))\n return;\n const observer = new ResizeObserver(([entry]) => {\n const boxProp = box === \"border-box\" ? \"borderBoxSize\" : box === \"device-pixel-content-box\" ? \"devicePixelContentBoxSize\" : \"contentBoxSize\";\n const newWidth = extractSize(entry, boxProp, \"inlineSize\");\n const newHeight = extractSize(entry, boxProp, \"blockSize\");\n const hasChanged = previousSize.current.width !== newWidth || previousSize.current.height !== newHeight;\n if (hasChanged) {\n const newSize = { width: newWidth, height: newHeight };\n previousSize.current.width = newWidth;\n previousSize.current.height = newHeight;\n if (onResize.current) {\n onResize.current(newSize);\n } else {\n if (isMounted()) {\n setSize(newSize);\n }\n }\n }\n });\n observer.observe(ref.current, { box });\n return () => {\n observer.disconnect();\n };\n }, [box, ref, isMounted]);\n return { width, height };\n}\nfunction extractSize(entry, box, sizeType) {\n if (!entry[box]) {\n if (box === \"contentBoxSize\") {\n return entry.contentRect[sizeType === \"inlineSize\" ? \"width\" : \"height\"];\n }\n return void 0;\n }\n return Array.isArray(entry[box]) ? entry[box][0][sizeType] : (\n // @ts-ignore Support Firefox's non-standard behavior\n entry[box][sizeType]\n );\n}\nvar IS_SERVER4 = typeof window === \"undefined\";\nfunction useScreen(options = {}) {\n let { initializeWithValue = true } = options;\n if (IS_SERVER4) {\n initializeWithValue = false;\n }\n const readScreen = () => {\n if (IS_SERVER4) {\n return void 0;\n }\n return window.screen;\n };\n const [screen, setScreen] = useState(() => {\n if (initializeWithValue) {\n return readScreen();\n }\n return void 0;\n });\n const debouncedSetScreen = useDebounceCallback(\n setScreen,\n options.debounceDelay\n );\n function handleSize() {\n const newScreen = readScreen();\n const setSize = options.debounceDelay ? debouncedSetScreen : setScreen;\n if (newScreen) {\n const {\n width,\n height,\n availHeight,\n availWidth,\n colorDepth,\n orientation,\n pixelDepth\n } = newScreen;\n setSize({\n width,\n height,\n availHeight,\n availWidth,\n colorDepth,\n orientation,\n pixelDepth\n });\n }\n }\n useEventListener(\"resize\", handleSize);\n useIsomorphicLayoutEffect(() => {\n handleSize();\n }, []);\n return screen;\n}\nvar cachedScriptStatuses = /* @__PURE__ */ new Map();\nfunction getScriptNode(src) {\n const node = document.querySelector(\n `script[src=\"${src}\"]`\n );\n const status = node == null ? void 0 : node.getAttribute(\"data-status\");\n return {\n node,\n status\n };\n}\nfunction useScript(src, options) {\n const [status, setStatus] = useState(() => {\n if (!src || (options == null ? void 0 : options.shouldPreventLoad)) {\n return \"idle\";\n }\n if (typeof window === \"undefined\") {\n return \"loading\";\n }\n return cachedScriptStatuses.get(src) ?? \"loading\";\n });\n useEffect(() => {\n if (!src || (options == null ? void 0 : options.shouldPreventLoad)) {\n return;\n }\n const cachedScriptStatus = cachedScriptStatuses.get(src);\n if (cachedScriptStatus === \"ready\" || cachedScriptStatus === \"error\") {\n setStatus(cachedScriptStatus);\n return;\n }\n const script = getScriptNode(src);\n let scriptNode = script.node;\n if (!scriptNode) {\n scriptNode = document.createElement(\"script\");\n scriptNode.src = src;\n scriptNode.async = true;\n if (options == null ? void 0 : options.id) {\n scriptNode.id = options.id;\n }\n scriptNode.setAttribute(\"data-status\", \"loading\");\n document.body.appendChild(scriptNode);\n const setAttributeFromEvent = (event) => {\n const scriptStatus = event.type === \"load\" ? \"ready\" : \"error\";\n scriptNode == null ? void 0 : scriptNode.setAttribute(\"data-status\", scriptStatus);\n };\n scriptNode.addEventListener(\"load\", setAttributeFromEvent);\n scriptNode.addEventListener(\"error\", setAttributeFromEvent);\n } else {\n setStatus(script.status ?? cachedScriptStatus ?? \"loading\");\n }\n const setStateFromEvent = (event) => {\n const newStatus = event.type === \"load\" ? \"ready\" : \"error\";\n setStatus(newStatus);\n cachedScriptStatuses.set(src, newStatus);\n };\n scriptNode.addEventListener(\"load\", setStateFromEvent);\n scriptNode.addEventListener(\"error\", setStateFromEvent);\n return () => {\n if (scriptNode) {\n scriptNode.removeEventListener(\"load\", setStateFromEvent);\n scriptNode.removeEventListener(\"error\", setStateFromEvent);\n }\n if (scriptNode && (options == null ? void 0 : options.removeOnUnmount)) {\n scriptNode.remove();\n cachedScriptStatuses.delete(src);\n }\n };\n }, [src, options == null ? void 0 : options.shouldPreventLoad, options == null ? void 0 : options.removeOnUnmount, options == null ? void 0 : options.id]);\n return status;\n}\nvar IS_SERVER5 = typeof window === \"undefined\";\nfunction useScrollLock(options = {}) {\n const { autoLock = true, lockTarget, widthReflow = true } = options;\n const [isLocked, setIsLocked] = useState(false);\n const target = useRef(null);\n const originalStyle = useRef(null);\n const lock = () => {\n if (target.current) {\n const { overflow, paddingRight } = target.current.style;\n originalStyle.current = { overflow, paddingRight };\n if (widthReflow) {\n const offsetWidth = target.current === document.body ? window.innerWidth : target.current.offsetWidth;\n const currentPaddingRight = parseInt(window.getComputedStyle(target.current).paddingRight, 10) || 0;\n const scrollbarWidth = offsetWidth - target.current.scrollWidth;\n target.current.style.paddingRight = `${scrollbarWidth + currentPaddingRight}px`;\n }\n target.current.style.overflow = \"hidden\";\n setIsLocked(true);\n }\n };\n const unlock = () => {\n if (target.current && originalStyle.current) {\n target.current.style.overflow = originalStyle.current.overflow;\n if (widthReflow) {\n target.current.style.paddingRight = originalStyle.current.paddingRight;\n }\n }\n setIsLocked(false);\n };\n useIsomorphicLayoutEffect(() => {\n if (IS_SERVER5)\n return;\n if (lockTarget) {\n target.current = typeof lockTarget === \"string\" ? document.querySelector(lockTarget) : lockTarget;\n }\n if (!target.current) {\n target.current = document.body;\n }\n if (autoLock) {\n lock();\n }\n return () => {\n unlock();\n };\n }, [autoLock, lockTarget, widthReflow]);\n return { isLocked, lock, unlock };\n}\nvar IS_SERVER6 = typeof window === \"undefined\";\nfunction useSessionStorage(key, initialValue, options = {}) {\n const { initializeWithValue = true } = options;\n const serializer = useCallback(\n (value) => {\n if (options.serializer) {\n return options.serializer(value);\n }\n return JSON.stringify(value);\n },\n [options]\n );\n const deserializer = useCallback(\n (value) => {\n if (options.deserializer) {\n return options.deserializer(value);\n }\n if (value === \"undefined\") {\n return void 0;\n }\n const defaultValue = initialValue instanceof Function ? initialValue() : initialValue;\n let parsed;\n try {\n parsed = JSON.parse(value);\n } catch (error) {\n console.error(\"Error parsing JSON:\", error);\n return defaultValue;\n }\n return parsed;\n },\n [options, initialValue]\n );\n const readValue = useCallback(() => {\n const initialValueToUse = initialValue instanceof Function ? initialValue() : initialValue;\n if (IS_SERVER6) {\n return initialValueToUse;\n }\n try {\n const raw = window.sessionStorage.getItem(key);\n return raw ? deserializer(raw) : initialValueToUse;\n } catch (error) {\n console.warn(`Error reading sessionStorage key \\u201C${key}\\u201D:`, error);\n return initialValueToUse;\n }\n }, [initialValue, key, deserializer]);\n const [storedValue, setStoredValue] = useState(() => {\n if (initializeWithValue) {\n return readValue();\n }\n return initialValue instanceof Function ? initialValue() : initialValue;\n });\n const setValue = useEventCallback((value) => {\n if (IS_SERVER6) {\n console.warn(\n `Tried setting sessionStorage key \\u201C${key}\\u201D even though environment is not a client`\n );\n }\n try {\n const newValue = value instanceof Function ? value(readValue()) : value;\n window.sessionStorage.setItem(key, serializer(newValue));\n setStoredValue(newValue);\n window.dispatchEvent(new StorageEvent(\"session-storage\", { key }));\n } catch (error) {\n console.warn(`Error setting sessionStorage key \\u201C${key}\\u201D:`, error);\n }\n });\n const removeValue = useEventCallback(() => {\n if (IS_SERVER6) {\n console.warn(\n `Tried removing sessionStorage key \\u201C${key}\\u201D even though environment is not a client`\n );\n }\n const defaultValue = initialValue instanceof Function ? initialValue() : initialValue;\n window.sessionStorage.removeItem(key);\n setStoredValue(defaultValue);\n window.dispatchEvent(new StorageEvent(\"session-storage\", { key }));\n });\n useEffect(() => {\n setStoredValue(readValue());\n }, [key]);\n const handleStorageChange = useCallback(\n (event) => {\n if (event.key && event.key !== key) {\n return;\n }\n setStoredValue(readValue());\n },\n [key, readValue]\n );\n useEventListener(\"storage\", handleStorageChange);\n useEventListener(\"session-storage\", handleStorageChange);\n return [storedValue, setValue, removeValue];\n}\nfunction useStep(maxStep) {\n const [currentStep, setCurrentStep] = useState(1);\n const canGoToNextStep = currentStep + 1 <= maxStep;\n const canGoToPrevStep = currentStep - 1 > 0;\n const setStep = useCallback(\n (step) => {\n const newStep = step instanceof Function ? step(currentStep) : step;\n if (newStep >= 1 && newStep <= maxStep) {\n setCurrentStep(newStep);\n return;\n }\n throw new Error(\"Step not valid\");\n },\n [maxStep, currentStep]\n );\n const goToNextStep = useCallback(() => {\n if (canGoToNextStep) {\n setCurrentStep((step) => step + 1);\n }\n }, [canGoToNextStep]);\n const goToPrevStep = useCallback(() => {\n if (canGoToPrevStep) {\n setCurrentStep((step) => step - 1);\n }\n }, [canGoToPrevStep]);\n const reset = useCallback(() => {\n setCurrentStep(1);\n }, []);\n return [\n currentStep,\n {\n goToNextStep,\n goToPrevStep,\n canGoToNextStep,\n canGoToPrevStep,\n setStep,\n reset\n }\n ];\n}\n\n// src/useTernaryDarkMode/useTernaryDarkMode.ts\nvar COLOR_SCHEME_QUERY2 = \"(prefers-color-scheme: dark)\";\nvar LOCAL_STORAGE_KEY2 = \"usehooks-ts-ternary-dark-mode\";\nfunction useTernaryDarkMode({\n defaultValue = \"system\",\n localStorageKey = LOCAL_STORAGE_KEY2,\n initializeWithValue = true\n} = {}) {\n const isDarkOS = useMediaQuery(COLOR_SCHEME_QUERY2, { initializeWithValue });\n const [mode, setMode] = useLocalStorage(localStorageKey, defaultValue, {\n initializeWithValue\n });\n const isDarkMode = mode === \"dark\" || mode === \"system\" && isDarkOS;\n const toggleTernaryDarkMode = () => {\n const modes = [\"light\", \"system\", \"dark\"];\n setMode((prevMode) => {\n const nextIndex = (modes.indexOf(prevMode) + 1) % modes.length;\n return modes[nextIndex];\n });\n };\n return {\n isDarkMode,\n ternaryDarkMode: mode,\n setTernaryDarkMode: setMode,\n toggleTernaryDarkMode\n };\n}\nfunction useTimeout(callback, delay) {\n const savedCallback = useRef(callback);\n useIsomorphicLayoutEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n useEffect(() => {\n if (!delay && delay !== 0) {\n return;\n }\n const id = setTimeout(() => {\n savedCallback.current();\n }, delay);\n return () => {\n clearTimeout(id);\n };\n }, [delay]);\n}\nfunction useToggle(defaultValue) {\n const [value, setValue] = useState(!!defaultValue);\n const toggle = useCallback(() => {\n setValue((x) => !x);\n }, []);\n return [value, toggle, setValue];\n}\nvar IS_SERVER7 = typeof window === \"undefined\";\nfunction useWindowSize(options = {}) {\n let { initializeWithValue = true } = options;\n if (IS_SERVER7) {\n initializeWithValue = false;\n }\n const [windowSize, setWindowSize] = useState(() => {\n if (initializeWithValue) {\n return {\n width: window.innerWidth,\n height: window.innerHeight\n };\n }\n return {\n width: void 0,\n height: void 0\n };\n });\n const debouncedSetWindowSize = useDebounceCallback(\n setWindowSize,\n options.debounceDelay\n );\n function handleSize() {\n const setSize = options.debounceDelay ? debouncedSetWindowSize : setWindowSize;\n setSize({\n width: window.innerWidth,\n height: window.innerHeight\n });\n }\n useEventListener(\"resize\", handleSize);\n useIsomorphicLayoutEffect(() => {\n handleSize();\n }, []);\n return windowSize;\n}\n\nexport { useBoolean, useClickAnyWhere, useCopyToClipboard, useCountdown, useCounter, useDarkMode, useDebounceCallback, useDebounceValue, useDocumentTitle, useEventCallback, useEventListener, useHover, useIntersectionObserver, useInterval, useIsClient, useIsMounted, useIsomorphicLayoutEffect, useLocalStorage, useMap, useMediaQuery, useOnClickOutside, useReadLocalStorage, useResizeObserver, useScreen, useScript, useScrollLock, useSessionStorage, useStep, useTernaryDarkMode, useTimeout, useToggle, useUnmount, useWindowSize };\n","import { useCallback, useEffect, useState, type RefObject } from \"react\";\n\ninterface DropdownControllerProps {\n\tcontainerRef: RefObject<HTMLElement>;\n\tdropdownRef: RefObject<HTMLElement>;\n\tonCloseDropDown?: () => void;\n}\n\ntype OutsideEvent = MouseEvent | WheelEvent;\n\nexport function useAutocompleteDropdown({ containerRef, dropdownRef, onCloseDropDown }: DropdownControllerProps) {\n\tconst [isOpen, setIsOpen] = useState<boolean>(false);\n\n\tconst handleEventsOutside = useCallback(\n\t\t(event: OutsideEvent) => {\n\t\t\tif (!isOpen) return;\n\t\t\tconst target = event.target as Node | null;\n\n\t\t\tif (!target) return;\n\t\t\tconst containerEl = containerRef.current;\n\t\t\tconst dropdownEl = dropdownRef.current;\n\t\t\tconst clickOutside = !!target && containerEl && !containerEl.contains(target) && dropdownEl && !dropdownEl.contains(target);\n\n\t\t\tif (clickOutside) {\n\t\t\t\tsetIsOpen(false);\n\t\t\t\tonCloseDropDown?.();\n\t\t\t}\n\t\t},\n\t\t[isOpen, dropdownRef, containerRef, onCloseDropDown],\n\t);\n\n\tconst modalRef = useCallback(() => document.getElementById(\"modal-root\"), []);\n\n\tuseEffect(() => {\n\t\tdocument.addEventListener(\"click\", handleEventsOutside);\n\t\tdocument.addEventListener(\"wheel\", handleEventsOutside);\n\t\tconst modalElem = modalRef();\n\n\t\tmodalElem?.addEventListener(\"click\", handleEventsOutside);\n\t\tmodalElem?.addEventListener(\"wheel\", handleEventsOutside);\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(\"click\", handleEventsOutside);\n\t\t\tdocument.removeEventListener(\"wheel\", handleEventsOutside);\n\t\t\tconst modalElemCleanup = modalRef();\n\n\t\t\tmodalElemCleanup?.removeEventListener(\"click\", handleEventsOutside);\n\t\t\tmodalElemCleanup?.removeEventListener(\"wheel\", handleEventsOutside);\n\t\t};\n\t}, [handleEventsOutside, modalRef]);\n\n\treturn [isOpen, setIsOpen] as const;\n}\n","import type { DataValueListItem, InputAutocompleteFormProps } from \"./autocomplete-types\";\n\nimport { Input } from \"lizaui/ui\";\nimport { RefreshCwIcon } from \"lucide-react\";\nimport { forwardRef, memo, useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useOnClickOutside } from \"usehooks-ts\";\n\nimport { AnimatePresence } from \"framer-motion\";\nimport { AutocompleteDropdown } from \"./autocomplete-dropdown\";\nimport { hideAllPortalSelectLists, hideAllSelectLists } from \"./autocomplete-utils\";\nimport { useAutocompleteDropdown } from \"./use-autocomplete-dropdown\";\n\nexport const InputAutocompleteForm = memo(\n\tforwardRef<HTMLDivElement, InputAutocompleteFormProps>(\n\t\t(\n\t\t\t{\n\t\t\t\tdata,\n\t\t\t\tid,\n\t\t\t\tname,\n\t\t\t\terrors,\n\t\t\t\ttouched,\n\t\t\t\tvalue,\n\t\t\t\tplaceholder = \"Buscar ...\",\n\t\t\t\treadOnly,\n\t\t\t\tstyle,\n\t\t\t\theight = 220,\n\t\t\t\tisSearch = false,\n\t\t\t\twidthList,\n\t\t\t\tloading = false,\n\t\t\t\ticonLeft,\n\t\t\t\ticonRight,\n\t\t\t\tautoFocus = false,\n\t\t\t\tinputId = \"\",\n\t\t\t\tonChange,\n\t\t\t\tonBlur,\n\t\t\t\tonClickItem,\n\t\t\t\tonResetInput,\n\t\t\t\tonMouseLeave,\n\t\t\t\tonMouseOver,\n\t\t\t\tonMouseEnter,\n\t\t\t\tinputClassName,\n\t\t\t\tfixed = true,\n\t\t\t\tinputRef,\n\t\t\t\tdefaultValue,\n\t\t\t\ttype = \"text\",\n\t\t\t\tisInsidePopover = false,\n\t\t\t\tcloseClickOutside = true,\n\t\t\t\ttextNoData,\n\t\t\t\tisEnter = true,\n\t\t\t\tmaxLength,\n\t\t\t\tstyleInput,\n\t\t\t\temptyContentChildren,\n startOptionIcon\n\t\t\t},\n\t\t\tref,\n\t\t) => {\n\t\t\tconst [valueField, setValueField] = useState<string>(\"\");\n\n\t\t\tconst internalInputRef = useRef<HTMLInputElement | null>(null);\n\t\t\tconst safeInputRef = (inputRef as any) ?? internalInputRef;\n\t\t\tconst selectListRef = useRef<HTMLUListElement>(null);\n\t\t\tconst containerRefAutocomplete = useRef<HTMLElement>(null);\n\n\t\t\tconst [isOpenDropdown, setIsOpenDropdown] = useAutocompleteDropdown({\n\t\t\t\tcontainerRef: safeInputRef as any,\n\t\t\t\tdropdownRef: selectListRef as any,\n\t\t\t\tonCloseDropDown: () => {\n\t\t\t\t\tif (defaultValue) {\n\t\t\t\t\t\tsetValueField(defaultValue);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tuseOnClickOutside(containerRefAutocomplete as any, () => {\n\t\t\t\tif (closeClickOutside) {\n\t\t\t\t\tsetIsOpenDropdown(false);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tuseEffect(() => {\n\t\t\t\tsetValueField(value);\n\t\t\t}, [value]);\n\n\t\t\tconst handleClickItem = useCallback(\n\t\t\t\t({ el }: { e?: React.MouseEvent<HTMLLIElement | HTMLLabelElement>; el: DataValueListItem }) => {\n\t\t\t\t\tsetIsOpenDropdown(false);\n\t\t\t\t\tonClickItem && onClickItem(el);\n\t\t\t\t},\n\t\t\t\t[onClickItem],\n\t\t\t);\n\n\t\t\tconst handleSearchText = (e: React.ChangeEvent<HTMLInputElement>) => {\n\t\t\t\tsetIsOpenDropdown(true);\n\t\t\t\tonChange && onChange(e);\n\t\t\t};\n\n\t\t\tconst endIcon = useMemo(() => {\n\t\t\t\tif (loading) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div aria-label=\"loading\" role=\"status\">\n\t\t\t\t\t\t\t<RefreshCwIcon className=\"h-4 w-4 animate-spin\" width={18} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (valueField !== \"\" && !readOnly) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\taria-label=\"Limpiar\"\n\t\t\t\t\t\t\tclassName=\"p-0 m-0 bg-transparent border-0 cursor-pointer text-default-500 hover:text-default-700\"\n\t\t\t\t\t\t\tstyle={{ lineHeight: 0, display: \"flex\" }}\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={(e) => setIconRightClick(e as any)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" focusable=\"false\" height={18} role=\"img\" viewBox=\"0 0 24 24\" width={18}>\n\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\td=\"M12 2a10 10 0 1010 10A10.016 10.016 0 0012 2zm3.36 12.3a.754.754 0 010 1.06.748.748 0 01-1.06 0l-2.3-2.3-2.3 2.3a.748.748 0 01-1.06 0 .754.754 0 010-1.06l2.3-2.3-2.3-2.3A.75.75 0 019.7 8.64l2.3 2.3 2.3-2.3a.75.75 0 011.06 1.06l-2.3 2.3z\"\n\t\t\t\t\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn iconRight?.icon ?? null;\n\t\t\t}, [loading, valueField, readOnly, iconRight]);\n\n\t\t\tconst setIconRightClick = (e: React.MouseEvent) => {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\tif (valueField !== \"\") {\n\t\t\t\t\tonResetInput && onResetInput();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n\t\t\t\te.preventDefault();\n\t\t\t\tisInsidePopover ? hideAllPortalSelectLists(name) : hideAllSelectLists(name);\n\t\t\t\tsetIsOpenDropdown(!isOpenDropdown);\n\t\t\t};\n\n\t\t\tconst handleOnFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n\t\t\t\te.preventDefault();\n\t\t\t\tisInsidePopover ? hideAllPortalSelectLists(name) : hideAllSelectLists(name);\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tref={containerRefAutocomplete as any}\n\t\t\t\t\tclassName=\"main-container-autocomplete-form w-full\"\n\t\t\t\t\tstyle={style}\n\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div ref={ref} className=\"input-autocomplete-form-container w-full relative\" id={String(id)}>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tref={safeInputRef}\n\t\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\t\taria-controls={`autocomplete-list-${id}`}\n\t\t\t\t\t\t\taria-expanded={isOpenDropdown}\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tautoFocus={autoFocus}\n\t\t\t\t\t\t\tclassName={`${inputClassName ?? \"input-autocomplete-form-search\"} w-full`}\n\t\t\t\t\t\t\tdefaultValue={defaultValue || value}\n\t\t\t\t\t\t\tendContent={endIcon}\n\t\t\t\t\t\t\terror={errors && touched ? String(errors) : undefined}\n\t\t\t\t\t\t\tid={inputId}\n\t\t\t\t\t\t\tmaxLength={maxLength}\n\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\t\tstartContent={iconLeft?.icon}\n\t\t\t\t\t\t\tstyle={styleInput}\n\t\t\t\t\t\t\ttouched={touched as any}\n\t\t\t\t\t\t\ttranslate=\"no\"\n\t\t\t\t\t\t\ttype={type}\n\t\t\t\t\t\t\tvalue={valueField}\n\t\t\t\t\t\t\tonBlur={onBlur as any}\n\t\t\t\t\t\t\tonChange={handleSearchText}\n\t\t\t\t\t\t\tonClick={handleClick}\n\t\t\t\t\t\t\tonFocus={handleOnFocus}\n\t\t\t\t\t\t\tonMouseEnter={onMouseEnter}\n\t\t\t\t\t\t\tonMouseLeave={onMouseLeave}\n\t\t\t\t\t\t\tonMouseOver={onMouseOver}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<AnimatePresence>\n\t\t\t\t\t\t\t{!loading && isOpenDropdown && !readOnly && (\n\t\t\t\t\t\t\t\t<AutocompleteDropdown\n\t\t\t\t\t\t\t\t\tref={selectListRef as any}\n\t\t\t\t\t\t\t\t\tkey=\"autocomplete-dropdown\"\n\t\t\t\t\t\t\t\t\tactive={id}\n\t\t\t\t\t\t\t\t\tdata={data}\n\t\t\t\t\t\t\t\t\temptyContentChildren={emptyContentChildren}\n\t\t\t\t\t\t\t\t\tfixed={fixed}\n\t\t\t\t\t\t\t\t\theight={height}\n\t\t\t\t\t\t\t\t\tisEnter={isEnter}\n\t\t\t\t\t\t\t\t\tisSearch={isSearch}\n\t\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\t\trefPartner={safeInputRef as any}\n\t\t\t\t\t\t\t\t\ttextNoData={textNoData}\n\t\t\t\t\t\t\t\t\twidthList={widthList}\n\t\t\t\t\t\t\t\t\tonClick={handleClickItem}\n startOptionIcon={startOptionIcon}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</AnimatePresence>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t),\n);\n\nInputAutocompleteForm.displayName = \"InputAutocompleteForm\";\n"],"names":["tv$1","clsx","twMerge","jsx","React","Slot","getElementRef","Fragment","useRef","useImperativeHandle","clamp","min","max","useState","useCallback","size","LazyMotion","domAnimation","AnimatePresence","m","useId","useMemo","isValidElement","cloneElement","jsxs","forwardRef","ReactDOM","index","EVENT_OPTIONS","focusFirst","getTabbableCandidates","ReactDOM__default","useStateMachine","p","createContext","useIsomorphicLayoutEffect","useLayoutEffect","useContext","createElement","isHTMLElement","useEffect","isRTL","TRIGGER_NAME","getState","PORTAL_NAME","PortalProvider","usePortalContext","OVERLAY_NAME","CONTENT_NAME","DescriptionWarning","TITLE_NAME","DESCRIPTION_NAME","CLOSE_NAME","Root","Content","Y","u","P","D","W","Z","T","X","N","$","k","__iconNode$1","__iconNode","arrow$1","offset","shift","flip","hide","arrow","limitShift","platform","offset$1","shift$1","limitShift$1","flip$1","size$1","hide$1","React__default","NAME$1","Root$1","ANCHOR_NAME","CONTENT_NAME$1","useCallbackRef","ARROW_NAME$1","NAME","SELECTION_KEYS","Collection","useCollection","createCollectionScope","usePopperScope","VIEWPORT_NAME","GROUP_NAME","LABEL_NAME","ITEM_NAME","ITEM_INDICATOR_NAME","SEPARATOR_NAME","ARROW_NAME","BUBBLE_INPUT_NAME","wrapArray","handleScroll","useResizeObserver","composeRefs","Content$3","Root$5","Portal$4","Content$4","Root$6","Trigger$7","memo","createRef","cn","motion","AutocompleteOptionList","createLucideIcon","global","debounce","result","RefreshCwIcon"],"mappings":"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","x_google_ignoreList":[25,26,27]}