lizaui 8.1.9 → 8.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/button/index.cjs.js +1 -1
- package/dist/button/index.es.js +1 -1
- package/dist/calendar/index.cjs.js +10 -10
- package/dist/calendar/index.cjs.js.map +1 -1
- package/dist/calendar/index.es.js +1842 -1309
- package/dist/calendar/index.es.js.map +1 -1
- package/dist/checkbox/index.cjs.js +1 -1
- package/dist/checkbox/index.es.js +1 -1
- package/dist/chip/index.cjs.js +1 -1
- package/dist/chip/index.es.js +1 -1
- package/dist/chunks/{button-COC4E-Qv.js → button-CSuKvE1x.js} +4 -4
- package/dist/chunks/{button-COC4E-Qv.js.map → button-CSuKvE1x.js.map} +1 -1
- package/dist/chunks/{button-CGIs6rx_.js → button-OdZ6El_t.js} +2 -2
- package/dist/chunks/{button-CGIs6rx_.js.map → button-OdZ6El_t.js.map} +1 -1
- package/dist/chunks/{checkbox-C4O1CC2o.js → checkbox-BhW9i0pm.js} +3 -3
- package/dist/chunks/{checkbox-C4O1CC2o.js.map → checkbox-BhW9i0pm.js.map} +1 -1
- package/dist/chunks/{checkbox-C7iPXnsq.js → checkbox-CWDPVAn2.js} +2 -2
- package/dist/chunks/{checkbox-C7iPXnsq.js.map → checkbox-CWDPVAn2.js.map} +1 -1
- package/dist/chunks/{index-B_lLnyI9.js → index-6ER8bShj.js} +2 -2
- package/dist/chunks/{index-B_lLnyI9.js.map → index-6ER8bShj.js.map} +1 -1
- package/dist/chunks/index-BydcKEwP.js +2 -0
- package/dist/chunks/index-BydcKEwP.js.map +1 -0
- package/dist/chunks/{index-6UmdGTUS.js → index-Do-g2tEs.js} +2 -2
- package/dist/chunks/{index-6UmdGTUS.js.map → index-Do-g2tEs.js.map} +1 -1
- package/dist/chunks/index-VJ2Qvmen.js +87 -0
- package/dist/chunks/index-VJ2Qvmen.js.map +1 -0
- package/dist/chunks/jsx-runtime-BjzqJBtL.js +2 -0
- package/dist/chunks/{jsx-runtime-DZW6kfQG.js.map → jsx-runtime-BjzqJBtL.js.map} +1 -1
- package/dist/chunks/{jsx-runtime-Dk9ExdSX.js → jsx-runtime-Cl_4eDuT.js} +3 -2
- package/dist/chunks/{jsx-runtime-Dk9ExdSX.js.map → jsx-runtime-Cl_4eDuT.js.map} +1 -1
- package/dist/chunks/{label-error-wbavGDVw.js → label-error-Ax74Uy3M.js} +2 -2
- package/dist/chunks/{label-error-wbavGDVw.js.map → label-error-Ax74Uy3M.js.map} +1 -1
- package/dist/chunks/{label-error-Dg6_L7YY.js → label-error-DGQqDKTV.js} +2 -2
- package/dist/chunks/{label-error-Dg6_L7YY.js.map → label-error-DGQqDKTV.js.map} +1 -1
- package/dist/chunks/{ripple-DkVNrwwK.js → ripple-DMI95LHg.js} +2 -2
- package/dist/chunks/{ripple-DkVNrwwK.js.map → ripple-DMI95LHg.js.map} +1 -1
- package/dist/chunks/{ripple-S5nRL6TJ.js → ripple-DieNd7XQ.js} +2 -2
- package/dist/chunks/{ripple-S5nRL6TJ.js.map → ripple-DieNd7XQ.js.map} +1 -1
- package/dist/chunks/scroll-area-C8l3z7wv.js +2 -0
- package/dist/chunks/scroll-area-C8l3z7wv.js.map +1 -0
- package/dist/chunks/{scroll-area-CsOiTMG3.js → scroll-area-zt_z9PRo.js} +168 -163
- package/dist/chunks/scroll-area-zt_z9PRo.js.map +1 -0
- package/dist/chunks/select-CC7ump6t.js +2 -0
- package/dist/chunks/select-CC7ump6t.js.map +1 -0
- package/dist/chunks/{select-CJRY9hSL.js → select-qaP_vaF3.js} +181 -181
- package/dist/chunks/select-qaP_vaF3.js.map +1 -0
- package/dist/chunks/{styled-components.browser.esm-CxZkQVdi.js → styled-components.browser.esm-CAEXERbT.js} +2 -2
- package/dist/chunks/{styled-components.browser.esm-CxZkQVdi.js.map → styled-components.browser.esm-CAEXERbT.js.map} +1 -1
- package/dist/chunks/{styled-components.browser.esm-M-8MrVJR.js → styled-components.browser.esm-DwaG9BxE.js} +2 -2
- package/dist/chunks/{styled-components.browser.esm-M-8MrVJR.js.map → styled-components.browser.esm-DwaG9BxE.js.map} +1 -1
- package/dist/chunks/{textarea-COi5ngTN.js → textarea-BIy5pTb5.js} +5 -5
- package/dist/chunks/{textarea-COi5ngTN.js.map → textarea-BIy5pTb5.js.map} +1 -1
- package/dist/chunks/{textarea-99dejq_o.js → textarea-Cklud2kp.js} +2 -2
- package/dist/chunks/{textarea-99dejq_o.js.map → textarea-Cklud2kp.js.map} +1 -1
- package/dist/chunks/{tooltip-Bxodcuiq.js → tooltip-B-5G3VVC.js} +2 -2
- package/dist/chunks/{tooltip-Bxodcuiq.js.map → tooltip-B-5G3VVC.js.map} +1 -1
- package/dist/chunks/{tooltip-DWnKIv1c.js → tooltip-DGFz59KW.js} +2 -2
- package/dist/chunks/{tooltip-DWnKIv1c.js.map → tooltip-DGFz59KW.js.map} +1 -1
- package/dist/divider/index.cjs.js +1 -1
- package/dist/divider/index.es.js +2 -2
- package/dist/modal/index.cjs.js +1 -1
- package/dist/modal/index.es.js +2 -2
- package/dist/pagination/index.cjs.js +1 -1
- package/dist/pagination/index.cjs.js.map +1 -1
- package/dist/pagination/index.es.js +27 -28
- package/dist/pagination/index.es.js.map +1 -1
- package/dist/phone-input/index.cjs.js +1 -1
- package/dist/phone-input/index.cjs.js.map +1 -1
- package/dist/phone-input/index.es.js +16 -16
- package/dist/ripple/index.cjs.js +1 -1
- package/dist/ripple/index.es.js +1 -1
- package/dist/select-input/index.cjs.js +1 -1
- package/dist/select-input/index.es.js +3 -3
- package/dist/table/index.cjs.js +1 -1
- package/dist/table/index.es.js +3 -3
- package/dist/time-input/index.cjs.js +1 -1
- package/dist/time-input/index.cjs.js.map +1 -1
- package/dist/time-input/index.es.js +7 -8
- package/dist/time-input/index.es.js.map +1 -1
- package/dist/tooltip/index.cjs.js +1 -1
- package/dist/tooltip/index.es.js +1 -1
- package/dist/ui/index.cjs.js +4 -4
- package/dist/ui/index.cjs.js.map +1 -1
- package/dist/ui/index.es.js +1063 -1052
- package/dist/ui/index.es.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunks/index-BD4EmzUR.js +0 -15
- package/dist/chunks/index-BD4EmzUR.js.map +0 -1
- package/dist/chunks/index-COBcVFMF.js +0 -2
- package/dist/chunks/index-COBcVFMF.js.map +0 -1
- package/dist/chunks/jsx-runtime-DZW6kfQG.js +0 -2
- package/dist/chunks/scroll-area--KGqTnx5.js +0 -2
- package/dist/chunks/scroll-area--KGqTnx5.js.map +0 -1
- package/dist/chunks/scroll-area-CsOiTMG3.js.map +0 -1
- package/dist/chunks/select-CJRY9hSL.js.map +0 -1
- package/dist/chunks/select-DCeDDexH.js +0 -2
- package/dist/chunks/select-DCeDDexH.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scroll-area-zt_z9PRo.js","sources":["../../node_modules/.pnpm/lucide-react@0.543.0_react@19.1.1/node_modules/lucide-react/dist/esm/icons/search.js","../../node_modules/.pnpm/@radix-ui+react-scroll-area@1.2.10_@types+react-dom@19.1.9_@types+react@19.1.12__@types+react_2ybifjy3bplh5o2sdq6cwy7gae/node_modules/@radix-ui/react-scroll-area/dist/index.mjs","../../src/components/ui/scroll-area.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.543.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: \"m21 21-4.34-4.34\", key: \"14j7rj\" }],\n [\"circle\", { cx: \"11\", cy: \"11\", r: \"8\", key: \"4ej97u\" }]\n];\nconst Search = createLucideIcon(\"search\", __iconNode);\n\nexport { __iconNode, Search as default };\n//# sourceMappingURL=search.js.map\n","\"use client\";\n\n// src/scroll-area.tsx\nimport * as React2 from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\n// src/use-state-machine.ts\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// src/scroll-area.tsx\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar SCROLL_AREA_NAME = \"ScrollArea\";\nvar [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);\nvar [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);\nvar ScrollArea = React2.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeScrollArea,\n type = \"hover\",\n dir,\n scrollHideDelay = 600,\n ...scrollAreaProps\n } = props;\n const [scrollArea, setScrollArea] = React2.useState(null);\n const [viewport, setViewport] = React2.useState(null);\n const [content, setContent] = React2.useState(null);\n const [scrollbarX, setScrollbarX] = React2.useState(null);\n const [scrollbarY, setScrollbarY] = React2.useState(null);\n const [cornerWidth, setCornerWidth] = React2.useState(0);\n const [cornerHeight, setCornerHeight] = React2.useState(0);\n const [scrollbarXEnabled, setScrollbarXEnabled] = React2.useState(false);\n const [scrollbarYEnabled, setScrollbarYEnabled] = React2.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.displayName = SCROLL_AREA_NAME;\nvar VIEWPORT_NAME = \"ScrollAreaViewport\";\nvar ScrollAreaViewport = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, children, nonce, ...viewportProps } = props;\n const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);\n const ref = React2.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 = React2.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 React2.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 = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [visible, setVisible] = React2.useState(false);\n React2.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 = React2.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 React2.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 React2.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 = React2.forwardRef((props, forwardedRef) => {\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { forceMount, ...scrollbarProps } = props;\n const [visible, setVisible] = React2.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 = React2.forwardRef((props, forwardedRef) => {\n const { orientation = \"vertical\", ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const thumbRef = React2.useRef(null);\n const pointerOffsetRef = React2.useRef(0);\n const [sizes, setSizes] = React2.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 = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);\n React2.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 = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);\n React2.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 = React2.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] = React2.useState(null);\n const composeRefs = useComposedRefs(forwardedRef, (node) => setScrollbar(node));\n const rectRef = React2.useRef(null);\n const prevWebkitUserSelectRef = React2.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 React2.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 React2.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 = React2.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 = React2.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 = React2.useRef(void 0);\n const debounceScrollEnd = useDebounceCallback(() => {\n if (removeUnlinkedScrollListenerRef.current) {\n removeUnlinkedScrollListenerRef.current();\n removeUnlinkedScrollListenerRef.current = void 0;\n }\n }, 100);\n React2.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 = React2.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 = React2.forwardRef((props, forwardedRef) => {\n const { __scopeScrollArea, ...cornerProps } = props;\n const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);\n const [width, setWidth] = React2.useState(0);\n const [height, setHeight] = React2.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 = React2.useRef(0);\n React2.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);\n return React2.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 useLayoutEffect(() => {\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;\nvar Viewport = ScrollAreaViewport;\nvar Scrollbar = ScrollAreaScrollbar;\nvar Thumb = ScrollAreaThumb;\nvar Corner = ScrollAreaCorner;\nexport {\n Corner,\n Root,\n ScrollArea,\n ScrollAreaCorner,\n ScrollAreaScrollbar,\n ScrollAreaThumb,\n ScrollAreaViewport,\n Scrollbar,\n Thumb,\n Viewport,\n createScrollAreaScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction ScrollArea({ className, children, ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n\treturn (\n\t\t<ScrollAreaPrimitive.Root data-slot=\"scroll-area\" className={cn(\"relative\", className)} {...props}>\n\t\t\t<ScrollAreaPrimitive.Viewport\n\t\t\t\tdata-slot=\"scroll-area-viewport\"\n\t\t\t\tclassName=\"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1\"\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</ScrollAreaPrimitive.Viewport>\n\t\t\t<ScrollBar />\n\t\t\t<ScrollAreaPrimitive.Corner />\n\t\t</ScrollAreaPrimitive.Root>\n\t);\n}\n\nfunction ScrollBar({ className, orientation = \"vertical\", ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n\treturn (\n\t\t<ScrollAreaPrimitive.ScrollAreaScrollbar\n\t\t\tdata-slot=\"scroll-area-scrollbar\"\n\t\t\torientation={orientation}\n\t\t\tclassName={cn(\n\t\t\t\t\"flex touch-none p-px transition-colors select-none\",\n\t\t\t\torientation === \"vertical\" && \"h-full w-2.5 border-l border-l-transparent\",\n\t\t\t\torientation === \"horizontal\" && \"h-2.5 flex-col border-t border-t-transparent\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ScrollAreaPrimitive.ScrollAreaThumb data-slot=\"scroll-area-thumb\" className=\"bg-border relative flex-1 rounded-full\" />\n\t\t</ScrollAreaPrimitive.ScrollAreaScrollbar>\n\t);\n}\n\nexport { ScrollArea, ScrollBar };\n"],"names":["__iconNode","Search","createLucideIcon","useStateMachine","initialState","machine","React","state","event","SCROLL_AREA_NAME","createScrollAreaContext","createScrollAreaScope","createContextScope","ScrollAreaProvider","useScrollAreaContext","ScrollArea","React2","props","forwardedRef","__scopeScrollArea","type","dir","scrollHideDelay","scrollAreaProps","scrollArea","setScrollArea","viewport","setViewport","content","setContent","scrollbarX","setScrollbarX","scrollbarY","setScrollbarY","cornerWidth","setCornerWidth","cornerHeight","setCornerHeight","scrollbarXEnabled","setScrollbarXEnabled","scrollbarYEnabled","setScrollbarYEnabled","composedRefs","useComposedRefs","node","direction","useDirection","jsx","Primitive","VIEWPORT_NAME","ScrollAreaViewport","children","nonce","viewportProps","context","ref","jsxs","Fragment","SCROLLBAR_NAME","ScrollAreaScrollbar","forceMount","scrollbarProps","onScrollbarXEnabledChange","onScrollbarYEnabledChange","isHorizontal","ScrollAreaScrollbarHover","ScrollAreaScrollbarScroll","ScrollAreaScrollbarAuto","ScrollAreaScrollbarVisible","visible","setVisible","hideTimer","handlePointerEnter","handlePointerLeave","Presence","debounceScrollEnd","useDebounceCallback","send","scrollDirection","prevScrollPos","handleScroll","scrollPos","composeEventHandlers","handleResize","isOverflowX","isOverflowY","useResizeObserver","orientation","thumbRef","pointerOffsetRef","sizes","setSizes","thumbRatio","getThumbRatio","commonProps","thumb","pointerPos","getScrollPosition","getScrollPositionFromPointer","ScrollAreaScrollbarX","offset","getThumbOffsetFromScroll","ScrollAreaScrollbarY","onSizesChange","computedStyle","setComputedStyle","composeRefs","ScrollAreaScrollbarImpl","getThumbSize","maxScrollPos","isScrollingWithinScrollbarBounds","toInt","ScrollbarProvider","useScrollbarContext","hasThumb","onThumbChange","onThumbPointerUp","onThumbPointerDown","onThumbPositionChange","onDragScroll","onWheelScroll","onResize","scrollbar","setScrollbar","rectRef","prevWebkitUserSelectRef","handleWheelScroll","useCallbackRef","handleThumbPositionChange","handleDragScroll","x","y","handleWheel","element","THUMB_NAME","ScrollAreaThumb","thumbProps","scrollbarContext","ScrollAreaThumbImpl","style","scrollAreaContext","composedRef","removeUnlinkedScrollListenerRef","listener","addUnlinkedScrollListener","thumbRect","CORNER_NAME","ScrollAreaCorner","hasBothScrollbarsVisible","ScrollAreaCornerImpl","cornerProps","width","setWidth","height","setHeight","hasSize","height2","width2","value","viewportSize","contentSize","ratio","scrollbarPadding","thumbSize","pointerOffset","thumbSizePx","thumbCenter","thumbOffsetFromEnd","minPointerPos","maxPointerPos","scrollRange","linearScale","maxThumbPos","scrollClampRange","scrollWithoutMomentum","clamp","input","output","handler","prevPosition","rAF","loop","position","isHorizontalScroll","isVerticalScroll","callback","delay","handleCallback","debounceTimerRef","useLayoutEffect","resizeObserver","Root","Viewport","Corner","className","ScrollAreaPrimitive.Root","cn","ScrollAreaPrimitive.Viewport","ScrollBar","ScrollAreaPrimitive.Corner","ScrollAreaPrimitive.ScrollAreaScrollbar","ScrollAreaPrimitive.ScrollAreaThumb"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const r=require("./jsx-runtime-BjzqJBtL.js"),X=require("react"),Pt=require("react-dom"),ne=require("./index-BydcKEwP.js"),p=require("./textarea-Cklud2kp.js"),N=require("./index-6ER8bShj.js"),Y=require("./floating-ui.react-dom-fLHuukRa.js"),bt=require("./floating-ui.dom-CJ93ksva.js"),Z=require("./utils-IjLH3w2e.js");function Ie(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,i.get?i:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const n=Ie(X),Te=Ie(Pt);function Ne(e){const o=e+"CollectionProvider",[t,i]=p.createContextScope(o),[a,d]=t(o,{collectionRef:{current:null},itemMap:new Map}),s=u=>{const{scope:h,children:S}=u,m=X.useRef(null),v=X.useRef(new Map).current;return r.jsxRuntimeExports.jsx(a,{scope:h,itemMap:v,collectionRef:m,children:S})};s.displayName=o;const l=e+"CollectionSlot",c=N.createSlot(l),f=X.forwardRef((u,h)=>{const{scope:S,children:m}=u,v=d(l,S),b=N.useComposedRefs(h,v.collectionRef);return r.jsxRuntimeExports.jsx(c,{ref:b,children:m})});f.displayName=l;const g=e+"CollectionItemSlot",w="data-radix-collection-item",j=N.createSlot(g),E=X.forwardRef((u,h)=>{const{scope:S,children:m,...v}=u,b=X.useRef(null),_=N.useComposedRefs(h,b),H=d(g,S);return X.useEffect(()=>(H.itemMap.set(b,{ref:b,...v}),()=>void H.itemMap.delete(b))),r.jsxRuntimeExports.jsx(j,{[w]:"",ref:_,children:m})});E.displayName=g;function R(u){const h=d(e+"CollectionConsumer",u);return X.useCallback(()=>{const m=h.collectionRef.current;if(!m)return[];const v=Array.from(m.querySelectorAll(`[${w}]`));return Array.from(h.itemMap.values()).sort((H,T)=>v.indexOf(H.ref.current)-v.indexOf(T.ref.current))},[h.collectionRef,h.itemMap])}return[{Provider:s,Slot:f,ItemSlot:E},R,i]}var It="Arrow",_e=n.forwardRef((e,o)=>{const{children:t,width:i=10,height:a=5,...d}=e;return r.jsxRuntimeExports.jsx(p.Primitive.svg,{...d,ref:o,width:i,height:a,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?t:r.jsxRuntimeExports.jsx("polygon",{points:"0,0 30,0 15,10"})})});_e.displayName=It;var Tt=_e;function Ae(e){const[o,t]=n.useState(void 0);return p.useLayoutEffect2(()=>{if(e){t({width:e.offsetWidth,height:e.offsetHeight});const i=new ResizeObserver(a=>{if(!Array.isArray(a)||!a.length)return;const d=a[0];let s,l;if("borderBoxSize"in d){const c=d.borderBoxSize,f=Array.isArray(c)?c[0]:c;s=f.inlineSize,l=f.blockSize}else s=e.offsetWidth,l=e.offsetHeight;t({width:s,height:l})});return i.observe(e,{box:"border-box"}),()=>i.unobserve(e)}else t(void 0)},[e]),o}var Ce="Popper",[Oe,je]=p.createContextScope(Ce),[Nt,Me]=Oe(Ce),De=e=>{const{__scopePopper:o,children:t}=e,[i,a]=n.useState(null);return r.jsxRuntimeExports.jsx(Nt,{scope:o,anchor:i,onAnchorChange:a,children:t})};De.displayName=Ce;var He="PopperAnchor",Le=n.forwardRef((e,o)=>{const{__scopePopper:t,virtualRef:i,...a}=e,d=Me(He,t),s=n.useRef(null),l=N.useComposedRefs(o,s),c=n.useRef(null);return n.useEffect(()=>{const f=c.current;c.current=i?.current||s.current,f!==c.current&&d.onAnchorChange(c.current)}),i?null:r.jsxRuntimeExports.jsx(p.Primitive.div,{...a,ref:l})});Le.displayName=He;var Pe="PopperContent",[_t,At]=Oe(Pe),ke=n.forwardRef((e,o)=>{const{__scopePopper:t,side:i="bottom",sideOffset:a=0,align:d="center",alignOffset:s=0,arrowPadding:l=0,avoidCollisions:c=!0,collisionBoundary:f=[],collisionPadding:g=0,sticky:w="partial",hideWhenDetached:j=!1,updatePositionStrategy:E="optimized",onPlaced:R,...u}=e,h=Me(Pe,t),[S,m]=n.useState(null),v=N.useComposedRefs(o,x=>m(x)),[b,_]=n.useState(null),H=Ae(b),T=H?.width??0,L=H?.height??0,K=i+(d!=="center"?"-"+d:""),q=typeof g=="number"?g:{top:0,right:0,bottom:0,left:0,...g},B=Array.isArray(f)?f:[f],W=B.length>0,k={padding:q,boundary:B.filter(Mt),altBoundary:W},{refs:$,floatingStyles:V,placement:A,isPositioned:M,middlewareData:O}=Y.useFloating({strategy:"fixed",placement:K,whileElementsMounted:(...x)=>bt.autoUpdate(...x,{animationFrame:E==="always"}),elements:{reference:h.anchor},middleware:[Y.offset({mainAxis:a+L,alignmentAxis:s}),c&&Y.shift({mainAxis:!0,crossAxis:!1,limiter:w==="partial"?Y.limitShift():void 0,...k}),c&&Y.flip({...k}),Y.size({...k,apply:({elements:x,rects:P,availableWidth:D,availableHeight:y})=>{const{width:C,height:I}=P.reference,z=x.floating.style;z.setProperty("--radix-popper-available-width",`${D}px`),z.setProperty("--radix-popper-available-height",`${y}px`),z.setProperty("--radix-popper-anchor-width",`${C}px`),z.setProperty("--radix-popper-anchor-height",`${I}px`)}}),b&&Y.arrow({element:b,padding:l}),Dt({arrowWidth:T,arrowHeight:L}),j&&Y.hide({strategy:"referenceHidden",...k})]}),[U,ce]=ze(A),ee=p.useCallbackRef(R);p.useLayoutEffect2(()=>{M&&ee?.()},[M,ee]);const le=O.arrow?.x,de=O.arrow?.y,G=O.arrow?.centerOffset!==0,[ie,te]=n.useState();return p.useLayoutEffect2(()=>{S&&te(window.getComputedStyle(S).zIndex)},[S]),r.jsxRuntimeExports.jsx("div",{ref:$.setFloating,"data-radix-popper-content-wrapper":"",style:{...V,transform:M?V.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ie,"--radix-popper-transform-origin":[O.transformOrigin?.x,O.transformOrigin?.y].join(" "),...O.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:r.jsxRuntimeExports.jsx(_t,{scope:t,placedSide:U,onArrowChange:_,arrowX:le,arrowY:de,shouldHideArrow:G,children:r.jsxRuntimeExports.jsx(p.Primitive.div,{"data-side":U,"data-align":ce,...u,ref:v,style:{...u.style,animation:M?void 0:"none"}})})})});ke.displayName=Pe;var Be="PopperArrow",Ot={top:"bottom",right:"left",bottom:"top",left:"right"},Ve=n.forwardRef(function(o,t){const{__scopePopper:i,...a}=o,d=At(Be,i),s=Ot[d.placedSide];return r.jsxRuntimeExports.jsx("span",{ref:d.onArrowChange,style:{position:"absolute",left:d.arrowX,top:d.arrowY,[s]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[d.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[d.placedSide],visibility:d.shouldHideArrow?"hidden":void 0},children:r.jsxRuntimeExports.jsx(Tt,{...a,ref:t,style:{...a.style,display:"block"}})})});Ve.displayName=Be;function Mt(e){return e!==null}var Dt=e=>({name:"transformOrigin",options:e,fn(o){const{placement:t,rects:i,middlewareData:a}=o,s=a.arrow?.centerOffset!==0,l=s?0:e.arrowWidth,c=s?0:e.arrowHeight,[f,g]=ze(t),w={start:"0%",center:"50%",end:"100%"}[g],j=(a.arrow?.x??0)+l/2,E=(a.arrow?.y??0)+c/2;let R="",u="";return f==="bottom"?(R=s?w:`${j}px`,u=`${-c}px`):f==="top"?(R=s?w:`${j}px`,u=`${i.floating.height+c}px`):f==="right"?(R=`${-c}px`,u=s?w:`${E}px`):f==="left"&&(R=`${i.floating.width+c}px`,u=s?w:`${E}px`),{data:{x:R,y:u}}}});function ze(e){const[o,t="center"]=e.split("-");return[o,t]}var We=De,$e=Le,Ue=ke,Fe=Ve;const Ht=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],Lt=ne.createLucideIcon("chevron-up",Ht);function Ke(e){const o=n.useRef({value:e,previous:e});return n.useMemo(()=>(o.current.value!==e&&(o.current.previous=o.current.value,o.current.value=e),o.current.previous),[e])}var qe=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),kt="VisuallyHidden",Ge=n.forwardRef((e,o)=>r.jsxRuntimeExports.jsx(p.Primitive.span,{...e,ref:o,style:{...qe,...e.style}}));Ge.displayName=kt;var Bt=Ge,Vt=[" ","Enter","ArrowUp","ArrowDown"],zt=[" ","Enter"],re="Select",[fe,me,Wt]=Ne(re),[ae,No]=p.createContextScope(re,[Wt,je]),xe=je(),[$t,J]=ae(re),[Ut,Ft]=ae(re),Ye=e=>{const{__scopeSelect:o,children:t,open:i,defaultOpen:a,onOpenChange:d,value:s,defaultValue:l,onValueChange:c,dir:f,name:g,autoComplete:w,disabled:j,required:E,form:R}=e,u=xe(o),[h,S]=n.useState(null),[m,v]=n.useState(null),[b,_]=n.useState(!1),H=ne.useDirection(f),[T,L]=p.useControllableState({prop:i,defaultProp:a??!1,onChange:d,caller:re}),[K,q]=p.useControllableState({prop:s,defaultProp:l,onChange:c,caller:re}),B=n.useRef(null),W=h?R||!!h.closest("form"):!0,[k,$]=n.useState(new Set),V=Array.from(k).map(A=>A.props.value).join(";");return r.jsxRuntimeExports.jsx(We,{...u,children:r.jsxRuntimeExports.jsxs($t,{required:E,scope:o,trigger:h,onTriggerChange:S,valueNode:m,onValueNodeChange:v,valueNodeHasChildren:b,onValueNodeHasChildrenChange:_,contentId:p.useId(),value:K,onValueChange:q,open:T,onOpenChange:L,dir:H,triggerPointerDownPosRef:B,disabled:j,children:[r.jsxRuntimeExports.jsx(fe.Provider,{scope:o,children:r.jsxRuntimeExports.jsx(Ut,{scope:e.__scopeSelect,onNativeOptionAdd:n.useCallback(A=>{$(M=>new Set(M).add(A))},[]),onNativeOptionRemove:n.useCallback(A=>{$(M=>{const O=new Set(M);return O.delete(A),O})},[]),children:t})}),W?r.jsxRuntimeExports.jsxs(wt,{"aria-hidden":!0,required:E,tabIndex:-1,name:g,autoComplete:w,value:K,onChange:A=>q(A.target.value),disabled:j,form:R,children:[K===void 0?r.jsxRuntimeExports.jsx("option",{value:""}):null,Array.from(k)]},V):null]})})};Ye.displayName=re;var Xe="SelectTrigger",Ze=n.forwardRef((e,o)=>{const{__scopeSelect:t,disabled:i=!1,...a}=e,d=xe(t),s=J(Xe,t),l=s.disabled||i,c=N.useComposedRefs(o,s.onTriggerChange),f=me(t),g=n.useRef("touch"),[w,j,E]=Et(u=>{const h=f().filter(v=>!v.disabled),S=h.find(v=>v.value===s.value),m=yt(h,u,S);m!==void 0&&s.onValueChange(m.value)}),R=u=>{l||(s.onOpenChange(!0),E()),u&&(s.triggerPointerDownPosRef.current={x:Math.round(u.pageX),y:Math.round(u.pageY)})};return r.jsxRuntimeExports.jsx($e,{asChild:!0,...d,children:r.jsxRuntimeExports.jsx(p.Primitive.button,{type:"button",role:"combobox","aria-controls":s.contentId,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":"none",dir:s.dir,"data-state":s.open?"open":"closed",disabled:l,"data-disabled":l?"":void 0,"data-placeholder":Rt(s.value)?"":void 0,...a,ref:c,onClick:p.composeEventHandlers(a.onClick,u=>{u.currentTarget.focus(),g.current!=="mouse"&&R(u)}),onPointerDown:p.composeEventHandlers(a.onPointerDown,u=>{g.current=u.pointerType;const h=u.target;h.hasPointerCapture(u.pointerId)&&h.releasePointerCapture(u.pointerId),u.button===0&&u.ctrlKey===!1&&u.pointerType==="mouse"&&(R(u),u.preventDefault())}),onKeyDown:p.composeEventHandlers(a.onKeyDown,u=>{const h=w.current!=="";!(u.ctrlKey||u.altKey||u.metaKey)&&u.key.length===1&&j(u.key),!(h&&u.key===" ")&&Vt.includes(u.key)&&(R(),u.preventDefault())})})})});Ze.displayName=Xe;var Je="SelectValue",Qe=n.forwardRef((e,o)=>{const{__scopeSelect:t,className:i,style:a,children:d,placeholder:s="",...l}=e,c=J(Je,t),{onValueNodeHasChildrenChange:f}=c,g=d!==void 0,w=N.useComposedRefs(o,c.onValueNodeChange);return p.useLayoutEffect2(()=>{f(g)},[f,g]),r.jsxRuntimeExports.jsx(p.Primitive.span,{...l,ref:w,style:{pointerEvents:"none"},children:Rt(c.value)?r.jsxRuntimeExports.jsx(r.jsxRuntimeExports.Fragment,{children:s}):d})});Qe.displayName=Je;var Kt="SelectIcon",et=n.forwardRef((e,o)=>{const{__scopeSelect:t,children:i,...a}=e;return r.jsxRuntimeExports.jsx(p.Primitive.span,{"aria-hidden":!0,...a,ref:o,children:i||"▼"})});et.displayName=Kt;var qt="SelectPortal",tt=e=>r.jsxRuntimeExports.jsx(p.Portal,{asChild:!0,...e});tt.displayName=qt;var se="SelectContent",ot=n.forwardRef((e,o)=>{const t=J(se,e.__scopeSelect),[i,a]=n.useState();if(p.useLayoutEffect2(()=>{a(new DocumentFragment)},[]),!t.open){const d=i;return d?Te.createPortal(r.jsxRuntimeExports.jsx(nt,{scope:e.__scopeSelect,children:r.jsxRuntimeExports.jsx(fe.Slot,{scope:e.__scopeSelect,children:r.jsxRuntimeExports.jsx("div",{children:e.children})})}),d):null}return r.jsxRuntimeExports.jsx(rt,{...e,ref:o})});ot.displayName=se;var F=10,[nt,Q]=ae(se),Gt="SelectContentImpl",Yt=N.createSlot("SelectContent.RemoveScroll"),rt=n.forwardRef((e,o)=>{const{__scopeSelect:t,position:i="item-aligned",onCloseAutoFocus:a,onEscapeKeyDown:d,onPointerDownOutside:s,side:l,sideOffset:c,align:f,alignOffset:g,arrowPadding:w,collisionBoundary:j,collisionPadding:E,sticky:R,hideWhenDetached:u,avoidCollisions:h,...S}=e,m=J(se,t),[v,b]=n.useState(null),[_,H]=n.useState(null),T=N.useComposedRefs(o,x=>b(x)),[L,K]=n.useState(null),[q,B]=n.useState(null),W=me(t),[k,$]=n.useState(!1),V=n.useRef(!1);n.useEffect(()=>{if(v)return p.hideOthers(v)},[v]),p.useFocusGuards();const A=n.useCallback(x=>{const[P,...D]=W().map(I=>I.ref.current),[y]=D.slice(-1),C=document.activeElement;for(const I of x)if(I===C||(I?.scrollIntoView({block:"nearest"}),I===P&&_&&(_.scrollTop=0),I===y&&_&&(_.scrollTop=_.scrollHeight),I?.focus(),document.activeElement!==C))return},[W,_]),M=n.useCallback(()=>A([L,v]),[A,L,v]);n.useEffect(()=>{k&&M()},[k,M]);const{onOpenChange:O,triggerPointerDownPosRef:U}=m;n.useEffect(()=>{if(v){let x={x:0,y:0};const P=y=>{x={x:Math.abs(Math.round(y.pageX)-(U.current?.x??0)),y:Math.abs(Math.round(y.pageY)-(U.current?.y??0))}},D=y=>{x.x<=10&&x.y<=10?y.preventDefault():v.contains(y.target)||O(!1),document.removeEventListener("pointermove",P),U.current=null};return U.current!==null&&(document.addEventListener("pointermove",P),document.addEventListener("pointerup",D,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",P),document.removeEventListener("pointerup",D,{capture:!0})}}},[v,O,U]),n.useEffect(()=>{const x=()=>O(!1);return window.addEventListener("blur",x),window.addEventListener("resize",x),()=>{window.removeEventListener("blur",x),window.removeEventListener("resize",x)}},[O]);const[ce,ee]=Et(x=>{const P=W().filter(C=>!C.disabled),D=P.find(C=>C.ref.current===document.activeElement),y=yt(P,x,D);y&&setTimeout(()=>y.ref.current.focus())}),le=n.useCallback((x,P,D)=>{const y=!V.current&&!D;(m.value!==void 0&&m.value===P||y)&&(K(x),y&&(V.current=!0))},[m.value]),de=n.useCallback(()=>v?.focus(),[v]),G=n.useCallback((x,P,D)=>{const y=!V.current&&!D;(m.value!==void 0&&m.value===P||y)&&B(x)},[m.value]),ie=i==="popper"?Se:st,te=ie===Se?{side:l,sideOffset:c,align:f,alignOffset:g,arrowPadding:w,collisionBoundary:j,collisionPadding:E,sticky:R,hideWhenDetached:u,avoidCollisions:h}:{};return r.jsxRuntimeExports.jsx(nt,{scope:t,content:v,viewport:_,onViewportChange:H,itemRefCallback:le,selectedItem:L,onItemLeave:de,itemTextRefCallback:G,focusSelectedItem:M,selectedItemText:q,position:i,isPositioned:k,searchRef:ce,children:r.jsxRuntimeExports.jsx(p.ReactRemoveScroll,{as:Yt,allowPinchZoom:!0,children:r.jsxRuntimeExports.jsx(p.FocusScope,{asChild:!0,trapped:m.open,onMountAutoFocus:x=>{x.preventDefault()},onUnmountAutoFocus:p.composeEventHandlers(a,x=>{m.trigger?.focus({preventScroll:!0}),x.preventDefault()}),children:r.jsxRuntimeExports.jsx(p.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:d,onPointerDownOutside:s,onFocusOutside:x=>x.preventDefault(),onDismiss:()=>m.onOpenChange(!1),children:r.jsxRuntimeExports.jsx(ie,{role:"listbox",id:m.contentId,"data-state":m.open?"open":"closed",dir:m.dir,onContextMenu:x=>x.preventDefault(),...S,...te,onPlaced:()=>$(!0),ref:T,style:{display:"flex",flexDirection:"column",outline:"none",...S.style},onKeyDown:p.composeEventHandlers(S.onKeyDown,x=>{const P=x.ctrlKey||x.altKey||x.metaKey;if(x.key==="Tab"&&x.preventDefault(),!P&&x.key.length===1&&ee(x.key),["ArrowUp","ArrowDown","Home","End"].includes(x.key)){let y=W().filter(C=>!C.disabled).map(C=>C.ref.current);if(["ArrowUp","End"].includes(x.key)&&(y=y.slice().reverse()),["ArrowUp","ArrowDown"].includes(x.key)){const C=x.target,I=y.indexOf(C);y=y.slice(I+1)}setTimeout(()=>A(y)),x.preventDefault()}})})})})})})});rt.displayName=Gt;var Xt="SelectItemAlignedPosition",st=n.forwardRef((e,o)=>{const{__scopeSelect:t,onPlaced:i,...a}=e,d=J(se,t),s=Q(se,t),[l,c]=n.useState(null),[f,g]=n.useState(null),w=N.useComposedRefs(o,T=>g(T)),j=me(t),E=n.useRef(!1),R=n.useRef(!0),{viewport:u,selectedItem:h,selectedItemText:S,focusSelectedItem:m}=s,v=n.useCallback(()=>{if(d.trigger&&d.valueNode&&l&&f&&u&&h&&S){const T=d.trigger.getBoundingClientRect(),L=f.getBoundingClientRect(),K=d.valueNode.getBoundingClientRect(),q=S.getBoundingClientRect();if(d.dir!=="rtl"){const C=q.left-L.left,I=K.left-C,z=T.left-I,oe=T.width+z,he=Math.max(oe,L.width),ve=window.innerWidth-F,ge=ne.clamp(I,[F,Math.max(F,ve-he)]);l.style.minWidth=oe+"px",l.style.left=ge+"px"}else{const C=L.right-q.right,I=window.innerWidth-K.right-C,z=window.innerWidth-T.right-I,oe=T.width+z,he=Math.max(oe,L.width),ve=window.innerWidth-F,ge=ne.clamp(I,[F,Math.max(F,ve-he)]);l.style.minWidth=oe+"px",l.style.right=ge+"px"}const B=j(),W=window.innerHeight-F*2,k=u.scrollHeight,$=window.getComputedStyle(f),V=parseInt($.borderTopWidth,10),A=parseInt($.paddingTop,10),M=parseInt($.borderBottomWidth,10),O=parseInt($.paddingBottom,10),U=V+A+k+O+M,ce=Math.min(h.offsetHeight*5,U),ee=window.getComputedStyle(u),le=parseInt(ee.paddingTop,10),de=parseInt(ee.paddingBottom,10),G=T.top+T.height/2-F,ie=W-G,te=h.offsetHeight/2,x=h.offsetTop+te,P=V+A+x,D=U-P;if(P<=G){const C=B.length>0&&h===B[B.length-1].ref.current;l.style.bottom="0px";const I=f.clientHeight-u.offsetTop-u.offsetHeight,z=Math.max(ie,te+(C?de:0)+I+M),oe=P+z;l.style.height=oe+"px"}else{const C=B.length>0&&h===B[0].ref.current;l.style.top="0px";const z=Math.max(G,V+u.offsetTop+(C?le:0)+te)+D;l.style.height=z+"px",u.scrollTop=P-G+u.offsetTop}l.style.margin=`${F}px 0`,l.style.minHeight=ce+"px",l.style.maxHeight=W+"px",i?.(),requestAnimationFrame(()=>E.current=!0)}},[j,d.trigger,d.valueNode,l,f,u,h,S,d.dir,i]);p.useLayoutEffect2(()=>v(),[v]);const[b,_]=n.useState();p.useLayoutEffect2(()=>{f&&_(window.getComputedStyle(f).zIndex)},[f]);const H=n.useCallback(T=>{T&&R.current===!0&&(v(),m?.(),R.current=!1)},[v,m]);return r.jsxRuntimeExports.jsx(Jt,{scope:t,contentWrapper:l,shouldExpandOnScrollRef:E,onScrollButtonChange:H,children:r.jsxRuntimeExports.jsx("div",{ref:c,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:b},children:r.jsxRuntimeExports.jsx(p.Primitive.div,{...a,ref:w,style:{boxSizing:"border-box",maxHeight:"100%",...a.style}})})})});st.displayName=Xt;var Zt="SelectPopperPosition",Se=n.forwardRef((e,o)=>{const{__scopeSelect:t,align:i="start",collisionPadding:a=F,...d}=e,s=xe(t);return r.jsxRuntimeExports.jsx(Ue,{...s,...d,ref:o,align:i,collisionPadding:a,style:{boxSizing:"border-box",...d.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Se.displayName=Zt;var[Jt,be]=ae(se,{}),we="SelectViewport",it=n.forwardRef((e,o)=>{const{__scopeSelect:t,nonce:i,...a}=e,d=Q(we,t),s=be(we,t),l=N.useComposedRefs(o,d.onViewportChange),c=n.useRef(0);return r.jsxRuntimeExports.jsxs(r.jsxRuntimeExports.Fragment,{children:[r.jsxRuntimeExports.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),r.jsxRuntimeExports.jsx(fe.Slot,{scope:t,children:r.jsxRuntimeExports.jsx(p.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...a,ref:l,style:{position:"relative",flex:1,overflow:"hidden auto",...a.style},onScroll:p.composeEventHandlers(a.onScroll,f=>{const g=f.currentTarget,{contentWrapper:w,shouldExpandOnScrollRef:j}=s;if(j?.current&&w){const E=Math.abs(c.current-g.scrollTop);if(E>0){const R=window.innerHeight-F*2,u=parseFloat(w.style.minHeight),h=parseFloat(w.style.height),S=Math.max(u,h);if(S<R){const m=S+E,v=Math.min(R,m),b=m-v;w.style.height=v+"px",w.style.bottom==="0px"&&(g.scrollTop=b>0?b:0,w.style.justifyContent="flex-end")}}}c.current=g.scrollTop})})})]})});it.displayName=we;var at="SelectGroup",[Qt,eo]=ae(at),ct=n.forwardRef((e,o)=>{const{__scopeSelect:t,...i}=e,a=p.useId();return r.jsxRuntimeExports.jsx(Qt,{scope:t,id:a,children:r.jsxRuntimeExports.jsx(p.Primitive.div,{role:"group","aria-labelledby":a,...i,ref:o})})});ct.displayName=at;var lt="SelectLabel",dt=n.forwardRef((e,o)=>{const{__scopeSelect:t,...i}=e,a=eo(lt,t);return r.jsxRuntimeExports.jsx(p.Primitive.div,{id:a.id,...i,ref:o})});dt.displayName=lt;var pe="SelectItem",[to,ut]=ae(pe),pt=n.forwardRef((e,o)=>{const{__scopeSelect:t,value:i,disabled:a=!1,textValue:d,...s}=e,l=J(pe,t),c=Q(pe,t),f=l.value===i,[g,w]=n.useState(d??""),[j,E]=n.useState(!1),R=N.useComposedRefs(o,m=>c.itemRefCallback?.(m,i,a)),u=p.useId(),h=n.useRef("touch"),S=()=>{a||(l.onValueChange(i),l.onOpenChange(!1))};if(i==="")throw new Error("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.");return r.jsxRuntimeExports.jsx(to,{scope:t,value:i,disabled:a,textId:u,isSelected:f,onItemTextChange:n.useCallback(m=>{w(v=>v||(m?.textContent??"").trim())},[]),children:r.jsxRuntimeExports.jsx(fe.ItemSlot,{scope:t,value:i,disabled:a,textValue:g,children:r.jsxRuntimeExports.jsx(p.Primitive.div,{role:"option","aria-labelledby":u,"data-highlighted":j?"":void 0,"aria-selected":f&&j,"data-state":f?"checked":"unchecked","aria-disabled":a||void 0,"data-disabled":a?"":void 0,tabIndex:a?void 0:-1,...s,ref:R,onFocus:p.composeEventHandlers(s.onFocus,()=>E(!0)),onBlur:p.composeEventHandlers(s.onBlur,()=>E(!1)),onClick:p.composeEventHandlers(s.onClick,()=>{h.current!=="mouse"&&S()}),onPointerUp:p.composeEventHandlers(s.onPointerUp,()=>{h.current==="mouse"&&S()}),onPointerDown:p.composeEventHandlers(s.onPointerDown,m=>{h.current=m.pointerType}),onPointerMove:p.composeEventHandlers(s.onPointerMove,m=>{h.current=m.pointerType,a?c.onItemLeave?.():h.current==="mouse"&&m.currentTarget.focus({preventScroll:!0})}),onPointerLeave:p.composeEventHandlers(s.onPointerLeave,m=>{m.currentTarget===document.activeElement&&c.onItemLeave?.()}),onKeyDown:p.composeEventHandlers(s.onKeyDown,m=>{c.searchRef?.current!==""&&m.key===" "||(zt.includes(m.key)&&S(),m.key===" "&&m.preventDefault())})})})})});pt.displayName=pe;var ue="SelectItemText",ft=n.forwardRef((e,o)=>{const{__scopeSelect:t,className:i,style:a,...d}=e,s=J(ue,t),l=Q(ue,t),c=ut(ue,t),f=Ft(ue,t),[g,w]=n.useState(null),j=N.useComposedRefs(o,S=>w(S),c.onItemTextChange,S=>l.itemTextRefCallback?.(S,c.value,c.disabled)),E=g?.textContent,R=n.useMemo(()=>r.jsxRuntimeExports.jsx("option",{value:c.value,disabled:c.disabled,children:E},c.value),[c.disabled,c.value,E]),{onNativeOptionAdd:u,onNativeOptionRemove:h}=f;return p.useLayoutEffect2(()=>(u(R),()=>h(R)),[u,h,R]),r.jsxRuntimeExports.jsxs(r.jsxRuntimeExports.Fragment,{children:[r.jsxRuntimeExports.jsx(p.Primitive.span,{id:c.textId,...d,ref:j}),c.isSelected&&s.valueNode&&!s.valueNodeHasChildren?Te.createPortal(d.children,s.valueNode):null]})});ft.displayName=ue;var mt="SelectItemIndicator",xt=n.forwardRef((e,o)=>{const{__scopeSelect:t,...i}=e;return ut(mt,t).isSelected?r.jsxRuntimeExports.jsx(p.Primitive.span,{"aria-hidden":!0,...i,ref:o}):null});xt.displayName=mt;var Re="SelectScrollUpButton",ht=n.forwardRef((e,o)=>{const t=Q(Re,e.__scopeSelect),i=be(Re,e.__scopeSelect),[a,d]=n.useState(!1),s=N.useComposedRefs(o,i.onScrollButtonChange);return p.useLayoutEffect2(()=>{if(t.viewport&&t.isPositioned){let l=function(){const f=c.scrollTop>0;d(f)};const c=t.viewport;return l(),c.addEventListener("scroll",l),()=>c.removeEventListener("scroll",l)}},[t.viewport,t.isPositioned]),a?r.jsxRuntimeExports.jsx(gt,{...e,ref:s,onAutoScroll:()=>{const{viewport:l,selectedItem:c}=t;l&&c&&(l.scrollTop=l.scrollTop-c.offsetHeight)}}):null});ht.displayName=Re;var Ee="SelectScrollDownButton",vt=n.forwardRef((e,o)=>{const t=Q(Ee,e.__scopeSelect),i=be(Ee,e.__scopeSelect),[a,d]=n.useState(!1),s=N.useComposedRefs(o,i.onScrollButtonChange);return p.useLayoutEffect2(()=>{if(t.viewport&&t.isPositioned){let l=function(){const f=c.scrollHeight-c.clientHeight,g=Math.ceil(c.scrollTop)<f;d(g)};const c=t.viewport;return l(),c.addEventListener("scroll",l),()=>c.removeEventListener("scroll",l)}},[t.viewport,t.isPositioned]),a?r.jsxRuntimeExports.jsx(gt,{...e,ref:s,onAutoScroll:()=>{const{viewport:l,selectedItem:c}=t;l&&c&&(l.scrollTop=l.scrollTop+c.offsetHeight)}}):null});vt.displayName=Ee;var gt=n.forwardRef((e,o)=>{const{__scopeSelect:t,onAutoScroll:i,...a}=e,d=Q("SelectScrollButton",t),s=n.useRef(null),l=me(t),c=n.useCallback(()=>{s.current!==null&&(window.clearInterval(s.current),s.current=null)},[]);return n.useEffect(()=>()=>c(),[c]),p.useLayoutEffect2(()=>{l().find(g=>g.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[l]),r.jsxRuntimeExports.jsx(p.Primitive.div,{"aria-hidden":!0,...a,ref:o,style:{flexShrink:0,...a.style},onPointerDown:p.composeEventHandlers(a.onPointerDown,()=>{s.current===null&&(s.current=window.setInterval(i,50))}),onPointerMove:p.composeEventHandlers(a.onPointerMove,()=>{d.onItemLeave?.(),s.current===null&&(s.current=window.setInterval(i,50))}),onPointerLeave:p.composeEventHandlers(a.onPointerLeave,()=>{c()})})}),oo="SelectSeparator",St=n.forwardRef((e,o)=>{const{__scopeSelect:t,...i}=e;return r.jsxRuntimeExports.jsx(p.Primitive.div,{"aria-hidden":!0,...i,ref:o})});St.displayName=oo;var ye="SelectArrow",no=n.forwardRef((e,o)=>{const{__scopeSelect:t,...i}=e,a=xe(t),d=J(ye,t),s=Q(ye,t);return d.open&&s.position==="popper"?r.jsxRuntimeExports.jsx(Fe,{...a,...i,ref:o}):null});no.displayName=ye;var ro="SelectBubbleInput",wt=n.forwardRef(({__scopeSelect:e,value:o,...t},i)=>{const a=n.useRef(null),d=N.useComposedRefs(i,a),s=Ke(o);return n.useEffect(()=>{const l=a.current;if(!l)return;const c=window.HTMLSelectElement.prototype,g=Object.getOwnPropertyDescriptor(c,"value").set;if(s!==o&&g){const w=new Event("change",{bubbles:!0});g.call(l,o),l.dispatchEvent(w)}},[s,o]),r.jsxRuntimeExports.jsx(p.Primitive.select,{...t,style:{...qe,...t.style},ref:d,defaultValue:o})});wt.displayName=ro;function Rt(e){return e===""||e===void 0}function Et(e){const o=p.useCallbackRef(e),t=n.useRef(""),i=n.useRef(0),a=n.useCallback(s=>{const l=t.current+s;o(l),(function c(f){t.current=f,window.clearTimeout(i.current),f!==""&&(i.current=window.setTimeout(()=>c(""),1e3))})(l)},[o]),d=n.useCallback(()=>{t.current="",window.clearTimeout(i.current)},[]);return n.useEffect(()=>()=>window.clearTimeout(i.current),[]),[t,a,d]}function yt(e,o,t){const a=o.length>1&&Array.from(o).every(f=>f===o[0])?o[0]:o,d=t?e.indexOf(t):-1;let s=so(e,Math.max(d,0));a.length===1&&(s=s.filter(f=>f!==t));const c=s.find(f=>f.textValue.toLowerCase().startsWith(a.toLowerCase()));return c!==t?c:void 0}function so(e,o){return e.map((t,i)=>e[(o+i)%e.length])}var io=Ye,ao=Ze,co=Qe,lo=et,uo=tt,po=ot,fo=it,mo=ct,xo=dt,ho=pt,vo=ft,go=xt,So=ht,wo=vt,Ro=St;function Eo({...e}){return r.jsxRuntimeExports.jsx(io,{"data-slot":"select",...e})}function yo({...e}){return r.jsxRuntimeExports.jsx(mo,{"data-slot":"select-group",...e})}function Co({...e}){return r.jsxRuntimeExports.jsx(co,{"data-slot":"select-value",...e})}function jo({className:e,size:o="default",children:t,...i}){return r.jsxRuntimeExports.jsxs(ao,{"data-slot":"select-trigger","data-size":o,className:Z.cn("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",e),...i,children:[t,r.jsxRuntimeExports.jsx(lo,{asChild:!0,children:r.jsxRuntimeExports.jsx(ne.ChevronDown,{className:"size-4 opacity-50"})})]})}function Po({className:e,children:o,position:t="popper",...i}){return r.jsxRuntimeExports.jsx(uo,{children:r.jsxRuntimeExports.jsxs(po,{"data-slot":"select-content",className:Z.cn("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",t==="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",e),position:t,...i,children:[r.jsxRuntimeExports.jsx(Ct,{}),r.jsxRuntimeExports.jsx(fo,{className:Z.cn("p-1",t==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:o}),r.jsxRuntimeExports.jsx(jt,{})]})})}function bo({className:e,...o}){return r.jsxRuntimeExports.jsx(xo,{"data-slot":"select-label",className:Z.cn("text-muted-foreground px-2 py-1.5 text-xs",e),...o})}function Io({className:e,children:o,...t}){return r.jsxRuntimeExports.jsxs(ho,{"data-slot":"select-item",className:Z.cn("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",e),...t,children:[r.jsxRuntimeExports.jsx("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:r.jsxRuntimeExports.jsx(go,{children:r.jsxRuntimeExports.jsx(ne.Check,{className:"size-4"})})}),r.jsxRuntimeExports.jsx(vo,{children:o})]})}function To({className:e,...o}){return r.jsxRuntimeExports.jsx(Ro,{"data-slot":"select-separator",className:Z.cn("bg-border pointer-events-none -mx-1 my-1 h-px",e),...o})}function Ct({className:e,...o}){return r.jsxRuntimeExports.jsx(So,{"data-slot":"select-scroll-up-button",className:Z.cn("flex cursor-default items-center justify-center py-1",e),...o,children:r.jsxRuntimeExports.jsx(Lt,{className:"size-4"})})}function jt({className:e,...o}){return r.jsxRuntimeExports.jsx(wo,{"data-slot":"select-scroll-down-button",className:Z.cn("flex cursor-default items-center justify-center py-1",e),...o,children:r.jsxRuntimeExports.jsx(ne.ChevronDown,{className:"size-4"})})}exports.Anchor=$e;exports.Arrow=Fe;exports.Content=Ue;exports.Root=Bt;exports.Root2=We;exports.Select=Eo;exports.SelectContent=Po;exports.SelectGroup=yo;exports.SelectItem=Io;exports.SelectLabel=bo;exports.SelectScrollDownButton=jt;exports.SelectScrollUpButton=Ct;exports.SelectSeparator=To;exports.SelectTrigger=jo;exports.SelectValue=Co;exports.createCollection=Ne;exports.createPopperScope=je;exports.usePrevious=Ke;exports.useSize=Ae;
|
|
2
|
+
//# sourceMappingURL=select-CC7ump6t.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-CC7ump6t.js","sources":["../../node_modules/.pnpm/@radix-ui+react-collection@1.1.7_@types+react-dom@19.1.9_@types+react@19.1.12__@types+react@1_ttlvhkp5jmchy6ap7ybcvyxiue/node_modules/@radix-ui/react-collection/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-arrow@1.1.7_@types+react-dom@19.1.9_@types+react@19.1.12__@types+react@19.1.1_yroqwa3qrgclu4tfirktd5n5tu/node_modules/@radix-ui/react-arrow/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-use-size@1.1.1_@types+react@19.1.12_react@19.1.1/node_modules/@radix-ui/react-use-size/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-popper@1.2.8_@types+react-dom@19.1.9_@types+react@19.1.12__@types+react@19.1._dcwpv6adi64skpuy7ijzcnyhze/node_modules/@radix-ui/react-popper/dist/index.mjs","../../node_modules/.pnpm/lucide-react@0.543.0_react@19.1.1/node_modules/lucide-react/dist/esm/icons/chevron-up.js","../../node_modules/.pnpm/@radix-ui+react-use-previous@1.1.1_@types+react@19.1.12_react@19.1.1/node_modules/@radix-ui/react-use-previous/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-visually-hidden@1.2.3_@types+react-dom@19.1.9_@types+react@19.1.12__@types+re_glzfabgyyawwcn33epmcxzkaxi/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-select@2.2.6_@types+react-dom@19.1.9_@types+react@19.1.12__@types+react@19.1._w5265cnngflinvsnzlwz2dyhyy/node_modules/@radix-ui/react-select/dist/index.mjs","../../src/components/ui/select.tsx"],"sourcesContent":["\"use client\";\n\n// src/collection-legacy.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createCollection(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = 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.useRef(null);\n const itemMap = React.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.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.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n React.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 useCollection(scope) {\n const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n const getItems = React.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 useCollection,\n createCollectionScope\n ];\n}\n\n// src/collection.tsx\nimport React2 from \"react\";\nimport { createContextScope as createContextScope2 } from \"@radix-ui/react-context\";\nimport { useComposedRefs as useComposedRefs2 } from \"@radix-ui/react-compose-refs\";\nimport { createSlot as createSlot2 } from \"@radix-ui/react-slot\";\n\n// src/ordered-dictionary.ts\nvar __instanciated = /* @__PURE__ */ new WeakMap();\nvar OrderedDict = class _OrderedDict extends Map {\n #keys;\n constructor(entries) {\n super(entries);\n this.#keys = [...super.keys()];\n __instanciated.set(this, true);\n }\n set(key, value) {\n if (__instanciated.get(this)) {\n if (this.has(key)) {\n this.#keys[this.#keys.indexOf(key)] = key;\n } else {\n this.#keys.push(key);\n }\n }\n super.set(key, value);\n return this;\n }\n insert(index, key, value) {\n const has = this.has(key);\n const length = this.#keys.length;\n const relativeIndex = toSafeInteger(index);\n let actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n const safeIndex = actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n if (safeIndex === this.size || has && safeIndex === this.size - 1 || safeIndex === -1) {\n this.set(key, value);\n return this;\n }\n const size = this.size + (has ? 0 : 1);\n if (relativeIndex < 0) {\n actualIndex++;\n }\n const keys = [...this.#keys];\n let nextValue;\n let shouldSkip = false;\n for (let i = actualIndex; i < size; i++) {\n if (actualIndex === i) {\n let nextKey = keys[i];\n if (keys[i] === key) {\n nextKey = keys[i + 1];\n }\n if (has) {\n this.delete(key);\n }\n nextValue = this.get(nextKey);\n this.set(key, value);\n } else {\n if (!shouldSkip && keys[i - 1] === key) {\n shouldSkip = true;\n }\n const currentKey = keys[shouldSkip ? i : i - 1];\n const currentValue = nextValue;\n nextValue = this.get(currentKey);\n this.delete(currentKey);\n this.set(currentKey, currentValue);\n }\n }\n return this;\n }\n with(index, key, value) {\n const copy = new _OrderedDict(this);\n copy.insert(index, key, value);\n return copy;\n }\n before(key) {\n const index = this.#keys.indexOf(key) - 1;\n if (index < 0) {\n return void 0;\n }\n return this.entryAt(index);\n }\n /**\n * Sets a new key-value pair at the position before the given key.\n */\n setBefore(key, newKey, value) {\n const index = this.#keys.indexOf(key);\n if (index === -1) {\n return this;\n }\n return this.insert(index, newKey, value);\n }\n after(key) {\n let index = this.#keys.indexOf(key);\n index = index === -1 || index === this.size - 1 ? -1 : index + 1;\n if (index === -1) {\n return void 0;\n }\n return this.entryAt(index);\n }\n /**\n * Sets a new key-value pair at the position after the given key.\n */\n setAfter(key, newKey, value) {\n const index = this.#keys.indexOf(key);\n if (index === -1) {\n return this;\n }\n return this.insert(index + 1, newKey, value);\n }\n first() {\n return this.entryAt(0);\n }\n last() {\n return this.entryAt(-1);\n }\n clear() {\n this.#keys = [];\n return super.clear();\n }\n delete(key) {\n const deleted = super.delete(key);\n if (deleted) {\n this.#keys.splice(this.#keys.indexOf(key), 1);\n }\n return deleted;\n }\n deleteAt(index) {\n const key = this.keyAt(index);\n if (key !== void 0) {\n return this.delete(key);\n }\n return false;\n }\n at(index) {\n const key = at(this.#keys, index);\n if (key !== void 0) {\n return this.get(key);\n }\n }\n entryAt(index) {\n const key = at(this.#keys, index);\n if (key !== void 0) {\n return [key, this.get(key)];\n }\n }\n indexOf(key) {\n return this.#keys.indexOf(key);\n }\n keyAt(index) {\n return at(this.#keys, index);\n }\n from(key, offset) {\n const index = this.indexOf(key);\n if (index === -1) {\n return void 0;\n }\n let dest = index + offset;\n if (dest < 0) dest = 0;\n if (dest >= this.size) dest = this.size - 1;\n return this.at(dest);\n }\n keyFrom(key, offset) {\n const index = this.indexOf(key);\n if (index === -1) {\n return void 0;\n }\n let dest = index + offset;\n if (dest < 0) dest = 0;\n if (dest >= this.size) dest = this.size - 1;\n return this.keyAt(dest);\n }\n find(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return entry;\n }\n index++;\n }\n return void 0;\n }\n findIndex(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return index;\n }\n index++;\n }\n return -1;\n }\n filter(predicate, thisArg) {\n const entries = [];\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n entries.push(entry);\n }\n index++;\n }\n return new _OrderedDict(entries);\n }\n map(callbackfn, thisArg) {\n const entries = [];\n let index = 0;\n for (const entry of this) {\n entries.push([entry[0], Reflect.apply(callbackfn, thisArg, [entry, index, this])]);\n index++;\n }\n return new _OrderedDict(entries);\n }\n reduce(...args) {\n const [callbackfn, initialValue] = args;\n let index = 0;\n let accumulator = initialValue ?? this.at(0);\n for (const entry of this) {\n if (index === 0 && args.length === 1) {\n accumulator = entry;\n } else {\n accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n }\n index++;\n }\n return accumulator;\n }\n reduceRight(...args) {\n const [callbackfn, initialValue] = args;\n let accumulator = initialValue ?? this.at(-1);\n for (let index = this.size - 1; index >= 0; index--) {\n const entry = this.at(index);\n if (index === this.size - 1 && args.length === 1) {\n accumulator = entry;\n } else {\n accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n }\n }\n return accumulator;\n }\n toSorted(compareFn) {\n const entries = [...this.entries()].sort(compareFn);\n return new _OrderedDict(entries);\n }\n toReversed() {\n const reversed = new _OrderedDict();\n for (let index = this.size - 1; index >= 0; index--) {\n const key = this.keyAt(index);\n const element = this.get(key);\n reversed.set(key, element);\n }\n return reversed;\n }\n toSpliced(...args) {\n const entries = [...this.entries()];\n entries.splice(...args);\n return new _OrderedDict(entries);\n }\n slice(start, end) {\n const result = new _OrderedDict();\n let stop = this.size - 1;\n if (start === void 0) {\n return result;\n }\n if (start < 0) {\n start = start + this.size;\n }\n if (end !== void 0 && end > 0) {\n stop = end - 1;\n }\n for (let index = start; index <= stop; index++) {\n const key = this.keyAt(index);\n const element = this.get(key);\n result.set(key, element);\n }\n return result;\n }\n every(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (!Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return false;\n }\n index++;\n }\n return true;\n }\n some(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return true;\n }\n index++;\n }\n return false;\n }\n};\nfunction at(array, index) {\n if (\"at\" in Array.prototype) {\n return Array.prototype.at.call(array, index);\n }\n const actualIndex = toSafeIndex(array, index);\n return actualIndex === -1 ? void 0 : array[actualIndex];\n}\nfunction toSafeIndex(array, index) {\n const length = array.length;\n const relativeIndex = toSafeInteger(index);\n const actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n return actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n}\nfunction toSafeInteger(number) {\n return number !== number || number === 0 ? 0 : Math.trunc(number);\n}\n\n// src/collection.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nfunction createCollection2(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope2(PROVIDER_NAME);\n const [CollectionContextProvider, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n {\n collectionElement: null,\n collectionRef: { current: null },\n collectionRefObject: { current: null },\n itemMap: new OrderedDict(),\n setItemMap: () => void 0\n }\n );\n const CollectionProvider = ({ state, ...props }) => {\n return state ? /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state }) : /* @__PURE__ */ jsx2(CollectionInit, { ...props });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const CollectionInit = (props) => {\n const state = useInitCollection();\n return /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state });\n };\n CollectionInit.displayName = PROVIDER_NAME + \"Init\";\n const CollectionProviderImpl = (props) => {\n const { scope, children, state } = props;\n const ref = React2.useRef(null);\n const [collectionElement, setCollectionElement] = React2.useState(\n null\n );\n const composeRefs = useComposedRefs2(ref, setCollectionElement);\n const [itemMap, setItemMap] = state;\n React2.useEffect(() => {\n if (!collectionElement) return;\n const observer = getChildListObserver(() => {\n });\n observer.observe(collectionElement, {\n childList: true,\n subtree: true\n });\n return () => {\n observer.disconnect();\n };\n }, [collectionElement]);\n return /* @__PURE__ */ jsx2(\n CollectionContextProvider,\n {\n scope,\n itemMap,\n setItemMap,\n collectionRef: composeRefs,\n collectionRefObject: ref,\n collectionElement,\n children\n }\n );\n };\n CollectionProviderImpl.displayName = PROVIDER_NAME + \"Impl\";\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlotImpl = createSlot2(COLLECTION_SLOT_NAME);\n const CollectionSlot = React2.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs2(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx2(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 = createSlot2(ITEM_SLOT_NAME);\n const CollectionItemSlot = React2.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React2.useRef(null);\n const [element, setElement] = React2.useState(null);\n const composedRefs = useComposedRefs2(forwardedRef, ref, setElement);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n const { setItemMap } = context;\n const itemDataRef = React2.useRef(itemData);\n if (!shallowEqual(itemDataRef.current, itemData)) {\n itemDataRef.current = itemData;\n }\n const memoizedItemData = itemDataRef.current;\n React2.useEffect(() => {\n const itemData2 = memoizedItemData;\n setItemMap((map) => {\n if (!element) {\n return map;\n }\n if (!map.has(element)) {\n map.set(element, { ...itemData2, element });\n return map.toSorted(sortByDocumentPosition);\n }\n return map.set(element, { ...itemData2, element }).toSorted(sortByDocumentPosition);\n });\n return () => {\n setItemMap((map) => {\n if (!element || !map.has(element)) {\n return map;\n }\n map.delete(element);\n return new OrderedDict(map);\n });\n };\n }, [element, memoizedItemData, setItemMap]);\n return /* @__PURE__ */ jsx2(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useInitCollection() {\n return React2.useState(new OrderedDict());\n }\n function useCollection(scope) {\n const { itemMap } = useCollectionContext(name + \"CollectionConsumer\", scope);\n return itemMap;\n }\n const functions = {\n createCollectionScope,\n useCollection,\n useInitCollection\n };\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n functions\n ];\n}\nfunction shallowEqual(a, b) {\n if (a === b) return true;\n if (typeof a !== \"object\" || typeof b !== \"object\") return false;\n if (a == null || b == null) return false;\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n if (keysA.length !== keysB.length) return false;\n for (const key of keysA) {\n if (!Object.prototype.hasOwnProperty.call(b, key)) return false;\n if (a[key] !== b[key]) return false;\n }\n return true;\n}\nfunction isElementPreceding(a, b) {\n return !!(b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING);\n}\nfunction sortByDocumentPosition(a, b) {\n return !a[1].element || !b[1].element ? 0 : isElementPreceding(a[1].element, b[1].element) ? -1 : 1;\n}\nfunction getChildListObserver(callback) {\n const observer = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n callback();\n return;\n }\n }\n });\n return observer;\n}\nexport {\n createCollection,\n createCollection2 as unstable_createCollection\n};\n//# sourceMappingURL=index.mjs.map\n","// src/arrow.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Arrow\";\nvar Arrow = 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.displayName = NAME;\nvar Root = Arrow;\nexport {\n Arrow,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-size/src/use-size.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nfunction useSize(element) {\n const [size, setSize] = React.useState(void 0);\n useLayoutEffect(() => {\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 size;\n}\nexport {\n useSize\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/popper.tsx\nimport * as React from \"react\";\nimport {\n useFloating,\n autoUpdate,\n offset,\n shift,\n limitShift,\n hide,\n arrow as floatingUIarrow,\n flip,\n size\n} from \"@floating-ui/react-dom\";\nimport * as ArrowPrimitive from \"@radix-ui/react-arrow\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SIDE_OPTIONS = [\"top\", \"right\", \"bottom\", \"left\"];\nvar ALIGN_OPTIONS = [\"start\", \"center\", \"end\"];\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 = \"PopperContent\";\nvar [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME);\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, __scopePopper);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [arrow, setArrow] = React.useState(null);\n const arrowSize = useSize(arrow);\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 && floatingUIarrow({ element: arrow, 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 useLayoutEffect(() => {\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 useLayoutEffect(() => {\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;\nvar ARROW_NAME = \"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, __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 ArrowPrimitive.Root,\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;\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 = Popper;\nvar Anchor = PopperAnchor;\nvar Content = PopperContent;\nvar Arrow = PopperArrow;\nexport {\n ALIGN_OPTIONS,\n Anchor,\n Arrow,\n Content,\n Popper,\n PopperAnchor,\n PopperArrow,\n PopperContent,\n Root2 as Root,\n SIDE_OPTIONS,\n createPopperScope\n};\n//# sourceMappingURL=index.mjs.map\n","/**\n * @license lucide-react v0.543.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 = [[\"path\", { d: \"m18 15-6-6-6 6\", key: \"153udz\" }]];\nconst ChevronUp = createLucideIcon(\"chevron-up\", __iconNode);\n\nexport { __iconNode, ChevronUp as default };\n//# sourceMappingURL=chevron-up.js.map\n","// packages/react/use-previous/src/use-previous.tsx\nimport * as React from \"react\";\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}\nexport {\n usePrevious\n};\n//# sourceMappingURL=index.mjs.map\n","// src/visually-hidden.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\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;\nexport {\n Root,\n VISUALLY_HIDDEN_STYLES,\n VisuallyHidden\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/select.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { VISUALLY_HIDDEN_STYLES } from \"@radix-ui/react-visually-hidden\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar OPEN_KEYS = [\" \", \"Enter\", \"ArrowUp\", \"ArrowDown\"];\nvar SELECTION_KEYS = [\" \", \"Enter\"];\nvar SELECT_NAME = \"Select\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SELECT_NAME);\nvar [createSelectContext, createSelectScope] = 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 = (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(PopperPrimitive.Root, { ...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.displayName = SELECT_NAME;\nvar TRIGGER_NAME = \"SelectTrigger\";\nvar SelectTrigger = 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(PopperPrimitive.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.displayName = TRIGGER_NAME;\nvar VALUE_NAME = \"SelectValue\";\nvar SelectValue = 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 useLayoutEffect(() => {\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.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 || \"\\u25BC\" });\n }\n);\nSelectIcon.displayName = ICON_NAME;\nvar PORTAL_NAME = \"SelectPortal\";\nvar SelectPortal = (props) => {\n return /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, ...props });\n};\nSelectPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"SelectContent\";\nvar SelectContent = React.forwardRef(\n (props, forwardedRef) => {\n const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);\n const [fragment, setFragment] = React.useState();\n useLayoutEffect(() => {\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.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(RemoveScroll, { 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 useLayoutEffect(() => position(), [position]);\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\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 PopperPrimitive.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 = 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.displayName = GROUP_NAME;\nvar LABEL_NAME = \"SelectLabel\";\nvar SelectLabel = 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.displayName = LABEL_NAME;\nvar ITEM_NAME = \"SelectItem\";\nvar [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);\nvar SelectItem = 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.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 useLayoutEffect(() => {\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 = 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 useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const canScrollUp2 = viewport.scrollTop > 0;\n setCanScrollUp(canScrollUp2);\n };\n var handleScroll = handleScroll2;\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.displayName = SCROLL_UP_BUTTON_NAME;\nvar SCROLL_DOWN_BUTTON_NAME = \"SelectScrollDownButton\";\nvar SelectScrollDownButton = 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 useLayoutEffect(() => {\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 var handleScroll = handleScroll2;\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.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 useLayoutEffect(() => {\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 = 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.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(PopperPrimitive.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;\nvar Trigger = SelectTrigger;\nvar Value = SelectValue;\nvar Icon = SelectIcon;\nvar Portal = SelectPortal;\nvar Content2 = SelectContent;\nvar Viewport = SelectViewport;\nvar Group = SelectGroup;\nvar Label = SelectLabel;\nvar Item = SelectItem;\nvar ItemText = SelectItemText;\nvar ItemIndicator = SelectItemIndicator;\nvar ScrollUpButton = SelectScrollUpButton;\nvar ScrollDownButton = SelectScrollDownButton;\nvar Separator = SelectSeparator;\nvar Arrow2 = SelectArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Group,\n Icon,\n Item,\n ItemIndicator,\n ItemText,\n Label,\n Portal,\n Root2 as Root,\n ScrollDownButton,\n ScrollUpButton,\n Select,\n SelectArrow,\n SelectContent,\n SelectGroup,\n SelectIcon,\n SelectItem,\n SelectItemIndicator,\n SelectItemText,\n SelectLabel,\n SelectPortal,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n SelectViewport,\n Separator,\n Trigger,\n Value,\n Viewport,\n createSelectScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n\treturn <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n\treturn <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>) {\n\treturn <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n\tclassName,\n\tsize = \"default\",\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n\tsize?: \"sm\" | \"default\";\n}) {\n\treturn (\n\t\t<SelectPrimitive.Trigger\n\t\t\tdata-slot=\"select-trigger\"\n\t\t\tdata-size={size}\n\t\t\tclassName={cn(\n\t\t\t\t\"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\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t\t<SelectPrimitive.Icon asChild>\n\t\t\t\t<ChevronDownIcon className=\"size-4 opacity-50\" />\n\t\t\t</SelectPrimitive.Icon>\n\t\t</SelectPrimitive.Trigger>\n\t);\n}\n\nfunction SelectContent({ className, children, position = \"popper\", ...props }: React.ComponentProps<typeof SelectPrimitive.Content>) {\n\treturn (\n\t\t<SelectPrimitive.Portal>\n\t\t\t<SelectPrimitive.Content\n\t\t\t\tdata-slot=\"select-content\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"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\t\t\t\t\tposition === \"popper\" &&\n\t\t\t\t\t\t\"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\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tposition={position}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<SelectScrollUpButton />\n\t\t\t\t<SelectPrimitive.Viewport\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"p-1\",\n\t\t\t\t\t\tposition === \"popper\" &&\n\t\t\t\t\t\t\t\"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\",\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</SelectPrimitive.Viewport>\n\t\t\t\t<SelectScrollDownButton />\n\t\t\t</SelectPrimitive.Content>\n\t\t</SelectPrimitive.Portal>\n\t);\n}\n\nfunction SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n\treturn <SelectPrimitive.Label data-slot=\"select-label\" className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)} {...props} />;\n}\n\nfunction SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>) {\n\treturn (\n\t\t<SelectPrimitive.Item\n\t\t\tdata-slot=\"select-item\"\n\t\t\tclassName={cn(\n\t\t\t\t\"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\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n\t\t\t\t<SelectPrimitive.ItemIndicator>\n\t\t\t\t\t<CheckIcon className=\"size-4\" />\n\t\t\t\t</SelectPrimitive.ItemIndicator>\n\t\t\t</span>\n\t\t\t<SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n\t\t</SelectPrimitive.Item>\n\t);\n}\n\nfunction SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n\treturn (\n\t\t<SelectPrimitive.Separator\n\t\t\tdata-slot=\"select-separator\"\n\t\t\tclassName={cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n\treturn (\n\t\t<SelectPrimitive.ScrollUpButton\n\t\t\tdata-slot=\"select-scroll-up-button\"\n\t\t\tclassName={cn(\"flex cursor-default items-center justify-center py-1\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ChevronUpIcon className=\"size-4\" />\n\t\t</SelectPrimitive.ScrollUpButton>\n\t);\n}\n\nfunction SelectScrollDownButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n\treturn (\n\t\t<SelectPrimitive.ScrollDownButton\n\t\t\tdata-slot=\"select-scroll-down-button\"\n\t\t\tclassName={cn(\"flex cursor-default items-center justify-center py-1\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ChevronDownIcon className=\"size-4\" />\n\t\t</SelectPrimitive.ScrollDownButton>\n\t);\n}\n\nexport {\n\tSelect,\n\tSelectContent,\n\tSelectGroup,\n\tSelectItem,\n\tSelectLabel,\n\tSelectScrollDownButton,\n\tSelectScrollUpButton,\n\tSelectSeparator,\n\tSelectTrigger,\n\tSelectValue,\n};\n"],"names":["createCollection","name","PROVIDER_NAME","createCollectionContext","createCollectionScope","createContextScope","CollectionProviderImpl","useCollectionContext","CollectionProvider","props","scope","children","ref","React","itemMap","jsx","COLLECTION_SLOT_NAME","CollectionSlotImpl","createSlot","CollectionSlot","forwardedRef","context","composedRefs","useComposedRefs","ITEM_SLOT_NAME","ITEM_DATA_ATTR","CollectionItemSlotImpl","CollectionItemSlot","itemData","useCollection","collectionNode","orderedNodes","a","b","NAME","Arrow","width","height","arrowProps","Primitive","Root","useSize","element","size","setSize","useLayoutEffect","resizeObserver","entries","entry","borderSizeEntry","borderSize","POPPER_NAME","createPopperContext","createPopperScope","PopperProvider","usePopperContext","Popper","__scopePopper","anchor","setAnchor","ANCHOR_NAME","PopperAnchor","virtualRef","anchorProps","anchorRef","previousAnchor","CONTENT_NAME","PopperContentProvider","useContentContext","PopperContent","side","sideOffset","align","alignOffset","arrowPadding","avoidCollisions","collisionBoundary","collisionPaddingProp","sticky","hideWhenDetached","updatePositionStrategy","onPlaced","contentProps","content","setContent","node","arrow","setArrow","arrowSize","arrowWidth","arrowHeight","desiredPlacement","collisionPadding","boundary","hasExplicitBoundaries","detectOverflowOptions","isNotNull","refs","floatingStyles","placement","isPositioned","middlewareData","useFloating","args","autoUpdate","offset","shift","limitShift","flip","elements","rects","availableWidth","availableHeight","anchorWidth","anchorHeight","contentStyle","floatingUIarrow","transformOrigin","hide","placedSide","placedAlign","getSideAndAlignFromPlacement","handlePlaced","useCallbackRef","arrowX","arrowY","cannotCenterArrow","contentZIndex","setContentZIndex","ARROW_NAME","OPPOSITE_SIDE","PopperArrow","contentContext","baseSide","ArrowPrimitive.Root","value","options","data","isArrowHidden","noArrowAlign","arrowXCenter","arrowYCenter","x","y","Root2","Anchor","Content","__iconNode","ChevronUp","createLucideIcon","usePrevious","VISUALLY_HIDDEN_STYLES","VisuallyHidden","OPEN_KEYS","SELECTION_KEYS","SELECT_NAME","Collection","createSelectContext","createSelectScope","usePopperScope","SelectProvider","useSelectContext","SelectNativeOptionsProvider","useSelectNativeOptionsContext","Select","__scopeSelect","openProp","defaultOpen","onOpenChange","valueProp","defaultValue","onValueChange","dir","autoComplete","disabled","required","form","popperScope","trigger","setTrigger","valueNode","setValueNode","valueNodeHasChildren","setValueNodeHasChildren","direction","useDirection","open","setOpen","useControllableState","setValue","triggerPointerDownPosRef","isFormControl","nativeOptionsSet","setNativeOptionsSet","nativeSelectKey","option","PopperPrimitive.Root","jsxs","useId","prev","optionsSet","SelectBubbleInput","event","TRIGGER_NAME","SelectTrigger","triggerProps","isDisabled","getItems","pointerTypeRef","searchRef","handleTypeaheadSearch","resetTypeahead","useTypeaheadSearch","search","enabledItems","item","currentItem","nextItem","findNextItem","handleOpen","pointerEvent","PopperPrimitive.Anchor","shouldShowPlaceholder","composeEventHandlers","target","isTypingAhead","VALUE_NAME","SelectValue","className","style","placeholder","valueProps","onValueNodeHasChildrenChange","hasChildren","Fragment","ICON_NAME","SelectIcon","iconProps","PORTAL_NAME","SelectPortal","PortalPrimitive","SelectContent","fragment","setFragment","frag","ReactDOM","SelectContentProvider","SelectContentImpl","CONTENT_MARGIN","useSelectContentContext","CONTENT_IMPL_NAME","Slot","position","onCloseAutoFocus","onEscapeKeyDown","onPointerDownOutside","viewport","setViewport","selectedItem","setSelectedItem","selectedItemText","setSelectedItemText","setIsPositioned","firstValidItemFoundRef","hideOthers","useFocusGuards","focusFirst","candidates","firstItem","restItems","lastItem","PREVIOUSLY_FOCUSED_ELEMENT","candidate","focusSelectedItem","pointerMoveDelta","handlePointerMove","handlePointerUp","close","itemRefCallback","isFirstValidItem","handleItemLeave","itemTextRefCallback","SelectPosition","SelectPopperPosition","SelectItemAlignedPosition","popperContentProps","RemoveScroll","FocusScope","DismissableLayer","isModifierKey","candidateNodes","currentElement","currentIndex","ITEM_ALIGNED_POSITION_NAME","popperProps","contentWrapper","setContentWrapper","shouldExpandOnScrollRef","shouldRepositionRef","triggerRect","contentRect","valueNodeRect","itemTextRect","itemTextOffset","left","leftDelta","minContentWidth","contentWidth","rightEdge","clampedLeft","clamp","right","rightDelta","leftEdge","clampedRight","items","itemsHeight","contentStyles","contentBorderTopWidth","contentPaddingTop","contentBorderBottomWidth","contentPaddingBottom","fullContentHeight","minContentHeight","viewportStyles","viewportPaddingTop","viewportPaddingBottom","topEdgeToTriggerMiddle","triggerMiddleToBottomEdge","selectedItemHalfHeight","itemOffsetMiddle","contentTopToItemMiddle","itemMiddleToContentBottom","isLastItem","viewportOffsetBottom","clampedTriggerMiddleToBottomEdge","isFirstItem","handleScrollButtonChange","SelectViewportProvider","POPPER_POSITION_NAME","PopperPrimitive.Content","useSelectViewportContext","VIEWPORT_NAME","SelectViewport","nonce","viewportProps","viewportContext","prevScrollTopRef","scrolledBy","cssMinHeight","cssHeight","prevHeight","nextHeight","clampedNextHeight","heightDiff","GROUP_NAME","SelectGroupContextProvider","useSelectGroupContext","SelectGroup","groupProps","groupId","LABEL_NAME","SelectLabel","labelProps","groupContext","ITEM_NAME","SelectItemContextProvider","useSelectItemContext","SelectItem","textValueProp","itemProps","isSelected","textValue","setTextValue","isFocused","setIsFocused","textId","handleSelect","prevTextValue","ITEM_TEXT_NAME","SelectItemText","itemTextProps","itemContext","nativeOptionsContext","itemTextNode","setItemTextNode","textContent","nativeOption","onNativeOptionAdd","onNativeOptionRemove","ITEM_INDICATOR_NAME","SelectItemIndicator","itemIndicatorProps","SCROLL_UP_BUTTON_NAME","SelectScrollUpButton","canScrollUp","setCanScrollUp","handleScroll2","canScrollUp2","SelectScrollButtonImpl","SCROLL_DOWN_BUTTON_NAME","SelectScrollDownButton","canScrollDown","setCanScrollDown","maxScroll","canScrollDown2","onAutoScroll","scrollIndicatorProps","autoScrollTimerRef","clearAutoScrollTimer","SEPARATOR_NAME","SelectSeparator","separatorProps","SelectArrow","PopperPrimitive.Arrow","BUBBLE_INPUT_NAME","prevValue","select","selectProto","onSearchChange","handleSearchChange","timerRef","key","updateSearch","normalizedSearch","char","currentItemIndex","wrappedItems","wrapArray","v","array","startIndex","_","index","Trigger","Value","Icon","Portal","Content2","Viewport","Group","Label","Item","ItemText","ItemIndicator","ScrollUpButton","ScrollDownButton","Separator","SelectPrimitive.Root","SelectPrimitive.Group","SelectPrimitive.Value","SelectPrimitive.Trigger","cn","SelectPrimitive.Icon","ChevronDownIcon","SelectPrimitive.Portal","SelectPrimitive.Content","SelectPrimitive.Viewport","SelectPrimitive.Label","SelectPrimitive.Item","SelectPrimitive.ItemIndicator","CheckIcon","SelectPrimitive.ItemText","SelectPrimitive.Separator","SelectPrimitive.ScrollUpButton","ChevronUpIcon","SelectPrimitive.ScrollDownButton"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7]}
|