@stachelock/ui 0.2.8 → 0.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ComboboxInput.vue_vue_type_script_setup_true_lang-2dJNxQUF.js → ComboboxInput.vue_vue_type_script_setup_true_lang-LE2kDHpU.js} +2 -2
- package/dist/{ComboboxInput.vue_vue_type_script_setup_true_lang-2dJNxQUF.js.map → ComboboxInput.vue_vue_type_script_setup_true_lang-LE2kDHpU.js.map} +1 -1
- package/dist/{UiLoading.vue_vue_type_script_setup_true_lang-DCz52-Me.js → UiLoading.vue_vue_type_script_setup_true_lang-KbLKA4SA.js} +13 -13
- package/dist/UiLoading.vue_vue_type_script_setup_true_lang-KbLKA4SA.js.map +1 -0
- package/dist/UiProgressBar.vue_vue_type_script_setup_true_lang-D4-B3A7K.js +51 -0
- package/dist/UiProgressBar.vue_vue_type_script_setup_true_lang-D4-B3A7K.js.map +1 -0
- package/dist/components/Badge.js +11 -11
- package/dist/components/Badge.js.map +1 -1
- package/dist/components/Button.js +56 -51
- package/dist/components/Button.js.map +1 -1
- package/dist/components/Loading.js +1 -1
- package/dist/components/LoadingDots.js +22 -19
- package/dist/components/LoadingDots.js.map +1 -1
- package/dist/components/ProgressBar.js +1 -1
- package/dist/components/RadialProgressBar.js +1 -1
- package/dist/index.js +3 -3
- package/dist/inputs/ComboboxInput.js +1 -1
- package/dist/src/components/UiButton.d.ts.map +1 -1
- package/dist/src/components/UiLoadingDots.d.ts.map +1 -1
- package/dist/src/components/UiProgressBar.d.ts.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/UiLoading.vue_vue_type_script_setup_true_lang-DCz52-Me.js.map +0 -1
- package/dist/UiProgressBar.vue_vue_type_script_setup_true_lang-0zFKwh43.js +0 -46
- package/dist/UiProgressBar.vue_vue_type_script_setup_true_lang-0zFKwh43.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxInput.vue_vue_type_script_setup_true_lang-2dJNxQUF.js","sources":["../node_modules/@tanstack/virtual-core/dist/esm/utils.js","../node_modules/@tanstack/virtual-core/dist/esm/index.js","../node_modules/@tanstack/vue-virtual/dist/esm/index.js","../node_modules/@headlessui/vue/dist/hooks/use-disposables.js","../node_modules/@headlessui/vue/dist/hooks/use-frame-debounce.js","../node_modules/@headlessui/vue/dist/hooks/use-tree-walker.js","../node_modules/@headlessui/vue/dist/mouse.js","../node_modules/@headlessui/vue/dist/components/combobox/combobox.js","../src/components/inputs/ComboboxInput.vue"],"sourcesContent":["function memo(getDeps, fn, opts) {\n let deps = opts.initialDeps ?? [];\n let result;\n function memoizedFunction() {\n var _a, _b, _c, _d;\n let depTime;\n if (opts.key && ((_a = opts.debug) == null ? void 0 : _a.call(opts))) depTime = Date.now();\n const newDeps = getDeps();\n const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);\n if (!depsChanged) {\n return result;\n }\n deps = newDeps;\n let resultTime;\n if (opts.key && ((_b = opts.debug) == null ? void 0 : _b.call(opts))) resultTime = Date.now();\n result = fn(...newDeps);\n if (opts.key && ((_c = opts.debug) == null ? void 0 : _c.call(opts))) {\n const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n const resultFpsPercentage = resultEndTime / 16;\n const pad = (str, num) => {\n str = String(str);\n while (str.length < num) {\n str = \" \" + str;\n }\n return str;\n };\n console.info(\n `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,\n `\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(\n 0,\n Math.min(120 - 120 * resultFpsPercentage, 120)\n )}deg 100% 31%);`,\n opts == null ? void 0 : opts.key\n );\n }\n (_d = opts == null ? void 0 : opts.onChange) == null ? void 0 : _d.call(opts, result);\n return result;\n }\n memoizedFunction.updateDeps = (newDeps) => {\n deps = newDeps;\n };\n return memoizedFunction;\n}\nfunction notUndefined(value, msg) {\n if (value === void 0) {\n throw new Error(`Unexpected undefined${msg ? `: ${msg}` : \"\"}`);\n } else {\n return value;\n }\n}\nconst approxEqual = (a, b) => Math.abs(a - b) < 1.01;\nconst debounce = (targetWindow, fn, ms) => {\n let timeoutId;\n return function(...args) {\n targetWindow.clearTimeout(timeoutId);\n timeoutId = targetWindow.setTimeout(() => fn.apply(this, args), ms);\n };\n};\nexport {\n approxEqual,\n debounce,\n memo,\n notUndefined\n};\n//# sourceMappingURL=utils.js.map\n","import { debounce, memo, notUndefined, approxEqual } from \"./utils.js\";\nconst getRect = (element) => {\n const { offsetWidth, offsetHeight } = element;\n return { width: offsetWidth, height: offsetHeight };\n};\nconst defaultKeyExtractor = (index) => index;\nconst defaultRangeExtractor = (range) => {\n const start = Math.max(range.startIndex - range.overscan, 0);\n const end = Math.min(range.endIndex + range.overscan, range.count - 1);\n const arr = [];\n for (let i = start; i <= end; i++) {\n arr.push(i);\n }\n return arr;\n};\nconst observeElementRect = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n const handler = (rect) => {\n const { width, height } = rect;\n cb({ width: Math.round(width), height: Math.round(height) });\n };\n handler(getRect(element));\n if (!targetWindow.ResizeObserver) {\n return () => {\n };\n }\n const observer = new targetWindow.ResizeObserver((entries) => {\n const run = () => {\n const entry = entries[0];\n if (entry == null ? void 0 : entry.borderBoxSize) {\n const box = entry.borderBoxSize[0];\n if (box) {\n handler({ width: box.inlineSize, height: box.blockSize });\n return;\n }\n }\n handler(getRect(element));\n };\n instance.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();\n });\n observer.observe(element, { box: \"border-box\" });\n return () => {\n observer.unobserve(element);\n };\n};\nconst addEventListenerOptions = {\n passive: true\n};\nconst observeWindowRect = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const handler = () => {\n cb({ width: element.innerWidth, height: element.innerHeight });\n };\n handler();\n element.addEventListener(\"resize\", handler, addEventListenerOptions);\n return () => {\n element.removeEventListener(\"resize\", handler);\n };\n};\nconst supportsScrollend = typeof window == \"undefined\" ? true : \"onscrollend\" in window;\nconst observeElementOffset = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n let offset = 0;\n const fallback = instance.options.useScrollendEvent && supportsScrollend ? () => void 0 : debounce(\n targetWindow,\n () => {\n cb(offset, false);\n },\n instance.options.isScrollingResetDelay\n );\n const createHandler = (isScrolling) => () => {\n const { horizontal, isRtl } = instance.options;\n offset = horizontal ? element[\"scrollLeft\"] * (isRtl && -1 || 1) : element[\"scrollTop\"];\n fallback();\n cb(offset, isScrolling);\n };\n const handler = createHandler(true);\n const endHandler = createHandler(false);\n endHandler();\n element.addEventListener(\"scroll\", handler, addEventListenerOptions);\n const registerScrollendEvent = instance.options.useScrollendEvent && supportsScrollend;\n if (registerScrollendEvent) {\n element.addEventListener(\"scrollend\", endHandler, addEventListenerOptions);\n }\n return () => {\n element.removeEventListener(\"scroll\", handler);\n if (registerScrollendEvent) {\n element.removeEventListener(\"scrollend\", endHandler);\n }\n };\n};\nconst observeWindowOffset = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n let offset = 0;\n const fallback = instance.options.useScrollendEvent && supportsScrollend ? () => void 0 : debounce(\n targetWindow,\n () => {\n cb(offset, false);\n },\n instance.options.isScrollingResetDelay\n );\n const createHandler = (isScrolling) => () => {\n offset = element[instance.options.horizontal ? \"scrollX\" : \"scrollY\"];\n fallback();\n cb(offset, isScrolling);\n };\n const handler = createHandler(true);\n const endHandler = createHandler(false);\n endHandler();\n element.addEventListener(\"scroll\", handler, addEventListenerOptions);\n const registerScrollendEvent = instance.options.useScrollendEvent && supportsScrollend;\n if (registerScrollendEvent) {\n element.addEventListener(\"scrollend\", endHandler, addEventListenerOptions);\n }\n return () => {\n element.removeEventListener(\"scroll\", handler);\n if (registerScrollendEvent) {\n element.removeEventListener(\"scrollend\", endHandler);\n }\n };\n};\nconst measureElement = (element, entry, instance) => {\n if (entry == null ? void 0 : entry.borderBoxSize) {\n const box = entry.borderBoxSize[0];\n if (box) {\n const size = Math.round(\n box[instance.options.horizontal ? \"inlineSize\" : \"blockSize\"]\n );\n return size;\n }\n }\n return element[instance.options.horizontal ? \"offsetWidth\" : \"offsetHeight\"];\n};\nconst windowScroll = (offset, {\n adjustments = 0,\n behavior\n}, instance) => {\n var _a, _b;\n const toOffset = offset + adjustments;\n (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null ? void 0 : _b.call(_a, {\n [instance.options.horizontal ? \"left\" : \"top\"]: toOffset,\n behavior\n });\n};\nconst elementScroll = (offset, {\n adjustments = 0,\n behavior\n}, instance) => {\n var _a, _b;\n const toOffset = offset + adjustments;\n (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null ? void 0 : _b.call(_a, {\n [instance.options.horizontal ? \"left\" : \"top\"]: toOffset,\n behavior\n });\n};\nclass Virtualizer {\n constructor(opts) {\n this.unsubs = [];\n this.scrollElement = null;\n this.targetWindow = null;\n this.isScrolling = false;\n this.measurementsCache = [];\n this.itemSizeCache = /* @__PURE__ */ new Map();\n this.pendingMeasuredCacheIndexes = [];\n this.scrollRect = null;\n this.scrollOffset = null;\n this.scrollDirection = null;\n this.scrollAdjustments = 0;\n this.elementsCache = /* @__PURE__ */ new Map();\n this.observer = /* @__PURE__ */ (() => {\n let _ro = null;\n const get = () => {\n if (_ro) {\n return _ro;\n }\n if (!this.targetWindow || !this.targetWindow.ResizeObserver) {\n return null;\n }\n return _ro = new this.targetWindow.ResizeObserver((entries) => {\n entries.forEach((entry) => {\n const run = () => {\n this._measureElement(entry.target, entry);\n };\n this.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();\n });\n });\n };\n return {\n disconnect: () => {\n var _a;\n (_a = get()) == null ? void 0 : _a.disconnect();\n _ro = null;\n },\n observe: (target) => {\n var _a;\n return (_a = get()) == null ? void 0 : _a.observe(target, { box: \"border-box\" });\n },\n unobserve: (target) => {\n var _a;\n return (_a = get()) == null ? void 0 : _a.unobserve(target);\n }\n };\n })();\n this.range = null;\n this.setOptions = (opts2) => {\n Object.entries(opts2).forEach(([key, value]) => {\n if (typeof value === \"undefined\") delete opts2[key];\n });\n this.options = {\n debug: false,\n initialOffset: 0,\n overscan: 1,\n paddingStart: 0,\n paddingEnd: 0,\n scrollPaddingStart: 0,\n scrollPaddingEnd: 0,\n horizontal: false,\n getItemKey: defaultKeyExtractor,\n rangeExtractor: defaultRangeExtractor,\n onChange: () => {\n },\n measureElement,\n initialRect: { width: 0, height: 0 },\n scrollMargin: 0,\n gap: 0,\n indexAttribute: \"data-index\",\n initialMeasurementsCache: [],\n lanes: 1,\n isScrollingResetDelay: 150,\n enabled: true,\n isRtl: false,\n useScrollendEvent: false,\n useAnimationFrameWithResizeObserver: false,\n ...opts2\n };\n };\n this.notify = (sync) => {\n var _a, _b;\n (_b = (_a = this.options).onChange) == null ? void 0 : _b.call(_a, this, sync);\n };\n this.maybeNotify = memo(\n () => {\n this.calculateRange();\n return [\n this.isScrolling,\n this.range ? this.range.startIndex : null,\n this.range ? this.range.endIndex : null\n ];\n },\n (isScrolling) => {\n this.notify(isScrolling);\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"maybeNotify\",\n debug: () => this.options.debug,\n initialDeps: [\n this.isScrolling,\n this.range ? this.range.startIndex : null,\n this.range ? this.range.endIndex : null\n ]\n }\n );\n this.cleanup = () => {\n this.unsubs.filter(Boolean).forEach((d) => d());\n this.unsubs = [];\n this.observer.disconnect();\n this.scrollElement = null;\n this.targetWindow = null;\n };\n this._didMount = () => {\n return () => {\n this.cleanup();\n };\n };\n this._willUpdate = () => {\n var _a;\n const scrollElement = this.options.enabled ? this.options.getScrollElement() : null;\n if (this.scrollElement !== scrollElement) {\n this.cleanup();\n if (!scrollElement) {\n this.maybeNotify();\n return;\n }\n this.scrollElement = scrollElement;\n if (this.scrollElement && \"ownerDocument\" in this.scrollElement) {\n this.targetWindow = this.scrollElement.ownerDocument.defaultView;\n } else {\n this.targetWindow = ((_a = this.scrollElement) == null ? void 0 : _a.window) ?? null;\n }\n this.elementsCache.forEach((cached) => {\n this.observer.observe(cached);\n });\n this._scrollToOffset(this.getScrollOffset(), {\n adjustments: void 0,\n behavior: void 0\n });\n this.unsubs.push(\n this.options.observeElementRect(this, (rect) => {\n this.scrollRect = rect;\n this.maybeNotify();\n })\n );\n this.unsubs.push(\n this.options.observeElementOffset(this, (offset, isScrolling) => {\n this.scrollAdjustments = 0;\n this.scrollDirection = isScrolling ? this.getScrollOffset() < offset ? \"forward\" : \"backward\" : null;\n this.scrollOffset = offset;\n this.isScrolling = isScrolling;\n this.maybeNotify();\n })\n );\n }\n };\n this.getSize = () => {\n if (!this.options.enabled) {\n this.scrollRect = null;\n return 0;\n }\n this.scrollRect = this.scrollRect ?? this.options.initialRect;\n return this.scrollRect[this.options.horizontal ? \"width\" : \"height\"];\n };\n this.getScrollOffset = () => {\n if (!this.options.enabled) {\n this.scrollOffset = null;\n return 0;\n }\n this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset === \"function\" ? this.options.initialOffset() : this.options.initialOffset);\n return this.scrollOffset;\n };\n this.getFurthestMeasurement = (measurements, index) => {\n const furthestMeasurementsFound = /* @__PURE__ */ new Map();\n const furthestMeasurements = /* @__PURE__ */ new Map();\n for (let m = index - 1; m >= 0; m--) {\n const measurement = measurements[m];\n if (furthestMeasurementsFound.has(measurement.lane)) {\n continue;\n }\n const previousFurthestMeasurement = furthestMeasurements.get(\n measurement.lane\n );\n if (previousFurthestMeasurement == null || measurement.end > previousFurthestMeasurement.end) {\n furthestMeasurements.set(measurement.lane, measurement);\n } else if (measurement.end < previousFurthestMeasurement.end) {\n furthestMeasurementsFound.set(measurement.lane, true);\n }\n if (furthestMeasurementsFound.size === this.options.lanes) {\n break;\n }\n }\n return furthestMeasurements.size === this.options.lanes ? Array.from(furthestMeasurements.values()).sort((a, b) => {\n if (a.end === b.end) {\n return a.index - b.index;\n }\n return a.end - b.end;\n })[0] : void 0;\n };\n this.getMeasurementOptions = memo(\n () => [\n this.options.count,\n this.options.paddingStart,\n this.options.scrollMargin,\n this.options.getItemKey,\n this.options.enabled\n ],\n (count, paddingStart, scrollMargin, getItemKey, enabled) => {\n this.pendingMeasuredCacheIndexes = [];\n return {\n count,\n paddingStart,\n scrollMargin,\n getItemKey,\n enabled\n };\n },\n {\n key: false\n }\n );\n this.getMeasurements = memo(\n () => [this.getMeasurementOptions(), this.itemSizeCache],\n ({ count, paddingStart, scrollMargin, getItemKey, enabled }, itemSizeCache) => {\n if (!enabled) {\n this.measurementsCache = [];\n this.itemSizeCache.clear();\n return [];\n }\n if (this.measurementsCache.length === 0) {\n this.measurementsCache = this.options.initialMeasurementsCache;\n this.measurementsCache.forEach((item) => {\n this.itemSizeCache.set(item.key, item.size);\n });\n }\n const min = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;\n this.pendingMeasuredCacheIndexes = [];\n const measurements = this.measurementsCache.slice(0, min);\n for (let i = min; i < count; i++) {\n const key = getItemKey(i);\n const furthestMeasurement = this.options.lanes === 1 ? measurements[i - 1] : this.getFurthestMeasurement(measurements, i);\n const start = furthestMeasurement ? furthestMeasurement.end + this.options.gap : paddingStart + scrollMargin;\n const measuredSize = itemSizeCache.get(key);\n const size = typeof measuredSize === \"number\" ? measuredSize : this.options.estimateSize(i);\n const end = start + size;\n const lane = furthestMeasurement ? furthestMeasurement.lane : i % this.options.lanes;\n measurements[i] = {\n index: i,\n start,\n size,\n end,\n key,\n lane\n };\n }\n this.measurementsCache = measurements;\n return measurements;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getMeasurements\",\n debug: () => this.options.debug\n }\n );\n this.calculateRange = memo(\n () => [\n this.getMeasurements(),\n this.getSize(),\n this.getScrollOffset(),\n this.options.lanes\n ],\n (measurements, outerSize, scrollOffset, lanes) => {\n return this.range = measurements.length > 0 && outerSize > 0 ? calculateRange({\n measurements,\n outerSize,\n scrollOffset,\n lanes\n }) : null;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"calculateRange\",\n debug: () => this.options.debug\n }\n );\n this.getVirtualIndexes = memo(\n () => {\n let startIndex = null;\n let endIndex = null;\n const range = this.calculateRange();\n if (range) {\n startIndex = range.startIndex;\n endIndex = range.endIndex;\n }\n this.maybeNotify.updateDeps([this.isScrolling, startIndex, endIndex]);\n return [\n this.options.rangeExtractor,\n this.options.overscan,\n this.options.count,\n startIndex,\n endIndex\n ];\n },\n (rangeExtractor, overscan, count, startIndex, endIndex) => {\n return startIndex === null || endIndex === null ? [] : rangeExtractor({\n startIndex,\n endIndex,\n overscan,\n count\n });\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getVirtualIndexes\",\n debug: () => this.options.debug\n }\n );\n this.indexFromElement = (node) => {\n const attributeName = this.options.indexAttribute;\n const indexStr = node.getAttribute(attributeName);\n if (!indexStr) {\n console.warn(\n `Missing attribute name '${attributeName}={index}' on measured element.`\n );\n return -1;\n }\n return parseInt(indexStr, 10);\n };\n this._measureElement = (node, entry) => {\n const index = this.indexFromElement(node);\n const item = this.measurementsCache[index];\n if (!item) {\n return;\n }\n const key = item.key;\n const prevNode = this.elementsCache.get(key);\n if (prevNode !== node) {\n if (prevNode) {\n this.observer.unobserve(prevNode);\n }\n this.observer.observe(node);\n this.elementsCache.set(key, node);\n }\n if (node.isConnected) {\n this.resizeItem(index, this.options.measureElement(node, entry, this));\n }\n };\n this.resizeItem = (index, size) => {\n const item = this.measurementsCache[index];\n if (!item) {\n return;\n }\n const itemSize = this.itemSizeCache.get(item.key) ?? item.size;\n const delta = size - itemSize;\n if (delta !== 0) {\n if (this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(item, delta, this) : item.start < this.getScrollOffset() + this.scrollAdjustments) {\n if (process.env.NODE_ENV !== \"production\" && this.options.debug) {\n console.info(\"correction\", delta);\n }\n this._scrollToOffset(this.getScrollOffset(), {\n adjustments: this.scrollAdjustments += delta,\n behavior: void 0\n });\n }\n this.pendingMeasuredCacheIndexes.push(item.index);\n this.itemSizeCache = new Map(this.itemSizeCache.set(item.key, size));\n this.notify(false);\n }\n };\n this.measureElement = (node) => {\n if (!node) {\n this.elementsCache.forEach((cached, key) => {\n if (!cached.isConnected) {\n this.observer.unobserve(cached);\n this.elementsCache.delete(key);\n }\n });\n return;\n }\n this._measureElement(node, void 0);\n };\n this.getVirtualItems = memo(\n () => [this.getVirtualIndexes(), this.getMeasurements()],\n (indexes, measurements) => {\n const virtualItems = [];\n for (let k = 0, len = indexes.length; k < len; k++) {\n const i = indexes[k];\n const measurement = measurements[i];\n virtualItems.push(measurement);\n }\n return virtualItems;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getVirtualItems\",\n debug: () => this.options.debug\n }\n );\n this.getVirtualItemForOffset = (offset) => {\n const measurements = this.getMeasurements();\n if (measurements.length === 0) {\n return void 0;\n }\n return notUndefined(\n measurements[findNearestBinarySearch(\n 0,\n measurements.length - 1,\n (index) => notUndefined(measurements[index]).start,\n offset\n )]\n );\n };\n this.getOffsetForAlignment = (toOffset, align, itemSize = 0) => {\n const size = this.getSize();\n const scrollOffset = this.getScrollOffset();\n if (align === \"auto\") {\n align = toOffset >= scrollOffset + size ? \"end\" : \"start\";\n }\n if (align === \"center\") {\n toOffset += (itemSize - size) / 2;\n } else if (align === \"end\") {\n toOffset -= size;\n }\n const maxOffset = this.getTotalSize() + this.options.scrollMargin - size;\n return Math.max(Math.min(maxOffset, toOffset), 0);\n };\n this.getOffsetForIndex = (index, align = \"auto\") => {\n index = Math.max(0, Math.min(index, this.options.count - 1));\n const item = this.measurementsCache[index];\n if (!item) {\n return void 0;\n }\n const size = this.getSize();\n const scrollOffset = this.getScrollOffset();\n if (align === \"auto\") {\n if (item.end >= scrollOffset + size - this.options.scrollPaddingEnd) {\n align = \"end\";\n } else if (item.start <= scrollOffset + this.options.scrollPaddingStart) {\n align = \"start\";\n } else {\n return [scrollOffset, align];\n }\n }\n const toOffset = align === \"end\" ? item.end + this.options.scrollPaddingEnd : item.start - this.options.scrollPaddingStart;\n return [\n this.getOffsetForAlignment(toOffset, align, item.size),\n align\n ];\n };\n this.isDynamicMode = () => this.elementsCache.size > 0;\n this.scrollToOffset = (toOffset, { align = \"start\", behavior } = {}) => {\n if (behavior === \"smooth\" && this.isDynamicMode()) {\n console.warn(\n \"The `smooth` scroll behavior is not fully supported with dynamic size.\"\n );\n }\n this._scrollToOffset(this.getOffsetForAlignment(toOffset, align), {\n adjustments: void 0,\n behavior\n });\n };\n this.scrollToIndex = (index, { align: initialAlign = \"auto\", behavior } = {}) => {\n if (behavior === \"smooth\" && this.isDynamicMode()) {\n console.warn(\n \"The `smooth` scroll behavior is not fully supported with dynamic size.\"\n );\n }\n index = Math.max(0, Math.min(index, this.options.count - 1));\n let attempts = 0;\n const maxAttempts = 10;\n const tryScroll = (currentAlign) => {\n if (!this.targetWindow) return;\n const offsetInfo = this.getOffsetForIndex(index, currentAlign);\n if (!offsetInfo) {\n console.warn(\"Failed to get offset for index:\", index);\n return;\n }\n const [offset, align] = offsetInfo;\n this._scrollToOffset(offset, { adjustments: void 0, behavior });\n this.targetWindow.requestAnimationFrame(() => {\n const currentOffset = this.getScrollOffset();\n const afterInfo = this.getOffsetForIndex(index, align);\n if (!afterInfo) {\n console.warn(\"Failed to get offset for index:\", index);\n return;\n }\n if (!approxEqual(afterInfo[0], currentOffset)) {\n scheduleRetry(align);\n }\n });\n };\n const scheduleRetry = (align) => {\n if (!this.targetWindow) return;\n attempts++;\n if (attempts < maxAttempts) {\n if (process.env.NODE_ENV !== \"production\" && this.options.debug) {\n console.info(\"Schedule retry\", attempts, maxAttempts);\n }\n this.targetWindow.requestAnimationFrame(() => tryScroll(align));\n } else {\n console.warn(\n `Failed to scroll to index ${index} after ${maxAttempts} attempts.`\n );\n }\n };\n tryScroll(initialAlign);\n };\n this.scrollBy = (delta, { behavior } = {}) => {\n if (behavior === \"smooth\" && this.isDynamicMode()) {\n console.warn(\n \"The `smooth` scroll behavior is not fully supported with dynamic size.\"\n );\n }\n this._scrollToOffset(this.getScrollOffset() + delta, {\n adjustments: void 0,\n behavior\n });\n };\n this.getTotalSize = () => {\n var _a;\n const measurements = this.getMeasurements();\n let end;\n if (measurements.length === 0) {\n end = this.options.paddingStart;\n } else if (this.options.lanes === 1) {\n end = ((_a = measurements[measurements.length - 1]) == null ? void 0 : _a.end) ?? 0;\n } else {\n const endByLane = Array(this.options.lanes).fill(null);\n let endIndex = measurements.length - 1;\n while (endIndex >= 0 && endByLane.some((val) => val === null)) {\n const item = measurements[endIndex];\n if (endByLane[item.lane] === null) {\n endByLane[item.lane] = item.end;\n }\n endIndex--;\n }\n end = Math.max(...endByLane.filter((val) => val !== null));\n }\n return Math.max(\n end - this.options.scrollMargin + this.options.paddingEnd,\n 0\n );\n };\n this._scrollToOffset = (offset, {\n adjustments,\n behavior\n }) => {\n this.options.scrollToFn(offset, { behavior, adjustments }, this);\n };\n this.measure = () => {\n this.itemSizeCache = /* @__PURE__ */ new Map();\n this.notify(false);\n };\n this.setOptions(opts);\n }\n}\nconst findNearestBinarySearch = (low, high, getCurrentValue, value) => {\n while (low <= high) {\n const middle = (low + high) / 2 | 0;\n const currentValue = getCurrentValue(middle);\n if (currentValue < value) {\n low = middle + 1;\n } else if (currentValue > value) {\n high = middle - 1;\n } else {\n return middle;\n }\n }\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\nfunction calculateRange({\n measurements,\n outerSize,\n scrollOffset,\n lanes\n}) {\n const lastIndex = measurements.length - 1;\n const getOffset = (index) => measurements[index].start;\n if (measurements.length <= lanes) {\n return {\n startIndex: 0,\n endIndex: lastIndex\n };\n }\n let startIndex = findNearestBinarySearch(\n 0,\n lastIndex,\n getOffset,\n scrollOffset\n );\n let endIndex = startIndex;\n if (lanes === 1) {\n while (endIndex < lastIndex && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n } else if (lanes > 1) {\n const endPerLane = Array(lanes).fill(0);\n while (endIndex < lastIndex && endPerLane.some((pos) => pos < scrollOffset + outerSize)) {\n const item = measurements[endIndex];\n endPerLane[item.lane] = item.end;\n endIndex++;\n }\n const startPerLane = Array(lanes).fill(scrollOffset + outerSize);\n while (startIndex >= 0 && startPerLane.some((pos) => pos >= scrollOffset)) {\n const item = measurements[startIndex];\n startPerLane[item.lane] = item.start;\n startIndex--;\n }\n startIndex = Math.max(0, startIndex - startIndex % lanes);\n endIndex = Math.min(lastIndex, endIndex + (lanes - 1 - endIndex % lanes));\n }\n return { startIndex, endIndex };\n}\nexport {\n Virtualizer,\n approxEqual,\n debounce,\n defaultKeyExtractor,\n defaultRangeExtractor,\n elementScroll,\n measureElement,\n memo,\n notUndefined,\n observeElementOffset,\n observeElementRect,\n observeWindowOffset,\n observeWindowRect,\n windowScroll\n};\n//# sourceMappingURL=index.js.map\n","import { elementScroll, observeElementOffset, observeElementRect, windowScroll, observeWindowOffset, observeWindowRect, Virtualizer } from \"@tanstack/virtual-core\";\nexport * from \"@tanstack/virtual-core\";\nimport { computed, unref, shallowRef, watch, triggerRef, onScopeDispose } from \"vue\";\nfunction useVirtualizerBase(options) {\n const virtualizer = new Virtualizer(unref(options));\n const state = shallowRef(virtualizer);\n const cleanup = virtualizer._didMount();\n watch(\n () => unref(options).getScrollElement(),\n (el) => {\n if (el) {\n virtualizer._willUpdate();\n }\n },\n {\n immediate: true\n }\n );\n watch(\n () => unref(options),\n (options2) => {\n virtualizer.setOptions({\n ...options2,\n onChange: (instance, sync) => {\n var _a;\n triggerRef(state);\n (_a = options2.onChange) == null ? void 0 : _a.call(options2, instance, sync);\n }\n });\n virtualizer._willUpdate();\n triggerRef(state);\n },\n {\n immediate: true\n }\n );\n onScopeDispose(cleanup);\n return state;\n}\nfunction useVirtualizer(options) {\n return useVirtualizerBase(\n computed(() => ({\n observeElementRect,\n observeElementOffset,\n scrollToFn: elementScroll,\n ...unref(options)\n }))\n );\n}\nfunction useWindowVirtualizer(options) {\n return useVirtualizerBase(\n computed(() => ({\n getScrollElement: () => typeof document !== \"undefined\" ? window : null,\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n initialOffset: () => typeof document !== \"undefined\" ? window.scrollY : 0,\n ...unref(options)\n }))\n );\n}\nexport {\n useVirtualizer,\n useWindowVirtualizer\n};\n//# sourceMappingURL=index.js.map\n","import{onUnmounted as s}from\"vue\";import{disposables as e}from'../utils/disposables.js';function i(){let o=e();return s(()=>o.dispose()),o}export{i as useDisposables};\n","import{useDisposables as r}from'./use-disposables.js';function t(){let e=r();return o=>{e.dispose(),e.nextFrame(o)}}export{t as useFrameDebounce};\n","import{watchEffect as p}from\"vue\";import{getOwnerDocument as u}from'../utils/owner.js';function i({container:e,accept:t,walk:d,enabled:o}){p(()=>{let r=e.value;if(!r||o!==void 0&&!o.value)return;let l=u(e);if(!l)return;let c=Object.assign(f=>t(f),{acceptNode:t}),n=l.createTreeWalker(r,NodeFilter.SHOW_ELEMENT,c,!1);for(;n.nextNode();)d(n.currentNode)})}export{i as useTreeWalker};\n","var g=(f=>(f[f.Left=0]=\"Left\",f[f.Right=2]=\"Right\",f))(g||{});export{g as MouseButton};\n","import{useVirtualizer as re}from\"@tanstack/vue-virtual\";import{cloneVNode as de,computed as m,defineComponent as H,Fragment as se,h as z,inject as ee,nextTick as N,onMounted as X,onUnmounted as fe,provide as te,reactive as ve,ref as k,toRaw as L,watch as J,watchEffect as Y}from\"vue\";import{useControllable as pe}from'../../hooks/use-controllable.js';import{useFrameDebounce as be}from'../../hooks/use-frame-debounce.js';import{useId as W}from'../../hooks/use-id.js';import{useOutsideClick as ce}from'../../hooks/use-outside-click.js';import{useResolveButtonType as me}from'../../hooks/use-resolve-button-type.js';import{useTrackedPointer as xe}from'../../hooks/use-tracked-pointer.js';import{useTreeWalker as ge}from'../../hooks/use-tree-walker.js';import{Features as Se,Hidden as Oe}from'../../internal/hidden.js';import{State as G,useOpenClosed as Ce,useOpenClosedProvider as Re}from'../../internal/open-closed.js';import{Keys as F}from'../../keyboard.js';import{MouseButton as ye}from'../../mouse.js';import{history as oe}from'../../utils/active-element-history.js';import{calculateActiveIndex as le,Focus as P}from'../../utils/calculate-active-index.js';import{disposables as ae}from'../../utils/disposables.js';import{dom as x}from'../../utils/dom.js';import{sortByDomNode as Te}from'../../utils/focus-management.js';import{objectToFormEntries as Ie}from'../../utils/form.js';import{match as _}from'../../utils/match.js';import{getOwnerDocument as he}from'../../utils/owner.js';import{isMobile as we}from'../../utils/platform.js';import{compact as Pe,Features as Q,omit as Z,render as U}from'../../utils/render.js';function De(a,h){return a===h}var Ee=(r=>(r[r.Open=0]=\"Open\",r[r.Closed=1]=\"Closed\",r))(Ee||{}),Ve=(r=>(r[r.Single=0]=\"Single\",r[r.Multi=1]=\"Multi\",r))(Ve||{}),ke=(y=>(y[y.Pointer=0]=\"Pointer\",y[y.Focus=1]=\"Focus\",y[y.Other=2]=\"Other\",y))(ke||{});let ne=Symbol(\"ComboboxContext\");function K(a){let h=ee(ne,null);if(h===null){let r=new Error(`<${a} /> is missing a parent <Combobox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,K),r}return h}let ie=Symbol(\"VirtualContext\"),Ae=H({name:\"VirtualProvider\",setup(a,{slots:h}){let r=K(\"VirtualProvider\"),y=m(()=>{let c=x(r.optionsRef);if(!c)return{start:0,end:0};let f=window.getComputedStyle(c);return{start:parseFloat(f.paddingBlockStart||f.paddingTop),end:parseFloat(f.paddingBlockEnd||f.paddingBottom)}}),o=re(m(()=>({scrollPaddingStart:y.value.start,scrollPaddingEnd:y.value.end,count:r.virtual.value.options.length,estimateSize(){return 40},getScrollElement(){return x(r.optionsRef)},overscan:12}))),u=m(()=>{var c;return(c=r.virtual.value)==null?void 0:c.options}),e=k(0);return J([u],()=>{e.value+=1}),te(ie,r.virtual.value?o:null),()=>[z(\"div\",{style:{position:\"relative\",width:\"100%\",height:`${o.value.getTotalSize()}px`},ref:c=>{if(c){if(typeof process!=\"undefined\"&&process.env.JEST_WORKER_ID!==void 0||r.activationTrigger.value===0)return;r.activeOptionIndex.value!==null&&r.virtual.value.options.length>r.activeOptionIndex.value&&o.value.scrollToIndex(r.activeOptionIndex.value)}}},o.value.getVirtualItems().map(c=>de(h.default({option:r.virtual.value.options[c.index],open:r.comboboxState.value===0})[0],{key:`${e.value}-${c.index}`,\"data-index\":c.index,\"aria-setsize\":r.virtual.value.options.length,\"aria-posinset\":c.index+1,style:{position:\"absolute\",top:0,left:0,transform:`translateY(${c.start}px)`,overflowAnchor:\"none\"}})))]}}),lt=H({name:\"Combobox\",emits:{\"update:modelValue\":a=>!0},props:{as:{type:[Object,String],default:\"template\"},disabled:{type:[Boolean],default:!1},by:{type:[String,Function],nullable:!0,default:null},modelValue:{type:[Object,String,Number,Boolean],default:void 0},defaultValue:{type:[Object,String,Number,Boolean],default:void 0},form:{type:String,optional:!0},name:{type:String,optional:!0},nullable:{type:Boolean,default:!1},multiple:{type:[Boolean],default:!1},immediate:{type:[Boolean],default:!1},virtual:{type:Object,default:null}},inheritAttrs:!1,setup(a,{slots:h,attrs:r,emit:y}){let o=k(1),u=k(null),e=k(null),c=k(null),f=k(null),S=k({static:!1,hold:!1}),v=k([]),d=k(null),D=k(2),E=k(!1);function w(t=n=>n){let n=d.value!==null?v.value[d.value]:null,s=t(v.value.slice()),b=s.length>0&&s[0].dataRef.order.value!==null?s.sort((C,A)=>C.dataRef.order.value-A.dataRef.order.value):Te(s,C=>x(C.dataRef.domRef)),O=n?b.indexOf(n):null;return O===-1&&(O=null),{options:b,activeOptionIndex:O}}let M=m(()=>a.multiple?1:0),$=m(()=>a.nullable),[B,p]=pe(m(()=>a.modelValue),t=>y(\"update:modelValue\",t),m(()=>a.defaultValue)),R=m(()=>B.value===void 0?_(M.value,{[1]:[],[0]:void 0}):B.value),V=null,i=null;function I(t){return _(M.value,{[0](){return p==null?void 0:p(t)},[1]:()=>{let n=L(l.value.value).slice(),s=L(t),b=n.findIndex(O=>l.compare(s,L(O)));return b===-1?n.push(s):n.splice(b,1),p==null?void 0:p(n)}})}let T=m(()=>{});J([T],([t],[n])=>{if(l.virtual.value&&t&&n&&d.value!==null){let s=t.indexOf(n[d.value]);s!==-1?d.value=s:d.value=null}});let l={comboboxState:o,value:R,mode:M,compare(t,n){if(typeof a.by==\"string\"){let s=a.by;return(t==null?void 0:t[s])===(n==null?void 0:n[s])}return a.by===null?De(t,n):a.by(t,n)},calculateIndex(t){return l.virtual.value?a.by===null?l.virtual.value.options.indexOf(t):l.virtual.value.options.findIndex(n=>l.compare(n,t)):v.value.findIndex(n=>l.compare(n.dataRef.value,t))},defaultValue:m(()=>a.defaultValue),nullable:$,immediate:m(()=>!1),virtual:m(()=>null),inputRef:e,labelRef:u,buttonRef:c,optionsRef:f,disabled:m(()=>a.disabled),options:v,change(t){p(t)},activeOptionIndex:m(()=>{if(E.value&&d.value===null&&(l.virtual.value?l.virtual.value.options.length>0:v.value.length>0)){if(l.virtual.value){let n=l.virtual.value.options.findIndex(s=>{var b;return!((b=l.virtual.value)!=null&&b.disabled(s))});if(n!==-1)return n}let t=v.value.findIndex(n=>!n.dataRef.disabled);if(t!==-1)return t}return d.value}),activationTrigger:D,optionsPropsRef:S,closeCombobox(){E.value=!1,!a.disabled&&o.value!==1&&(o.value=1,d.value=null)},openCombobox(){if(E.value=!0,!a.disabled&&o.value!==0){if(l.value.value){let t=l.calculateIndex(l.value.value);t!==-1&&(d.value=t)}o.value=0}},setActivationTrigger(t){D.value=t},goToOption(t,n,s){E.value=!1,V!==null&&cancelAnimationFrame(V),V=requestAnimationFrame(()=>{if(a.disabled||f.value&&!S.value.static&&o.value===1)return;if(l.virtual.value){d.value=t===P.Specific?n:le({focus:t},{resolveItems:()=>l.virtual.value.options,resolveActiveIndex:()=>{var C,A;return(A=(C=l.activeOptionIndex.value)!=null?C:l.virtual.value.options.findIndex(j=>{var q;return!((q=l.virtual.value)!=null&&q.disabled(j))}))!=null?A:null},resolveDisabled:C=>l.virtual.value.disabled(C),resolveId(){throw new Error(\"Function not implemented.\")}}),D.value=s!=null?s:2;return}let b=w();if(b.activeOptionIndex===null){let C=b.options.findIndex(A=>!A.dataRef.disabled);C!==-1&&(b.activeOptionIndex=C)}let O=t===P.Specific?n:le({focus:t},{resolveItems:()=>b.options,resolveActiveIndex:()=>b.activeOptionIndex,resolveId:C=>C.id,resolveDisabled:C=>C.dataRef.disabled});d.value=O,D.value=s!=null?s:2,v.value=b.options})},selectOption(t){let n=v.value.find(b=>b.id===t);if(!n)return;let{dataRef:s}=n;I(s.value)},selectActiveOption(){if(l.activeOptionIndex.value!==null){if(l.virtual.value)I(l.virtual.value.options[l.activeOptionIndex.value]);else{let{dataRef:t}=v.value[l.activeOptionIndex.value];I(t.value)}l.goToOption(P.Specific,l.activeOptionIndex.value)}},registerOption(t,n){let s=ve({id:t,dataRef:n});if(l.virtual.value){v.value.push(s);return}i&&cancelAnimationFrame(i);let b=w(O=>(O.push(s),O));d.value===null&&l.isSelected(n.value.value)&&(b.activeOptionIndex=b.options.indexOf(s)),v.value=b.options,d.value=b.activeOptionIndex,D.value=2,b.options.some(O=>!x(O.dataRef.domRef))&&(i=requestAnimationFrame(()=>{let O=w();v.value=O.options,d.value=O.activeOptionIndex}))},unregisterOption(t,n){if(V!==null&&cancelAnimationFrame(V),n&&(E.value=!0),l.virtual.value){v.value=v.value.filter(b=>b.id!==t);return}let s=w(b=>{let O=b.findIndex(C=>C.id===t);return O!==-1&&b.splice(O,1),b});v.value=s.options,d.value=s.activeOptionIndex,D.value=2},isSelected(t){return _(M.value,{[0]:()=>l.compare(L(l.value.value),L(t)),[1]:()=>L(l.value.value).some(n=>l.compare(L(n),L(t)))})},isActive(t){return d.value===l.calculateIndex(t)}};ce([e,c,f],()=>l.closeCombobox(),m(()=>o.value===0)),te(ne,l),Re(m(()=>_(o.value,{[0]:G.Open,[1]:G.Closed})));let g=m(()=>{var t;return(t=x(e))==null?void 0:t.closest(\"form\")});return X(()=>{J([g],()=>{if(!g.value||a.defaultValue===void 0)return;function t(){l.change(a.defaultValue)}return g.value.addEventListener(\"reset\",t),()=>{var n;(n=g.value)==null||n.removeEventListener(\"reset\",t)}},{immediate:!0})}),()=>{var C,A,j;let{name:t,disabled:n,form:s,...b}=a,O={open:o.value===0,disabled:n,activeIndex:l.activeOptionIndex.value,activeOption:l.activeOptionIndex.value===null?null:l.virtual.value?l.virtual.value.options[(C=l.activeOptionIndex.value)!=null?C:0]:(j=(A=l.options.value[l.activeOptionIndex.value])==null?void 0:A.dataRef.value)!=null?j:null,value:R.value};return z(se,[...t!=null&&R.value!=null?Ie({[t]:R.value}).map(([q,ue])=>z(Oe,Pe({features:Se.Hidden,key:q,as:\"input\",type:\"hidden\",hidden:!0,readOnly:!0,form:s,disabled:n,name:q,value:ue}))):[],U({theirProps:{...r,...Z(b,[\"by\",\"defaultValue\",\"immediate\",\"modelValue\",\"multiple\",\"nullable\",\"onUpdate:modelValue\",\"virtual\"])},ourProps:{},slot:O,slots:h,attrs:r,name:\"Combobox\"})])}}}),at=H({name:\"ComboboxLabel\",props:{as:{type:[Object,String],default:\"label\"},id:{type:String,default:null}},setup(a,{attrs:h,slots:r}){var e;let y=(e=a.id)!=null?e:`headlessui-combobox-label-${W()}`,o=K(\"ComboboxLabel\");function u(){var c;(c=x(o.inputRef))==null||c.focus({preventScroll:!0})}return()=>{let c={open:o.comboboxState.value===0,disabled:o.disabled.value},{...f}=a,S={id:y,ref:o.labelRef,onClick:u};return U({ourProps:S,theirProps:f,slot:c,attrs:h,slots:r,name:\"ComboboxLabel\"})}}}),nt=H({name:\"ComboboxButton\",props:{as:{type:[Object,String],default:\"button\"},id:{type:String,default:null}},setup(a,{attrs:h,slots:r,expose:y}){var S;let o=(S=a.id)!=null?S:`headlessui-combobox-button-${W()}`,u=K(\"ComboboxButton\");y({el:u.buttonRef,$el:u.buttonRef});function e(v){u.disabled.value||(u.comboboxState.value===0?u.closeCombobox():(v.preventDefault(),u.openCombobox()),N(()=>{var d;return(d=x(u.inputRef))==null?void 0:d.focus({preventScroll:!0})}))}function c(v){switch(v.key){case F.ArrowDown:v.preventDefault(),v.stopPropagation(),u.comboboxState.value===1&&u.openCombobox(),N(()=>{var d;return(d=u.inputRef.value)==null?void 0:d.focus({preventScroll:!0})});return;case F.ArrowUp:v.preventDefault(),v.stopPropagation(),u.comboboxState.value===1&&(u.openCombobox(),N(()=>{u.value.value||u.goToOption(P.Last)})),N(()=>{var d;return(d=u.inputRef.value)==null?void 0:d.focus({preventScroll:!0})});return;case F.Escape:if(u.comboboxState.value!==0)return;v.preventDefault(),u.optionsRef.value&&!u.optionsPropsRef.value.static&&v.stopPropagation(),u.closeCombobox(),N(()=>{var d;return(d=u.inputRef.value)==null?void 0:d.focus({preventScroll:!0})});return}}let f=me(m(()=>({as:a.as,type:h.type})),u.buttonRef);return()=>{var E,w;let v={open:u.comboboxState.value===0,disabled:u.disabled.value,value:u.value.value},{...d}=a,D={ref:u.buttonRef,id:o,type:f.value,tabindex:\"-1\",\"aria-haspopup\":\"listbox\",\"aria-controls\":(E=x(u.optionsRef))==null?void 0:E.id,\"aria-expanded\":u.comboboxState.value===0,\"aria-labelledby\":u.labelRef.value?[(w=x(u.labelRef))==null?void 0:w.id,o].join(\" \"):void 0,disabled:u.disabled.value===!0?!0:void 0,onKeydown:c,onClick:e};return U({ourProps:D,theirProps:d,slot:v,attrs:h,slots:r,name:\"ComboboxButton\"})}}}),it=H({name:\"ComboboxInput\",props:{as:{type:[Object,String],default:\"input\"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},displayValue:{type:Function},defaultValue:{type:String,default:void 0},id:{type:String,default:null}},emits:{change:a=>!0},setup(a,{emit:h,attrs:r,slots:y,expose:o}){var V;let u=(V=a.id)!=null?V:`headlessui-combobox-input-${W()}`,e=K(\"ComboboxInput\"),c=m(()=>he(x(e.inputRef))),f={value:!1};o({el:e.inputRef,$el:e.inputRef});function S(){e.change(null);let i=x(e.optionsRef);i&&(i.scrollTop=0),e.goToOption(P.Nothing)}let v=m(()=>{var I;let i=e.value.value;return x(e.inputRef)?typeof a.displayValue!=\"undefined\"&&i!==void 0?(I=a.displayValue(i))!=null?I:\"\":typeof i==\"string\"?i:\"\":\"\"});X(()=>{J([v,e.comboboxState,c],([i,I],[T,l])=>{if(f.value)return;let g=x(e.inputRef);g&&((l===0&&I===1||i!==T)&&(g.value=i),requestAnimationFrame(()=>{var s;if(f.value||!g||((s=c.value)==null?void 0:s.activeElement)!==g)return;let{selectionStart:t,selectionEnd:n}=g;Math.abs((n!=null?n:0)-(t!=null?t:0))===0&&t===0&&g.setSelectionRange(g.value.length,g.value.length)}))},{immediate:!0}),J([e.comboboxState],([i],[I])=>{if(i===0&&I===1){if(f.value)return;let T=x(e.inputRef);if(!T)return;let l=T.value,{selectionStart:g,selectionEnd:t,selectionDirection:n}=T;T.value=\"\",T.value=l,n!==null?T.setSelectionRange(g,t,n):T.setSelectionRange(g,t)}})});let d=k(!1);function D(){d.value=!0}function E(){ae().nextFrame(()=>{d.value=!1})}let w=be();function M(i){switch(f.value=!0,w(()=>{f.value=!1}),i.key){case F.Enter:if(f.value=!1,e.comboboxState.value!==0||d.value)return;if(i.preventDefault(),i.stopPropagation(),e.activeOptionIndex.value===null){e.closeCombobox();return}e.selectActiveOption(),e.mode.value===0&&e.closeCombobox();break;case F.ArrowDown:return f.value=!1,i.preventDefault(),i.stopPropagation(),_(e.comboboxState.value,{[0]:()=>e.goToOption(P.Next),[1]:()=>e.openCombobox()});case F.ArrowUp:return f.value=!1,i.preventDefault(),i.stopPropagation(),_(e.comboboxState.value,{[0]:()=>e.goToOption(P.Previous),[1]:()=>{e.openCombobox(),N(()=>{e.value.value||e.goToOption(P.Last)})}});case F.Home:if(i.shiftKey)break;return f.value=!1,i.preventDefault(),i.stopPropagation(),e.goToOption(P.First);case F.PageUp:return f.value=!1,i.preventDefault(),i.stopPropagation(),e.goToOption(P.First);case F.End:if(i.shiftKey)break;return f.value=!1,i.preventDefault(),i.stopPropagation(),e.goToOption(P.Last);case F.PageDown:return f.value=!1,i.preventDefault(),i.stopPropagation(),e.goToOption(P.Last);case F.Escape:if(f.value=!1,e.comboboxState.value!==0)return;i.preventDefault(),e.optionsRef.value&&!e.optionsPropsRef.value.static&&i.stopPropagation(),e.nullable.value&&e.mode.value===0&&e.value.value===null&&S(),e.closeCombobox();break;case F.Tab:if(f.value=!1,e.comboboxState.value!==0)return;e.mode.value===0&&e.activationTrigger.value!==1&&e.selectActiveOption(),e.closeCombobox();break}}function $(i){h(\"change\",i),e.nullable.value&&e.mode.value===0&&i.target.value===\"\"&&S(),e.openCombobox()}function B(i){var T,l,g;let I=(T=i.relatedTarget)!=null?T:oe.find(t=>t!==i.currentTarget);if(f.value=!1,!((l=x(e.optionsRef))!=null&&l.contains(I))&&!((g=x(e.buttonRef))!=null&&g.contains(I))&&e.comboboxState.value===0)return i.preventDefault(),e.mode.value===0&&(e.nullable.value&&e.value.value===null?S():e.activationTrigger.value!==1&&e.selectActiveOption()),e.closeCombobox()}function p(i){var T,l,g;let I=(T=i.relatedTarget)!=null?T:oe.find(t=>t!==i.currentTarget);(l=x(e.buttonRef))!=null&&l.contains(I)||(g=x(e.optionsRef))!=null&&g.contains(I)||e.disabled.value||e.immediate.value&&e.comboboxState.value!==0&&(e.openCombobox(),ae().nextFrame(()=>{e.setActivationTrigger(1)}))}let R=m(()=>{var i,I,T,l;return(l=(T=(I=a.defaultValue)!=null?I:e.defaultValue.value!==void 0?(i=a.displayValue)==null?void 0:i.call(a,e.defaultValue.value):null)!=null?T:e.defaultValue.value)!=null?l:\"\"});return()=>{var t,n,s,b,O,C,A;let i={open:e.comboboxState.value===0},{displayValue:I,onChange:T,...l}=a,g={\"aria-controls\":(t=e.optionsRef.value)==null?void 0:t.id,\"aria-expanded\":e.comboboxState.value===0,\"aria-activedescendant\":e.activeOptionIndex.value===null?void 0:e.virtual.value?(n=e.options.value.find(j=>!e.virtual.value.disabled(j.dataRef.value)&&e.compare(j.dataRef.value,e.virtual.value.options[e.activeOptionIndex.value])))==null?void 0:n.id:(s=e.options.value[e.activeOptionIndex.value])==null?void 0:s.id,\"aria-labelledby\":(C=(b=x(e.labelRef))==null?void 0:b.id)!=null?C:(O=x(e.buttonRef))==null?void 0:O.id,\"aria-autocomplete\":\"list\",id:u,onCompositionstart:D,onCompositionend:E,onKeydown:M,onInput:$,onFocus:p,onBlur:B,role:\"combobox\",type:(A=r.type)!=null?A:\"text\",tabIndex:0,ref:e.inputRef,defaultValue:R.value,disabled:e.disabled.value===!0?!0:void 0};return U({ourProps:g,theirProps:l,slot:i,attrs:r,slots:y,features:Q.RenderStrategy|Q.Static,name:\"ComboboxInput\"})}}}),ut=H({name:\"ComboboxOptions\",props:{as:{type:[Object,String],default:\"ul\"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},hold:{type:[Boolean],default:!1}},setup(a,{attrs:h,slots:r,expose:y}){let o=K(\"ComboboxOptions\"),u=`headlessui-combobox-options-${W()}`;y({el:o.optionsRef,$el:o.optionsRef}),Y(()=>{o.optionsPropsRef.value.static=a.static}),Y(()=>{o.optionsPropsRef.value.hold=a.hold});let e=Ce(),c=m(()=>e!==null?(e.value&G.Open)===G.Open:o.comboboxState.value===0);ge({container:m(()=>x(o.optionsRef)),enabled:m(()=>o.comboboxState.value===0),accept(S){return S.getAttribute(\"role\")===\"option\"?NodeFilter.FILTER_REJECT:S.hasAttribute(\"role\")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(S){S.setAttribute(\"role\",\"none\")}});function f(S){S.preventDefault()}return()=>{var D,E,w;let S={open:o.comboboxState.value===0},v={\"aria-labelledby\":(w=(D=x(o.labelRef))==null?void 0:D.id)!=null?w:(E=x(o.buttonRef))==null?void 0:E.id,id:u,ref:o.optionsRef,role:\"listbox\",\"aria-multiselectable\":o.mode.value===1?!0:void 0,onMousedown:f},d=Z(a,[\"hold\"]);return U({ourProps:v,theirProps:d,slot:S,attrs:h,slots:o.virtual.value&&o.comboboxState.value===0?{...r,default:()=>[z(Ae,{},r.default)]}:r,features:Q.RenderStrategy|Q.Static,visible:c.value,name:\"ComboboxOptions\"})}}}),rt=H({name:\"ComboboxOption\",props:{as:{type:[Object,String],default:\"li\"},value:{type:[Object,String,Number,Boolean]},disabled:{type:Boolean,default:!1},order:{type:[Number],default:null}},setup(a,{slots:h,attrs:r,expose:y}){let o=K(\"ComboboxOption\"),u=`headlessui-combobox-option-${W()}`,e=k(null),c=m(()=>a.disabled);y({el:e,$el:e});let f=m(()=>{var p;return o.virtual.value?o.activeOptionIndex.value===o.calculateIndex(a.value):o.activeOptionIndex.value===null?!1:((p=o.options.value[o.activeOptionIndex.value])==null?void 0:p.id)===u}),S=m(()=>o.isSelected(a.value)),v=ee(ie,null),d=m(()=>({disabled:a.disabled,value:a.value,domRef:e,order:m(()=>a.order)}));X(()=>o.registerOption(u,d)),fe(()=>o.unregisterOption(u,f.value)),Y(()=>{let p=x(e);p&&(v==null||v.value.measureElement(p))}),Y(()=>{o.comboboxState.value===0&&f.value&&(o.virtual.value||o.activationTrigger.value!==0&&N(()=>{var p,R;return(R=(p=x(e))==null?void 0:p.scrollIntoView)==null?void 0:R.call(p,{block:\"nearest\"})}))});function D(p){p.preventDefault(),p.button===ye.Left&&(c.value||(o.selectOption(u),we()||requestAnimationFrame(()=>{var R;return(R=x(o.inputRef))==null?void 0:R.focus({preventScroll:!0})}),o.mode.value===0&&o.closeCombobox()))}function E(){var R;if(a.disabled||(R=o.virtual.value)!=null&&R.disabled(a.value))return o.goToOption(P.Nothing);let p=o.calculateIndex(a.value);o.goToOption(P.Specific,p)}let w=xe();function M(p){w.update(p)}function $(p){var V;if(!w.wasMoved(p)||a.disabled||(V=o.virtual.value)!=null&&V.disabled(a.value)||f.value)return;let R=o.calculateIndex(a.value);o.goToOption(P.Specific,R,0)}function B(p){var R;w.wasMoved(p)&&(a.disabled||(R=o.virtual.value)!=null&&R.disabled(a.value)||f.value&&(o.optionsPropsRef.value.hold||o.goToOption(P.Nothing)))}return()=>{let{disabled:p}=a,R={active:f.value,selected:S.value,disabled:p},V={id:u,ref:e,role:\"option\",tabIndex:p===!0?void 0:-1,\"aria-disabled\":p===!0?!0:void 0,\"aria-selected\":S.value,disabled:void 0,onMousedown:D,onFocus:E,onPointerenter:M,onMouseenter:M,onPointermove:$,onMousemove:$,onPointerleave:B,onMouseleave:B},i=Z(a,[\"order\",\"value\"]);return U({ourProps:V,theirProps:i,slot:R,attrs:r,slots:h,name:\"ComboboxOption\"})}}});export{lt as Combobox,nt as ComboboxButton,it as ComboboxInput,at as ComboboxLabel,rt as ComboboxOption,ut as ComboboxOptions};\n","<template>\n <div class=\"sl-w-full\">\n <FormFieldWrapper\n :id=\"id\"\n :name=\"name\"\n :label=\"label\"\n :disabled=\"disabled\"\n :optional=\"!rules\"\n :tertiary-label=\"tertiaryLabel\"\n :box-shadow=\"boxShadow\"\n :error-message=\"errorMessage\"\n :success-message=\"successMessage\"\n :is-valid=\"meta.valid\"\n :is-touched=\"meta.touched\"\n >\n <Combobox\n v-model=\"selectedValue\"\n :disabled=\"disabled\"\n :multiple=\"multiple\"\n @update:model-value=\"handleChange\"\n >\n <div :class=\"wrapperClasses\">\n <ComboboxInput\n :id=\"id\"\n :class=\"inputClasses\"\n :display-value=\"displayComboboxValue\"\n :placeholder=\"placeholder || 'Type to search...'\"\n v-model=\"query\"\n @input=\"onQueryInput\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n />\n \n <ComboboxButton class=\"sl-absolute sl-inset-y-0 sl-right-0 sl-flex sl-items-center sl-pr-2\">\n <ChevronUpDownIcon\n class=\"sl-h-5 sl-w-5 sl-text-gray-400\"\n aria-hidden=\"true\"\n />\n </ComboboxButton>\n\n <TransitionRoot\n leave=\"sl-transition sl-ease-in sl-duration-100\"\n leave-from=\"sl-opacity-100\"\n leave-to=\"sl-opacity-0\"\n @after-leave=\"query = ''\"\n >\n <ComboboxOptions\n v-if=\"filteredItems.length > 0 || query !== '' || (multiple && showAll)\"\n class=\"sl-absolute sl-z-10 sl-mt-1 sl-max-h-60 sl-w-full sl-overflow-auto sl-rounded-md sl-bg-white sl-py-1 sl-text-base sl-shadow-lg sl-ring-1 sl-ring-black sl-ring-opacity-5 focus:sl-outline-none sm:sl-text-sm\"\n @scroll=\"onScroll\"\n >\n <!-- Select All option -->\n <ComboboxOption\n v-if=\"multiple && showAll\"\n :value=\"null\"\n :disabled=\"true\"\n as=\"template\"\n v-slot=\"{ active }\"\n >\n <li\n @click.prevent.stop=\"toggleSelectAll\"\n :class=\"[\n 'sl-relative sl-cursor-default sl-select-none sl-py-2 sl-pl-10 sl-pr-4',\n active ? 'sl-bg-stachelock-600 sl-text-white' : 'sl-text-gray-900'\n ]\"\n >\n <span class=\"sl-block sl-truncate sl-font-medium\">\n {{ isAllSelected ? 'Unselect All' : 'Select All' }}\n </span>\n </li>\n </ComboboxOption>\n <!-- Loading state -->\n <div \n v-if=\"loading\"\n class=\"sl-relative sl-cursor-default sl-select-none sl-py-2 sl-px-4 sl-text-gray-700\"\n >\n <div class=\"sl-flex sl-items-center sl-gap-2\">\n <Loading size=\"sm\" />\n <span>Loading...</span>\n </div>\n </div>\n \n <!-- No results -->\n <div\n v-else-if=\"query !== '' && filteredItems.length === 0\"\n class=\"sl-relative sl-cursor-default sl-select-none sl-py-2 sl-px-4 sl-text-gray-700\"\n >\n Nothing found.\n </div>\n \n <!-- Options -->\n <ComboboxOption\n v-for=\"item in visibleItems\"\n :key=\"getItemKey(item)\"\n :value=\"item\"\n as=\"template\"\n :disabled=\"item.disabled\"\n v-slot=\"{ active, selected }\"\n >\n <li\n :class=\"[\n 'sl-relative sl-cursor-default sl-select-none sl-py-2 sl-pl-10 sl-pr-4',\n active ? 'sl-bg-stachelock-600 sl-text-white' : 'sl-text-gray-900',\n item.disabled ? 'sl-opacity-50 sl-cursor-not-allowed' : ''\n ]\"\n >\n <span\n :class=\"[\n 'sl-block sl-truncate',\n selected ? 'sl-font-medium' : 'sl-font-normal'\n ]\"\n >\n {{ getItemText(item) }}\n </span>\n <span\n v-if=\"selected\"\n class=\"sl-absolute sl-inset-y-0 sl-left-0 sl-flex sl-items-center sl-pl-3\"\n :class=\"active ? 'sl-text-white' : 'sl-text-stachelock-600'\"\n >\n <CheckIcon class=\"sl-h-5 sl-w-5\" aria-hidden=\"true\" />\n </span>\n </li>\n </ComboboxOption>\n <!-- Manual entry option -->\n <ComboboxOption\n v-if=\"!multiple && queryValue\"\n :value=\"queryValue\"\n as=\"template\"\n v-slot=\"{ active }\"\n >\n <li\n @click.prevent.stop=\"handleManualEntry\"\n :class=\"[\n 'sl-relative sl-cursor-pointer sl-select-none sl-py-2 sl-pl-10 sl-pr-4',\n active ? 'sl-bg-stachelock-600 sl-text-white' : 'sl-text-gray-900'\n ]\"\n >\n <span class=\"sl-block sl-truncate\">\n Enter \"{{ query }}\" manually\n </span>\n </li>\n </ComboboxOption>\n </ComboboxOptions>\n </TransitionRoot>\n </div>\n </Combobox>\n \n <template #success-message>\n <span v-if=\"successMessage\">{{ successMessage }}</span>\n </template>\n </FormFieldWrapper>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref, watch } from 'vue'\nimport {\n Combobox,\n ComboboxInput,\n ComboboxButton,\n ComboboxOption,\n ComboboxOptions,\n TransitionRoot,\n} from '@headlessui/vue'\nimport { CheckIcon, ChevronUpDownIcon } from '@heroicons/vue/20/solid'\nimport { useField } from 'vee-validate'\nimport FormFieldWrapper from '../forms/FormFieldWrapper.vue'\nimport Loading from '../UiLoading.vue'\nimport type { ValidationRule } from '../../types/form'\nimport { generateId } from '../../utils/id'\n\ninterface ComboboxItem {\n [key: string]: any\n disabled?: boolean\n}\n\ninterface Props {\n name: string\n items: ComboboxItem[]\n label?: string\n placeholder?: string\n disabled?: boolean\n rules?: ValidationRule\n validateOnMount?: boolean\n successMessage?: string\n tertiaryLabel?: string\n itemKey?: string\n itemText?: string\n customQuery?: (query: string, items: ComboboxItem[]) => ComboboxItem[]\n loading?: boolean\n multiple?: boolean\n showAll?: boolean\n modelValue?: any\n boxShadow?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n itemKey: 'id',\n itemText: 'name',\n loading: false,\n multiple: false,\n showAll: false,\n boxShadow: false\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: any]\n 'update:query': [query: string]\n blur: [event: FocusEvent]\n focus: [event: FocusEvent]\n}>()\n\nconst id = generateId(props.name)\nconst query = ref('')\n\n// Use vee-validate for form validation\nconst { value, errorMessage, handleChange: handleValidation, meta, setTouched } = useField(\n () => props.name,\n props.rules,\n {\n validateOnMount: props.validateOnMount,\n initialValue: props.modelValue\n }\n)\n\nconst selectedValue = ref<any>(\n props.multiple\n ? (Array.isArray(props.modelValue) ? props.modelValue : [])\n : props.modelValue\n)\n\n// Watch for external changes\nwatch(\n () => props.modelValue,\n (newValue) => {\n if (props.multiple) {\n const coerced = Array.isArray(newValue) ? newValue : []\n if (coerced !== selectedValue.value) {\n selectedValue.value = coerced\n value.value = coerced\n }\n } else {\n if (newValue !== selectedValue.value) {\n selectedValue.value = newValue\n value.value = newValue\n }\n }\n },\n { immediate: true }\n)\n\nwatch(\n selectedValue,\n (newValue) => {\n emit('update:modelValue', newValue)\n }\n)\n\nconst inputClasses = computed(() => {\n const baseClasses = [\n 'sl-w-full',\n 'sl-border-none',\n 'sl-py-2',\n 'sl-pl-3',\n 'sl-pr-10',\n 'sl-text-sm',\n 'sl-leading-5',\n 'sl-text-gray-900',\n 'focus:sl-outline-none',\n 'focus:sl-ring-0',\n 'sl-bg-transparent'\n ]\n\n return baseClasses.join(' ')\n})\n\nconst wrapperClasses = computed(() => {\n const baseClasses = [\n 'sl-relative',\n 'sl-w-full',\n 'sl-cursor-default',\n 'sl-rounded-lg',\n 'sl-bg-white',\n 'sl-text-left',\n 'sl-border',\n 'focus-within:sl-ring-2',\n 'focus-within:sl-ring-stachelock-500',\n 'focus-within:sl-border-stachelock-500',\n 'sl-transition-all',\n 'sl-duration-200'\n ]\n\n if (props.disabled) {\n baseClasses.push(\n 'sl-bg-gray-50',\n 'sl-cursor-not-allowed',\n 'sl-border-gray-200'\n )\n } else if (errorMessage.value) {\n baseClasses.push(\n 'sl-border-red-300',\n 'focus-within:sl-ring-red-500',\n 'focus-within:sl-border-red-500'\n )\n } else if (meta.valid && meta.touched) {\n baseClasses.push(\n 'sl-border-green-300',\n 'focus-within:sl-ring-green-500',\n 'focus-within:sl-border-green-500'\n )\n } else {\n baseClasses.push(\n 'sl-border-gray-300',\n 'hover:sl-border-gray-400'\n )\n }\n\n return baseClasses.join(' ')\n})\n\nconst getItemKey = (item: ComboboxItem): any => {\n return item[props.itemKey]\n}\n\nconst getItemText = (item: ComboboxItem): string => {\n if (!item) return ''\n return item[props.itemText] || item.toString()\n}\n\n// Filtering and infinite scroll state\nconst filteredItems = ref<ComboboxItem[]>([])\nconst visibleItems = ref<ComboboxItem[]>([])\nconst itemsPerPage = 50\nconst currentPage = ref(1)\n\nconst loadMoreItems = () => {\n const end = currentPage.value * itemsPerPage\n visibleItems.value = filteredItems.value.slice(0, end)\n currentPage.value += 1\n}\n\nconst resetPagination = () => {\n currentPage.value = 1\n visibleItems.value = []\n loadMoreItems()\n}\n\nconst recomputeFilteredItems = () => {\n if (query.value && query.value !== '') {\n if (props.customQuery) {\n filteredItems.value = props.customQuery(query.value, props.items)\n } else {\n const lower = query.value.toLowerCase()\n filteredItems.value = props.items.filter((item) => {\n const text = getItemText(item)\n return text.toLowerCase().includes(lower)\n })\n }\n } else {\n filteredItems.value = props.items\n }\n resetPagination()\n}\n\nconst allItems = computed(() => {\n return props.items.filter(item => !item.disabled)\n})\n\nconst onQueryInput = (event: Event) => {\n const target = event.target as HTMLInputElement\n query.value = target.value\n emit('update:query', query.value)\n recomputeFilteredItems()\n}\n\nconst handleChange = (value: any) => {\n selectedValue.value = value\n setTouched(true)\n handleValidation(value)\n}\n\nconst isAllSelected = computed(() => {\n if (!props.multiple || !Array.isArray(selectedValue.value)) return false\n const selectable = allItems.value\n if (selectable.length === 0) return false\n return selectable.every(item => (selectedValue.value as any[]).includes(item))\n})\n\nconst toggleSelectAll = () => {\n if (!props.multiple) return\n if (isAllSelected.value) {\n selectedValue.value = []\n } else {\n selectedValue.value = [...allItems.value]\n }\n handleValidation(selectedValue.value)\n}\n\nconst displayComboboxValue = (val: any): string => {\n if (!props.multiple) {\n return getItemText(val as ComboboxItem)\n }\n if (!Array.isArray(val) || val.length === 0) return ''\n if (val.length === 1) return getItemText(val[0] as ComboboxItem)\n return `${val.length} selected`\n}\n\n// Manual entry support (single-select only)\nconst queryValue = computed(() => {\n if (props.multiple) return null\n return query.value === '' ? null : { [props.itemKey]: null, [props.itemText]: query.value }\n})\n\nconst handleManualEntry = () => {\n if (props.multiple) return\n if (!queryValue.value) return\n // If customQuery provided and expects external handling, emit raw query\n if (props.customQuery) {\n emit('update:modelValue', query.value)\n handleValidation(query.value)\n } else {\n selectedValue.value = queryValue.value\n handleValidation(selectedValue.value)\n }\n}\n\nconst onScroll = (event: Event) => {\n const element = event.target as HTMLElement\n if (element.scrollTop + element.clientHeight >= element.scrollHeight) {\n loadMoreItems()\n }\n}\n\nconst onFocus = (event: FocusEvent) => {\n emit('focus', event)\n}\n\nconst onBlur = (event: FocusEvent) => {\n if (!props.multiple && queryValue.value) {\n selectedValue.value = queryValue.value\n handleValidation(selectedValue.value)\n emit('update:modelValue', selectedValue.value)\n }\n emit('blur', event)\n}\n\n// Initialize and keep filtered items in sync\nwatch(() => props.items, () => {\n recomputeFilteredItems()\n}, { immediate: true, deep: true })\n</script>\n\n\n"],"names":["memo","getDeps","fn","opts","deps","result","memoizedFunction","_a","_b","_c","_d","depTime","newDeps","dep","index","resultTime","depEndTime","resultEndTime","resultFpsPercentage","pad","str","num","notUndefined","value","msg","approxEqual","a","b","debounce","targetWindow","ms","timeoutId","args","getRect","element","offsetWidth","offsetHeight","defaultKeyExtractor","defaultRangeExtractor","range","start","end","arr","i","observeElementRect","instance","cb","handler","rect","width","height","observer","entries","run","entry","box","addEventListenerOptions","supportsScrollend","observeElementOffset","offset","fallback","createHandler","isScrolling","horizontal","isRtl","endHandler","registerScrollendEvent","measureElement","elementScroll","adjustments","behavior","toOffset","Virtualizer","_ro","get","target","opts2","key","sync","d","scrollElement","cached","measurements","furthestMeasurementsFound","furthestMeasurements","m","measurement","previousFurthestMeasurement","count","paddingStart","scrollMargin","getItemKey","enabled","itemSizeCache","item","min","furthestMeasurement","measuredSize","size","lane","outerSize","scrollOffset","lanes","calculateRange","startIndex","endIndex","rangeExtractor","overscan","node","attributeName","indexStr","prevNode","itemSize","delta","indexes","virtualItems","k","len","findNearestBinarySearch","align","maxOffset","initialAlign","attempts","maxAttempts","tryScroll","currentAlign","offsetInfo","currentOffset","afterInfo","scheduleRetry","endByLane","val","low","high","getCurrentValue","middle","currentValue","lastIndex","getOffset","endPerLane","pos","startPerLane","useVirtualizerBase","options","virtualizer","unref","state","shallowRef","cleanup","watch","el","options2","triggerRef","onScopeDispose","useVirtualizer","computed","o","e","s","t","r","p","l","u","c","f","n","g","De","h","Ee","Ve","ke","y","ne","K","ee","ie","Ae","H","x","re","J","te","z","de","lt","S","v","D","E","w","C","A","Te","O","M","$","B","pe","R","_","V","I","L","T","P","le","j","q","ve","ce","Re","G","X","se","Ie","ue","Oe","Pe","Se","U","Z","W","nt","N","F","me","it","he","ae","be","oe","Q","ut","Y","Ce","ge","rt","fe","ye","we","xe","itemsPerPage","props","__props","emit","__emit","id","generateId","query","ref","errorMessage","handleValidation","meta","setTouched","useField","selectedValue","newValue","coerced","inputClasses","wrapperClasses","baseClasses","getItemText","filteredItems","visibleItems","currentPage","loadMoreItems","resetPagination","recomputeFilteredItems","lower","allItems","onQueryInput","event","handleChange","isAllSelected","selectable","toggleSelectAll","displayComboboxValue","queryValue","handleManualEntry","onScroll","onFocus","onBlur","_openBlock","_createElementBlock","_hoisted_1","_createVNode","FormFieldWrapper","_unref","name","label","disabled","rules","tertiaryLabel","boxShadow","successMessage","Combobox","$event","multiple","_createElementVNode","ComboboxInput","placeholder","ComboboxButton","ChevronUpDownIcon","TransitionRoot","showAll","_createBlock","ComboboxOptions","ComboboxOption","_withCtx","active","_normalizeClass","_hoisted_2","_toDisplayString","loading","_hoisted_3","_hoisted_4","Loading","_cache","_hoisted_5","_Fragment","_renderList","selected","CheckIcon","_hoisted_6"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7]}
|
|
1
|
+
{"version":3,"file":"ComboboxInput.vue_vue_type_script_setup_true_lang-LE2kDHpU.js","sources":["../node_modules/@tanstack/virtual-core/dist/esm/utils.js","../node_modules/@tanstack/virtual-core/dist/esm/index.js","../node_modules/@tanstack/vue-virtual/dist/esm/index.js","../node_modules/@headlessui/vue/dist/hooks/use-disposables.js","../node_modules/@headlessui/vue/dist/hooks/use-frame-debounce.js","../node_modules/@headlessui/vue/dist/hooks/use-tree-walker.js","../node_modules/@headlessui/vue/dist/mouse.js","../node_modules/@headlessui/vue/dist/components/combobox/combobox.js","../src/components/inputs/ComboboxInput.vue"],"sourcesContent":["function memo(getDeps, fn, opts) {\n let deps = opts.initialDeps ?? [];\n let result;\n function memoizedFunction() {\n var _a, _b, _c, _d;\n let depTime;\n if (opts.key && ((_a = opts.debug) == null ? void 0 : _a.call(opts))) depTime = Date.now();\n const newDeps = getDeps();\n const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);\n if (!depsChanged) {\n return result;\n }\n deps = newDeps;\n let resultTime;\n if (opts.key && ((_b = opts.debug) == null ? void 0 : _b.call(opts))) resultTime = Date.now();\n result = fn(...newDeps);\n if (opts.key && ((_c = opts.debug) == null ? void 0 : _c.call(opts))) {\n const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n const resultFpsPercentage = resultEndTime / 16;\n const pad = (str, num) => {\n str = String(str);\n while (str.length < num) {\n str = \" \" + str;\n }\n return str;\n };\n console.info(\n `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,\n `\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(\n 0,\n Math.min(120 - 120 * resultFpsPercentage, 120)\n )}deg 100% 31%);`,\n opts == null ? void 0 : opts.key\n );\n }\n (_d = opts == null ? void 0 : opts.onChange) == null ? void 0 : _d.call(opts, result);\n return result;\n }\n memoizedFunction.updateDeps = (newDeps) => {\n deps = newDeps;\n };\n return memoizedFunction;\n}\nfunction notUndefined(value, msg) {\n if (value === void 0) {\n throw new Error(`Unexpected undefined${msg ? `: ${msg}` : \"\"}`);\n } else {\n return value;\n }\n}\nconst approxEqual = (a, b) => Math.abs(a - b) < 1.01;\nconst debounce = (targetWindow, fn, ms) => {\n let timeoutId;\n return function(...args) {\n targetWindow.clearTimeout(timeoutId);\n timeoutId = targetWindow.setTimeout(() => fn.apply(this, args), ms);\n };\n};\nexport {\n approxEqual,\n debounce,\n memo,\n notUndefined\n};\n//# sourceMappingURL=utils.js.map\n","import { debounce, memo, notUndefined, approxEqual } from \"./utils.js\";\nconst getRect = (element) => {\n const { offsetWidth, offsetHeight } = element;\n return { width: offsetWidth, height: offsetHeight };\n};\nconst defaultKeyExtractor = (index) => index;\nconst defaultRangeExtractor = (range) => {\n const start = Math.max(range.startIndex - range.overscan, 0);\n const end = Math.min(range.endIndex + range.overscan, range.count - 1);\n const arr = [];\n for (let i = start; i <= end; i++) {\n arr.push(i);\n }\n return arr;\n};\nconst observeElementRect = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n const handler = (rect) => {\n const { width, height } = rect;\n cb({ width: Math.round(width), height: Math.round(height) });\n };\n handler(getRect(element));\n if (!targetWindow.ResizeObserver) {\n return () => {\n };\n }\n const observer = new targetWindow.ResizeObserver((entries) => {\n const run = () => {\n const entry = entries[0];\n if (entry == null ? void 0 : entry.borderBoxSize) {\n const box = entry.borderBoxSize[0];\n if (box) {\n handler({ width: box.inlineSize, height: box.blockSize });\n return;\n }\n }\n handler(getRect(element));\n };\n instance.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();\n });\n observer.observe(element, { box: \"border-box\" });\n return () => {\n observer.unobserve(element);\n };\n};\nconst addEventListenerOptions = {\n passive: true\n};\nconst observeWindowRect = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const handler = () => {\n cb({ width: element.innerWidth, height: element.innerHeight });\n };\n handler();\n element.addEventListener(\"resize\", handler, addEventListenerOptions);\n return () => {\n element.removeEventListener(\"resize\", handler);\n };\n};\nconst supportsScrollend = typeof window == \"undefined\" ? true : \"onscrollend\" in window;\nconst observeElementOffset = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n let offset = 0;\n const fallback = instance.options.useScrollendEvent && supportsScrollend ? () => void 0 : debounce(\n targetWindow,\n () => {\n cb(offset, false);\n },\n instance.options.isScrollingResetDelay\n );\n const createHandler = (isScrolling) => () => {\n const { horizontal, isRtl } = instance.options;\n offset = horizontal ? element[\"scrollLeft\"] * (isRtl && -1 || 1) : element[\"scrollTop\"];\n fallback();\n cb(offset, isScrolling);\n };\n const handler = createHandler(true);\n const endHandler = createHandler(false);\n endHandler();\n element.addEventListener(\"scroll\", handler, addEventListenerOptions);\n const registerScrollendEvent = instance.options.useScrollendEvent && supportsScrollend;\n if (registerScrollendEvent) {\n element.addEventListener(\"scrollend\", endHandler, addEventListenerOptions);\n }\n return () => {\n element.removeEventListener(\"scroll\", handler);\n if (registerScrollendEvent) {\n element.removeEventListener(\"scrollend\", endHandler);\n }\n };\n};\nconst observeWindowOffset = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n let offset = 0;\n const fallback = instance.options.useScrollendEvent && supportsScrollend ? () => void 0 : debounce(\n targetWindow,\n () => {\n cb(offset, false);\n },\n instance.options.isScrollingResetDelay\n );\n const createHandler = (isScrolling) => () => {\n offset = element[instance.options.horizontal ? \"scrollX\" : \"scrollY\"];\n fallback();\n cb(offset, isScrolling);\n };\n const handler = createHandler(true);\n const endHandler = createHandler(false);\n endHandler();\n element.addEventListener(\"scroll\", handler, addEventListenerOptions);\n const registerScrollendEvent = instance.options.useScrollendEvent && supportsScrollend;\n if (registerScrollendEvent) {\n element.addEventListener(\"scrollend\", endHandler, addEventListenerOptions);\n }\n return () => {\n element.removeEventListener(\"scroll\", handler);\n if (registerScrollendEvent) {\n element.removeEventListener(\"scrollend\", endHandler);\n }\n };\n};\nconst measureElement = (element, entry, instance) => {\n if (entry == null ? void 0 : entry.borderBoxSize) {\n const box = entry.borderBoxSize[0];\n if (box) {\n const size = Math.round(\n box[instance.options.horizontal ? \"inlineSize\" : \"blockSize\"]\n );\n return size;\n }\n }\n return element[instance.options.horizontal ? \"offsetWidth\" : \"offsetHeight\"];\n};\nconst windowScroll = (offset, {\n adjustments = 0,\n behavior\n}, instance) => {\n var _a, _b;\n const toOffset = offset + adjustments;\n (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null ? void 0 : _b.call(_a, {\n [instance.options.horizontal ? \"left\" : \"top\"]: toOffset,\n behavior\n });\n};\nconst elementScroll = (offset, {\n adjustments = 0,\n behavior\n}, instance) => {\n var _a, _b;\n const toOffset = offset + adjustments;\n (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null ? void 0 : _b.call(_a, {\n [instance.options.horizontal ? \"left\" : \"top\"]: toOffset,\n behavior\n });\n};\nclass Virtualizer {\n constructor(opts) {\n this.unsubs = [];\n this.scrollElement = null;\n this.targetWindow = null;\n this.isScrolling = false;\n this.measurementsCache = [];\n this.itemSizeCache = /* @__PURE__ */ new Map();\n this.pendingMeasuredCacheIndexes = [];\n this.scrollRect = null;\n this.scrollOffset = null;\n this.scrollDirection = null;\n this.scrollAdjustments = 0;\n this.elementsCache = /* @__PURE__ */ new Map();\n this.observer = /* @__PURE__ */ (() => {\n let _ro = null;\n const get = () => {\n if (_ro) {\n return _ro;\n }\n if (!this.targetWindow || !this.targetWindow.ResizeObserver) {\n return null;\n }\n return _ro = new this.targetWindow.ResizeObserver((entries) => {\n entries.forEach((entry) => {\n const run = () => {\n this._measureElement(entry.target, entry);\n };\n this.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();\n });\n });\n };\n return {\n disconnect: () => {\n var _a;\n (_a = get()) == null ? void 0 : _a.disconnect();\n _ro = null;\n },\n observe: (target) => {\n var _a;\n return (_a = get()) == null ? void 0 : _a.observe(target, { box: \"border-box\" });\n },\n unobserve: (target) => {\n var _a;\n return (_a = get()) == null ? void 0 : _a.unobserve(target);\n }\n };\n })();\n this.range = null;\n this.setOptions = (opts2) => {\n Object.entries(opts2).forEach(([key, value]) => {\n if (typeof value === \"undefined\") delete opts2[key];\n });\n this.options = {\n debug: false,\n initialOffset: 0,\n overscan: 1,\n paddingStart: 0,\n paddingEnd: 0,\n scrollPaddingStart: 0,\n scrollPaddingEnd: 0,\n horizontal: false,\n getItemKey: defaultKeyExtractor,\n rangeExtractor: defaultRangeExtractor,\n onChange: () => {\n },\n measureElement,\n initialRect: { width: 0, height: 0 },\n scrollMargin: 0,\n gap: 0,\n indexAttribute: \"data-index\",\n initialMeasurementsCache: [],\n lanes: 1,\n isScrollingResetDelay: 150,\n enabled: true,\n isRtl: false,\n useScrollendEvent: false,\n useAnimationFrameWithResizeObserver: false,\n ...opts2\n };\n };\n this.notify = (sync) => {\n var _a, _b;\n (_b = (_a = this.options).onChange) == null ? void 0 : _b.call(_a, this, sync);\n };\n this.maybeNotify = memo(\n () => {\n this.calculateRange();\n return [\n this.isScrolling,\n this.range ? this.range.startIndex : null,\n this.range ? this.range.endIndex : null\n ];\n },\n (isScrolling) => {\n this.notify(isScrolling);\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"maybeNotify\",\n debug: () => this.options.debug,\n initialDeps: [\n this.isScrolling,\n this.range ? this.range.startIndex : null,\n this.range ? this.range.endIndex : null\n ]\n }\n );\n this.cleanup = () => {\n this.unsubs.filter(Boolean).forEach((d) => d());\n this.unsubs = [];\n this.observer.disconnect();\n this.scrollElement = null;\n this.targetWindow = null;\n };\n this._didMount = () => {\n return () => {\n this.cleanup();\n };\n };\n this._willUpdate = () => {\n var _a;\n const scrollElement = this.options.enabled ? this.options.getScrollElement() : null;\n if (this.scrollElement !== scrollElement) {\n this.cleanup();\n if (!scrollElement) {\n this.maybeNotify();\n return;\n }\n this.scrollElement = scrollElement;\n if (this.scrollElement && \"ownerDocument\" in this.scrollElement) {\n this.targetWindow = this.scrollElement.ownerDocument.defaultView;\n } else {\n this.targetWindow = ((_a = this.scrollElement) == null ? void 0 : _a.window) ?? null;\n }\n this.elementsCache.forEach((cached) => {\n this.observer.observe(cached);\n });\n this._scrollToOffset(this.getScrollOffset(), {\n adjustments: void 0,\n behavior: void 0\n });\n this.unsubs.push(\n this.options.observeElementRect(this, (rect) => {\n this.scrollRect = rect;\n this.maybeNotify();\n })\n );\n this.unsubs.push(\n this.options.observeElementOffset(this, (offset, isScrolling) => {\n this.scrollAdjustments = 0;\n this.scrollDirection = isScrolling ? this.getScrollOffset() < offset ? \"forward\" : \"backward\" : null;\n this.scrollOffset = offset;\n this.isScrolling = isScrolling;\n this.maybeNotify();\n })\n );\n }\n };\n this.getSize = () => {\n if (!this.options.enabled) {\n this.scrollRect = null;\n return 0;\n }\n this.scrollRect = this.scrollRect ?? this.options.initialRect;\n return this.scrollRect[this.options.horizontal ? \"width\" : \"height\"];\n };\n this.getScrollOffset = () => {\n if (!this.options.enabled) {\n this.scrollOffset = null;\n return 0;\n }\n this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset === \"function\" ? this.options.initialOffset() : this.options.initialOffset);\n return this.scrollOffset;\n };\n this.getFurthestMeasurement = (measurements, index) => {\n const furthestMeasurementsFound = /* @__PURE__ */ new Map();\n const furthestMeasurements = /* @__PURE__ */ new Map();\n for (let m = index - 1; m >= 0; m--) {\n const measurement = measurements[m];\n if (furthestMeasurementsFound.has(measurement.lane)) {\n continue;\n }\n const previousFurthestMeasurement = furthestMeasurements.get(\n measurement.lane\n );\n if (previousFurthestMeasurement == null || measurement.end > previousFurthestMeasurement.end) {\n furthestMeasurements.set(measurement.lane, measurement);\n } else if (measurement.end < previousFurthestMeasurement.end) {\n furthestMeasurementsFound.set(measurement.lane, true);\n }\n if (furthestMeasurementsFound.size === this.options.lanes) {\n break;\n }\n }\n return furthestMeasurements.size === this.options.lanes ? Array.from(furthestMeasurements.values()).sort((a, b) => {\n if (a.end === b.end) {\n return a.index - b.index;\n }\n return a.end - b.end;\n })[0] : void 0;\n };\n this.getMeasurementOptions = memo(\n () => [\n this.options.count,\n this.options.paddingStart,\n this.options.scrollMargin,\n this.options.getItemKey,\n this.options.enabled\n ],\n (count, paddingStart, scrollMargin, getItemKey, enabled) => {\n this.pendingMeasuredCacheIndexes = [];\n return {\n count,\n paddingStart,\n scrollMargin,\n getItemKey,\n enabled\n };\n },\n {\n key: false\n }\n );\n this.getMeasurements = memo(\n () => [this.getMeasurementOptions(), this.itemSizeCache],\n ({ count, paddingStart, scrollMargin, getItemKey, enabled }, itemSizeCache) => {\n if (!enabled) {\n this.measurementsCache = [];\n this.itemSizeCache.clear();\n return [];\n }\n if (this.measurementsCache.length === 0) {\n this.measurementsCache = this.options.initialMeasurementsCache;\n this.measurementsCache.forEach((item) => {\n this.itemSizeCache.set(item.key, item.size);\n });\n }\n const min = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;\n this.pendingMeasuredCacheIndexes = [];\n const measurements = this.measurementsCache.slice(0, min);\n for (let i = min; i < count; i++) {\n const key = getItemKey(i);\n const furthestMeasurement = this.options.lanes === 1 ? measurements[i - 1] : this.getFurthestMeasurement(measurements, i);\n const start = furthestMeasurement ? furthestMeasurement.end + this.options.gap : paddingStart + scrollMargin;\n const measuredSize = itemSizeCache.get(key);\n const size = typeof measuredSize === \"number\" ? measuredSize : this.options.estimateSize(i);\n const end = start + size;\n const lane = furthestMeasurement ? furthestMeasurement.lane : i % this.options.lanes;\n measurements[i] = {\n index: i,\n start,\n size,\n end,\n key,\n lane\n };\n }\n this.measurementsCache = measurements;\n return measurements;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getMeasurements\",\n debug: () => this.options.debug\n }\n );\n this.calculateRange = memo(\n () => [\n this.getMeasurements(),\n this.getSize(),\n this.getScrollOffset(),\n this.options.lanes\n ],\n (measurements, outerSize, scrollOffset, lanes) => {\n return this.range = measurements.length > 0 && outerSize > 0 ? calculateRange({\n measurements,\n outerSize,\n scrollOffset,\n lanes\n }) : null;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"calculateRange\",\n debug: () => this.options.debug\n }\n );\n this.getVirtualIndexes = memo(\n () => {\n let startIndex = null;\n let endIndex = null;\n const range = this.calculateRange();\n if (range) {\n startIndex = range.startIndex;\n endIndex = range.endIndex;\n }\n this.maybeNotify.updateDeps([this.isScrolling, startIndex, endIndex]);\n return [\n this.options.rangeExtractor,\n this.options.overscan,\n this.options.count,\n startIndex,\n endIndex\n ];\n },\n (rangeExtractor, overscan, count, startIndex, endIndex) => {\n return startIndex === null || endIndex === null ? [] : rangeExtractor({\n startIndex,\n endIndex,\n overscan,\n count\n });\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getVirtualIndexes\",\n debug: () => this.options.debug\n }\n );\n this.indexFromElement = (node) => {\n const attributeName = this.options.indexAttribute;\n const indexStr = node.getAttribute(attributeName);\n if (!indexStr) {\n console.warn(\n `Missing attribute name '${attributeName}={index}' on measured element.`\n );\n return -1;\n }\n return parseInt(indexStr, 10);\n };\n this._measureElement = (node, entry) => {\n const index = this.indexFromElement(node);\n const item = this.measurementsCache[index];\n if (!item) {\n return;\n }\n const key = item.key;\n const prevNode = this.elementsCache.get(key);\n if (prevNode !== node) {\n if (prevNode) {\n this.observer.unobserve(prevNode);\n }\n this.observer.observe(node);\n this.elementsCache.set(key, node);\n }\n if (node.isConnected) {\n this.resizeItem(index, this.options.measureElement(node, entry, this));\n }\n };\n this.resizeItem = (index, size) => {\n const item = this.measurementsCache[index];\n if (!item) {\n return;\n }\n const itemSize = this.itemSizeCache.get(item.key) ?? item.size;\n const delta = size - itemSize;\n if (delta !== 0) {\n if (this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(item, delta, this) : item.start < this.getScrollOffset() + this.scrollAdjustments) {\n if (process.env.NODE_ENV !== \"production\" && this.options.debug) {\n console.info(\"correction\", delta);\n }\n this._scrollToOffset(this.getScrollOffset(), {\n adjustments: this.scrollAdjustments += delta,\n behavior: void 0\n });\n }\n this.pendingMeasuredCacheIndexes.push(item.index);\n this.itemSizeCache = new Map(this.itemSizeCache.set(item.key, size));\n this.notify(false);\n }\n };\n this.measureElement = (node) => {\n if (!node) {\n this.elementsCache.forEach((cached, key) => {\n if (!cached.isConnected) {\n this.observer.unobserve(cached);\n this.elementsCache.delete(key);\n }\n });\n return;\n }\n this._measureElement(node, void 0);\n };\n this.getVirtualItems = memo(\n () => [this.getVirtualIndexes(), this.getMeasurements()],\n (indexes, measurements) => {\n const virtualItems = [];\n for (let k = 0, len = indexes.length; k < len; k++) {\n const i = indexes[k];\n const measurement = measurements[i];\n virtualItems.push(measurement);\n }\n return virtualItems;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getVirtualItems\",\n debug: () => this.options.debug\n }\n );\n this.getVirtualItemForOffset = (offset) => {\n const measurements = this.getMeasurements();\n if (measurements.length === 0) {\n return void 0;\n }\n return notUndefined(\n measurements[findNearestBinarySearch(\n 0,\n measurements.length - 1,\n (index) => notUndefined(measurements[index]).start,\n offset\n )]\n );\n };\n this.getOffsetForAlignment = (toOffset, align, itemSize = 0) => {\n const size = this.getSize();\n const scrollOffset = this.getScrollOffset();\n if (align === \"auto\") {\n align = toOffset >= scrollOffset + size ? \"end\" : \"start\";\n }\n if (align === \"center\") {\n toOffset += (itemSize - size) / 2;\n } else if (align === \"end\") {\n toOffset -= size;\n }\n const maxOffset = this.getTotalSize() + this.options.scrollMargin - size;\n return Math.max(Math.min(maxOffset, toOffset), 0);\n };\n this.getOffsetForIndex = (index, align = \"auto\") => {\n index = Math.max(0, Math.min(index, this.options.count - 1));\n const item = this.measurementsCache[index];\n if (!item) {\n return void 0;\n }\n const size = this.getSize();\n const scrollOffset = this.getScrollOffset();\n if (align === \"auto\") {\n if (item.end >= scrollOffset + size - this.options.scrollPaddingEnd) {\n align = \"end\";\n } else if (item.start <= scrollOffset + this.options.scrollPaddingStart) {\n align = \"start\";\n } else {\n return [scrollOffset, align];\n }\n }\n const toOffset = align === \"end\" ? item.end + this.options.scrollPaddingEnd : item.start - this.options.scrollPaddingStart;\n return [\n this.getOffsetForAlignment(toOffset, align, item.size),\n align\n ];\n };\n this.isDynamicMode = () => this.elementsCache.size > 0;\n this.scrollToOffset = (toOffset, { align = \"start\", behavior } = {}) => {\n if (behavior === \"smooth\" && this.isDynamicMode()) {\n console.warn(\n \"The `smooth` scroll behavior is not fully supported with dynamic size.\"\n );\n }\n this._scrollToOffset(this.getOffsetForAlignment(toOffset, align), {\n adjustments: void 0,\n behavior\n });\n };\n this.scrollToIndex = (index, { align: initialAlign = \"auto\", behavior } = {}) => {\n if (behavior === \"smooth\" && this.isDynamicMode()) {\n console.warn(\n \"The `smooth` scroll behavior is not fully supported with dynamic size.\"\n );\n }\n index = Math.max(0, Math.min(index, this.options.count - 1));\n let attempts = 0;\n const maxAttempts = 10;\n const tryScroll = (currentAlign) => {\n if (!this.targetWindow) return;\n const offsetInfo = this.getOffsetForIndex(index, currentAlign);\n if (!offsetInfo) {\n console.warn(\"Failed to get offset for index:\", index);\n return;\n }\n const [offset, align] = offsetInfo;\n this._scrollToOffset(offset, { adjustments: void 0, behavior });\n this.targetWindow.requestAnimationFrame(() => {\n const currentOffset = this.getScrollOffset();\n const afterInfo = this.getOffsetForIndex(index, align);\n if (!afterInfo) {\n console.warn(\"Failed to get offset for index:\", index);\n return;\n }\n if (!approxEqual(afterInfo[0], currentOffset)) {\n scheduleRetry(align);\n }\n });\n };\n const scheduleRetry = (align) => {\n if (!this.targetWindow) return;\n attempts++;\n if (attempts < maxAttempts) {\n if (process.env.NODE_ENV !== \"production\" && this.options.debug) {\n console.info(\"Schedule retry\", attempts, maxAttempts);\n }\n this.targetWindow.requestAnimationFrame(() => tryScroll(align));\n } else {\n console.warn(\n `Failed to scroll to index ${index} after ${maxAttempts} attempts.`\n );\n }\n };\n tryScroll(initialAlign);\n };\n this.scrollBy = (delta, { behavior } = {}) => {\n if (behavior === \"smooth\" && this.isDynamicMode()) {\n console.warn(\n \"The `smooth` scroll behavior is not fully supported with dynamic size.\"\n );\n }\n this._scrollToOffset(this.getScrollOffset() + delta, {\n adjustments: void 0,\n behavior\n });\n };\n this.getTotalSize = () => {\n var _a;\n const measurements = this.getMeasurements();\n let end;\n if (measurements.length === 0) {\n end = this.options.paddingStart;\n } else if (this.options.lanes === 1) {\n end = ((_a = measurements[measurements.length - 1]) == null ? void 0 : _a.end) ?? 0;\n } else {\n const endByLane = Array(this.options.lanes).fill(null);\n let endIndex = measurements.length - 1;\n while (endIndex >= 0 && endByLane.some((val) => val === null)) {\n const item = measurements[endIndex];\n if (endByLane[item.lane] === null) {\n endByLane[item.lane] = item.end;\n }\n endIndex--;\n }\n end = Math.max(...endByLane.filter((val) => val !== null));\n }\n return Math.max(\n end - this.options.scrollMargin + this.options.paddingEnd,\n 0\n );\n };\n this._scrollToOffset = (offset, {\n adjustments,\n behavior\n }) => {\n this.options.scrollToFn(offset, { behavior, adjustments }, this);\n };\n this.measure = () => {\n this.itemSizeCache = /* @__PURE__ */ new Map();\n this.notify(false);\n };\n this.setOptions(opts);\n }\n}\nconst findNearestBinarySearch = (low, high, getCurrentValue, value) => {\n while (low <= high) {\n const middle = (low + high) / 2 | 0;\n const currentValue = getCurrentValue(middle);\n if (currentValue < value) {\n low = middle + 1;\n } else if (currentValue > value) {\n high = middle - 1;\n } else {\n return middle;\n }\n }\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\nfunction calculateRange({\n measurements,\n outerSize,\n scrollOffset,\n lanes\n}) {\n const lastIndex = measurements.length - 1;\n const getOffset = (index) => measurements[index].start;\n if (measurements.length <= lanes) {\n return {\n startIndex: 0,\n endIndex: lastIndex\n };\n }\n let startIndex = findNearestBinarySearch(\n 0,\n lastIndex,\n getOffset,\n scrollOffset\n );\n let endIndex = startIndex;\n if (lanes === 1) {\n while (endIndex < lastIndex && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n } else if (lanes > 1) {\n const endPerLane = Array(lanes).fill(0);\n while (endIndex < lastIndex && endPerLane.some((pos) => pos < scrollOffset + outerSize)) {\n const item = measurements[endIndex];\n endPerLane[item.lane] = item.end;\n endIndex++;\n }\n const startPerLane = Array(lanes).fill(scrollOffset + outerSize);\n while (startIndex >= 0 && startPerLane.some((pos) => pos >= scrollOffset)) {\n const item = measurements[startIndex];\n startPerLane[item.lane] = item.start;\n startIndex--;\n }\n startIndex = Math.max(0, startIndex - startIndex % lanes);\n endIndex = Math.min(lastIndex, endIndex + (lanes - 1 - endIndex % lanes));\n }\n return { startIndex, endIndex };\n}\nexport {\n Virtualizer,\n approxEqual,\n debounce,\n defaultKeyExtractor,\n defaultRangeExtractor,\n elementScroll,\n measureElement,\n memo,\n notUndefined,\n observeElementOffset,\n observeElementRect,\n observeWindowOffset,\n observeWindowRect,\n windowScroll\n};\n//# sourceMappingURL=index.js.map\n","import { elementScroll, observeElementOffset, observeElementRect, windowScroll, observeWindowOffset, observeWindowRect, Virtualizer } from \"@tanstack/virtual-core\";\nexport * from \"@tanstack/virtual-core\";\nimport { computed, unref, shallowRef, watch, triggerRef, onScopeDispose } from \"vue\";\nfunction useVirtualizerBase(options) {\n const virtualizer = new Virtualizer(unref(options));\n const state = shallowRef(virtualizer);\n const cleanup = virtualizer._didMount();\n watch(\n () => unref(options).getScrollElement(),\n (el) => {\n if (el) {\n virtualizer._willUpdate();\n }\n },\n {\n immediate: true\n }\n );\n watch(\n () => unref(options),\n (options2) => {\n virtualizer.setOptions({\n ...options2,\n onChange: (instance, sync) => {\n var _a;\n triggerRef(state);\n (_a = options2.onChange) == null ? void 0 : _a.call(options2, instance, sync);\n }\n });\n virtualizer._willUpdate();\n triggerRef(state);\n },\n {\n immediate: true\n }\n );\n onScopeDispose(cleanup);\n return state;\n}\nfunction useVirtualizer(options) {\n return useVirtualizerBase(\n computed(() => ({\n observeElementRect,\n observeElementOffset,\n scrollToFn: elementScroll,\n ...unref(options)\n }))\n );\n}\nfunction useWindowVirtualizer(options) {\n return useVirtualizerBase(\n computed(() => ({\n getScrollElement: () => typeof document !== \"undefined\" ? window : null,\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n initialOffset: () => typeof document !== \"undefined\" ? window.scrollY : 0,\n ...unref(options)\n }))\n );\n}\nexport {\n useVirtualizer,\n useWindowVirtualizer\n};\n//# sourceMappingURL=index.js.map\n","import{onUnmounted as s}from\"vue\";import{disposables as e}from'../utils/disposables.js';function i(){let o=e();return s(()=>o.dispose()),o}export{i as useDisposables};\n","import{useDisposables as r}from'./use-disposables.js';function t(){let e=r();return o=>{e.dispose(),e.nextFrame(o)}}export{t as useFrameDebounce};\n","import{watchEffect as p}from\"vue\";import{getOwnerDocument as u}from'../utils/owner.js';function i({container:e,accept:t,walk:d,enabled:o}){p(()=>{let r=e.value;if(!r||o!==void 0&&!o.value)return;let l=u(e);if(!l)return;let c=Object.assign(f=>t(f),{acceptNode:t}),n=l.createTreeWalker(r,NodeFilter.SHOW_ELEMENT,c,!1);for(;n.nextNode();)d(n.currentNode)})}export{i as useTreeWalker};\n","var g=(f=>(f[f.Left=0]=\"Left\",f[f.Right=2]=\"Right\",f))(g||{});export{g as MouseButton};\n","import{useVirtualizer as re}from\"@tanstack/vue-virtual\";import{cloneVNode as de,computed as m,defineComponent as H,Fragment as se,h as z,inject as ee,nextTick as N,onMounted as X,onUnmounted as fe,provide as te,reactive as ve,ref as k,toRaw as L,watch as J,watchEffect as Y}from\"vue\";import{useControllable as pe}from'../../hooks/use-controllable.js';import{useFrameDebounce as be}from'../../hooks/use-frame-debounce.js';import{useId as W}from'../../hooks/use-id.js';import{useOutsideClick as ce}from'../../hooks/use-outside-click.js';import{useResolveButtonType as me}from'../../hooks/use-resolve-button-type.js';import{useTrackedPointer as xe}from'../../hooks/use-tracked-pointer.js';import{useTreeWalker as ge}from'../../hooks/use-tree-walker.js';import{Features as Se,Hidden as Oe}from'../../internal/hidden.js';import{State as G,useOpenClosed as Ce,useOpenClosedProvider as Re}from'../../internal/open-closed.js';import{Keys as F}from'../../keyboard.js';import{MouseButton as ye}from'../../mouse.js';import{history as oe}from'../../utils/active-element-history.js';import{calculateActiveIndex as le,Focus as P}from'../../utils/calculate-active-index.js';import{disposables as ae}from'../../utils/disposables.js';import{dom as x}from'../../utils/dom.js';import{sortByDomNode as Te}from'../../utils/focus-management.js';import{objectToFormEntries as Ie}from'../../utils/form.js';import{match as _}from'../../utils/match.js';import{getOwnerDocument as he}from'../../utils/owner.js';import{isMobile as we}from'../../utils/platform.js';import{compact as Pe,Features as Q,omit as Z,render as U}from'../../utils/render.js';function De(a,h){return a===h}var Ee=(r=>(r[r.Open=0]=\"Open\",r[r.Closed=1]=\"Closed\",r))(Ee||{}),Ve=(r=>(r[r.Single=0]=\"Single\",r[r.Multi=1]=\"Multi\",r))(Ve||{}),ke=(y=>(y[y.Pointer=0]=\"Pointer\",y[y.Focus=1]=\"Focus\",y[y.Other=2]=\"Other\",y))(ke||{});let ne=Symbol(\"ComboboxContext\");function K(a){let h=ee(ne,null);if(h===null){let r=new Error(`<${a} /> is missing a parent <Combobox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,K),r}return h}let ie=Symbol(\"VirtualContext\"),Ae=H({name:\"VirtualProvider\",setup(a,{slots:h}){let r=K(\"VirtualProvider\"),y=m(()=>{let c=x(r.optionsRef);if(!c)return{start:0,end:0};let f=window.getComputedStyle(c);return{start:parseFloat(f.paddingBlockStart||f.paddingTop),end:parseFloat(f.paddingBlockEnd||f.paddingBottom)}}),o=re(m(()=>({scrollPaddingStart:y.value.start,scrollPaddingEnd:y.value.end,count:r.virtual.value.options.length,estimateSize(){return 40},getScrollElement(){return x(r.optionsRef)},overscan:12}))),u=m(()=>{var c;return(c=r.virtual.value)==null?void 0:c.options}),e=k(0);return J([u],()=>{e.value+=1}),te(ie,r.virtual.value?o:null),()=>[z(\"div\",{style:{position:\"relative\",width:\"100%\",height:`${o.value.getTotalSize()}px`},ref:c=>{if(c){if(typeof process!=\"undefined\"&&process.env.JEST_WORKER_ID!==void 0||r.activationTrigger.value===0)return;r.activeOptionIndex.value!==null&&r.virtual.value.options.length>r.activeOptionIndex.value&&o.value.scrollToIndex(r.activeOptionIndex.value)}}},o.value.getVirtualItems().map(c=>de(h.default({option:r.virtual.value.options[c.index],open:r.comboboxState.value===0})[0],{key:`${e.value}-${c.index}`,\"data-index\":c.index,\"aria-setsize\":r.virtual.value.options.length,\"aria-posinset\":c.index+1,style:{position:\"absolute\",top:0,left:0,transform:`translateY(${c.start}px)`,overflowAnchor:\"none\"}})))]}}),lt=H({name:\"Combobox\",emits:{\"update:modelValue\":a=>!0},props:{as:{type:[Object,String],default:\"template\"},disabled:{type:[Boolean],default:!1},by:{type:[String,Function],nullable:!0,default:null},modelValue:{type:[Object,String,Number,Boolean],default:void 0},defaultValue:{type:[Object,String,Number,Boolean],default:void 0},form:{type:String,optional:!0},name:{type:String,optional:!0},nullable:{type:Boolean,default:!1},multiple:{type:[Boolean],default:!1},immediate:{type:[Boolean],default:!1},virtual:{type:Object,default:null}},inheritAttrs:!1,setup(a,{slots:h,attrs:r,emit:y}){let o=k(1),u=k(null),e=k(null),c=k(null),f=k(null),S=k({static:!1,hold:!1}),v=k([]),d=k(null),D=k(2),E=k(!1);function w(t=n=>n){let n=d.value!==null?v.value[d.value]:null,s=t(v.value.slice()),b=s.length>0&&s[0].dataRef.order.value!==null?s.sort((C,A)=>C.dataRef.order.value-A.dataRef.order.value):Te(s,C=>x(C.dataRef.domRef)),O=n?b.indexOf(n):null;return O===-1&&(O=null),{options:b,activeOptionIndex:O}}let M=m(()=>a.multiple?1:0),$=m(()=>a.nullable),[B,p]=pe(m(()=>a.modelValue),t=>y(\"update:modelValue\",t),m(()=>a.defaultValue)),R=m(()=>B.value===void 0?_(M.value,{[1]:[],[0]:void 0}):B.value),V=null,i=null;function I(t){return _(M.value,{[0](){return p==null?void 0:p(t)},[1]:()=>{let n=L(l.value.value).slice(),s=L(t),b=n.findIndex(O=>l.compare(s,L(O)));return b===-1?n.push(s):n.splice(b,1),p==null?void 0:p(n)}})}let T=m(()=>{});J([T],([t],[n])=>{if(l.virtual.value&&t&&n&&d.value!==null){let s=t.indexOf(n[d.value]);s!==-1?d.value=s:d.value=null}});let l={comboboxState:o,value:R,mode:M,compare(t,n){if(typeof a.by==\"string\"){let s=a.by;return(t==null?void 0:t[s])===(n==null?void 0:n[s])}return a.by===null?De(t,n):a.by(t,n)},calculateIndex(t){return l.virtual.value?a.by===null?l.virtual.value.options.indexOf(t):l.virtual.value.options.findIndex(n=>l.compare(n,t)):v.value.findIndex(n=>l.compare(n.dataRef.value,t))},defaultValue:m(()=>a.defaultValue),nullable:$,immediate:m(()=>!1),virtual:m(()=>null),inputRef:e,labelRef:u,buttonRef:c,optionsRef:f,disabled:m(()=>a.disabled),options:v,change(t){p(t)},activeOptionIndex:m(()=>{if(E.value&&d.value===null&&(l.virtual.value?l.virtual.value.options.length>0:v.value.length>0)){if(l.virtual.value){let n=l.virtual.value.options.findIndex(s=>{var b;return!((b=l.virtual.value)!=null&&b.disabled(s))});if(n!==-1)return n}let t=v.value.findIndex(n=>!n.dataRef.disabled);if(t!==-1)return t}return d.value}),activationTrigger:D,optionsPropsRef:S,closeCombobox(){E.value=!1,!a.disabled&&o.value!==1&&(o.value=1,d.value=null)},openCombobox(){if(E.value=!0,!a.disabled&&o.value!==0){if(l.value.value){let t=l.calculateIndex(l.value.value);t!==-1&&(d.value=t)}o.value=0}},setActivationTrigger(t){D.value=t},goToOption(t,n,s){E.value=!1,V!==null&&cancelAnimationFrame(V),V=requestAnimationFrame(()=>{if(a.disabled||f.value&&!S.value.static&&o.value===1)return;if(l.virtual.value){d.value=t===P.Specific?n:le({focus:t},{resolveItems:()=>l.virtual.value.options,resolveActiveIndex:()=>{var C,A;return(A=(C=l.activeOptionIndex.value)!=null?C:l.virtual.value.options.findIndex(j=>{var q;return!((q=l.virtual.value)!=null&&q.disabled(j))}))!=null?A:null},resolveDisabled:C=>l.virtual.value.disabled(C),resolveId(){throw new Error(\"Function not implemented.\")}}),D.value=s!=null?s:2;return}let b=w();if(b.activeOptionIndex===null){let C=b.options.findIndex(A=>!A.dataRef.disabled);C!==-1&&(b.activeOptionIndex=C)}let O=t===P.Specific?n:le({focus:t},{resolveItems:()=>b.options,resolveActiveIndex:()=>b.activeOptionIndex,resolveId:C=>C.id,resolveDisabled:C=>C.dataRef.disabled});d.value=O,D.value=s!=null?s:2,v.value=b.options})},selectOption(t){let n=v.value.find(b=>b.id===t);if(!n)return;let{dataRef:s}=n;I(s.value)},selectActiveOption(){if(l.activeOptionIndex.value!==null){if(l.virtual.value)I(l.virtual.value.options[l.activeOptionIndex.value]);else{let{dataRef:t}=v.value[l.activeOptionIndex.value];I(t.value)}l.goToOption(P.Specific,l.activeOptionIndex.value)}},registerOption(t,n){let s=ve({id:t,dataRef:n});if(l.virtual.value){v.value.push(s);return}i&&cancelAnimationFrame(i);let b=w(O=>(O.push(s),O));d.value===null&&l.isSelected(n.value.value)&&(b.activeOptionIndex=b.options.indexOf(s)),v.value=b.options,d.value=b.activeOptionIndex,D.value=2,b.options.some(O=>!x(O.dataRef.domRef))&&(i=requestAnimationFrame(()=>{let O=w();v.value=O.options,d.value=O.activeOptionIndex}))},unregisterOption(t,n){if(V!==null&&cancelAnimationFrame(V),n&&(E.value=!0),l.virtual.value){v.value=v.value.filter(b=>b.id!==t);return}let s=w(b=>{let O=b.findIndex(C=>C.id===t);return O!==-1&&b.splice(O,1),b});v.value=s.options,d.value=s.activeOptionIndex,D.value=2},isSelected(t){return _(M.value,{[0]:()=>l.compare(L(l.value.value),L(t)),[1]:()=>L(l.value.value).some(n=>l.compare(L(n),L(t)))})},isActive(t){return d.value===l.calculateIndex(t)}};ce([e,c,f],()=>l.closeCombobox(),m(()=>o.value===0)),te(ne,l),Re(m(()=>_(o.value,{[0]:G.Open,[1]:G.Closed})));let g=m(()=>{var t;return(t=x(e))==null?void 0:t.closest(\"form\")});return X(()=>{J([g],()=>{if(!g.value||a.defaultValue===void 0)return;function t(){l.change(a.defaultValue)}return g.value.addEventListener(\"reset\",t),()=>{var n;(n=g.value)==null||n.removeEventListener(\"reset\",t)}},{immediate:!0})}),()=>{var C,A,j;let{name:t,disabled:n,form:s,...b}=a,O={open:o.value===0,disabled:n,activeIndex:l.activeOptionIndex.value,activeOption:l.activeOptionIndex.value===null?null:l.virtual.value?l.virtual.value.options[(C=l.activeOptionIndex.value)!=null?C:0]:(j=(A=l.options.value[l.activeOptionIndex.value])==null?void 0:A.dataRef.value)!=null?j:null,value:R.value};return z(se,[...t!=null&&R.value!=null?Ie({[t]:R.value}).map(([q,ue])=>z(Oe,Pe({features:Se.Hidden,key:q,as:\"input\",type:\"hidden\",hidden:!0,readOnly:!0,form:s,disabled:n,name:q,value:ue}))):[],U({theirProps:{...r,...Z(b,[\"by\",\"defaultValue\",\"immediate\",\"modelValue\",\"multiple\",\"nullable\",\"onUpdate:modelValue\",\"virtual\"])},ourProps:{},slot:O,slots:h,attrs:r,name:\"Combobox\"})])}}}),at=H({name:\"ComboboxLabel\",props:{as:{type:[Object,String],default:\"label\"},id:{type:String,default:null}},setup(a,{attrs:h,slots:r}){var e;let y=(e=a.id)!=null?e:`headlessui-combobox-label-${W()}`,o=K(\"ComboboxLabel\");function u(){var c;(c=x(o.inputRef))==null||c.focus({preventScroll:!0})}return()=>{let c={open:o.comboboxState.value===0,disabled:o.disabled.value},{...f}=a,S={id:y,ref:o.labelRef,onClick:u};return U({ourProps:S,theirProps:f,slot:c,attrs:h,slots:r,name:\"ComboboxLabel\"})}}}),nt=H({name:\"ComboboxButton\",props:{as:{type:[Object,String],default:\"button\"},id:{type:String,default:null}},setup(a,{attrs:h,slots:r,expose:y}){var S;let o=(S=a.id)!=null?S:`headlessui-combobox-button-${W()}`,u=K(\"ComboboxButton\");y({el:u.buttonRef,$el:u.buttonRef});function e(v){u.disabled.value||(u.comboboxState.value===0?u.closeCombobox():(v.preventDefault(),u.openCombobox()),N(()=>{var d;return(d=x(u.inputRef))==null?void 0:d.focus({preventScroll:!0})}))}function c(v){switch(v.key){case F.ArrowDown:v.preventDefault(),v.stopPropagation(),u.comboboxState.value===1&&u.openCombobox(),N(()=>{var d;return(d=u.inputRef.value)==null?void 0:d.focus({preventScroll:!0})});return;case F.ArrowUp:v.preventDefault(),v.stopPropagation(),u.comboboxState.value===1&&(u.openCombobox(),N(()=>{u.value.value||u.goToOption(P.Last)})),N(()=>{var d;return(d=u.inputRef.value)==null?void 0:d.focus({preventScroll:!0})});return;case F.Escape:if(u.comboboxState.value!==0)return;v.preventDefault(),u.optionsRef.value&&!u.optionsPropsRef.value.static&&v.stopPropagation(),u.closeCombobox(),N(()=>{var d;return(d=u.inputRef.value)==null?void 0:d.focus({preventScroll:!0})});return}}let f=me(m(()=>({as:a.as,type:h.type})),u.buttonRef);return()=>{var E,w;let v={open:u.comboboxState.value===0,disabled:u.disabled.value,value:u.value.value},{...d}=a,D={ref:u.buttonRef,id:o,type:f.value,tabindex:\"-1\",\"aria-haspopup\":\"listbox\",\"aria-controls\":(E=x(u.optionsRef))==null?void 0:E.id,\"aria-expanded\":u.comboboxState.value===0,\"aria-labelledby\":u.labelRef.value?[(w=x(u.labelRef))==null?void 0:w.id,o].join(\" \"):void 0,disabled:u.disabled.value===!0?!0:void 0,onKeydown:c,onClick:e};return U({ourProps:D,theirProps:d,slot:v,attrs:h,slots:r,name:\"ComboboxButton\"})}}}),it=H({name:\"ComboboxInput\",props:{as:{type:[Object,String],default:\"input\"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},displayValue:{type:Function},defaultValue:{type:String,default:void 0},id:{type:String,default:null}},emits:{change:a=>!0},setup(a,{emit:h,attrs:r,slots:y,expose:o}){var V;let u=(V=a.id)!=null?V:`headlessui-combobox-input-${W()}`,e=K(\"ComboboxInput\"),c=m(()=>he(x(e.inputRef))),f={value:!1};o({el:e.inputRef,$el:e.inputRef});function S(){e.change(null);let i=x(e.optionsRef);i&&(i.scrollTop=0),e.goToOption(P.Nothing)}let v=m(()=>{var I;let i=e.value.value;return x(e.inputRef)?typeof a.displayValue!=\"undefined\"&&i!==void 0?(I=a.displayValue(i))!=null?I:\"\":typeof i==\"string\"?i:\"\":\"\"});X(()=>{J([v,e.comboboxState,c],([i,I],[T,l])=>{if(f.value)return;let g=x(e.inputRef);g&&((l===0&&I===1||i!==T)&&(g.value=i),requestAnimationFrame(()=>{var s;if(f.value||!g||((s=c.value)==null?void 0:s.activeElement)!==g)return;let{selectionStart:t,selectionEnd:n}=g;Math.abs((n!=null?n:0)-(t!=null?t:0))===0&&t===0&&g.setSelectionRange(g.value.length,g.value.length)}))},{immediate:!0}),J([e.comboboxState],([i],[I])=>{if(i===0&&I===1){if(f.value)return;let T=x(e.inputRef);if(!T)return;let l=T.value,{selectionStart:g,selectionEnd:t,selectionDirection:n}=T;T.value=\"\",T.value=l,n!==null?T.setSelectionRange(g,t,n):T.setSelectionRange(g,t)}})});let d=k(!1);function D(){d.value=!0}function E(){ae().nextFrame(()=>{d.value=!1})}let w=be();function M(i){switch(f.value=!0,w(()=>{f.value=!1}),i.key){case F.Enter:if(f.value=!1,e.comboboxState.value!==0||d.value)return;if(i.preventDefault(),i.stopPropagation(),e.activeOptionIndex.value===null){e.closeCombobox();return}e.selectActiveOption(),e.mode.value===0&&e.closeCombobox();break;case F.ArrowDown:return f.value=!1,i.preventDefault(),i.stopPropagation(),_(e.comboboxState.value,{[0]:()=>e.goToOption(P.Next),[1]:()=>e.openCombobox()});case F.ArrowUp:return f.value=!1,i.preventDefault(),i.stopPropagation(),_(e.comboboxState.value,{[0]:()=>e.goToOption(P.Previous),[1]:()=>{e.openCombobox(),N(()=>{e.value.value||e.goToOption(P.Last)})}});case F.Home:if(i.shiftKey)break;return f.value=!1,i.preventDefault(),i.stopPropagation(),e.goToOption(P.First);case F.PageUp:return f.value=!1,i.preventDefault(),i.stopPropagation(),e.goToOption(P.First);case F.End:if(i.shiftKey)break;return f.value=!1,i.preventDefault(),i.stopPropagation(),e.goToOption(P.Last);case F.PageDown:return f.value=!1,i.preventDefault(),i.stopPropagation(),e.goToOption(P.Last);case F.Escape:if(f.value=!1,e.comboboxState.value!==0)return;i.preventDefault(),e.optionsRef.value&&!e.optionsPropsRef.value.static&&i.stopPropagation(),e.nullable.value&&e.mode.value===0&&e.value.value===null&&S(),e.closeCombobox();break;case F.Tab:if(f.value=!1,e.comboboxState.value!==0)return;e.mode.value===0&&e.activationTrigger.value!==1&&e.selectActiveOption(),e.closeCombobox();break}}function $(i){h(\"change\",i),e.nullable.value&&e.mode.value===0&&i.target.value===\"\"&&S(),e.openCombobox()}function B(i){var T,l,g;let I=(T=i.relatedTarget)!=null?T:oe.find(t=>t!==i.currentTarget);if(f.value=!1,!((l=x(e.optionsRef))!=null&&l.contains(I))&&!((g=x(e.buttonRef))!=null&&g.contains(I))&&e.comboboxState.value===0)return i.preventDefault(),e.mode.value===0&&(e.nullable.value&&e.value.value===null?S():e.activationTrigger.value!==1&&e.selectActiveOption()),e.closeCombobox()}function p(i){var T,l,g;let I=(T=i.relatedTarget)!=null?T:oe.find(t=>t!==i.currentTarget);(l=x(e.buttonRef))!=null&&l.contains(I)||(g=x(e.optionsRef))!=null&&g.contains(I)||e.disabled.value||e.immediate.value&&e.comboboxState.value!==0&&(e.openCombobox(),ae().nextFrame(()=>{e.setActivationTrigger(1)}))}let R=m(()=>{var i,I,T,l;return(l=(T=(I=a.defaultValue)!=null?I:e.defaultValue.value!==void 0?(i=a.displayValue)==null?void 0:i.call(a,e.defaultValue.value):null)!=null?T:e.defaultValue.value)!=null?l:\"\"});return()=>{var t,n,s,b,O,C,A;let i={open:e.comboboxState.value===0},{displayValue:I,onChange:T,...l}=a,g={\"aria-controls\":(t=e.optionsRef.value)==null?void 0:t.id,\"aria-expanded\":e.comboboxState.value===0,\"aria-activedescendant\":e.activeOptionIndex.value===null?void 0:e.virtual.value?(n=e.options.value.find(j=>!e.virtual.value.disabled(j.dataRef.value)&&e.compare(j.dataRef.value,e.virtual.value.options[e.activeOptionIndex.value])))==null?void 0:n.id:(s=e.options.value[e.activeOptionIndex.value])==null?void 0:s.id,\"aria-labelledby\":(C=(b=x(e.labelRef))==null?void 0:b.id)!=null?C:(O=x(e.buttonRef))==null?void 0:O.id,\"aria-autocomplete\":\"list\",id:u,onCompositionstart:D,onCompositionend:E,onKeydown:M,onInput:$,onFocus:p,onBlur:B,role:\"combobox\",type:(A=r.type)!=null?A:\"text\",tabIndex:0,ref:e.inputRef,defaultValue:R.value,disabled:e.disabled.value===!0?!0:void 0};return U({ourProps:g,theirProps:l,slot:i,attrs:r,slots:y,features:Q.RenderStrategy|Q.Static,name:\"ComboboxInput\"})}}}),ut=H({name:\"ComboboxOptions\",props:{as:{type:[Object,String],default:\"ul\"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},hold:{type:[Boolean],default:!1}},setup(a,{attrs:h,slots:r,expose:y}){let o=K(\"ComboboxOptions\"),u=`headlessui-combobox-options-${W()}`;y({el:o.optionsRef,$el:o.optionsRef}),Y(()=>{o.optionsPropsRef.value.static=a.static}),Y(()=>{o.optionsPropsRef.value.hold=a.hold});let e=Ce(),c=m(()=>e!==null?(e.value&G.Open)===G.Open:o.comboboxState.value===0);ge({container:m(()=>x(o.optionsRef)),enabled:m(()=>o.comboboxState.value===0),accept(S){return S.getAttribute(\"role\")===\"option\"?NodeFilter.FILTER_REJECT:S.hasAttribute(\"role\")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(S){S.setAttribute(\"role\",\"none\")}});function f(S){S.preventDefault()}return()=>{var D,E,w;let S={open:o.comboboxState.value===0},v={\"aria-labelledby\":(w=(D=x(o.labelRef))==null?void 0:D.id)!=null?w:(E=x(o.buttonRef))==null?void 0:E.id,id:u,ref:o.optionsRef,role:\"listbox\",\"aria-multiselectable\":o.mode.value===1?!0:void 0,onMousedown:f},d=Z(a,[\"hold\"]);return U({ourProps:v,theirProps:d,slot:S,attrs:h,slots:o.virtual.value&&o.comboboxState.value===0?{...r,default:()=>[z(Ae,{},r.default)]}:r,features:Q.RenderStrategy|Q.Static,visible:c.value,name:\"ComboboxOptions\"})}}}),rt=H({name:\"ComboboxOption\",props:{as:{type:[Object,String],default:\"li\"},value:{type:[Object,String,Number,Boolean]},disabled:{type:Boolean,default:!1},order:{type:[Number],default:null}},setup(a,{slots:h,attrs:r,expose:y}){let o=K(\"ComboboxOption\"),u=`headlessui-combobox-option-${W()}`,e=k(null),c=m(()=>a.disabled);y({el:e,$el:e});let f=m(()=>{var p;return o.virtual.value?o.activeOptionIndex.value===o.calculateIndex(a.value):o.activeOptionIndex.value===null?!1:((p=o.options.value[o.activeOptionIndex.value])==null?void 0:p.id)===u}),S=m(()=>o.isSelected(a.value)),v=ee(ie,null),d=m(()=>({disabled:a.disabled,value:a.value,domRef:e,order:m(()=>a.order)}));X(()=>o.registerOption(u,d)),fe(()=>o.unregisterOption(u,f.value)),Y(()=>{let p=x(e);p&&(v==null||v.value.measureElement(p))}),Y(()=>{o.comboboxState.value===0&&f.value&&(o.virtual.value||o.activationTrigger.value!==0&&N(()=>{var p,R;return(R=(p=x(e))==null?void 0:p.scrollIntoView)==null?void 0:R.call(p,{block:\"nearest\"})}))});function D(p){p.preventDefault(),p.button===ye.Left&&(c.value||(o.selectOption(u),we()||requestAnimationFrame(()=>{var R;return(R=x(o.inputRef))==null?void 0:R.focus({preventScroll:!0})}),o.mode.value===0&&o.closeCombobox()))}function E(){var R;if(a.disabled||(R=o.virtual.value)!=null&&R.disabled(a.value))return o.goToOption(P.Nothing);let p=o.calculateIndex(a.value);o.goToOption(P.Specific,p)}let w=xe();function M(p){w.update(p)}function $(p){var V;if(!w.wasMoved(p)||a.disabled||(V=o.virtual.value)!=null&&V.disabled(a.value)||f.value)return;let R=o.calculateIndex(a.value);o.goToOption(P.Specific,R,0)}function B(p){var R;w.wasMoved(p)&&(a.disabled||(R=o.virtual.value)!=null&&R.disabled(a.value)||f.value&&(o.optionsPropsRef.value.hold||o.goToOption(P.Nothing)))}return()=>{let{disabled:p}=a,R={active:f.value,selected:S.value,disabled:p},V={id:u,ref:e,role:\"option\",tabIndex:p===!0?void 0:-1,\"aria-disabled\":p===!0?!0:void 0,\"aria-selected\":S.value,disabled:void 0,onMousedown:D,onFocus:E,onPointerenter:M,onMouseenter:M,onPointermove:$,onMousemove:$,onPointerleave:B,onMouseleave:B},i=Z(a,[\"order\",\"value\"]);return U({ourProps:V,theirProps:i,slot:R,attrs:r,slots:h,name:\"ComboboxOption\"})}}});export{lt as Combobox,nt as ComboboxButton,it as ComboboxInput,at as ComboboxLabel,rt as ComboboxOption,ut as ComboboxOptions};\n","<template>\n <div class=\"sl-w-full\">\n <FormFieldWrapper\n :id=\"id\"\n :name=\"name\"\n :label=\"label\"\n :disabled=\"disabled\"\n :optional=\"!rules\"\n :tertiary-label=\"tertiaryLabel\"\n :box-shadow=\"boxShadow\"\n :error-message=\"errorMessage\"\n :success-message=\"successMessage\"\n :is-valid=\"meta.valid\"\n :is-touched=\"meta.touched\"\n >\n <Combobox\n v-model=\"selectedValue\"\n :disabled=\"disabled\"\n :multiple=\"multiple\"\n @update:model-value=\"handleChange\"\n >\n <div :class=\"wrapperClasses\">\n <ComboboxInput\n :id=\"id\"\n :class=\"inputClasses\"\n :display-value=\"displayComboboxValue\"\n :placeholder=\"placeholder || 'Type to search...'\"\n v-model=\"query\"\n @input=\"onQueryInput\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n />\n \n <ComboboxButton class=\"sl-absolute sl-inset-y-0 sl-right-0 sl-flex sl-items-center sl-pr-2\">\n <ChevronUpDownIcon\n class=\"sl-h-5 sl-w-5 sl-text-gray-400\"\n aria-hidden=\"true\"\n />\n </ComboboxButton>\n\n <TransitionRoot\n leave=\"sl-transition sl-ease-in sl-duration-100\"\n leave-from=\"sl-opacity-100\"\n leave-to=\"sl-opacity-0\"\n @after-leave=\"query = ''\"\n >\n <ComboboxOptions\n v-if=\"filteredItems.length > 0 || query !== '' || (multiple && showAll)\"\n class=\"sl-absolute sl-z-10 sl-mt-1 sl-max-h-60 sl-w-full sl-overflow-auto sl-rounded-md sl-bg-white sl-py-1 sl-text-base sl-shadow-lg sl-ring-1 sl-ring-black sl-ring-opacity-5 focus:sl-outline-none sm:sl-text-sm\"\n @scroll=\"onScroll\"\n >\n <!-- Select All option -->\n <ComboboxOption\n v-if=\"multiple && showAll\"\n :value=\"null\"\n :disabled=\"true\"\n as=\"template\"\n v-slot=\"{ active }\"\n >\n <li\n @click.prevent.stop=\"toggleSelectAll\"\n :class=\"[\n 'sl-relative sl-cursor-default sl-select-none sl-py-2 sl-pl-10 sl-pr-4',\n active ? 'sl-bg-stachelock-600 sl-text-white' : 'sl-text-gray-900'\n ]\"\n >\n <span class=\"sl-block sl-truncate sl-font-medium\">\n {{ isAllSelected ? 'Unselect All' : 'Select All' }}\n </span>\n </li>\n </ComboboxOption>\n <!-- Loading state -->\n <div \n v-if=\"loading\"\n class=\"sl-relative sl-cursor-default sl-select-none sl-py-2 sl-px-4 sl-text-gray-700\"\n >\n <div class=\"sl-flex sl-items-center sl-gap-2\">\n <Loading size=\"sm\" />\n <span>Loading...</span>\n </div>\n </div>\n \n <!-- No results -->\n <div\n v-else-if=\"query !== '' && filteredItems.length === 0\"\n class=\"sl-relative sl-cursor-default sl-select-none sl-py-2 sl-px-4 sl-text-gray-700\"\n >\n Nothing found.\n </div>\n \n <!-- Options -->\n <ComboboxOption\n v-for=\"item in visibleItems\"\n :key=\"getItemKey(item)\"\n :value=\"item\"\n as=\"template\"\n :disabled=\"item.disabled\"\n v-slot=\"{ active, selected }\"\n >\n <li\n :class=\"[\n 'sl-relative sl-cursor-default sl-select-none sl-py-2 sl-pl-10 sl-pr-4',\n active ? 'sl-bg-stachelock-600 sl-text-white' : 'sl-text-gray-900',\n item.disabled ? 'sl-opacity-50 sl-cursor-not-allowed' : ''\n ]\"\n >\n <span\n :class=\"[\n 'sl-block sl-truncate',\n selected ? 'sl-font-medium' : 'sl-font-normal'\n ]\"\n >\n {{ getItemText(item) }}\n </span>\n <span\n v-if=\"selected\"\n class=\"sl-absolute sl-inset-y-0 sl-left-0 sl-flex sl-items-center sl-pl-3\"\n :class=\"active ? 'sl-text-white' : 'sl-text-stachelock-600'\"\n >\n <CheckIcon class=\"sl-h-5 sl-w-5\" aria-hidden=\"true\" />\n </span>\n </li>\n </ComboboxOption>\n <!-- Manual entry option -->\n <ComboboxOption\n v-if=\"!multiple && queryValue\"\n :value=\"queryValue\"\n as=\"template\"\n v-slot=\"{ active }\"\n >\n <li\n @click.prevent.stop=\"handleManualEntry\"\n :class=\"[\n 'sl-relative sl-cursor-pointer sl-select-none sl-py-2 sl-pl-10 sl-pr-4',\n active ? 'sl-bg-stachelock-600 sl-text-white' : 'sl-text-gray-900'\n ]\"\n >\n <span class=\"sl-block sl-truncate\">\n Enter \"{{ query }}\" manually\n </span>\n </li>\n </ComboboxOption>\n </ComboboxOptions>\n </TransitionRoot>\n </div>\n </Combobox>\n \n <template #success-message>\n <span v-if=\"successMessage\">{{ successMessage }}</span>\n </template>\n </FormFieldWrapper>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref, watch } from 'vue'\nimport {\n Combobox,\n ComboboxInput,\n ComboboxButton,\n ComboboxOption,\n ComboboxOptions,\n TransitionRoot,\n} from '@headlessui/vue'\nimport { CheckIcon, ChevronUpDownIcon } from '@heroicons/vue/20/solid'\nimport { useField } from 'vee-validate'\nimport FormFieldWrapper from '../forms/FormFieldWrapper.vue'\nimport Loading from '../UiLoading.vue'\nimport type { ValidationRule } from '../../types/form'\nimport { generateId } from '../../utils/id'\n\ninterface ComboboxItem {\n [key: string]: any\n disabled?: boolean\n}\n\ninterface Props {\n name: string\n items: ComboboxItem[]\n label?: string\n placeholder?: string\n disabled?: boolean\n rules?: ValidationRule\n validateOnMount?: boolean\n successMessage?: string\n tertiaryLabel?: string\n itemKey?: string\n itemText?: string\n customQuery?: (query: string, items: ComboboxItem[]) => ComboboxItem[]\n loading?: boolean\n multiple?: boolean\n showAll?: boolean\n modelValue?: any\n boxShadow?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n itemKey: 'id',\n itemText: 'name',\n loading: false,\n multiple: false,\n showAll: false,\n boxShadow: false\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: any]\n 'update:query': [query: string]\n blur: [event: FocusEvent]\n focus: [event: FocusEvent]\n}>()\n\nconst id = generateId(props.name)\nconst query = ref('')\n\n// Use vee-validate for form validation\nconst { value, errorMessage, handleChange: handleValidation, meta, setTouched } = useField(\n () => props.name,\n props.rules,\n {\n validateOnMount: props.validateOnMount,\n initialValue: props.modelValue\n }\n)\n\nconst selectedValue = ref<any>(\n props.multiple\n ? (Array.isArray(props.modelValue) ? props.modelValue : [])\n : props.modelValue\n)\n\n// Watch for external changes\nwatch(\n () => props.modelValue,\n (newValue) => {\n if (props.multiple) {\n const coerced = Array.isArray(newValue) ? newValue : []\n if (coerced !== selectedValue.value) {\n selectedValue.value = coerced\n value.value = coerced\n }\n } else {\n if (newValue !== selectedValue.value) {\n selectedValue.value = newValue\n value.value = newValue\n }\n }\n },\n { immediate: true }\n)\n\nwatch(\n selectedValue,\n (newValue) => {\n emit('update:modelValue', newValue)\n }\n)\n\nconst inputClasses = computed(() => {\n const baseClasses = [\n 'sl-w-full',\n 'sl-border-none',\n 'sl-py-2',\n 'sl-pl-3',\n 'sl-pr-10',\n 'sl-text-sm',\n 'sl-leading-5',\n 'sl-text-gray-900',\n 'focus:sl-outline-none',\n 'focus:sl-ring-0',\n 'sl-bg-transparent'\n ]\n\n return baseClasses.join(' ')\n})\n\nconst wrapperClasses = computed(() => {\n const baseClasses = [\n 'sl-relative',\n 'sl-w-full',\n 'sl-cursor-default',\n 'sl-rounded-lg',\n 'sl-bg-white',\n 'sl-text-left',\n 'sl-border',\n 'focus-within:sl-ring-2',\n 'focus-within:sl-ring-stachelock-500',\n 'focus-within:sl-border-stachelock-500',\n 'sl-transition-all',\n 'sl-duration-200'\n ]\n\n if (props.disabled) {\n baseClasses.push(\n 'sl-bg-gray-50',\n 'sl-cursor-not-allowed',\n 'sl-border-gray-200'\n )\n } else if (errorMessage.value) {\n baseClasses.push(\n 'sl-border-red-300',\n 'focus-within:sl-ring-red-500',\n 'focus-within:sl-border-red-500'\n )\n } else if (meta.valid && meta.touched) {\n baseClasses.push(\n 'sl-border-green-300',\n 'focus-within:sl-ring-green-500',\n 'focus-within:sl-border-green-500'\n )\n } else {\n baseClasses.push(\n 'sl-border-gray-300',\n 'hover:sl-border-gray-400'\n )\n }\n\n return baseClasses.join(' ')\n})\n\nconst getItemKey = (item: ComboboxItem): any => {\n return item[props.itemKey]\n}\n\nconst getItemText = (item: ComboboxItem): string => {\n if (!item) return ''\n return item[props.itemText] || item.toString()\n}\n\n// Filtering and infinite scroll state\nconst filteredItems = ref<ComboboxItem[]>([])\nconst visibleItems = ref<ComboboxItem[]>([])\nconst itemsPerPage = 50\nconst currentPage = ref(1)\n\nconst loadMoreItems = () => {\n const end = currentPage.value * itemsPerPage\n visibleItems.value = filteredItems.value.slice(0, end)\n currentPage.value += 1\n}\n\nconst resetPagination = () => {\n currentPage.value = 1\n visibleItems.value = []\n loadMoreItems()\n}\n\nconst recomputeFilteredItems = () => {\n if (query.value && query.value !== '') {\n if (props.customQuery) {\n filteredItems.value = props.customQuery(query.value, props.items)\n } else {\n const lower = query.value.toLowerCase()\n filteredItems.value = props.items.filter((item) => {\n const text = getItemText(item)\n return text.toLowerCase().includes(lower)\n })\n }\n } else {\n filteredItems.value = props.items\n }\n resetPagination()\n}\n\nconst allItems = computed(() => {\n return props.items.filter(item => !item.disabled)\n})\n\nconst onQueryInput = (event: Event) => {\n const target = event.target as HTMLInputElement\n query.value = target.value\n emit('update:query', query.value)\n recomputeFilteredItems()\n}\n\nconst handleChange = (value: any) => {\n selectedValue.value = value\n setTouched(true)\n handleValidation(value)\n}\n\nconst isAllSelected = computed(() => {\n if (!props.multiple || !Array.isArray(selectedValue.value)) return false\n const selectable = allItems.value\n if (selectable.length === 0) return false\n return selectable.every(item => (selectedValue.value as any[]).includes(item))\n})\n\nconst toggleSelectAll = () => {\n if (!props.multiple) return\n if (isAllSelected.value) {\n selectedValue.value = []\n } else {\n selectedValue.value = [...allItems.value]\n }\n handleValidation(selectedValue.value)\n}\n\nconst displayComboboxValue = (val: any): string => {\n if (!props.multiple) {\n return getItemText(val as ComboboxItem)\n }\n if (!Array.isArray(val) || val.length === 0) return ''\n if (val.length === 1) return getItemText(val[0] as ComboboxItem)\n return `${val.length} selected`\n}\n\n// Manual entry support (single-select only)\nconst queryValue = computed(() => {\n if (props.multiple) return null\n return query.value === '' ? null : { [props.itemKey]: null, [props.itemText]: query.value }\n})\n\nconst handleManualEntry = () => {\n if (props.multiple) return\n if (!queryValue.value) return\n // If customQuery provided and expects external handling, emit raw query\n if (props.customQuery) {\n emit('update:modelValue', query.value)\n handleValidation(query.value)\n } else {\n selectedValue.value = queryValue.value\n handleValidation(selectedValue.value)\n }\n}\n\nconst onScroll = (event: Event) => {\n const element = event.target as HTMLElement\n if (element.scrollTop + element.clientHeight >= element.scrollHeight) {\n loadMoreItems()\n }\n}\n\nconst onFocus = (event: FocusEvent) => {\n emit('focus', event)\n}\n\nconst onBlur = (event: FocusEvent) => {\n if (!props.multiple && queryValue.value) {\n selectedValue.value = queryValue.value\n handleValidation(selectedValue.value)\n emit('update:modelValue', selectedValue.value)\n }\n emit('blur', event)\n}\n\n// Initialize and keep filtered items in sync\nwatch(() => props.items, () => {\n recomputeFilteredItems()\n}, { immediate: true, deep: true })\n</script>\n\n\n"],"names":["memo","getDeps","fn","opts","deps","result","memoizedFunction","_a","_b","_c","_d","depTime","newDeps","dep","index","resultTime","depEndTime","resultEndTime","resultFpsPercentage","pad","str","num","notUndefined","value","msg","approxEqual","a","b","debounce","targetWindow","ms","timeoutId","args","getRect","element","offsetWidth","offsetHeight","defaultKeyExtractor","defaultRangeExtractor","range","start","end","arr","i","observeElementRect","instance","cb","handler","rect","width","height","observer","entries","run","entry","box","addEventListenerOptions","supportsScrollend","observeElementOffset","offset","fallback","createHandler","isScrolling","horizontal","isRtl","endHandler","registerScrollendEvent","measureElement","elementScroll","adjustments","behavior","toOffset","Virtualizer","_ro","get","target","opts2","key","sync","d","scrollElement","cached","measurements","furthestMeasurementsFound","furthestMeasurements","m","measurement","previousFurthestMeasurement","count","paddingStart","scrollMargin","getItemKey","enabled","itemSizeCache","item","min","furthestMeasurement","measuredSize","size","lane","outerSize","scrollOffset","lanes","calculateRange","startIndex","endIndex","rangeExtractor","overscan","node","attributeName","indexStr","prevNode","itemSize","delta","indexes","virtualItems","k","len","findNearestBinarySearch","align","maxOffset","initialAlign","attempts","maxAttempts","tryScroll","currentAlign","offsetInfo","currentOffset","afterInfo","scheduleRetry","endByLane","val","low","high","getCurrentValue","middle","currentValue","lastIndex","getOffset","endPerLane","pos","startPerLane","useVirtualizerBase","options","virtualizer","unref","state","shallowRef","cleanup","watch","el","options2","triggerRef","onScopeDispose","useVirtualizer","computed","o","e","s","t","r","p","l","u","c","f","n","g","De","h","Ee","Ve","ke","y","ne","K","ee","ie","Ae","H","x","re","J","te","z","de","lt","S","v","D","E","w","C","A","Te","O","M","$","B","pe","R","_","V","I","L","T","P","le","j","q","ve","ce","Re","G","X","se","Ie","ue","Oe","Pe","Se","U","Z","W","nt","N","F","me","it","he","ae","be","oe","Q","ut","Y","Ce","ge","rt","fe","ye","we","xe","itemsPerPage","props","__props","emit","__emit","id","generateId","query","ref","errorMessage","handleValidation","meta","setTouched","useField","selectedValue","newValue","coerced","inputClasses","wrapperClasses","baseClasses","getItemText","filteredItems","visibleItems","currentPage","loadMoreItems","resetPagination","recomputeFilteredItems","lower","allItems","onQueryInput","event","handleChange","isAllSelected","selectable","toggleSelectAll","displayComboboxValue","queryValue","handleManualEntry","onScroll","onFocus","onBlur","_openBlock","_createElementBlock","_hoisted_1","_createVNode","FormFieldWrapper","_unref","name","label","disabled","rules","tertiaryLabel","boxShadow","successMessage","Combobox","$event","multiple","_createElementVNode","ComboboxInput","placeholder","ComboboxButton","ChevronUpDownIcon","TransitionRoot","showAll","_createBlock","ComboboxOptions","ComboboxOption","_withCtx","active","_normalizeClass","_hoisted_2","_toDisplayString","loading","_hoisted_3","_hoisted_4","Loading","_cache","_hoisted_5","_Fragment","_renderList","selected","CheckIcon","_hoisted_6"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7]}
|