lizaui 6.0.4 → 6.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/chunks/chevron-down-BJdjIpSS.js +2 -0
  2. package/dist/chunks/chevron-down-BJdjIpSS.js.map +1 -0
  3. package/dist/chunks/chevron-down-BarFwo2L.js +75 -0
  4. package/dist/chunks/chevron-down-BarFwo2L.js.map +1 -0
  5. package/dist/chunks/search-BUtVV_ij.js +2 -0
  6. package/dist/chunks/search-BUtVV_ij.js.map +1 -0
  7. package/dist/chunks/search-YTvzxtJf.js +9 -0
  8. package/dist/chunks/search-YTvzxtJf.js.map +1 -0
  9. package/dist/chunks/select-BBV4-uzN.js +2 -0
  10. package/dist/chunks/select-BBV4-uzN.js.map +1 -0
  11. package/dist/chunks/select-KroYdQPb.js +1251 -0
  12. package/dist/chunks/select-KroYdQPb.js.map +1 -0
  13. package/dist/components/phone-input/index.d.ts +2 -0
  14. package/dist/components/phone-input/index.d.ts.map +1 -0
  15. package/dist/components/phone-input/phone-input.d.ts +28 -0
  16. package/dist/components/phone-input/phone-input.d.ts.map +1 -0
  17. package/dist/pagination/index.cjs.js +1 -1
  18. package/dist/pagination/index.es.js +1 -1
  19. package/dist/phone-input/index.cjs.js +15 -0
  20. package/dist/phone-input/index.cjs.js.map +1 -0
  21. package/dist/phone-input/index.es.js +3402 -0
  22. package/dist/phone-input/index.es.js.map +1 -0
  23. package/dist/phone-input.d.ts +2 -0
  24. package/dist/ui/index.cjs.js +4 -4
  25. package/dist/ui/index.cjs.js.map +1 -1
  26. package/dist/ui/index.es.js +743 -745
  27. package/dist/ui/index.es.js.map +1 -1
  28. package/package.json +7 -1
  29. package/dist/chunks/select-C25qmFpo.js +0 -1321
  30. package/dist/chunks/select-C25qmFpo.js.map +0 -1
  31. package/dist/chunks/select-DW1tRhcQ.js +0 -2
  32. package/dist/chunks/select-DW1tRhcQ.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"select-C25qmFpo.js","sources":["../../node_modules/.pnpm/@radix-ui+react-collection@1.1.7_@types+react-dom@19.1.7_@types+react@19.1.11__@types+react@1_rqxv4sxgdbiaq2nyslp37hzg2q/node_modules/@radix-ui/react-collection/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-direction@1.1.1_@types+react@19.1.11_react@19.1.1/node_modules/@radix-ui/react-direction/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-arrow@1.1.7_@types+react-dom@19.1.7_@types+react@19.1.11__@types+react@19.1.1_cxfcctbflaslmethojb6px2kym/node_modules/@radix-ui/react-arrow/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-use-size@1.1.1_@types+react@19.1.11_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.7_@types+react@19.1.11__@types+react@19.1._qfz7pfj2mncqpiobdp36nlbziy/node_modules/@radix-ui/react-popper/dist/index.mjs","../../node_modules/.pnpm/lucide-react@0.541.0_react@19.1.1/node_modules/lucide-react/dist/esm/shared/src/utils.js","../../node_modules/.pnpm/lucide-react@0.541.0_react@19.1.1/node_modules/lucide-react/dist/esm/defaultAttributes.js","../../node_modules/.pnpm/lucide-react@0.541.0_react@19.1.1/node_modules/lucide-react/dist/esm/Icon.js","../../node_modules/.pnpm/lucide-react@0.541.0_react@19.1.1/node_modules/lucide-react/dist/esm/createLucideIcon.js","../../node_modules/.pnpm/lucide-react@0.541.0_react@19.1.1/node_modules/lucide-react/dist/esm/icons/check.js","../../node_modules/.pnpm/lucide-react@0.541.0_react@19.1.1/node_modules/lucide-react/dist/esm/icons/chevron-down.js","../../node_modules/.pnpm/lucide-react@0.541.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.11_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.7_@types+react@19.1.11__@types+re_muf2xjyuwwriv2ot7zwpr7ot5u/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+number@1.1.1/node_modules/@radix-ui/number/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-select@2.2.6_@types+react-dom@19.1.7_@types+react@19.1.11__@types+react@19.1._at25lz7q63vflk35wbb6zrqm74/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","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n const { dir, children } = props;\n return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n DirectionProvider,\n Provider,\n useDirection\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.541.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\nconst toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst toCamelCase = (string) => string.replace(\n /^([A-Z])|[\\s-_]+(\\w)/g,\n (match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()\n);\nconst toPascalCase = (string) => {\n const camelCase = toCamelCase(string);\n return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);\n};\nconst mergeClasses = (...classes) => classes.filter((className, index, array) => {\n return Boolean(className) && className.trim() !== \"\" && array.indexOf(className) === index;\n}).join(\" \").trim();\nconst hasA11yProp = (props) => {\n for (const prop in props) {\n if (prop.startsWith(\"aria-\") || prop === \"role\" || prop === \"title\") {\n return true;\n }\n }\n};\n\nexport { hasA11yProp, mergeClasses, toCamelCase, toKebabCase, toPascalCase };\n//# sourceMappingURL=utils.js.map\n","/**\n * @license lucide-react v0.541.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\nvar defaultAttributes = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n};\n\nexport { defaultAttributes as default };\n//# sourceMappingURL=defaultAttributes.js.map\n","/**\n * @license lucide-react v0.541.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 { forwardRef, createElement } from 'react';\nimport defaultAttributes from './defaultAttributes.js';\nimport { mergeClasses, hasA11yProp } from './shared/src/utils.js';\n\nconst Icon = forwardRef(\n ({\n color = \"currentColor\",\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = \"\",\n children,\n iconNode,\n ...rest\n }, ref) => createElement(\n \"svg\",\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,\n className: mergeClasses(\"lucide\", className),\n ...!children && !hasA11yProp(rest) && { \"aria-hidden\": \"true\" },\n ...rest\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...Array.isArray(children) ? children : [children]\n ]\n )\n);\n\nexport { Icon as default };\n//# sourceMappingURL=Icon.js.map\n","/**\n * @license lucide-react v0.541.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 { forwardRef, createElement } from 'react';\nimport { mergeClasses, toKebabCase, toPascalCase } from './shared/src/utils.js';\nimport Icon from './Icon.js';\n\nconst createLucideIcon = (iconName, iconNode) => {\n const Component = forwardRef(\n ({ className, ...props }, ref) => createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(\n `lucide-${toKebabCase(toPascalCase(iconName))}`,\n `lucide-${iconName}`,\n className\n ),\n ...props\n })\n );\n Component.displayName = toPascalCase(iconName);\n return Component;\n};\n\nexport { createLucideIcon as default };\n//# sourceMappingURL=createLucideIcon.js.map\n","/**\n * @license lucide-react v0.541.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: \"M20 6 9 17l-5-5\", key: \"1gmf2c\" }]];\nconst Check = createLucideIcon(\"check\", __iconNode);\n\nexport { __iconNode, Check as default };\n//# sourceMappingURL=check.js.map\n","/**\n * @license lucide-react v0.541.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: \"m6 9 6 6 6-6\", key: \"qrunsl\" }]];\nconst ChevronDown = createLucideIcon(\"chevron-down\", __iconNode);\n\nexport { __iconNode, ChevronDown as default };\n//# sourceMappingURL=chevron-down.js.map\n","/**\n * @license lucide-react v0.541.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","// packages/core/number/src/number.ts\nfunction clamp(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\nexport {\n clamp\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","DirectionContext","useDirection","localDir","globalDir","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","toKebabCase","string","toCamelCase","match","p1","p2","toPascalCase","camelCase","mergeClasses","classes","className","index","array","hasA11yProp","prop","defaultAttributes","Icon","forwardRef","color","strokeWidth","absoluteStrokeWidth","iconNode","rest","createElement","tag","attrs","createLucideIcon","iconName","Component","__iconNode","Check","ChevronDown","ChevronUp","usePrevious","VISUALLY_HIDDEN_STYLES","VisuallyHidden","clamp","min","max","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","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","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","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","startIndex","_","Trigger","Value","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,8,9,10,11,12,13,14,15]}
@@ -1,2 +0,0 @@
1
- "use strict";const a=require("./jsx-runtime-BjzqJBtL.js"),B=require("react"),At=require("react-dom"),p=require("./textarea-ZUAx_MBk.js"),N=require("./index-6ER8bShj.js"),X=require("./floating-ui.react-dom-fLHuukRa.js"),Ot=require("./floating-ui.dom-CJ93ksva.js"),Z=require("./utils-BRdagWxe.js");function _e(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:()=>e[o]})}}return t.default=e,Object.freeze(t)}const r=_e(B),Ae=_e(At);function Oe(e){const t=e+"CollectionProvider",[o,n]=p.createContextScope(t),[i,d]=o(t,{collectionRef:{current:null},itemMap:new Map}),s=u=>{const{scope:h,children:S}=u,m=B.useRef(null),v=B.useRef(new Map).current;return a.jsxRuntimeExports.jsx(i,{scope:h,itemMap:v,collectionRef:m,children:S})};s.displayName=t;const l=e+"CollectionSlot",c=N.createSlot(l),f=B.forwardRef((u,h)=>{const{scope:S,children:m}=u,v=d(l,S),b=N.useComposedRefs(h,v.collectionRef);return a.jsxRuntimeExports.jsx(c,{ref:b,children:m})});f.displayName=l;const g=e+"CollectionItemSlot",w="data-radix-collection-item",j=N.createSlot(g),C=B.forwardRef((u,h)=>{const{scope:S,children:m,...v}=u,b=B.useRef(null),_=N.useComposedRefs(h,b),L=d(g,S);return B.useEffect(()=>(L.itemMap.set(b,{ref:b,...v}),()=>void L.itemMap.delete(b))),a.jsxRuntimeExports.jsx(j,{[w]:"",ref:_,children:m})});C.displayName=g;function R(u){const h=d(e+"CollectionConsumer",u);return B.useCallback(()=>{const m=h.collectionRef.current;if(!m)return[];const v=Array.from(m.querySelectorAll(`[${w}]`));return Array.from(h.itemMap.values()).sort((L,T)=>v.indexOf(L.ref.current)-v.indexOf(T.ref.current))},[h.collectionRef,h.itemMap])}return[{Provider:s,Slot:f,ItemSlot:C},R,n]}var Mt=r.createContext(void 0);function Me(e){const t=r.useContext(Mt);return e||t||"ltr"}var Dt="Arrow",De=r.forwardRef((e,t)=>{const{children:o,width:n=10,height:i=5,...d}=e;return a.jsxRuntimeExports.jsx(p.Primitive.svg,{...d,ref:t,width:n,height:i,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?o:a.jsxRuntimeExports.jsx("polygon",{points:"0,0 30,0 15,10"})})});De.displayName=Dt;var Lt=De;function Le(e){const[t,o]=r.useState(void 0);return p.useLayoutEffect2(()=>{if(e){o({width:e.offsetWidth,height:e.offsetHeight});const n=new ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const d=i[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;o({width:s,height:l})});return n.observe(e,{box:"border-box"}),()=>n.unobserve(e)}else o(void 0)},[e]),t}var je="Popper",[He,Pe]=p.createContextScope(je),[Ht,ke]=He(je),Be=e=>{const{__scopePopper:t,children:o}=e,[n,i]=r.useState(null);return a.jsxRuntimeExports.jsx(Ht,{scope:t,anchor:n,onAnchorChange:i,children:o})};Be.displayName=je;var Ve="PopperAnchor",ze=r.forwardRef((e,t)=>{const{__scopePopper:o,virtualRef:n,...i}=e,d=ke(Ve,o),s=r.useRef(null),l=N.useComposedRefs(t,s),c=r.useRef(null);return r.useEffect(()=>{const f=c.current;c.current=n?.current||s.current,f!==c.current&&d.onAnchorChange(c.current)}),n?null:a.jsxRuntimeExports.jsx(p.Primitive.div,{...i,ref:l})});ze.displayName=Ve;var be="PopperContent",[kt,Bt]=He(be),$e=r.forwardRef((e,t)=>{const{__scopePopper:o,side:n="bottom",sideOffset:i=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:C="optimized",onPlaced:R,...u}=e,h=ke(be,o),[S,m]=r.useState(null),v=N.useComposedRefs(t,x=>m(x)),[b,_]=r.useState(null),L=Le(b),T=L?.width??0,H=L?.height??0,q=n+(d!=="center"?"-"+d:""),G=typeof g=="number"?g:{top:0,right:0,bottom:0,left:0,...g},V=Array.isArray(f)?f:[f],W=V.length>0,k={padding:G,boundary:V.filter(zt),altBoundary:W},{refs:U,floatingStyles:z,placement:A,isPositioned:M,middlewareData:O}=X.useFloating({strategy:"fixed",placement:q,whileElementsMounted:(...x)=>Ot.autoUpdate(...x,{animationFrame:C==="always"}),elements:{reference:h.anchor},middleware:[X.offset({mainAxis:i+H,alignmentAxis:s}),c&&X.shift({mainAxis:!0,crossAxis:!1,limiter:w==="partial"?X.limitShift():void 0,...k}),c&&X.flip({...k}),X.size({...k,apply:({elements:x,rects:P,availableWidth:D,availableHeight:E})=>{const{width:y,height:I}=P.reference,$=x.floating.style;$.setProperty("--radix-popper-available-width",`${D}px`),$.setProperty("--radix-popper-available-height",`${E}px`),$.setProperty("--radix-popper-anchor-width",`${y}px`),$.setProperty("--radix-popper-anchor-height",`${I}px`)}}),b&&X.arrow({element:b,padding:l}),$t({arrowWidth:T,arrowHeight:H}),j&&X.hide({strategy:"referenceHidden",...k})]}),[F,ae]=Fe(A),ee=p.useCallbackRef(R);p.useLayoutEffect2(()=>{M&&ee?.()},[M,ee]);const ce=O.arrow?.x,le=O.arrow?.y,Y=O.arrow?.centerOffset!==0,[se,te]=r.useState();return p.useLayoutEffect2(()=>{S&&te(window.getComputedStyle(S).zIndex)},[S]),a.jsxRuntimeExports.jsx("div",{ref:U.setFloating,"data-radix-popper-content-wrapper":"",style:{...z,transform:M?z.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:se,"--radix-popper-transform-origin":[O.transformOrigin?.x,O.transformOrigin?.y].join(" "),...O.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:a.jsxRuntimeExports.jsx(kt,{scope:o,placedSide:F,onArrowChange:_,arrowX:ce,arrowY:le,shouldHideArrow:Y,children:a.jsxRuntimeExports.jsx(p.Primitive.div,{"data-side":F,"data-align":ae,...u,ref:v,style:{...u.style,animation:M?void 0:"none"}})})})});$e.displayName=be;var We="PopperArrow",Vt={top:"bottom",right:"left",bottom:"top",left:"right"},Ue=r.forwardRef(function(t,o){const{__scopePopper:n,...i}=t,d=Bt(We,n),s=Vt[d.placedSide];return a.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:a.jsxRuntimeExports.jsx(Lt,{...i,ref:o,style:{...i.style,display:"block"}})})});Ue.displayName=We;function zt(e){return e!==null}var $t=e=>({name:"transformOrigin",options:e,fn(t){const{placement:o,rects:n,middlewareData:i}=t,s=i.arrow?.centerOffset!==0,l=s?0:e.arrowWidth,c=s?0:e.arrowHeight,[f,g]=Fe(o),w={start:"0%",center:"50%",end:"100%"}[g],j=(i.arrow?.x??0)+l/2,C=(i.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=`${n.floating.height+c}px`):f==="right"?(R=`${-c}px`,u=s?w:`${C}px`):f==="left"&&(R=`${n.floating.width+c}px`,u=s?w:`${C}px`),{data:{x:R,y:u}}}});function Fe(e){const[t,o="center"]=e.split("-");return[t,o]}var Ke=Be,qe=ze,Ge=$e,Ye=Ue;const Wt=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Ut=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,o,n)=>n?n.toUpperCase():o.toLowerCase()),Ne=e=>{const t=Ut(e);return t.charAt(0).toUpperCase()+t.slice(1)},Xe=(...e)=>e.filter((t,o,n)=>!!t&&t.trim()!==""&&n.indexOf(t)===o).join(" ").trim(),Ft=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0};var Kt={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const qt=B.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:o=2,absoluteStrokeWidth:n,className:i="",children:d,iconNode:s,...l},c)=>B.createElement("svg",{ref:c,...Kt,width:t,height:t,stroke:e,strokeWidth:n?Number(o)*24/Number(t):o,className:Xe("lucide",i),...!d&&!Ft(l)&&{"aria-hidden":"true"},...l},[...s.map(([f,g])=>B.createElement(f,g)),...Array.isArray(d)?d:[d]]));const pe=(e,t)=>{const o=B.forwardRef(({className:n,...i},d)=>B.createElement(qt,{ref:d,iconNode:t,className:Xe(`lucide-${Wt(Ne(e))}`,`lucide-${e}`,n),...i}));return o.displayName=Ne(e),o};const Gt=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Ze=pe("check",Gt);const Yt=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Ie=pe("chevron-down",Yt);const Xt=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],Zt=pe("chevron-up",Xt);function Je(e){const t=r.useRef({value:e,previous:e});return r.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.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"}),Jt="VisuallyHidden",et=r.forwardRef((e,t)=>a.jsxRuntimeExports.jsx(p.Primitive.span,{...e,ref:t,style:{...Qe,...e.style}}));et.displayName=Jt;var Qt=et;function Se(e,[t,o]){return Math.min(o,Math.max(t,e))}var eo=[" ","Enter","ArrowUp","ArrowDown"],to=[" ","Enter"],ne="Select",[fe,me,oo]=Oe(ne),[ie,Uo]=p.createContextScope(ne,[oo,Pe]),xe=Pe(),[no,J]=ie(ne),[ro,so]=ie(ne),tt=e=>{const{__scopeSelect:t,children:o,open:n,defaultOpen:i,onOpenChange:d,value:s,defaultValue:l,onValueChange:c,dir:f,name:g,autoComplete:w,disabled:j,required:C,form:R}=e,u=xe(t),[h,S]=r.useState(null),[m,v]=r.useState(null),[b,_]=r.useState(!1),L=Me(f),[T,H]=p.useControllableState({prop:n,defaultProp:i??!1,onChange:d,caller:ne}),[q,G]=p.useControllableState({prop:s,defaultProp:l,onChange:c,caller:ne}),V=r.useRef(null),W=h?R||!!h.closest("form"):!0,[k,U]=r.useState(new Set),z=Array.from(k).map(A=>A.props.value).join(";");return a.jsxRuntimeExports.jsx(Ke,{...u,children:a.jsxRuntimeExports.jsxs(no,{required:C,scope:t,trigger:h,onTriggerChange:S,valueNode:m,onValueNodeChange:v,valueNodeHasChildren:b,onValueNodeHasChildrenChange:_,contentId:p.useId(),value:q,onValueChange:G,open:T,onOpenChange:H,dir:L,triggerPointerDownPosRef:V,disabled:j,children:[a.jsxRuntimeExports.jsx(fe.Provider,{scope:t,children:a.jsxRuntimeExports.jsx(ro,{scope:e.__scopeSelect,onNativeOptionAdd:r.useCallback(A=>{U(M=>new Set(M).add(A))},[]),onNativeOptionRemove:r.useCallback(A=>{U(M=>{const O=new Set(M);return O.delete(A),O})},[]),children:o})}),W?a.jsxRuntimeExports.jsxs(Pt,{"aria-hidden":!0,required:C,tabIndex:-1,name:g,autoComplete:w,value:q,onChange:A=>G(A.target.value),disabled:j,form:R,children:[q===void 0?a.jsxRuntimeExports.jsx("option",{value:""}):null,Array.from(k)]},z):null]})})};tt.displayName=ne;var ot="SelectTrigger",nt=r.forwardRef((e,t)=>{const{__scopeSelect:o,disabled:n=!1,...i}=e,d=xe(o),s=J(ot,o),l=s.disabled||n,c=N.useComposedRefs(t,s.onTriggerChange),f=me(o),g=r.useRef("touch"),[w,j,C]=It(u=>{const h=f().filter(v=>!v.disabled),S=h.find(v=>v.value===s.value),m=Tt(h,u,S);m!==void 0&&s.onValueChange(m.value)}),R=u=>{l||(s.onOpenChange(!0),C()),u&&(s.triggerPointerDownPosRef.current={x:Math.round(u.pageX),y:Math.round(u.pageY)})};return a.jsxRuntimeExports.jsx(qe,{asChild:!0,...d,children:a.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":bt(s.value)?"":void 0,...i,ref:c,onClick:p.composeEventHandlers(i.onClick,u=>{u.currentTarget.focus(),g.current!=="mouse"&&R(u)}),onPointerDown:p.composeEventHandlers(i.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(i.onKeyDown,u=>{const h=w.current!=="";!(u.ctrlKey||u.altKey||u.metaKey)&&u.key.length===1&&j(u.key),!(h&&u.key===" ")&&eo.includes(u.key)&&(R(),u.preventDefault())})})})});nt.displayName=ot;var rt="SelectValue",st=r.forwardRef((e,t)=>{const{__scopeSelect:o,className:n,style:i,children:d,placeholder:s="",...l}=e,c=J(rt,o),{onValueNodeHasChildrenChange:f}=c,g=d!==void 0,w=N.useComposedRefs(t,c.onValueNodeChange);return p.useLayoutEffect2(()=>{f(g)},[f,g]),a.jsxRuntimeExports.jsx(p.Primitive.span,{...l,ref:w,style:{pointerEvents:"none"},children:bt(c.value)?a.jsxRuntimeExports.jsx(a.jsxRuntimeExports.Fragment,{children:s}):d})});st.displayName=rt;var io="SelectIcon",it=r.forwardRef((e,t)=>{const{__scopeSelect:o,children:n,...i}=e;return a.jsxRuntimeExports.jsx(p.Primitive.span,{"aria-hidden":!0,...i,ref:t,children:n||"▼"})});it.displayName=io;var ao="SelectPortal",at=e=>a.jsxRuntimeExports.jsx(p.Portal,{asChild:!0,...e});at.displayName=ao;var re="SelectContent",ct=r.forwardRef((e,t)=>{const o=J(re,e.__scopeSelect),[n,i]=r.useState();if(p.useLayoutEffect2(()=>{i(new DocumentFragment)},[]),!o.open){const d=n;return d?Ae.createPortal(a.jsxRuntimeExports.jsx(lt,{scope:e.__scopeSelect,children:a.jsxRuntimeExports.jsx(fe.Slot,{scope:e.__scopeSelect,children:a.jsxRuntimeExports.jsx("div",{children:e.children})})}),d):null}return a.jsxRuntimeExports.jsx(dt,{...e,ref:t})});ct.displayName=re;var K=10,[lt,Q]=ie(re),co="SelectContentImpl",lo=N.createSlot("SelectContent.RemoveScroll"),dt=r.forwardRef((e,t)=>{const{__scopeSelect:o,position:n="item-aligned",onCloseAutoFocus:i,onEscapeKeyDown:d,onPointerDownOutside:s,side:l,sideOffset:c,align:f,alignOffset:g,arrowPadding:w,collisionBoundary:j,collisionPadding:C,sticky:R,hideWhenDetached:u,avoidCollisions:h,...S}=e,m=J(re,o),[v,b]=r.useState(null),[_,L]=r.useState(null),T=N.useComposedRefs(t,x=>b(x)),[H,q]=r.useState(null),[G,V]=r.useState(null),W=me(o),[k,U]=r.useState(!1),z=r.useRef(!1);r.useEffect(()=>{if(v)return p.hideOthers(v)},[v]),p.useFocusGuards();const A=r.useCallback(x=>{const[P,...D]=W().map(I=>I.ref.current),[E]=D.slice(-1),y=document.activeElement;for(const I of x)if(I===y||(I?.scrollIntoView({block:"nearest"}),I===P&&_&&(_.scrollTop=0),I===E&&_&&(_.scrollTop=_.scrollHeight),I?.focus(),document.activeElement!==y))return},[W,_]),M=r.useCallback(()=>A([H,v]),[A,H,v]);r.useEffect(()=>{k&&M()},[k,M]);const{onOpenChange:O,triggerPointerDownPosRef:F}=m;r.useEffect(()=>{if(v){let x={x:0,y:0};const P=E=>{x={x:Math.abs(Math.round(E.pageX)-(F.current?.x??0)),y:Math.abs(Math.round(E.pageY)-(F.current?.y??0))}},D=E=>{x.x<=10&&x.y<=10?E.preventDefault():v.contains(E.target)||O(!1),document.removeEventListener("pointermove",P),F.current=null};return F.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,F]),r.useEffect(()=>{const x=()=>O(!1);return window.addEventListener("blur",x),window.addEventListener("resize",x),()=>{window.removeEventListener("blur",x),window.removeEventListener("resize",x)}},[O]);const[ae,ee]=It(x=>{const P=W().filter(y=>!y.disabled),D=P.find(y=>y.ref.current===document.activeElement),E=Tt(P,x,D);E&&setTimeout(()=>E.ref.current.focus())}),ce=r.useCallback((x,P,D)=>{const E=!z.current&&!D;(m.value!==void 0&&m.value===P||E)&&(q(x),E&&(z.current=!0))},[m.value]),le=r.useCallback(()=>v?.focus(),[v]),Y=r.useCallback((x,P,D)=>{const E=!z.current&&!D;(m.value!==void 0&&m.value===P||E)&&V(x)},[m.value]),se=n==="popper"?we:ut,te=se===we?{side:l,sideOffset:c,align:f,alignOffset:g,arrowPadding:w,collisionBoundary:j,collisionPadding:C,sticky:R,hideWhenDetached:u,avoidCollisions:h}:{};return a.jsxRuntimeExports.jsx(lt,{scope:o,content:v,viewport:_,onViewportChange:L,itemRefCallback:ce,selectedItem:H,onItemLeave:le,itemTextRefCallback:Y,focusSelectedItem:M,selectedItemText:G,position:n,isPositioned:k,searchRef:ae,children:a.jsxRuntimeExports.jsx(p.ReactRemoveScroll,{as:lo,allowPinchZoom:!0,children:a.jsxRuntimeExports.jsx(p.FocusScope,{asChild:!0,trapped:m.open,onMountAutoFocus:x=>{x.preventDefault()},onUnmountAutoFocus:p.composeEventHandlers(i,x=>{m.trigger?.focus({preventScroll:!0}),x.preventDefault()}),children:a.jsxRuntimeExports.jsx(p.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:d,onPointerDownOutside:s,onFocusOutside:x=>x.preventDefault(),onDismiss:()=>m.onOpenChange(!1),children:a.jsxRuntimeExports.jsx(se,{role:"listbox",id:m.contentId,"data-state":m.open?"open":"closed",dir:m.dir,onContextMenu:x=>x.preventDefault(),...S,...te,onPlaced:()=>U(!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 E=W().filter(y=>!y.disabled).map(y=>y.ref.current);if(["ArrowUp","End"].includes(x.key)&&(E=E.slice().reverse()),["ArrowUp","ArrowDown"].includes(x.key)){const y=x.target,I=E.indexOf(y);E=E.slice(I+1)}setTimeout(()=>A(E)),x.preventDefault()}})})})})})})});dt.displayName=co;var uo="SelectItemAlignedPosition",ut=r.forwardRef((e,t)=>{const{__scopeSelect:o,onPlaced:n,...i}=e,d=J(re,o),s=Q(re,o),[l,c]=r.useState(null),[f,g]=r.useState(null),w=N.useComposedRefs(t,T=>g(T)),j=me(o),C=r.useRef(!1),R=r.useRef(!0),{viewport:u,selectedItem:h,selectedItemText:S,focusSelectedItem:m}=s,v=r.useCallback(()=>{if(d.trigger&&d.valueNode&&l&&f&&u&&h&&S){const T=d.trigger.getBoundingClientRect(),H=f.getBoundingClientRect(),q=d.valueNode.getBoundingClientRect(),G=S.getBoundingClientRect();if(d.dir!=="rtl"){const y=G.left-H.left,I=q.left-y,$=T.left-I,oe=T.width+$,he=Math.max(oe,H.width),ve=window.innerWidth-K,ge=Se(I,[K,Math.max(K,ve-he)]);l.style.minWidth=oe+"px",l.style.left=ge+"px"}else{const y=H.right-G.right,I=window.innerWidth-q.right-y,$=window.innerWidth-T.right-I,oe=T.width+$,he=Math.max(oe,H.width),ve=window.innerWidth-K,ge=Se(I,[K,Math.max(K,ve-he)]);l.style.minWidth=oe+"px",l.style.right=ge+"px"}const V=j(),W=window.innerHeight-K*2,k=u.scrollHeight,U=window.getComputedStyle(f),z=parseInt(U.borderTopWidth,10),A=parseInt(U.paddingTop,10),M=parseInt(U.borderBottomWidth,10),O=parseInt(U.paddingBottom,10),F=z+A+k+O+M,ae=Math.min(h.offsetHeight*5,F),ee=window.getComputedStyle(u),ce=parseInt(ee.paddingTop,10),le=parseInt(ee.paddingBottom,10),Y=T.top+T.height/2-K,se=W-Y,te=h.offsetHeight/2,x=h.offsetTop+te,P=z+A+x,D=F-P;if(P<=Y){const y=V.length>0&&h===V[V.length-1].ref.current;l.style.bottom="0px";const I=f.clientHeight-u.offsetTop-u.offsetHeight,$=Math.max(se,te+(y?le:0)+I+M),oe=P+$;l.style.height=oe+"px"}else{const y=V.length>0&&h===V[0].ref.current;l.style.top="0px";const $=Math.max(Y,z+u.offsetTop+(y?ce:0)+te)+D;l.style.height=$+"px",u.scrollTop=P-Y+u.offsetTop}l.style.margin=`${K}px 0`,l.style.minHeight=ae+"px",l.style.maxHeight=W+"px",n?.(),requestAnimationFrame(()=>C.current=!0)}},[j,d.trigger,d.valueNode,l,f,u,h,S,d.dir,n]);p.useLayoutEffect2(()=>v(),[v]);const[b,_]=r.useState();p.useLayoutEffect2(()=>{f&&_(window.getComputedStyle(f).zIndex)},[f]);const L=r.useCallback(T=>{T&&R.current===!0&&(v(),m?.(),R.current=!1)},[v,m]);return a.jsxRuntimeExports.jsx(fo,{scope:o,contentWrapper:l,shouldExpandOnScrollRef:C,onScrollButtonChange:L,children:a.jsxRuntimeExports.jsx("div",{ref:c,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:b},children:a.jsxRuntimeExports.jsx(p.Primitive.div,{...i,ref:w,style:{boxSizing:"border-box",maxHeight:"100%",...i.style}})})})});ut.displayName=uo;var po="SelectPopperPosition",we=r.forwardRef((e,t)=>{const{__scopeSelect:o,align:n="start",collisionPadding:i=K,...d}=e,s=xe(o);return a.jsxRuntimeExports.jsx(Ge,{...s,...d,ref:t,align:n,collisionPadding:i,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)"}})});we.displayName=po;var[fo,Te]=ie(re,{}),Re="SelectViewport",pt=r.forwardRef((e,t)=>{const{__scopeSelect:o,nonce:n,...i}=e,d=Q(Re,o),s=Te(Re,o),l=N.useComposedRefs(t,d.onViewportChange),c=r.useRef(0);return a.jsxRuntimeExports.jsxs(a.jsxRuntimeExports.Fragment,{children:[a.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:n}),a.jsxRuntimeExports.jsx(fe.Slot,{scope:o,children:a.jsxRuntimeExports.jsx(p.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...i,ref:l,style:{position:"relative",flex:1,overflow:"hidden auto",...i.style},onScroll:p.composeEventHandlers(i.onScroll,f=>{const g=f.currentTarget,{contentWrapper:w,shouldExpandOnScrollRef:j}=s;if(j?.current&&w){const C=Math.abs(c.current-g.scrollTop);if(C>0){const R=window.innerHeight-K*2,u=parseFloat(w.style.minHeight),h=parseFloat(w.style.height),S=Math.max(u,h);if(S<R){const m=S+C,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})})})]})});pt.displayName=Re;var ft="SelectGroup",[mo,xo]=ie(ft),mt=r.forwardRef((e,t)=>{const{__scopeSelect:o,...n}=e,i=p.useId();return a.jsxRuntimeExports.jsx(mo,{scope:o,id:i,children:a.jsxRuntimeExports.jsx(p.Primitive.div,{role:"group","aria-labelledby":i,...n,ref:t})})});mt.displayName=ft;var xt="SelectLabel",ht=r.forwardRef((e,t)=>{const{__scopeSelect:o,...n}=e,i=xo(xt,o);return a.jsxRuntimeExports.jsx(p.Primitive.div,{id:i.id,...n,ref:t})});ht.displayName=xt;var ue="SelectItem",[ho,vt]=ie(ue),gt=r.forwardRef((e,t)=>{const{__scopeSelect:o,value:n,disabled:i=!1,textValue:d,...s}=e,l=J(ue,o),c=Q(ue,o),f=l.value===n,[g,w]=r.useState(d??""),[j,C]=r.useState(!1),R=N.useComposedRefs(t,m=>c.itemRefCallback?.(m,n,i)),u=p.useId(),h=r.useRef("touch"),S=()=>{i||(l.onValueChange(n),l.onOpenChange(!1))};if(n==="")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 a.jsxRuntimeExports.jsx(ho,{scope:o,value:n,disabled:i,textId:u,isSelected:f,onItemTextChange:r.useCallback(m=>{w(v=>v||(m?.textContent??"").trim())},[]),children:a.jsxRuntimeExports.jsx(fe.ItemSlot,{scope:o,value:n,disabled:i,textValue:g,children:a.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":i||void 0,"data-disabled":i?"":void 0,tabIndex:i?void 0:-1,...s,ref:R,onFocus:p.composeEventHandlers(s.onFocus,()=>C(!0)),onBlur:p.composeEventHandlers(s.onBlur,()=>C(!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,i?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===" "||(to.includes(m.key)&&S(),m.key===" "&&m.preventDefault())})})})})});gt.displayName=ue;var de="SelectItemText",St=r.forwardRef((e,t)=>{const{__scopeSelect:o,className:n,style:i,...d}=e,s=J(de,o),l=Q(de,o),c=vt(de,o),f=so(de,o),[g,w]=r.useState(null),j=N.useComposedRefs(t,S=>w(S),c.onItemTextChange,S=>l.itemTextRefCallback?.(S,c.value,c.disabled)),C=g?.textContent,R=r.useMemo(()=>a.jsxRuntimeExports.jsx("option",{value:c.value,disabled:c.disabled,children:C},c.value),[c.disabled,c.value,C]),{onNativeOptionAdd:u,onNativeOptionRemove:h}=f;return p.useLayoutEffect2(()=>(u(R),()=>h(R)),[u,h,R]),a.jsxRuntimeExports.jsxs(a.jsxRuntimeExports.Fragment,{children:[a.jsxRuntimeExports.jsx(p.Primitive.span,{id:c.textId,...d,ref:j}),c.isSelected&&s.valueNode&&!s.valueNodeHasChildren?Ae.createPortal(d.children,s.valueNode):null]})});St.displayName=de;var wt="SelectItemIndicator",Rt=r.forwardRef((e,t)=>{const{__scopeSelect:o,...n}=e;return vt(wt,o).isSelected?a.jsxRuntimeExports.jsx(p.Primitive.span,{"aria-hidden":!0,...n,ref:t}):null});Rt.displayName=wt;var Ce="SelectScrollUpButton",Ct=r.forwardRef((e,t)=>{const o=Q(Ce,e.__scopeSelect),n=Te(Ce,e.__scopeSelect),[i,d]=r.useState(!1),s=N.useComposedRefs(t,n.onScrollButtonChange);return p.useLayoutEffect2(()=>{if(o.viewport&&o.isPositioned){let l=function(){const f=c.scrollTop>0;d(f)};const c=o.viewport;return l(),c.addEventListener("scroll",l),()=>c.removeEventListener("scroll",l)}},[o.viewport,o.isPositioned]),i?a.jsxRuntimeExports.jsx(yt,{...e,ref:s,onAutoScroll:()=>{const{viewport:l,selectedItem:c}=o;l&&c&&(l.scrollTop=l.scrollTop-c.offsetHeight)}}):null});Ct.displayName=Ce;var Ee="SelectScrollDownButton",Et=r.forwardRef((e,t)=>{const o=Q(Ee,e.__scopeSelect),n=Te(Ee,e.__scopeSelect),[i,d]=r.useState(!1),s=N.useComposedRefs(t,n.onScrollButtonChange);return p.useLayoutEffect2(()=>{if(o.viewport&&o.isPositioned){let l=function(){const f=c.scrollHeight-c.clientHeight,g=Math.ceil(c.scrollTop)<f;d(g)};const c=o.viewport;return l(),c.addEventListener("scroll",l),()=>c.removeEventListener("scroll",l)}},[o.viewport,o.isPositioned]),i?a.jsxRuntimeExports.jsx(yt,{...e,ref:s,onAutoScroll:()=>{const{viewport:l,selectedItem:c}=o;l&&c&&(l.scrollTop=l.scrollTop+c.offsetHeight)}}):null});Et.displayName=Ee;var yt=r.forwardRef((e,t)=>{const{__scopeSelect:o,onAutoScroll:n,...i}=e,d=Q("SelectScrollButton",o),s=r.useRef(null),l=me(o),c=r.useCallback(()=>{s.current!==null&&(window.clearInterval(s.current),s.current=null)},[]);return r.useEffect(()=>()=>c(),[c]),p.useLayoutEffect2(()=>{l().find(g=>g.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[l]),a.jsxRuntimeExports.jsx(p.Primitive.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:p.composeEventHandlers(i.onPointerDown,()=>{s.current===null&&(s.current=window.setInterval(n,50))}),onPointerMove:p.composeEventHandlers(i.onPointerMove,()=>{d.onItemLeave?.(),s.current===null&&(s.current=window.setInterval(n,50))}),onPointerLeave:p.composeEventHandlers(i.onPointerLeave,()=>{c()})})}),vo="SelectSeparator",jt=r.forwardRef((e,t)=>{const{__scopeSelect:o,...n}=e;return a.jsxRuntimeExports.jsx(p.Primitive.div,{"aria-hidden":!0,...n,ref:t})});jt.displayName=vo;var ye="SelectArrow",go=r.forwardRef((e,t)=>{const{__scopeSelect:o,...n}=e,i=xe(o),d=J(ye,o),s=Q(ye,o);return d.open&&s.position==="popper"?a.jsxRuntimeExports.jsx(Ye,{...i,...n,ref:t}):null});go.displayName=ye;var So="SelectBubbleInput",Pt=r.forwardRef(({__scopeSelect:e,value:t,...o},n)=>{const i=r.useRef(null),d=N.useComposedRefs(n,i),s=Je(t);return r.useEffect(()=>{const l=i.current;if(!l)return;const c=window.HTMLSelectElement.prototype,g=Object.getOwnPropertyDescriptor(c,"value").set;if(s!==t&&g){const w=new Event("change",{bubbles:!0});g.call(l,t),l.dispatchEvent(w)}},[s,t]),a.jsxRuntimeExports.jsx(p.Primitive.select,{...o,style:{...Qe,...o.style},ref:d,defaultValue:t})});Pt.displayName=So;function bt(e){return e===""||e===void 0}function It(e){const t=p.useCallbackRef(e),o=r.useRef(""),n=r.useRef(0),i=r.useCallback(s=>{const l=o.current+s;t(l),(function c(f){o.current=f,window.clearTimeout(n.current),f!==""&&(n.current=window.setTimeout(()=>c(""),1e3))})(l)},[t]),d=r.useCallback(()=>{o.current="",window.clearTimeout(n.current)},[]);return r.useEffect(()=>()=>window.clearTimeout(n.current),[]),[o,i,d]}function Tt(e,t,o){const i=t.length>1&&Array.from(t).every(f=>f===t[0])?t[0]:t,d=o?e.indexOf(o):-1;let s=wo(e,Math.max(d,0));i.length===1&&(s=s.filter(f=>f!==o));const c=s.find(f=>f.textValue.toLowerCase().startsWith(i.toLowerCase()));return c!==o?c:void 0}function wo(e,t){return e.map((o,n)=>e[(t+n)%e.length])}var Ro=tt,Co=nt,Eo=st,yo=it,jo=at,Po=ct,bo=pt,Io=mt,To=ht,No=gt,_o=St,Ao=Rt,Oo=Ct,Mo=Et,Do=jt;function Lo({...e}){return a.jsxRuntimeExports.jsx(Ro,{"data-slot":"select",...e})}function Ho({...e}){return a.jsxRuntimeExports.jsx(Io,{"data-slot":"select-group",...e})}function ko({...e}){return a.jsxRuntimeExports.jsx(Eo,{"data-slot":"select-value",...e})}function Bo({className:e,size:t="default",children:o,...n}){return a.jsxRuntimeExports.jsxs(Co,{"data-slot":"select-trigger","data-size":t,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),...n,children:[o,a.jsxRuntimeExports.jsx(yo,{asChild:!0,children:a.jsxRuntimeExports.jsx(Ie,{className:"size-4 opacity-50"})})]})}function Vo({className:e,children:t,position:o="popper",...n}){return a.jsxRuntimeExports.jsx(jo,{children:a.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",o==="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:o,...n,children:[a.jsxRuntimeExports.jsx(Nt,{}),a.jsxRuntimeExports.jsx(bo,{className:Z.cn("p-1",o==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),a.jsxRuntimeExports.jsx(_t,{})]})})}function zo({className:e,...t}){return a.jsxRuntimeExports.jsx(To,{"data-slot":"select-label",className:Z.cn("text-muted-foreground px-2 py-1.5 text-xs",e),...t})}function $o({className:e,children:t,...o}){return a.jsxRuntimeExports.jsxs(No,{"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),...o,children:[a.jsxRuntimeExports.jsx("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:a.jsxRuntimeExports.jsx(Ao,{children:a.jsxRuntimeExports.jsx(Ze,{className:"size-4"})})}),a.jsxRuntimeExports.jsx(_o,{children:t})]})}function Wo({className:e,...t}){return a.jsxRuntimeExports.jsx(Do,{"data-slot":"select-separator",className:Z.cn("bg-border pointer-events-none -mx-1 my-1 h-px",e),...t})}function Nt({className:e,...t}){return a.jsxRuntimeExports.jsx(Oo,{"data-slot":"select-scroll-up-button",className:Z.cn("flex cursor-default items-center justify-center py-1",e),...t,children:a.jsxRuntimeExports.jsx(Zt,{className:"size-4"})})}function _t({className:e,...t}){return a.jsxRuntimeExports.jsx(Mo,{"data-slot":"select-scroll-down-button",className:Z.cn("flex cursor-default items-center justify-center py-1",e),...t,children:a.jsxRuntimeExports.jsx(Ie,{className:"size-4"})})}exports.Anchor=qe;exports.Arrow=Ye;exports.Check=Ze;exports.ChevronDown=Ie;exports.Content=Ge;exports.Root=Qt;exports.Root2=Ke;exports.Select=Lo;exports.SelectContent=Vo;exports.SelectGroup=Ho;exports.SelectItem=$o;exports.SelectLabel=zo;exports.SelectScrollDownButton=_t;exports.SelectScrollUpButton=Nt;exports.SelectSeparator=Wo;exports.SelectTrigger=Bo;exports.SelectValue=ko;exports.clamp=Se;exports.createCollection=Oe;exports.createLucideIcon=pe;exports.createPopperScope=Pe;exports.useDirection=Me;exports.usePrevious=Je;exports.useSize=Le;
2
- //# sourceMappingURL=select-DW1tRhcQ.js.map