@mattilsynet/design 1.3.9 → 1.3.11

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.
@@ -1 +1 @@
1
- {"version":3,"file":"u-combobox.js","sources":["../../../../../node_modules/@u-elements/u-combobox/dist/u-combobox.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\n\n// ../utils.ts\nvar IS_BROWSER = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.navigator !== \"undefined\";\nvar IS_ANDROID = IS_BROWSER && /android/i.test(navigator.userAgent);\nvar IS_FIREFOX = IS_BROWSER && /firefox/i.test(navigator.userAgent);\nvar IS_IOS = IS_BROWSER && /iPad|iPhone|iPod/.test(navigator.userAgent);\nvar _a;\nIS_BROWSER && // @ts-expect-error Typescript has not implemented userAgentData yet https://stackoverflow.com/a/71392474\n/^Mac/i.test(((_a = navigator.userAgentData) == null ? void 0 : _a.platform) || navigator.platform);\nvar FOCUS_OUTLINE = \"outline: 1px dotted; outline: 5px auto Highlight; outline: 5px auto -webkit-focus-ring-color\";\nvar UHTMLElement = typeof HTMLElement === \"undefined\" ? class {\n} : HTMLElement;\nfunction attr(el, name, value) {\n if (value === void 0) return el.getAttribute(name);\n if (value === null) el.removeAttribute(name);\n else if (el.getAttribute(name) !== value) el.setAttribute(name, value);\n return null;\n}\nvar events = (action, element, rest) => {\n for (const type of rest[0].split(\",\")) {\n rest[0] = type;\n Element.prototype[`${action}EventListener`].apply(element, rest);\n }\n};\nvar on = (element, ...rest) => events(\"add\", element, rest);\nvar off = (element, ...rest) => events(\"remove\", element, rest);\nvar observers = /* @__PURE__ */ new WeakMap();\nvar mutationObserver = (element, options) => {\n if (options === void 0) return observers.get(element);\n try {\n observers.get(element).disconnect();\n observers.delete(element);\n } catch (_err) {\n }\n if (options) {\n const observer = new MutationObserver(\n (detail) => element.handleEvent({ type: \"mutation\", detail })\n );\n observer.observe(element, options);\n observers.set(element, observer);\n }\n};\nvar asButton = (event) => {\n const isClick = \"key\" in event && (event.key === \" \" || event.key === \"Enter\");\n if (isClick) event.preventDefault();\n if (isClick && event.target instanceof HTMLElement) event.target.click();\n return isClick;\n};\nvar getRoot = (node) => {\n var _a2;\n const root = ((_a2 = node.getRootNode) == null ? void 0 : _a2.call(node)) || node.ownerDocument;\n return root instanceof Document || root instanceof ShadowRoot ? root : document;\n};\nvar id = 0;\nvar useId = (el) => {\n if (!el) return \"\";\n if (!el.id) el.id = `:${el.nodeName.toLowerCase()}${(++id).toString(32)}`;\n return el.id;\n};\nvar createElement = (tagName, text2, attrs) => {\n const el = document.createElement(tagName);\n if (text2) el.textContent = text2;\n if (attrs) for (const [key, val] of Object.entries(attrs)) attr(el, key, val);\n return el;\n};\nvar customElements = {\n define: (name, instance) => !IS_BROWSER || window.customElements.get(name) || window.customElements.define(name, instance)\n};\nvar LIVE;\nvar LIVE_SR_FIX = 0;\nvar speak = (text2) => {\n if (!LIVE) {\n LIVE = createElement(\"div\");\n LIVE.style.cssText = \"position:fixed;overflow:hidden;width:1px;white-space:nowrap\";\n attr(LIVE, \"aria-live\", \"assertive\");\n }\n if (!LIVE.isConnected) document.body.append(LIVE);\n if (text2) LIVE.textContent = `${text2}${LIVE_SR_FIX++ % 2 ? \"\\xA0\" : \"\"}`;\n};\nvar setValue = (input, data, type = \"\") => {\n var _a2, _b;\n const event = { bubbles: true, composed: true, data, inputType: type };\n const proto = HTMLInputElement.prototype;\n input.dispatchEvent(new InputEvent(\"beforeinput\", event));\n (_b = (_a2 = Object.getOwnPropertyDescriptor(proto, \"value\")) == null ? void 0 : _a2.set) == null ? void 0 : _b.call(input, data);\n input.dispatchEvent(new InputEvent(\"input\", event));\n input.dispatchEvent(new Event(\"change\", { bubbles: true }));\n};\nvar IS_PRESS = false;\nvar isMouseDown = (event) => {\n if ((event == null ? void 0 : event.type) === \"mouseup\") IS_PRESS = false;\n if ((event == null ? void 0 : event.type) === \"mousedown\") {\n IS_PRESS = true;\n on(document, \"mouseup\", isMouseDown, { once: true });\n }\n return IS_PRESS;\n};\n\n// u-combobox.ts\nvar EVENTS = \"beforeinput,blur,focus,click,input,keydown,mousedown\";\nvar EVENT_ONCE = { once: true, passive: true };\nvar IS_FIREFOX_DESKTOP = IS_FIREFOX && !IS_ANDROID;\nvar IS_MOBILE = IS_ANDROID || IS_IOS;\nvar FALSE = \"false\";\nvar TEXTS = {\n added: \"Added\",\n empty: \"No selected\",\n found: \"Navigate left to find %d selected\",\n invalid: \"Invalid value\",\n of: \"of\",\n remove: \"Press to remove\",\n removed: \"Removed\"\n};\nvar UHTMLComboboxElement = class extends UHTMLElement {\n constructor() {\n super();\n this._itemText = \"\";\n // Locally store item text to compare change in single mode\n this._speak = \"\";\n this._texts = __spreadValues({}, TEXTS);\n this._value = \"\";\n this.attachShadow({ mode: \"open\" }).append(\n createElement(\"slot\"),\n // Content slot\n createElement(\n \"style\",\n `:host(:not([hidden])) { display: block; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0) } /* Must be display block in Safari to allow focus inside */\n\t\t\t\t:host(:not([data-multiple])) ::slotted(data),\n\t\t\t\t:host([data-multiple=\"false\"]) ::slotted(data) { display: none } /* Hide data if not multiple */\n\t\t\t\t::slotted(input[inputmode=\"none\"]) { outline: none } /* Hide temporary foucs outline flash */\n\t\t\t\t::slotted(del) { text-decoration: none }\n\t\t\t\t::slotted(data:not([hidden])) { display: inline-block; pointer-events: none }\n ::slotted(data)::after { content: '\\\\00D7'; content: '\\\\00D7' / ''; padding-inline: .5ch; pointer-events: auto }\n ::slotted(data:focus) { ${FOCUS_OUTLINE} }`\n )\n );\n }\n // Locally store value to store value before input-click\n // Using ES2015 syntax for backwards compatibility\n static get observedAttributes() {\n return Object.keys(TEXTS).map((key) => `data-sr-${key}`);\n }\n connectedCallback() {\n this._root = getRoot(this);\n on(this, EVENTS, this, true);\n mutationObserver(this, {\n attributeFilter: [\"value\"],\n // Respond to changes in <data> value,\n attributes: true,\n characterData: true,\n // Respond to changes in <data> textContent\n childList: true,\n subtree: true\n });\n setTimeout(render, 0, this);\n setTimeout(syncInputValue, 0, this);\n }\n attributeChangedCallback(prop, _, val) {\n const text2 = prop.split(\"data-sr-\")[1];\n if (TEXTS[text2]) this._texts[text2] = val || TEXTS[text2];\n }\n disconnectedCallback() {\n mutationObserver(this, false);\n off(this, EVENTS, this, true);\n this._items = this._clear = this._focus = this._control = void 0;\n this._list = this._options = this._root = void 0;\n }\n handleEvent(event) {\n const target = event.target;\n if (event.type === \"beforeinput\") this._value = (target == null ? void 0 : target.value) || \"\";\n if (event.type === \"blur\") onBlur(this);\n if (event.type === \"click\") onClick(this, event);\n if (event.type === \"focus\") onFocus(this, event);\n if (event.type === \"input\") onInput(this, event);\n if (event.type === \"keydown\") onKeyDown(this, event);\n if (event.type === \"mousedown\") isMouseDown(event);\n if (event.type === \"mutation\") render(this, event);\n }\n get multiple() {\n var _a2;\n return ((_a2 = attr(this, \"data-multiple\")) != null ? _a2 : FALSE) !== FALSE;\n }\n set multiple(value) {\n attr(this, \"data-multiple\", value ? \"\" : null);\n }\n get creatable() {\n var _a2;\n return ((_a2 = attr(this, \"data-creatable\")) != null ? _a2 : FALSE) !== FALSE;\n }\n set creatable(value) {\n attr(this, \"data-creatable\", value ? \"\" : null);\n }\n get control() {\n var _a2;\n if (!((_a2 = this._control) == null ? void 0 : _a2.isConnected))\n this._control = this.querySelector(\"input\");\n return this._control;\n }\n get list() {\n var _a2;\n if (!((_a2 = this._list) == null ? void 0 : _a2.isConnected))\n this._list = this.querySelector(\"u-datalist,datalist\");\n return this._list;\n }\n get clear() {\n var _a2;\n if (!((_a2 = this._clear) == null ? void 0 : _a2.isConnected)) this._clear = this.querySelector(\"del\");\n return this._clear;\n }\n get items() {\n if (!this._items) this._items = this.getElementsByTagName(\"data\");\n return this._items;\n }\n get options() {\n var _a2, _b;\n if (!this._options) {\n const tag = ((_a2 = this.list) == null ? void 0 : _a2.nodeName) === \"U-DATALIST\" ? \"u-option\" : \"option\";\n this._options = (_b = this.list) == null ? void 0 : _b.getElementsByTagName(tag);\n }\n return this._options;\n }\n get values() {\n return [...this.items].map(({ value }) => value);\n }\n};\nvar text = (el) => {\n var _a2;\n return ((_a2 = el == null ? void 0 : el.textContent) == null ? void 0 : _a2.trim()) || \"\";\n};\nvar isData = (el) => el instanceof HTMLDataElement;\nvar render = (self, event) => {\n var _a2, _b;\n const { _focus, _texts, items, control, list, multiple } = self;\n let label = `${text((_a2 = control == null ? void 0 : control.labels) == null ? void 0 : _a2[0])}, ${multiple ? items.length ? _texts.found.replace(\"%d\", `${items.length}`) : _texts.empty : \"\"}`;\n const edits = [];\n for (const { addedNodes, removedNodes } of (event == null ? void 0 : event.detail) || []) {\n for (const el of addedNodes) if (isData(el)) edits.unshift(el);\n for (const el of removedNodes) if (isData(el)) edits.push(el);\n }\n const shouldAnnounce = multiple ? edits.length === 1 : edits[0] === _focus;\n if (_focus && control && shouldAnnounce) {\n const inputMode = attr(control, \"inputmode\");\n const nextFocus = isData(_focus) ? control : _focus;\n self._speak = `${_texts[edits[0].isConnected ? \"added\" : \"removed\"]} ${text(edits[0])}, `;\n if (IS_MOBILE || _focus === control) speak(self._speak);\n if (control !== nextFocus) {\n attr(control, \"aria-expanded\", null);\n attr(control, \"inputmode\", \"none\");\n label = \"\\xA0\";\n control.focus();\n }\n setTimeout(() => {\n var _a3;\n attr(control, \"aria-expanded\", \"true\");\n attr(control, \"inputmode\", inputMode);\n (_a3 = nextFocus == null ? void 0 : nextFocus.focus) == null ? void 0 : _a3.call(nextFocus);\n self._speak = \"\";\n if (IS_FIREFOX_DESKTOP) on(self, \"blur\", () => render(self), EVENT_ONCE);\n else setTimeout(render, 100, self);\n }, 100);\n }\n let idx = 0;\n const select = self.querySelector(\"select\");\n for (const item of items) {\n const option = select == null ? void 0 : select.options[idx];\n const label2 = text(item);\n const value = item.value || label2;\n const aria = `${self._speak}${label2}, ${_texts.remove}, ${++idx} ${_texts.of} ${items.length}`;\n attr(item, \"role\", \"button\");\n attr(item, \"value\", value);\n attr(item, \"tabindex\", \"-1\");\n attr(item, \"aria-label\", aria);\n if (option) Object.assign(option, { textContent: label2, value });\n else select == null ? void 0 : select.appendChild(new Option(label2, value, true, true));\n }\n if (select) attr(select, \"multiple\", multiple ? \"\" : null);\n for (const opt of [...(select == null ? void 0 : select.options) || []].slice(idx)) opt.remove();\n if (!multiple && idx > 1)\n console.warn(\"u-combobox: Multiple <data> found in single mode.\");\n if (list) attr(list, \"aria-multiselectable\", `${multiple}`);\n if (control) attr(control, \"list\", useId(list));\n if (control) attr(control, \"aria-label\", `${self._speak}${label}`);\n const itemText = text(items[0]);\n if (itemText !== self._itemText) syncInputValue(self, false);\n self._itemText = itemText;\n syncClearWithInput(self);\n syncOptionsWithItems(self);\n (_b = mutationObserver(self)) == null ? void 0 : _b.takeRecords();\n};\nvar syncClearWithInput = (self) => {\n var _a2;\n if (self.clear) attr(self.clear, \"role\", \"button\");\n if (self.clear) self.clear.hidden = !((_a2 = self.control) == null ? void 0 : _a2.value);\n};\nvar syncOptionsWithItems = (self) => {\n var _a2;\n const { _speak, options = [], values } = self;\n for (const opt of options) {\n const value = (_a2 = attr(opt, \"value\")) != null ? _a2 : text(opt);\n attr(opt, \"aria-label\", _speak ? `${_speak}${text(opt)}` : null);\n attr(opt, \"selected\", values.includes(value) ? \"\" : null);\n }\n};\nvar syncInputValue = (self, withEvent = true) => {\n const { multiple, control, items } = self;\n const value = text(items[0]);\n if (multiple || !control || value === control.value) return;\n if (withEvent) return setValue(control, value, \"insertText\");\n control.value = value;\n};\nvar dispatchMatch = (self, change = true) => {\n var _a2;\n const { _texts, options = [], creatable, control, items, multiple } = self;\n const value = ((_a2 = control == null ? void 0 : control.value) == null ? void 0 : _a2.trim()) || \"\";\n const query = value.toLowerCase() || null;\n let match = [...options].find(\n (opt) => (attr(opt, \"label\") || text(opt)).trim().toLowerCase() === query\n );\n const event = { bubbles: true, cancelable: true, detail: match };\n if (!self.dispatchEvent(new CustomEvent(\"beforematch\", event)))\n match = [...options].find((o) => o.selected);\n if (change) {\n syncOptionsWithItems(self);\n if (match) return dispatchChange(self, match, false);\n if (creatable && value) return dispatchChange(self, { value }, false);\n if (!multiple && items[0]) dispatchChange(self, items[0]);\n else syncInputValue(self);\n return speak(_texts.invalid);\n }\n for (const opt of options) opt.selected = opt === match;\n};\nvar dispatchChange = (self, item, removable = true) => {\n const { control, items, multiple } = self;\n const add = createElement(\"data\", item.label || item.value, {\n value: item.value\n });\n const remove = [...items].find((i) => i.value === item.value);\n const event = { bubbles: true, cancelable: true, detail: remove || add };\n const skip = remove && !removable;\n if (skip) return syncInputValue(self);\n if (self.dispatchEvent(new CustomEvent(\"beforechange\", event))) {\n if (!multiple) for (const item2 of [...items]) item2.remove();\n if (remove) remove.remove();\n else control == null ? void 0 : control.insertAdjacentElement(\"beforebegin\", add);\n self.dispatchEvent(new CustomEvent(\"afterchange\", event));\n }\n};\nvar onFocus = (self, { target }) => {\n if (target instanceof HTMLElement) self._focus = target;\n speak();\n};\nvar onBlur = (self) => isMouseDown() || setTimeout(onBlurred, 0, self);\nvar onBlurred = (self) => {\n var _a2;\n if (!self._focus || self.contains((_a2 = self._root) == null ? void 0 : _a2.activeElement)) return;\n if (!self.multiple) dispatchMatch(self);\n self._focus = void 0;\n};\nvar onClick = (self, event) => {\n const { clientX: x, clientY: y, target } = event;\n const { clear, control, items } = self;\n if (clear == null ? void 0 : clear.contains(target)) {\n if (control) setValue(control, \"\", \"deleteContentBackward\");\n return control == null ? void 0 : control.focus();\n }\n for (const item of items) {\n const { top, right, bottom, left } = item.getBoundingClientRect();\n if (item.contains(target)) return dispatchChange(self, item);\n if (y >= top && y <= bottom && x >= left && x <= right) return item.focus();\n }\n if (target === self) control == null ? void 0 : control.focus();\n};\nvar onInput = (self, event) => {\n var _a2;\n const { options = [], control, multiple } = self;\n const value = ((_a2 = control == null ? void 0 : control.value) == null ? void 0 : _a2.trim()) || \"\";\n const isClick = event instanceof InputEvent ? !event.inputType || event.inputType === \"insertReplacementText\" : !!value;\n if (isClick) {\n event.stopImmediatePropagation();\n if (control) control.value = self._value;\n for (const opt of options)\n if (opt.value && opt.value === value)\n return dispatchChange(self, opt, multiple);\n } else if (!multiple) dispatchMatch(self, false);\n syncClearWithInput(self);\n};\nvar onKeyDown = (self, event) => {\n var _a2;\n if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) return;\n const { clear, control, items } = self;\n const { key, repeat, target } = event;\n const isControl = control && control === target;\n const inText = isControl && (control == null ? void 0 : control.selectionEnd);\n let index = isControl ? items.length : [...items].indexOf(target);\n if (isControl && key === \"Tab\" && clear && !clear.hidden) {\n event.preventDefault();\n clear.tabIndex = -1;\n clear.focus();\n on(clear, \"blur\", () => attr(clear, \"tabindex\", null), EVENT_ONCE);\n }\n if (!isControl && asButton(event) || index === -1) return;\n if (key === \"ArrowRight\" && !isControl) index += 1;\n else if (key === \"ArrowLeft\" && !inText) index -= 1;\n else if (key === \"Enter\" && isControl) {\n const form = attr(control, \"form\");\n attr(control, \"form\", \"#\");\n requestAnimationFrame(() => attr(control, \"form\", form));\n return dispatchMatch(self);\n } else if ((key === \"Backspace\" || key === \"Delete\") && !inText) {\n event.preventDefault();\n if (!repeat && items[index]) return dispatchChange(self, items[index]);\n if (isControl) index -= 1;\n } else return isControl || (control == null ? void 0 : control.focus());\n event.preventDefault();\n (_a2 = items[Math.max(0, index)] || control) == null ? void 0 : _a2.focus();\n};\ncustomElements.define(\"u-combobox\", UHTMLComboboxElement);\n\nexport { UHTMLComboboxElement };\n"],"names":["__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","value","__spreadValues","a","b","prop","IS_BROWSER","IS_ANDROID","IS_FIREFOX","IS_IOS","_a","FOCUS_OUTLINE","UHTMLElement","attr","el","name","events","action","element","rest","type","on","off","observers","mutationObserver","options","observer","detail","asButton","event","isClick","getRoot","node","_a2","root","id","useId","createElement","tagName","text2","attrs","val","customElements","instance","LIVE","LIVE_SR_FIX","speak","setValue","input","data","_b","proto","IS_PRESS","isMouseDown","EVENTS","EVENT_ONCE","IS_FIREFOX_DESKTOP","IS_MOBILE","FALSE","TEXTS","UHTMLComboboxElement","render","syncInputValue","_","target","onBlur","onClick","onFocus","onInput","onKeyDown","tag","text","isData","self","_focus","_texts","items","control","list","multiple","label","edits","addedNodes","removedNodes","shouldAnnounce","inputMode","nextFocus","_a3","idx","select","item","option","label2","aria","opt","itemText","syncClearWithInput","syncOptionsWithItems","_speak","values","withEvent","dispatchMatch","change","creatable","query","match","o","dispatchChange","removable","add","remove","i","item2","onBlurred","x","y","clear","top","right","bottom","left","repeat","isControl","inText","index","form"],"mappings":"AAAA,IAAIA,IAAY,OAAO,gBACnBC,IAAsB,OAAO,uBAC7BC,IAAe,OAAO,UAAU,gBAChCC,IAAe,OAAO,UAAU,sBAChCC,IAAkB,CAACC,GAAKC,GAAKC,MAAUD,KAAOD,IAAML,EAAUK,GAAKC,GAAK,EAAE,YAAY,IAAM,cAAc,IAAM,UAAU,IAAM,OAAAC,EAAK,CAAE,IAAIF,EAAIC,CAAG,IAAIC,GACtJC,IAAiB,CAACC,GAAGC,MAAM;AAC7B,WAASC,KAAQD,MAAMA,IAAI,CAAA;AACzB,IAAIR,EAAa,KAAKQ,GAAGC,CAAI,KAC3BP,EAAgBK,GAAGE,GAAMD,EAAEC,CAAI,CAAC;AACpC,MAAIV;AACF,aAASU,KAAQV,EAAoBS,CAAC;AACpC,MAAIP,EAAa,KAAKO,GAAGC,CAAI,KAC3BP,EAAgBK,GAAGE,GAAMD,EAAEC,CAAI,CAAC;AAEtC,SAAOF;AACT,GAGIG,IAAa,OAAO,SAAW,OAAe,OAAO,OAAO,WAAa,OAAe,OAAO,OAAO,YAAc,KACpHC,IAAaD,KAAc,WAAW,KAAK,UAAU,SAAS,GAC9DE,IAAaF,KAAc,WAAW,KAAK,UAAU,SAAS,GAC9DG,KAASH,KAAc,mBAAmB,KAAK,UAAU,SAAS,GAClEI;AACJJ;AACA,QAAQ,OAAOI,IAAK,UAAU,kBAAkB,OAAO,SAASA,EAAG,aAAa,UAAU,QAAQ;AAClG,IAAIC,KAAgB,gGAChBC,KAAe,OAAO,cAAgB,MAAc,MAAM;AAC9D,IAAI;AACJ,SAASC,EAAKC,GAAIC,GAAMd,GAAO;AAC7B,SAAIA,MAAU,SAAea,EAAG,aAAaC,CAAI,KAC7Cd,MAAU,OAAMa,EAAG,gBAAgBC,CAAI,IAClCD,EAAG,aAAaC,CAAI,MAAMd,KAAOa,EAAG,aAAaC,GAAMd,CAAK,GAC9D;AACT;AACA,IAAIe,IAAS,CAACC,GAAQC,GAASC,MAAS;AACtC,aAAWC,KAAQD,EAAK,CAAC,EAAE,MAAM,GAAG;AAClC,IAAAA,EAAK,CAAC,IAAIC,GACV,QAAQ,UAAU,GAAGH,CAAM,eAAe,EAAE,MAAMC,GAASC,CAAI;AAEnE,GACIE,IAAK,CAACH,MAAYC,MAASH,EAAO,OAAOE,GAASC,CAAI,GACtDG,KAAM,CAACJ,MAAYC,MAASH,EAAO,UAAUE,GAASC,CAAI,GAC1DI,IAA4B,oBAAI,QAAS,GACzCC,IAAmB,CAACN,GAASO,MAAY;AAC3C,MAAIA,MAAY,OAAQ,QAAOF,EAAU,IAAIL,CAAO;AACpD,MAAI;AACF,IAAAK,EAAU,IAAIL,CAAO,EAAE,WAAY,GACnCK,EAAU,OAAOL,CAAO;AAAA,EACzB,QAAc;AAAA,EACjB;AACE,MAAIO,GAAS;AACX,UAAMC,IAAW,IAAI;AAAA,MACnB,CAACC,MAAWT,EAAQ,YAAY,EAAE,MAAM,YAAY,QAAAS,EAAQ,CAAA;AAAA,IAC7D;AACD,IAAAD,EAAS,QAAQR,GAASO,CAAO,GACjCF,EAAU,IAAIL,GAASQ,CAAQ;AAAA,EACnC;AACA,GACIE,KAAW,CAACC,MAAU;AACxB,QAAMC,IAAU,SAASD,MAAUA,EAAM,QAAQ,OAAOA,EAAM,QAAQ;AACtE,SAAIC,KAASD,EAAM,eAAgB,GAC/BC,KAAWD,EAAM,kBAAkB,eAAaA,EAAM,OAAO,MAAO,GACjEC;AACT,GACIC,KAAU,CAACC,MAAS;AACtB,MAAIC;AACJ,QAAMC,MAASD,IAAMD,EAAK,gBAAgB,OAAO,SAASC,EAAI,KAAKD,CAAI,MAAMA,EAAK;AAClF,SAAOE,aAAgB,YAAYA,aAAgB,aAAaA,IAAO;AACzE,GACIC,KAAK,GACLC,KAAQ,CAACtB,MACNA,KACAA,EAAG,OAAIA,EAAG,KAAK,IAAIA,EAAG,SAAS,YAAW,CAAE,IAAI,EAAEqB,IAAI,SAAS,EAAE,CAAC,KAChErB,EAAG,MAFM,IAIduB,IAAgB,CAACC,GAASC,GAAOC,MAAU;AAC7C,QAAM1B,IAAK,SAAS,cAAcwB,CAAO;AAEzC,MADIC,MAAOzB,EAAG,cAAcyB,IACxBC,EAAO,YAAW,CAACxC,GAAKyC,CAAG,KAAK,OAAO,QAAQD,CAAK,EAAG,CAAA3B,EAAKC,GAAId,GAAKyC,CAAG;AAC5E,SAAO3B;AACT,GACI4B,KAAiB;AAAA,EACnB,QAAQ,CAAC3B,GAAM4B,MAAa,CAACrC,KAAc,OAAO,eAAe,IAAIS,CAAI,KAAK,OAAO,eAAe,OAAOA,GAAM4B,CAAQ;AAC3H,GACIC,GACAC,KAAc,GACdC,IAAQ,CAACP,MAAU;AACrB,EAAKK,MACHA,IAAOP,EAAc,KAAK,GAC1BO,EAAK,MAAM,UAAU,+DACrB/B,EAAK+B,GAAM,aAAa,WAAW,IAEhCA,EAAK,eAAa,SAAS,KAAK,OAAOA,CAAI,GAC5CL,MAAOK,EAAK,cAAc,GAAGL,CAAK,GAAGM,OAAgB,IAAI,MAAS,EAAE;AAC1E,GACIE,IAAW,CAACC,GAAOC,GAAM7B,IAAO,OAAO;AACzC,MAAIa,GAAKiB;AACT,QAAMrB,IAAQ,EAAE,SAAS,IAAM,UAAU,IAAM,MAAAoB,GAAM,WAAW7B,EAAM,GAChE+B,IAAQ,iBAAiB;AAC/B,EAAAH,EAAM,cAAc,IAAI,WAAW,eAAenB,CAAK,CAAC,IACvDqB,KAAMjB,IAAM,OAAO,yBAAyBkB,GAAO,OAAO,MAAM,OAAO,SAASlB,EAAI,QAAQ,QAAgBiB,EAAG,KAAKF,GAAOC,CAAI,GAChID,EAAM,cAAc,IAAI,WAAW,SAASnB,CAAK,CAAC,GAClDmB,EAAM,cAAc,IAAI,MAAM,UAAU,EAAE,SAAS,GAAI,CAAE,CAAC;AAC5D,GACII,IAAW,IACXC,IAAc,CAACxB,OACaA,GAAM,SAAU,cAAWuB,IAAW,KACtCvB,GAAM,SAAU,gBAC5CuB,IAAW,IACX/B,EAAG,UAAU,WAAWgC,GAAa,EAAE,MAAM,IAAM,IAE9CD,IAILE,IAAS,wDACTC,IAAa,EAAE,MAAM,IAAM,SAAS,GAAM,GAC1CC,KAAqBhD,KAAc,CAACD,GACpCkD,KAAYlD,KAAcE,IAC1BiD,IAAQ,SACRC,IAAQ;AAAA,EACV,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,SAAS;AAAA,EACT,IAAI;AAAA,EACJ,QAAQ;AAAA,EACR,SAAS;AACX,GACIC,KAAuB,cAAchD,GAAa;AAAA,EACpD,cAAc;AACZ,UAAO,GACP,KAAK,YAAY,IAEjB,KAAK,SAAS,IACd,KAAK,SAASV,EAAe,CAAA,GAAIyD,CAAK,GACtC,KAAK,SAAS,IACd,KAAK,aAAa,EAAE,MAAM,OAAM,CAAE,EAAE;AAAA,MAClCtB,EAAc,MAAM;AAAA;AAAA,MAEpBA;AAAA,QACE;AAAA,QACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kCAO0B1B,EAAa;AAAA,MAC/C;AAAA,IACK;AAAA,EACL;AAAA;AAAA;AAAA,EAGE,WAAW,qBAAqB;AAC9B,WAAO,OAAO,KAAKgD,CAAK,EAAE,IAAI,CAAC3D,MAAQ,WAAWA,CAAG,EAAE;AAAA,EAC3D;AAAA,EACE,oBAAoB;AAClB,SAAK,QAAQ+B,GAAQ,IAAI,GACzBV,EAAG,MAAMiC,GAAQ,MAAM,EAAI,GAC3B9B,EAAiB,MAAM;AAAA,MACrB,iBAAiB,CAAC,OAAO;AAAA;AAAA,MAEzB,YAAY;AAAA,MACZ,eAAe;AAAA;AAAA,MAEf,WAAW;AAAA,MACX,SAAS;AAAA,IACf,CAAK,GACD,WAAWqC,GAAQ,GAAG,IAAI,GAC1B,WAAWC,GAAgB,GAAG,IAAI;AAAA,EACtC;AAAA,EACE,yBAAyBzD,GAAM0D,GAAGtB,GAAK;AACrC,UAAMF,IAAQlC,EAAK,MAAM,UAAU,EAAE,CAAC;AACtC,IAAIsD,EAAMpB,CAAK,MAAG,KAAK,OAAOA,CAAK,IAAIE,KAAOkB,EAAMpB,CAAK;AAAA,EAC7D;AAAA,EACE,uBAAuB;AACrB,IAAAf,EAAiB,MAAM,EAAK,GAC5BF,GAAI,MAAMgC,GAAQ,MAAM,EAAI,GAC5B,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,WAAW,QAC1D,KAAK,QAAQ,KAAK,WAAW,KAAK,QAAQ;AAAA,EAC9C;AAAA,EACE,YAAYzB,GAAO;AACjB,UAAMmC,IAASnC,EAAM;AACrB,IAAIA,EAAM,SAAS,kBAAe,KAAK,SAAoCmC,GAAO,SAAU,KACxFnC,EAAM,SAAS,UAAQoC,GAAO,IAAI,GAClCpC,EAAM,SAAS,WAASqC,GAAQ,MAAMrC,CAAK,GAC3CA,EAAM,SAAS,WAASsC,GAAQ,MAAMtC,CAAK,GAC3CA,EAAM,SAAS,WAASuC,GAAQ,MAAMvC,CAAK,GAC3CA,EAAM,SAAS,aAAWwC,GAAU,MAAMxC,CAAK,GAC/CA,EAAM,SAAS,eAAawB,EAAYxB,CAAK,GAC7CA,EAAM,SAAS,cAAYgC,EAAO,MAAMhC,CAAK;AAAA,EACrD;AAAA,EACE,IAAI,WAAW;AACb,QAAII;AACJ,aAASA,IAAMpB,EAAK,MAAM,eAAe,MAAM,OAAOoB,IAAMyB,OAAWA;AAAA,EAC3E;AAAA,EACE,IAAI,SAASzD,GAAO;AAClB,IAAAY,EAAK,MAAM,iBAAiBZ,IAAQ,KAAK,IAAI;AAAA,EACjD;AAAA,EACE,IAAI,YAAY;AACd,QAAIgC;AACJ,aAASA,IAAMpB,EAAK,MAAM,gBAAgB,MAAM,OAAOoB,IAAMyB,OAAWA;AAAA,EAC5E;AAAA,EACE,IAAI,UAAUzD,GAAO;AACnB,IAAAY,EAAK,MAAM,kBAAkBZ,IAAQ,KAAK,IAAI;AAAA,EAClD;AAAA,EACE,IAAI,UAAU;AACZ,QAAIgC;AACJ,YAAOA,IAAM,KAAK,aAAa,QAAgBA,EAAI,gBACjD,KAAK,WAAW,KAAK,cAAc,OAAO,IACrC,KAAK;AAAA,EAChB;AAAA,EACE,IAAI,OAAO;AACT,QAAIA;AACJ,YAAOA,IAAM,KAAK,UAAU,QAAgBA,EAAI,gBAC9C,KAAK,QAAQ,KAAK,cAAc,qBAAqB,IAChD,KAAK;AAAA,EAChB;AAAA,EACE,IAAI,QAAQ;AACV,QAAIA;AACJ,YAAOA,IAAM,KAAK,WAAW,QAAgBA,EAAI,gBAAc,KAAK,SAAS,KAAK,cAAc,KAAK,IAC9F,KAAK;AAAA,EAChB;AAAA,EACE,IAAI,QAAQ;AACV,WAAK,KAAK,WAAQ,KAAK,SAAS,KAAK,qBAAqB,MAAM,IACzD,KAAK;AAAA,EAChB;AAAA,EACE,IAAI,UAAU;AACZ,QAAIA,GAAKiB;AACT,QAAI,CAAC,KAAK,UAAU;AAClB,YAAMoB,MAAQrC,IAAM,KAAK,SAAS,OAAO,SAASA,EAAI,cAAc,eAAe,aAAa;AAChG,WAAK,YAAYiB,IAAK,KAAK,SAAS,OAAO,SAASA,EAAG,qBAAqBoB,CAAG;AAAA,IACrF;AACI,WAAO,KAAK;AAAA,EAChB;AAAA,EACE,IAAI,SAAS;AACX,WAAO,CAAC,GAAG,KAAK,KAAK,EAAE,IAAI,CAAC,EAAE,OAAArE,EAAO,MAAKA,CAAK;AAAA,EACnD;AACA,GACIsE,IAAO,CAACzD,MAAO;AACjB,MAAImB;AACJ,WAASA,IAA4BnB,GAAG,gBAAgB,OAAO,SAASmB,EAAI,KAAM,MAAK;AACzF,GACIuC,IAAS,CAAC1D,MAAOA,aAAc,iBAC/B+C,IAAS,CAACY,GAAM5C,MAAU;AAC5B,MAAII,GAAKiB;AACT,QAAM,EAAE,QAAAwB,GAAQ,QAAAC,GAAQ,OAAAC,GAAO,SAAAC,GAAS,MAAAC,GAAM,UAAAC,EAAQ,IAAKN;AAC3D,MAAIO,IAAQ,GAAGT,GAAMtC,IAAiC4C,GAAQ,WAAW,OAAO,SAAS5C,EAAI,CAAC,CAAC,CAAC,KAAK8C,IAAWH,EAAM,SAASD,EAAO,MAAM,QAAQ,MAAM,GAAGC,EAAM,MAAM,EAAE,IAAID,EAAO,QAAQ,EAAE;AAChM,QAAMM,IAAQ,CAAE;AAChB,aAAW,EAAE,YAAAC,GAAY,cAAAC,EAAY,KAAgCtD,GAAM,UAAW,IAAI;AACxF,eAAWf,KAAMoE,EAAY,CAAIV,EAAO1D,CAAE,KAAGmE,EAAM,QAAQnE,CAAE;AAC7D,eAAWA,KAAMqE,EAAc,CAAIX,EAAO1D,CAAE,KAAGmE,EAAM,KAAKnE,CAAE;AAAA,EAChE;AACE,QAAMsE,IAAiBL,IAAWE,EAAM,WAAW,IAAIA,EAAM,CAAC,MAAMP;AACpE,MAAIA,KAAUG,KAAWO,GAAgB;AACvC,UAAMC,IAAYxE,EAAKgE,GAAS,WAAW,GACrCS,IAAYd,EAAOE,CAAM,IAAIG,IAAUH;AAC7C,IAAAD,EAAK,SAAS,GAAGE,EAAOM,EAAM,CAAC,EAAE,cAAc,UAAU,SAAS,CAAC,IAAIV,EAAKU,EAAM,CAAC,CAAC,CAAC,OACjFxB,MAAaiB,MAAWG,MAAS/B,EAAM2B,EAAK,MAAM,GAClDI,MAAYS,MACdzE,EAAKgE,GAAS,iBAAiB,IAAI,GACnChE,EAAKgE,GAAS,aAAa,MAAM,GACjCG,IAAQ,KACRH,EAAQ,MAAO,IAEjB,WAAW,MAAM;AACf,UAAIU;AACJ,MAAA1E,EAAKgE,GAAS,iBAAiB,MAAM,GACrChE,EAAKgE,GAAS,aAAaQ,CAAS,IACnCE,IAAmCD,GAAU,UAAU,QAAgBC,EAAI,KAAKD,CAAS,GAC1Fb,EAAK,SAAS,IACVjB,KAAoBnC,EAAGoD,GAAM,QAAQ,MAAMZ,EAAOY,CAAI,GAAGlB,CAAU,IAClE,WAAWM,GAAQ,KAAKY,CAAI;AAAA,IAClC,GAAE,GAAG;AAAA,EACV;AACE,MAAIe,IAAM;AACV,QAAMC,IAAShB,EAAK,cAAc,QAAQ;AAC1C,aAAWiB,KAAQd,GAAO;AACxB,UAAMe,IAAmCF,GAAO,QAAQD,CAAG,GACrDI,IAASrB,EAAKmB,CAAI,GAClBzF,IAAQyF,EAAK,SAASE,GACtBC,IAAO,GAAGpB,EAAK,MAAM,GAAGmB,CAAM,KAAKjB,EAAO,MAAM,KAAK,EAAEa,CAAG,IAAIb,EAAO,EAAE,IAAIC,EAAM,MAAM;AAC7F,IAAA/D,EAAK6E,GAAM,QAAQ,QAAQ,GAC3B7E,EAAK6E,GAAM,SAASzF,CAAK,GACzBY,EAAK6E,GAAM,YAAY,IAAI,GAC3B7E,EAAK6E,GAAM,cAAcG,CAAI,GACzBF,IAAQ,OAAO,OAAOA,GAAQ,EAAE,aAAaC,GAAQ,OAAA3F,GAAO,IACjCwF,GAAO,YAAY,IAAI,OAAOG,GAAQ3F,GAAO,IAAM,EAAI,CAAC;AAAA,EAC3F;AACE,EAAIwF,KAAQ5E,EAAK4E,GAAQ,YAAYV,IAAW,KAAK,IAAI;AACzD,aAAWe,KAAO,CAAC,GAA8BL,GAAO,WAAY,CAAA,CAAE,EAAE,MAAMD,CAAG,EAAG,CAAAM,EAAI,OAAQ;AAChG,EAAI,CAACf,KAAYS,IAAM,KACrB,QAAQ,KAAK,mDAAmD,GAC9DV,KAAMjE,EAAKiE,GAAM,wBAAwB,GAAGC,CAAQ,EAAE,GACtDF,KAAShE,EAAKgE,GAAS,QAAQzC,GAAM0C,CAAI,CAAC,GAC1CD,KAAShE,EAAKgE,GAAS,cAAc,GAAGJ,EAAK,MAAM,GAAGO,CAAK,EAAE;AACjE,QAAMe,IAAWxB,EAAKK,EAAM,CAAC,CAAC;AAC9B,EAAImB,MAAatB,EAAK,aAAWX,EAAeW,GAAM,EAAK,GAC3DA,EAAK,YAAYsB,GACjBC,EAAmBvB,CAAI,GACvBwB,EAAqBxB,CAAI,IACxBvB,IAAK1B,EAAiBiD,CAAI,MAAM,QAAgBvB,EAAG,YAAa;AACnE,GACI8C,IAAqB,CAACvB,MAAS;AACjC,MAAIxC;AACJ,EAAIwC,EAAK,SAAO5D,EAAK4D,EAAK,OAAO,QAAQ,QAAQ,GAC7CA,EAAK,UAAOA,EAAK,MAAM,SAAS,GAAGxC,IAAMwC,EAAK,YAAY,QAAgBxC,EAAI;AACpF,GACIgE,IAAuB,CAACxB,MAAS;AACnC,MAAIxC;AACJ,QAAM,EAAE,QAAAiE,GAAQ,SAAAzE,IAAU,CAAA,GAAI,QAAA0E,EAAQ,IAAG1B;AACzC,aAAWqB,KAAOrE,GAAS;AACzB,UAAMxB,KAASgC,IAAMpB,EAAKiF,GAAK,OAAO,MAAM,OAAO7D,IAAMsC,EAAKuB,CAAG;AACjE,IAAAjF,EAAKiF,GAAK,cAAcI,IAAS,GAAGA,CAAM,GAAG3B,EAAKuB,CAAG,CAAC,KAAK,IAAI,GAC/DjF,EAAKiF,GAAK,YAAYK,EAAO,SAASlG,CAAK,IAAI,KAAK,IAAI;AAAA,EAC5D;AACA,GACI6D,IAAiB,CAACW,GAAM2B,IAAY,OAAS;AAC/C,QAAM,EAAE,UAAArB,GAAU,SAAAF,GAAS,OAAAD,EAAO,IAAGH,GAC/BxE,IAAQsE,EAAKK,EAAM,CAAC,CAAC;AAC3B,MAAI,EAAAG,KAAY,CAACF,KAAW5E,MAAU4E,EAAQ,QAC9C;AAAA,QAAIuB,EAAW,QAAOrD,EAAS8B,GAAS5E,GAAO,YAAY;AAC3D,IAAA4E,EAAQ,QAAQ5E;AAAA;AAClB,GACIoG,IAAgB,CAAC5B,GAAM6B,IAAS,OAAS;AAC3C,MAAIrE;AACJ,QAAM,EAAE,QAAA0C,GAAQ,SAAAlD,IAAU,CAAE,GAAE,WAAA8E,GAAW,SAAA1B,GAAS,OAAAD,GAAO,UAAAG,EAAQ,IAAKN,GAChExE,MAAUgC,IAAiC4C,GAAQ,UAAU,OAAO,SAAS5C,EAAI,KAAM,MAAK,IAC5FuE,IAAQvG,EAAM,YAAW,KAAM;AACrC,MAAIwG,IAAQ,CAAC,GAAGhF,CAAO,EAAE;AAAA,IACvB,CAACqE,OAASjF,EAAKiF,GAAK,OAAO,KAAKvB,EAAKuB,CAAG,GAAG,KAAM,EAAC,YAAW,MAAOU;AAAA,EACrE;AACD,QAAM3E,IAAQ,EAAE,SAAS,IAAM,YAAY,IAAM,QAAQ4E,EAAO;AAGhE,MAFKhC,EAAK,cAAc,IAAI,YAAY,eAAe5C,CAAK,CAAC,MAC3D4E,IAAQ,CAAC,GAAGhF,CAAO,EAAE,KAAK,CAACiF,MAAMA,EAAE,QAAQ,IACzCJ;AAEF,WADAL,EAAqBxB,CAAI,GACrBgC,IAAcE,EAAelC,GAAMgC,GAAO,EAAK,IAC/CF,KAAatG,IAAc0G,EAAelC,GAAM,EAAE,OAAAxE,EAAO,GAAE,EAAK,KAChE,CAAC8E,KAAYH,EAAM,CAAC,IAAG+B,EAAelC,GAAMG,EAAM,CAAC,CAAC,IACnDd,EAAeW,CAAI,GACjB3B,EAAM6B,EAAO,OAAO;AAE7B,aAAWmB,KAAOrE,EAAS,CAAAqE,EAAI,WAAWA,MAAQW;AACpD,GACIE,IAAiB,CAAClC,GAAMiB,GAAMkB,IAAY,OAAS;AACrD,QAAM,EAAE,SAAA/B,GAAS,OAAAD,GAAO,UAAAG,EAAU,IAAGN,GAC/BoC,IAAMxE,EAAc,QAAQqD,EAAK,SAASA,EAAK,OAAO;AAAA,IAC1D,OAAOA,EAAK;AAAA,EAChB,CAAG,GACKoB,IAAS,CAAC,GAAGlC,CAAK,EAAE,KAAK,CAACmC,MAAMA,EAAE,UAAUrB,EAAK,KAAK,GACtD7D,IAAQ,EAAE,SAAS,IAAM,YAAY,IAAM,QAAQiF,KAAUD,EAAK;AAExE,MADaC,KAAU,CAACF,EACd,QAAO9C,EAAeW,CAAI;AACpC,MAAIA,EAAK,cAAc,IAAI,YAAY,gBAAgB5C,CAAK,CAAC,GAAG;AAC9D,QAAI,CAACkD,EAAU,YAAWiC,KAAS,CAAC,GAAGpC,CAAK,EAAG,CAAAoC,EAAM,OAAQ;AAC7D,IAAIF,IAAQA,EAAO,OAAQ,IACKjC,GAAQ,sBAAsB,eAAegC,CAAG,GAChFpC,EAAK,cAAc,IAAI,YAAY,eAAe5C,CAAK,CAAC;AAAA,EAC5D;AACA,GACIsC,KAAU,CAACM,GAAM,EAAE,QAAAT,QAAa;AAClC,EAAIA,aAAkB,gBAAaS,EAAK,SAAST,IACjDlB,EAAO;AACT,GACImB,KAAS,CAACQ,MAASpB,EAAW,KAAM,WAAW4D,IAAW,GAAGxC,CAAI,GACjEwC,KAAY,CAACxC,MAAS;AACxB,MAAIxC;AACJ,EAAI,CAACwC,EAAK,UAAUA,EAAK,UAAUxC,IAAMwC,EAAK,UAAU,OAAO,SAASxC,EAAI,aAAa,MACpFwC,EAAK,YAAU4B,EAAc5B,CAAI,GACtCA,EAAK,SAAS;AAChB,GACIP,KAAU,CAACO,GAAM5C,MAAU;AAC7B,QAAM,EAAE,SAASqF,GAAG,SAASC,GAAG,QAAAnD,EAAM,IAAKnC,GACrC,EAAE,OAAAuF,GAAO,SAAAvC,GAAS,OAAAD,EAAO,IAAGH;AAClC,MAA6B2C,GAAM,SAASpD,CAAM;AAChD,WAAIa,KAAS9B,EAAS8B,GAAS,IAAI,uBAAuB,GACxBA,GAAQ,MAAO;AAEnD,aAAWa,KAAQd,GAAO;AACxB,UAAM,EAAE,KAAAyC,GAAK,OAAAC,GAAO,QAAAC,GAAQ,MAAAC,EAAM,IAAG9B,EAAK,sBAAuB;AACjE,QAAIA,EAAK,SAAS1B,CAAM,EAAG,QAAO2C,EAAelC,GAAMiB,CAAI;AAC3D,QAAIyB,KAAKE,KAAOF,KAAKI,KAAUL,KAAKM,KAAQN,KAAKI,EAAO,QAAO5B,EAAK,MAAO;AAAA,EAC/E;AACE,EAAI1B,MAAWS,KAAiCI,GAAQ,MAAO;AACjE,GACIT,KAAU,CAACK,GAAM5C,MAAU;AAC7B,MAAII;AACJ,QAAM,EAAE,SAAAR,IAAU,CAAA,GAAI,SAAAoD,GAAS,UAAAE,EAAU,IAAGN,GACtCxE,MAAUgC,IAAiC4C,GAAQ,UAAU,OAAO,SAAS5C,EAAI,KAAM,MAAK;AAElG,MADgBJ,aAAiB,aAAa,CAACA,EAAM,aAAaA,EAAM,cAAc,0BAA0B,CAAC,CAAC5B,GACrG;AACX,IAAA4B,EAAM,yBAA0B,GAC5BgD,MAASA,EAAQ,QAAQJ,EAAK;AAClC,eAAWqB,KAAOrE;AAChB,UAAIqE,EAAI,SAASA,EAAI,UAAU7F;AAC7B,eAAO0G,EAAelC,GAAMqB,GAAKf,CAAQ;AAAA,EAC9C,MAAM,CAAKA,KAAUsB,EAAc5B,GAAM,EAAK;AAC/C,EAAAuB,EAAmBvB,CAAI;AACzB,GACIJ,KAAY,CAACI,GAAM5C,MAAU;AAC/B,MAAII;AACJ,MAAIJ,EAAM,UAAUA,EAAM,WAAWA,EAAM,WAAWA,EAAM,SAAU;AACtE,QAAM,EAAE,OAAAuF,GAAO,SAAAvC,GAAS,OAAAD,EAAO,IAAGH,GAC5B,EAAE,KAAAzE,GAAK,QAAAyH,GAAQ,QAAAzD,EAAQ,IAAGnC,GAC1B6F,IAAY7C,KAAWA,MAAYb,GACnC2D,IAASD,KAAyC7C,GAAQ;AAChE,MAAI+C,IAAQF,IAAY9C,EAAM,SAAS,CAAC,GAAGA,CAAK,EAAE,QAAQZ,CAAM;AAOhE,MANI0D,KAAa1H,MAAQ,SAASoH,KAAS,CAACA,EAAM,WAChDvF,EAAM,eAAgB,GACtBuF,EAAM,WAAW,IACjBA,EAAM,MAAO,GACb/F,EAAG+F,GAAO,QAAQ,MAAMvG,EAAKuG,GAAO,YAAY,IAAI,GAAG7D,CAAU,IAE/D,GAACmE,KAAa9F,GAASC,CAAK,KAAK+F,MAAU,KAC/C;AAAA,QAAI5H,MAAQ,gBAAgB,CAAC0H,EAAW,CAAAE,KAAS;AAAA,aACxC5H,MAAQ,eAAe,CAAC2H,EAAQ,CAAAC,KAAS;AAAA,aACzC5H,MAAQ,WAAW0H,GAAW;AACrC,YAAMG,IAAOhH,EAAKgE,GAAS,MAAM;AACjC,aAAAhE,EAAKgE,GAAS,QAAQ,GAAG,GACzB,sBAAsB,MAAMhE,EAAKgE,GAAS,QAAQgD,CAAI,CAAC,GAChDxB,EAAc5B,CAAI;AAAA,IAC7B,YAAczE,MAAQ,eAAeA,MAAQ,aAAa,CAAC2H,GAAQ;AAE/D,UADA9F,EAAM,eAAgB,GAClB,CAAC4F,KAAU7C,EAAMgD,CAAK,EAAG,QAAOjB,EAAelC,GAAMG,EAAMgD,CAAK,CAAC;AACrE,MAAIF,MAAWE,KAAS;AAAA,IAC5B,MAAS,QAAOF,KAAyC7C,GAAQ;AAC/D,IAAAhD,EAAM,eAAgB,IACrBI,IAAM2C,EAAM,KAAK,IAAI,GAAGgD,CAAK,CAAC,KAAK/C,MAAY,QAAgB5C,EAAI,MAAO;AAAA;AAC7E;AACAS,GAAe,OAAO,cAAckB,EAAoB;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"u-combobox.js","sources":["../../../../../node_modules/@u-elements/u-combobox/dist/u-combobox.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\n\n// ../utils.ts\nvar IS_BROWSER = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.navigator !== \"undefined\";\nvar IS_ANDROID = IS_BROWSER && /android/i.test(navigator.userAgent);\nvar IS_FIREFOX = IS_BROWSER && /firefox/i.test(navigator.userAgent);\nvar IS_IOS = IS_BROWSER && /iPad|iPhone|iPod/.test(navigator.userAgent);\nvar _a;\nIS_BROWSER && // @ts-expect-error Typescript has not implemented userAgentData yet https://stackoverflow.com/a/71392474\n/^Mac/i.test(((_a = navigator.userAgentData) == null ? void 0 : _a.platform) || navigator.platform);\nvar FOCUS_OUTLINE = \"outline: 1px dotted; outline: 5px auto Highlight; outline: 5px auto -webkit-focus-ring-color\";\nvar UHTMLElement = typeof HTMLElement === \"undefined\" ? class {\n} : HTMLElement;\nfunction attr(el, name, value) {\n if (value === void 0) return el.getAttribute(name);\n if (value === null) el.removeAttribute(name);\n else if (el.getAttribute(name) !== value) el.setAttribute(name, value);\n return null;\n}\nvar events = (action, element, rest) => {\n for (const type of rest[0].split(\",\")) {\n rest[0] = type;\n Element.prototype[`${action}EventListener`].apply(element, rest);\n }\n};\nvar on = (element, ...rest) => events(\"add\", element, rest);\nvar off = (element, ...rest) => events(\"remove\", element, rest);\nvar observers = /* @__PURE__ */ new WeakMap();\nvar mutationObserver = (element, options) => {\n if (options === void 0) return observers.get(element);\n try {\n observers.get(element).disconnect();\n observers.delete(element);\n } catch (_err) {\n }\n if (options) {\n const observer = new MutationObserver(\n (detail) => element.handleEvent({ type: \"mutation\", detail })\n );\n observer.observe(element, options);\n observers.set(element, observer);\n }\n};\nvar asButton = (event) => {\n const isClick = \"key\" in event && (event.key === \" \" || event.key === \"Enter\");\n if (isClick) event.preventDefault();\n if (isClick && event.target instanceof HTMLElement) event.target.click();\n return isClick;\n};\nvar getRoot = (node) => {\n var _a2;\n const root = ((_a2 = node.getRootNode) == null ? void 0 : _a2.call(node)) || node.ownerDocument;\n return root instanceof Document || root instanceof ShadowRoot ? root : document;\n};\nvar id = 0;\nvar useId = (el) => {\n if (!el) return \"\";\n if (!el.id) el.id = `:${el.nodeName.toLowerCase()}${(++id).toString(32)}`;\n return el.id;\n};\nvar createElement = (tagName, text2, attrs) => {\n const el = document.createElement(tagName);\n if (text2) el.textContent = text2;\n if (attrs) for (const [key, val] of Object.entries(attrs)) attr(el, key, val);\n return el;\n};\nvar customElements = {\n define: (name, instance) => !IS_BROWSER || window.customElements.get(name) || window.customElements.define(name, instance)\n};\nvar LIVE;\nvar LIVE_SR_FIX = 0;\nvar speak = (text2) => {\n if (!LIVE) {\n LIVE = createElement(\"div\");\n LIVE.style.cssText = \"position:fixed;overflow:hidden;width:1px;white-space:nowrap\";\n attr(LIVE, \"aria-live\", \"assertive\");\n }\n if (!LIVE.isConnected) document.body.append(LIVE);\n if (text2) LIVE.textContent = `${text2}${LIVE_SR_FIX++ % 2 ? \"\\xA0\" : \"\"}`;\n};\nvar setValue = (input, data, type = \"\") => {\n var _a2, _b;\n const event = { bubbles: true, composed: true, data, inputType: type };\n const proto = HTMLInputElement.prototype;\n input.dispatchEvent(new InputEvent(\"beforeinput\", event));\n (_b = (_a2 = Object.getOwnPropertyDescriptor(proto, \"value\")) == null ? void 0 : _a2.set) == null ? void 0 : _b.call(input, data);\n input.dispatchEvent(new InputEvent(\"input\", event));\n input.dispatchEvent(new Event(\"change\", { bubbles: true }));\n};\nvar IS_PRESS = false;\nvar isMouseDown = (event) => {\n if ((event == null ? void 0 : event.type) === \"mouseup\") IS_PRESS = false;\n if ((event == null ? void 0 : event.type) === \"mousedown\") {\n IS_PRESS = true;\n on(document, \"mouseup\", isMouseDown, { once: true });\n }\n return IS_PRESS;\n};\n\n// u-combobox.ts\nvar EVENTS = \"beforeinput,blur,focus,click,input,keydown,mousedown\";\nvar EVENT_ONCE = { once: true, passive: true };\nvar IS_FIREFOX_DESKTOP = IS_FIREFOX && !IS_ANDROID;\nvar IS_MOBILE = IS_ANDROID || IS_IOS;\nvar FALSE = \"false\";\nvar TEXTS = {\n added: \"Added\",\n empty: \"No selected\",\n found: \"Navigate left to find %d selected\",\n invalid: \"Invalid value\",\n of: \"of\",\n remove: \"Press to remove\",\n removed: \"Removed\"\n};\nvar UHTMLComboboxElement = class extends UHTMLElement {\n constructor() {\n super();\n this._item = \"\";\n this._speak = \"\";\n this._texts = __spreadValues({}, TEXTS);\n this._value = \"\";\n this.attachShadow({ mode: \"open\" }).append(\n createElement(\"slot\"),\n // Content slot\n createElement(\n \"style\",\n `:host(:not([hidden])) { display: block; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0) } /* Must be display block in Safari to allow focus inside */\n\t\t\t\t:host(:not([data-multiple])) ::slotted(data),\n\t\t\t\t:host([data-multiple=\"false\"]) ::slotted(data) { display: none } /* Hide data if not multiple */\n\t\t\t\t::slotted(input[inputmode=\"none\"]) { outline: none } /* Hide temporary foucs outline flash */\n\t\t\t\t::slotted(del) { text-decoration: none }\n\t\t\t\t::slotted(data:not([hidden])) { display: inline-block; pointer-events: none }\n ::slotted(data)::after { content: '\\\\00D7'; content: '\\\\00D7' / ''; padding-inline: .5ch; pointer-events: auto }\n ::slotted(data:focus) { ${FOCUS_OUTLINE} }`\n )\n );\n }\n // Locally store value to store value before input-click\n // Using ES2015 syntax for backwards compatibility\n static get observedAttributes() {\n return Object.keys(TEXTS).map((key) => `data-sr-${key}`);\n }\n connectedCallback() {\n this._root = getRoot(this);\n on(this, EVENTS, this, true);\n mutationObserver(this, {\n attributeFilter: [\"value\", \"id\"],\n // Respond to changes in <data> value or change of id for <datalist> to reconnect with input\n attributes: true,\n characterData: true,\n // Respond to changes in <data> textContent\n childList: true,\n subtree: true\n });\n setTimeout(render, 0, this);\n setTimeout(syncInputValue, 0, this);\n }\n attributeChangedCallback(prop, _, val) {\n const text2 = prop.split(\"data-sr-\")[1];\n if (TEXTS[text2]) this._texts[text2] = val || TEXTS[text2];\n }\n disconnectedCallback() {\n mutationObserver(this, false);\n off(this, EVENTS, this, true);\n this._items = this._clear = this._focus = this._control = void 0;\n this._list = this._options = this._root = void 0;\n }\n handleEvent(event) {\n const target = event.target;\n if (event.type === \"beforeinput\") this._value = (target == null ? void 0 : target.value) || \"\";\n if (event.type === \"blur\") onBlur(this);\n if (event.type === \"click\") onClick(this, event);\n if (event.type === \"focus\") onFocus(this, event);\n if (event.type === \"input\") onInput(this, event);\n if (event.type === \"keydown\") onKeyDown(this, event);\n if (event.type === \"mousedown\") isMouseDown(event);\n if (event.type === \"mutation\") render(this, event);\n }\n get multiple() {\n var _a2;\n return ((_a2 = attr(this, \"data-multiple\")) != null ? _a2 : FALSE) !== FALSE;\n }\n set multiple(value) {\n attr(this, \"data-multiple\", value ? \"\" : null);\n }\n get creatable() {\n var _a2;\n return ((_a2 = attr(this, \"data-creatable\")) != null ? _a2 : FALSE) !== FALSE;\n }\n set creatable(value) {\n attr(this, \"data-creatable\", value ? \"\" : null);\n }\n get control() {\n var _a2;\n if (!((_a2 = this._control) == null ? void 0 : _a2.isConnected))\n this._control = this.querySelector(\"input\");\n return this._control;\n }\n get list() {\n var _a2;\n if (!((_a2 = this._list) == null ? void 0 : _a2.isConnected))\n this._list = this.querySelector(\"u-datalist,datalist\");\n return this._list;\n }\n get clear() {\n var _a2;\n if (!((_a2 = this._clear) == null ? void 0 : _a2.isConnected)) this._clear = this.querySelector(\"del\");\n return this._clear;\n }\n get items() {\n if (!this._items) this._items = this.getElementsByTagName(\"data\");\n return this._items;\n }\n get options() {\n var _a2, _b;\n if (!this._options) {\n const tag = ((_a2 = this.list) == null ? void 0 : _a2.nodeName) === \"U-DATALIST\" ? \"u-option\" : \"option\";\n this._options = (_b = this.list) == null ? void 0 : _b.getElementsByTagName(tag);\n }\n return this._options;\n }\n get values() {\n return [...this.items].map(({ value }) => value);\n }\n};\nvar text = (el) => {\n var _a2;\n return ((_a2 = el == null ? void 0 : el.textContent) == null ? void 0 : _a2.trim()) || \"\";\n};\nvar isData = (el) => el instanceof HTMLDataElement;\nvar render = (self, event) => {\n var _a2, _b;\n const { _focus, _texts, items, control, list, multiple } = self;\n let label = `${text((_a2 = control == null ? void 0 : control.labels) == null ? void 0 : _a2[0])}, ${multiple ? items.length ? _texts.found.replace(\"%d\", `${items.length}`) : _texts.empty : \"\"}`;\n const edits = [];\n for (const { addedNodes, removedNodes } of (event == null ? void 0 : event.detail) || []) {\n for (const el of addedNodes) if (isData(el)) edits.unshift(el);\n for (const el of removedNodes) if (isData(el)) edits.push(el);\n }\n const shouldAnnounce = multiple ? edits.length === 1 : edits[0] === _focus;\n if (_focus && control && shouldAnnounce) {\n const inputMode = attr(control, \"inputmode\");\n const nextFocus = isData(_focus) ? control : _focus;\n self._speak = `${_texts[edits[0].isConnected ? \"added\" : \"removed\"]} ${text(edits[0])}, `;\n if (IS_MOBILE || _focus === control) speak(self._speak);\n if (control !== nextFocus) {\n attr(control, \"aria-expanded\", null);\n attr(control, \"inputmode\", \"none\");\n label = \"\\xA0\";\n control.focus();\n }\n setTimeout(() => {\n var _a3;\n attr(control, \"aria-expanded\", \"true\");\n attr(control, \"inputmode\", inputMode);\n (_a3 = nextFocus == null ? void 0 : nextFocus.focus) == null ? void 0 : _a3.call(nextFocus);\n self._speak = \"\";\n if (IS_FIREFOX_DESKTOP) on(self, \"blur\", () => render(self), EVENT_ONCE);\n else setTimeout(render, 100, self);\n }, 100);\n }\n let idx = 0;\n const select = self.querySelector(\"select\");\n for (const item2 of items) {\n const option = select == null ? void 0 : select.options[idx];\n const label2 = text(item2);\n const value = item2.value || label2;\n const aria = `${self._speak}${label2}, ${_texts.remove}, ${++idx} ${_texts.of} ${items.length}`;\n attr(item2, \"role\", \"button\");\n attr(item2, \"value\", value);\n attr(item2, \"tabindex\", \"-1\");\n attr(item2, \"aria-label\", aria);\n if (option) Object.assign(option, { textContent: label2, value });\n else select == null ? void 0 : select.appendChild(new Option(label2, value, true, true));\n }\n if (select) attr(select, \"multiple\", multiple ? \"\" : null);\n for (const opt of [...(select == null ? void 0 : select.options) || []].slice(idx)) opt.remove();\n if (!multiple && idx > 1)\n console.warn(\"u-combobox: Multiple <data> found in single mode.\");\n if (list) attr(list, \"aria-multiselectable\", `${multiple}`);\n if (control) attr(control, \"list\", useId(list));\n if (control) attr(control, \"aria-label\", `${self._speak}${label}`);\n const item = text(items[0]);\n if (item !== self._item) syncInputValue(self);\n self._item = item;\n syncClearWithInput(self);\n syncOptionsWithItems(self);\n (_b = mutationObserver(self)) == null ? void 0 : _b.takeRecords();\n};\nvar syncClearWithInput = (self) => {\n var _a2;\n if (self.clear) attr(self.clear, \"role\", \"button\");\n if (self.clear) self.clear.hidden = !((_a2 = self.control) == null ? void 0 : _a2.value);\n};\nvar syncOptionsWithItems = (self) => {\n var _a2;\n const { _speak, options = [], values } = self;\n for (const opt of options) {\n const value = (_a2 = attr(opt, \"value\")) != null ? _a2 : text(opt);\n attr(opt, \"aria-label\", _speak ? `${_speak}${text(opt)}` : null);\n attr(opt, \"selected\", values.includes(value) ? \"\" : null);\n }\n};\nvar syncInputValue = (self) => {\n const { multiple, control, items } = self;\n const value = text(items[0]);\n if (!multiple && control && value !== control.value)\n setValue(control, value, value ? \"insertText\" : \"deleteContent\");\n};\nvar dispatchMatch = (self, change = true) => {\n var _a2;\n const { _texts, options = [], creatable, control, items, multiple } = self;\n const value = ((_a2 = control == null ? void 0 : control.value) == null ? void 0 : _a2.trim()) || \"\";\n const query = value.toLowerCase() || null;\n let match = [...options].find(\n (opt) => (attr(opt, \"label\") || text(opt)).trim().toLowerCase() === query\n );\n const event = { bubbles: true, cancelable: true, detail: match };\n if (!self.dispatchEvent(new CustomEvent(\"beforematch\", event)))\n match = [...options].find((o) => o.selected);\n if (change) {\n syncOptionsWithItems(self);\n if (match) return dispatchChange(self, match, false);\n if (creatable && value) return dispatchChange(self, { value }, false);\n if (!multiple && !value && items[0]) dispatchChange(self, items[0]);\n else syncInputValue(self);\n return speak(_texts.invalid);\n }\n for (const opt of options) opt.selected = opt === match;\n};\nvar dispatchChange = (self, item, removable = true) => {\n const { control, items, multiple } = self;\n const add = createElement(\"data\", item.label || item.value, {\n value: item.value\n });\n const remove = [...items].find((i) => i.value === item.value);\n const event = { bubbles: true, cancelable: true, detail: remove || add };\n const skip = remove && !removable;\n if (skip) return syncInputValue(self);\n if (self.dispatchEvent(new CustomEvent(\"beforechange\", event))) {\n if (!multiple) for (const item2 of [...items]) item2.remove();\n if (remove) remove.remove();\n else control == null ? void 0 : control.insertAdjacentElement(\"beforebegin\", add);\n self.dispatchEvent(new CustomEvent(\"afterchange\", event));\n }\n};\nvar onFocus = (self, { target }) => {\n if (target instanceof HTMLElement) self._focus = target;\n speak();\n};\nvar onBlur = (self) => isMouseDown() || setTimeout(onBlurred, 0, self);\nvar onBlurred = (self) => {\n var _a2;\n if (!self._focus || self.contains((_a2 = self._root) == null ? void 0 : _a2.activeElement)) return;\n if (!self.multiple) dispatchMatch(self);\n self._focus = void 0;\n};\nvar onClick = (self, event) => {\n const { clientX: x, clientY: y, target } = event;\n const { clear, control, items } = self;\n if (clear == null ? void 0 : clear.contains(target)) {\n if (control) setValue(control, \"\", \"deleteContentBackward\");\n return control == null ? void 0 : control.focus();\n }\n for (const item of items) {\n const { top, right, bottom, left } = item.getBoundingClientRect();\n if (item.contains(target)) return dispatchChange(self, item);\n if (y >= top && y <= bottom && x >= left && x <= right) return item.focus();\n }\n if (target === self) control == null ? void 0 : control.focus();\n};\nvar onInput = (self, event) => {\n var _a2;\n const { options = [], control, multiple } = self;\n const value = ((_a2 = control == null ? void 0 : control.value) == null ? void 0 : _a2.trim()) || \"\";\n const isClick = event instanceof InputEvent ? !event.inputType || event.inputType === \"insertReplacementText\" : !!value;\n if (isClick) {\n event.stopImmediatePropagation();\n if (control) control.value = self._value;\n for (const opt of options)\n if (opt.value && opt.value === value)\n return dispatchChange(self, opt, multiple);\n } else if (!multiple) dispatchMatch(self, false);\n syncClearWithInput(self);\n};\nvar onKeyDown = (self, event) => {\n var _a2;\n if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) return;\n const { clear, control, items } = self;\n const { key, repeat, target } = event;\n const isControl = control && control === target;\n const inText = isControl && (control == null ? void 0 : control.selectionEnd);\n let index = isControl ? items.length : [...items].indexOf(target);\n if (isControl && key === \"Tab\" && clear && !clear.hidden) {\n event.preventDefault();\n clear.tabIndex = -1;\n clear.focus();\n on(clear, \"blur\", () => attr(clear, \"tabindex\", null), EVENT_ONCE);\n }\n if (!isControl && asButton(event) || index === -1) return;\n if (key === \"ArrowRight\" && !isControl) index += 1;\n else if (key === \"ArrowLeft\" && !inText) index -= 1;\n else if (key === \"Enter\" && isControl) {\n const form = attr(control, \"form\");\n attr(control, \"form\", \"#\");\n requestAnimationFrame(() => attr(control, \"form\", form));\n return dispatchMatch(self);\n } else if ((key === \"Backspace\" || key === \"Delete\") && !inText) {\n event.preventDefault();\n if (!repeat && items[index]) return dispatchChange(self, items[index]);\n if (isControl) index -= 1;\n } else return isControl || (control == null ? void 0 : control.focus());\n event.preventDefault();\n (_a2 = items[Math.max(0, index)] || control) == null ? void 0 : _a2.focus();\n};\ncustomElements.define(\"u-combobox\", UHTMLComboboxElement);\n\nexport { UHTMLComboboxElement };\n"],"names":["__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","value","__spreadValues","a","b","prop","IS_BROWSER","IS_ANDROID","IS_FIREFOX","IS_IOS","_a","FOCUS_OUTLINE","UHTMLElement","attr","el","name","events","action","element","rest","type","on","off","observers","mutationObserver","options","observer","detail","asButton","event","isClick","getRoot","node","_a2","root","id","useId","createElement","tagName","text2","attrs","val","customElements","instance","LIVE","LIVE_SR_FIX","speak","setValue","input","data","_b","proto","IS_PRESS","isMouseDown","EVENTS","EVENT_ONCE","IS_FIREFOX_DESKTOP","IS_MOBILE","FALSE","TEXTS","UHTMLComboboxElement","render","syncInputValue","_","target","onBlur","onClick","onFocus","onInput","onKeyDown","tag","text","isData","self","_focus","_texts","items","control","list","multiple","label","edits","addedNodes","removedNodes","shouldAnnounce","inputMode","nextFocus","_a3","idx","select","item2","option","label2","aria","opt","item","syncClearWithInput","syncOptionsWithItems","_speak","values","dispatchMatch","change","creatable","query","match","o","dispatchChange","removable","add","remove","i","onBlurred","x","y","clear","top","right","bottom","left","repeat","isControl","inText","index","form"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,25 +1,25 @@
1
- var X = Object.defineProperty, k = Object.getOwnPropertySymbols, Y = Object.prototype.hasOwnProperty, q = Object.prototype.propertyIsEnumerable, A = (t, e, i) => e in t ? X(t, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : t[e] = i, z = (t, e) => {
1
+ var X = Object.defineProperty, A = Object.getOwnPropertySymbols, Y = Object.prototype.hasOwnProperty, q = Object.prototype.propertyIsEnumerable, D = (t, e, i) => e in t ? X(t, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : t[e] = i, z = (t, e) => {
2
2
  for (var i in e || (e = {}))
3
- Y.call(e, i) && A(t, i, e[i]);
4
- if (k)
5
- for (var i of k(e))
6
- q.call(e, i) && A(t, i, e[i]);
3
+ Y.call(e, i) && D(t, i, e[i]);
4
+ if (A)
5
+ for (var i of A(e))
6
+ q.call(e, i) && D(t, i, e[i]);
7
7
  return t;
8
- }, f = typeof window < "u" && typeof window.document < "u" && typeof window.navigator < "u", w = f && /android/i.test(navigator.userAgent), S = f && /iPad|iPhone|iPod/.test(navigator.userAgent), D;
8
+ }, f = typeof window < "u" && typeof window.document < "u" && typeof window.navigator < "u", w = f && /android/i.test(navigator.userAgent), C = f && /iPad|iPhone|iPod/.test(navigator.userAgent), $;
9
9
  f && // @ts-expect-error Typescript has not implemented userAgentData yet https://stackoverflow.com/a/71392474
10
- /^Mac/i.test(((D = navigator.userAgentData) == null ? void 0 : D.platform) || navigator.platform);
11
- var G = `${w ? "data" : "aria"}-labelledby`, J = ":host(:not([hidden])) { display: block }", Q = "outline: 1px dotted; outline: 5px auto Highlight; outline: 5px auto -webkit-focus-ring-color", B = typeof HTMLElement > "u" ? class {
10
+ /^Mac/i.test((($ = navigator.userAgentData) == null ? void 0 : $.platform) || navigator.platform);
11
+ var G = `${w ? "data" : "aria"}-labelledby`, J = ":host(:not([hidden])) { display: block }", Q = "outline: 1px dotted; outline: 5px auto Highlight; outline: 5px auto -webkit-focus-ring-color", H = typeof HTMLElement > "u" ? class {
12
12
  } : HTMLElement;
13
13
  function r(t, e, i) {
14
14
  return i === void 0 ? t.getAttribute(e) : (i === null ? t.removeAttribute(e) : t.getAttribute(e) !== i && t.setAttribute(e, i), null);
15
15
  }
16
- var H = (t, e, i) => {
16
+ var N = (t, e, i) => {
17
17
  for (const o of i[0].split(","))
18
18
  i[0] = o, Element.prototype[`${t}EventListener`].apply(e, i);
19
- }, v = (t, ...e) => H("add", t, e), E = (t, ...e) => H("remove", t, e), Z = (t, e) => t.attachShadow({ mode: "open" }).append(
20
- T("slot"),
19
+ }, v = (t, ...e) => N("add", t, e), E = (t, ...e) => N("remove", t, e), Z = (t, e) => t.attachShadow({ mode: "open" }).append(
20
+ S("slot"),
21
21
  // Unnamed slot does automatically render all top element nodes
22
- T("style", e)
22
+ S("style", e)
23
23
  ), m = /* @__PURE__ */ new WeakMap(), x = (t, e) => {
24
24
  if (e === void 0) return m.get(t);
25
25
  try {
@@ -32,28 +32,28 @@ var H = (t, e, i) => {
32
32
  );
33
33
  i.observe(t, e), m.set(t, i);
34
34
  }
35
- }, N = (t) => {
35
+ }, R = (t) => {
36
36
  var e;
37
37
  const i = ((e = t.getRootNode) == null ? void 0 : e.call(t)) || t.ownerDocument;
38
38
  return i instanceof Document || i instanceof ShadowRoot ? i : document;
39
- }, tt = 0, L = (t) => t ? (t.id || (t.id = `:${t.nodeName.toLowerCase()}${(++tt).toString(32)}`), t.id) : "", T = (t, e, i) => {
39
+ }, tt = 0, T = (t) => t ? (t.id || (t.id = `:${t.nodeName.toLowerCase()}${(++tt).toString(32)}`), t.id) : "", S = (t, e, i) => {
40
40
  const o = document.createElement(t);
41
41
  return e && (o.textContent = e), o;
42
- }, R = {
42
+ }, U = {
43
43
  define: (t, e) => !f || window.customElements.get(t) || window.customElements.define(t, e)
44
- }, c, et = 0, U = (t) => {
45
- c || (c = T("div"), c.style.cssText = "position:fixed;overflow:hidden;width:1px;white-space:nowrap", r(c, "aria-live", "assertive")), c.isConnected || document.body.append(c), t && (c.textContent = `${t}${et++ % 2 ? " " : ""}`);
44
+ }, c, et = 0, F = (t) => {
45
+ c || (c = S("div"), c.style.cssText = "position:fixed;overflow:hidden;width:1px;white-space:nowrap", r(c, "aria-live", "assertive")), c.isConnected || document.body.append(c), t && (c.textContent = `${t}${et++ % 2 ? " " : ""}`);
46
46
  }, it = (t, e, i = "") => {
47
47
  var o, s;
48
48
  const n = { bubbles: !0, composed: !0, data: e, inputType: i }, u = HTMLInputElement.prototype;
49
49
  t.dispatchEvent(new InputEvent("beforeinput", n)), (s = (o = Object.getOwnPropertyDescriptor(u, "value")) == null ? void 0 : o.set) == null || s.call(t, e), t.dispatchEvent(new InputEvent("input", n)), t.dispatchEvent(new Event("change", { bubbles: !0 }));
50
- }, y = !1, C = (t) => (t?.type === "mouseup" && (y = !1), t?.type === "mousedown" && (y = !0, v(document, "mouseup", C, { once: !0 })), y), I = "disabled", p = "selected", ot = class extends B {
50
+ }, y = !1, O = (t) => (t?.type === "mouseup" && (y = !1), t?.type === "mousedown" && (y = !0, v(document, "mouseup", O, { once: !0 })), y), I = "disabled", p = "selected", ot = class extends H {
51
51
  // Using ES2015 syntax for backwards compatibility
52
52
  static get observedAttributes() {
53
53
  return [I, p];
54
54
  }
55
55
  connectedCallback() {
56
- S || (this.tabIndex = -1), this.hasAttribute("role") || r(this, "role", "option"), this.attributeChangedCallback();
56
+ C || (this.tabIndex = -1), this.hasAttribute("role") || r(this, "role", "option"), this.attributeChangedCallback();
57
57
  }
58
58
  attributeChangedCallback() {
59
59
  r(this, "aria-disabled", `${this.disabled}`), r(this, "aria-selected", `${this.selected}`);
@@ -113,11 +113,11 @@ var H = (t, e, i) => {
113
113
  r(this, "value", t);
114
114
  }
115
115
  };
116
- R.define("u-option", ot);
117
- var $, M = 0, rt = S || w, F = "click,focusout,input,keydown,mousedown,mouseup", V = "focus,focusin,blur,focusout", g = {
116
+ U.define("u-option", ot);
117
+ var M, B = 0, rt = C || w, V = "click,focusout,input,keydown,mousedown,mouseup", K = "focus,focusin,blur,focusout", g = {
118
118
  singular: "%d hit",
119
119
  plural: "%d hits"
120
- }, nt = class extends B {
120
+ }, nt = class extends H {
121
121
  constructor() {
122
122
  super(), this._texts = z({}, g), this._value = "", Z(
123
123
  this,
@@ -135,7 +135,7 @@ var $, M = 0, rt = S || w, F = "click,focusout,input,keydown,mousedown,mouseup",
135
135
  return ["id", ...Object.keys(g).map((t) => `data-sr-${t}`)];
136
136
  }
137
137
  connectedCallback() {
138
- this.hidden = !0, this._root = N(this), r(this, "role", "listbox"), r(this, "tabindex", "-1"), v(this._root, "focusin", this), v(this._root, "focus", this, !0), x(this, {
138
+ this.hidden = !0, this._root = R(this), r(this, "role", "listbox"), r(this, "tabindex", "-1"), v(this._root, "focusin", this), v(this._root, "focus", this, !0), x(this, {
139
139
  attributeFilter: ["disabled", "hidden", "label", "value"],
140
140
  attributes: !0,
141
141
  characterData: !0,
@@ -144,41 +144,43 @@ var $, M = 0, rt = S || w, F = "click,focusout,input,keydown,mousedown,mouseup",
144
144
  }), setTimeout(() => this.attributeChangedCallback());
145
145
  }
146
146
  disconnectedCallback() {
147
- E(this._root || this, "focus", this, !0), E(this._root || this, "focusin", this), x(this, !1), O(this), this._root = void 0;
147
+ E(this._root || this, "focus", this, !0), E(this._root || this, "focusin", this), x(this, !1), P(this), this._root = void 0;
148
148
  }
149
149
  attributeChangedCallback(t, e, i) {
150
150
  const o = t?.split("data-sr-")[1], s = `input[list="${this.id}"]`;
151
151
  if (g[o]) this._texts[o] = i || g[o];
152
- else if (this._root)
152
+ else if (this._root) {
153
+ this._input && L(this, this._input);
153
154
  for (const n of this._root.querySelectorAll(s))
154
- K(this, n);
155
+ L(this, n);
156
+ }
155
157
  }
156
158
  handleEvent(t) {
157
159
  const { target: e, type: i } = t;
158
- t.defaultPrevented || (i === "click" && st(this, t), (i === "focus" || i === "focusin") && at(this, t), (i === "blur" || i === "focusout") && ut(this, t), i === "keydown" && dt(this, t), i === "mousedown" && this.contains(e) && C(t), (i === "mutation" || i === "input") && (clearTimeout(M), M = setTimeout(W, 0, this, t)));
160
+ t.defaultPrevented || (i === "click" && st(this, t), (i === "focus" || i === "focusin") && at(this, t), (i === "blur" || i === "focusout") && ut(this, t), i === "keydown" && dt(this, t), i === "mousedown" && this.contains(e) && O(t), (i === "mutation" || i === "input") && (clearTimeout(B), B = setTimeout(W, 0, this, t)));
159
161
  }
160
162
  get options() {
161
163
  return this.getElementsByTagName("u-option");
162
164
  }
163
165
  }, h = (t, e) => {
164
166
  var i, o;
165
- t.hidden === e && (t.hidden = !e, (i = x(t)) == null || i.takeRecords(), t._input && K(t, t._input, e), t.popover && ((o = t._input) != null && o.isConnected) && (r(t._input, "popovertarget", L(t)), r(t, "popover", "manual"), t.togglePopover(e)), e && W(t));
166
- }, O = (t) => {
167
- t._input && (E(t._input || t, V, t), E(t._root || t, F, t), h(t, !1), t._input = void 0);
168
- }, K = (t, e, i = !1) => {
169
- v(e, V, t, !0), r(e, "aria-autocomplete", "list"), r(e, "aria-controls", L(t)), r(e, "aria-expanded", `${rt ? i : "true"}`), r(e, "autocomplete", "off"), r(e, "role", "combobox");
167
+ t.hidden === e && (t.hidden = !e, (i = x(t)) == null || i.takeRecords(), t._input && L(t, t._input, e), t.popover && ((o = t._input) != null && o.isConnected) && (r(t, "popover", "manual"), t.togglePopover(e)), e && W(t));
168
+ }, P = (t) => {
169
+ t._input && (E(t._input || t, K, t), E(t._root || t, V, t), h(t, !1), t._input = void 0);
170
+ }, L = (t, e, i = !1) => {
171
+ t.popover && r(e, "popovertarget", T(t)), v(e, K, t, !0), r(e, "aria-autocomplete", "list"), r(e, "aria-controls", T(t)), r(e, "aria-expanded", `${rt ? i : "true"}`), r(e, "autocomplete", "off"), r(e, "role", "combobox");
170
172
  }, at = (t, e) => {
171
173
  var i;
172
174
  const o = e.target instanceof HTMLInputElement;
173
- o && e.isTrusted && e.stopImmediatePropagation(), t._input !== e.target && o && e.target.list === t && (t._input && O(t), t._input = e.target, t._input.dispatchEvent(new FocusEvent("focus")), t._input.dispatchEvent(new FocusEvent("focusin", { bubbles: !0 })), r(t, G, L((i = t._input.labels) == null ? void 0 : i[0])), v(t._root || t, F, t), h(t, !0), U());
175
+ o && e.isTrusted && e.stopImmediatePropagation(), t._input !== e.target && o && e.target.list === t && (t._input && P(t), t._input = e.target, t._input.dispatchEvent(new FocusEvent("focus")), t._input.dispatchEvent(new FocusEvent("focusin", { bubbles: !0 })), r(t, G, T((i = t._input.labels) == null ? void 0 : i[0])), v(t._root || t, V, t), h(t, !0), F());
174
176
  }, ut = (t, e) => {
175
- !w && !C() && t._input && setTimeout(j, 0, t), e.target === t._input && e.isTrusted && e.stopImmediatePropagation();
177
+ !w && !O() && t._input && setTimeout(j, 0, t), e.target === t._input && e.isTrusted && e.stopImmediatePropagation();
176
178
  }, j = (t) => {
177
179
  var e;
178
180
  const i = ((e = t._root) == null ? void 0 : e.activeElement) || null, o = t._input;
179
181
  o && o !== i && !t.contains(i) && (o.dispatchEvent(new FocusEvent("blur", { relatedTarget: i })), o.dispatchEvent(
180
182
  new FocusEvent("focusout", { bubbles: !0, relatedTarget: i })
181
- ), O(t));
183
+ ), P(t));
182
184
  }, st = (t, { target: e }) => {
183
185
  var i;
184
186
  if (!t._input || t._input === e) return h(t, !0);
@@ -206,19 +208,19 @@ var $, M = 0, rt = S || w, F = "click,focusout,input,keydown,mousedown,mouseup",
206
208
  for (const a of l) r(a, "aria-hidden", "true");
207
209
  for (const a of b) r(a, "aria-hidden", "false");
208
210
  const _ = b.length;
209
- clearTimeout($), e?.type === "input" && u !== t._value && ($ = setTimeout(() => {
211
+ clearTimeout(M), e?.type === "input" && u !== t._value && (M = setTimeout(() => {
210
212
  const a = `${!_ && t.innerText.trim() || `${i[_ === 1 ? "singular" : "plural"]}`.replace("%d", `${_}`)}`;
211
- !t.hidden && o?.activeElement === s && U(a), t._value = u;
212
- }, 1e3)), S && b.forEach((a, P) => r(a, "title", `${P + 1}/${_}`));
213
+ !t.hidden && o?.activeElement === s && F(a), t._value = u;
214
+ }, 1e3)), C && b.forEach((a, k) => r(a, "title", `${k + 1}/${_}`));
213
215
  };
214
216
  f && Object.defineProperty(HTMLInputElement.prototype, "list", {
215
217
  configurable: !0,
216
218
  enumerable: !0,
217
219
  get() {
218
- return N(this).getElementById(r(this, "list") || "");
220
+ return R(this).getElementById(r(this, "list") || "");
219
221
  }
220
222
  });
221
- R.define("u-datalist", nt);
223
+ U.define("u-datalist", nt);
222
224
  export {
223
225
  nt as UHTMLDataListElement
224
226
  };
@@ -1 +1 @@
1
- {"version":3,"file":"u-datalist.js","sources":["../../../../../node_modules/@u-elements/u-datalist/dist/u-datalist.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\n\n// ../utils.ts\nvar IS_BROWSER = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.navigator !== \"undefined\";\nvar IS_ANDROID = IS_BROWSER && /android/i.test(navigator.userAgent);\nvar IS_IOS = IS_BROWSER && /iPad|iPhone|iPod/.test(navigator.userAgent);\nvar _a;\nIS_BROWSER && // @ts-expect-error Typescript has not implemented userAgentData yet https://stackoverflow.com/a/71392474\n/^Mac/i.test(((_a = navigator.userAgentData) == null ? void 0 : _a.platform) || navigator.platform);\nvar SAFE_LABELLEDBY = `${IS_ANDROID ? \"data\" : \"aria\"}-labelledby`;\nvar DISPLAY_BLOCK = \":host(:not([hidden])) { display: block }\";\nvar FOCUS_OUTLINE = \"outline: 1px dotted; outline: 5px auto Highlight; outline: 5px auto -webkit-focus-ring-color\";\nvar UHTMLElement = typeof HTMLElement === \"undefined\" ? class {\n} : HTMLElement;\nfunction attr(el, name, value) {\n if (value === void 0) return el.getAttribute(name);\n if (value === null) el.removeAttribute(name);\n else if (el.getAttribute(name) !== value) el.setAttribute(name, value);\n return null;\n}\nvar events = (action, element, rest) => {\n for (const type of rest[0].split(\",\")) {\n rest[0] = type;\n Element.prototype[`${action}EventListener`].apply(element, rest);\n }\n};\nvar on = (element, ...rest) => events(\"add\", element, rest);\nvar off = (element, ...rest) => events(\"remove\", element, rest);\nvar attachStyle = (element, css) => element.attachShadow({ mode: \"open\" }).append(\n createElement(\"slot\"),\n // Unnamed slot does automatically render all top element nodes\n createElement(\"style\", css)\n);\nvar observers = /* @__PURE__ */ new WeakMap();\nvar mutationObserver = (element, options) => {\n if (options === void 0) return observers.get(element);\n try {\n observers.get(element).disconnect();\n observers.delete(element);\n } catch (_err) {\n }\n if (options) {\n const observer = new MutationObserver(\n (detail) => element.handleEvent({ type: \"mutation\", detail })\n );\n observer.observe(element, options);\n observers.set(element, observer);\n }\n};\nvar getRoot = (node) => {\n var _a2;\n const root = ((_a2 = node.getRootNode) == null ? void 0 : _a2.call(node)) || node.ownerDocument;\n return root instanceof Document || root instanceof ShadowRoot ? root : document;\n};\nvar id = 0;\nvar useId = (el) => {\n if (!el) return \"\";\n if (!el.id) el.id = `:${el.nodeName.toLowerCase()}${(++id).toString(32)}`;\n return el.id;\n};\nvar createElement = (tagName, text, attrs) => {\n const el = document.createElement(tagName);\n if (text) el.textContent = text;\n return el;\n};\nvar customElements = {\n define: (name, instance) => !IS_BROWSER || window.customElements.get(name) || window.customElements.define(name, instance)\n};\nvar LIVE;\nvar LIVE_SR_FIX = 0;\nvar speak = (text) => {\n if (!LIVE) {\n LIVE = createElement(\"div\");\n LIVE.style.cssText = \"position:fixed;overflow:hidden;width:1px;white-space:nowrap\";\n attr(LIVE, \"aria-live\", \"assertive\");\n }\n if (!LIVE.isConnected) document.body.append(LIVE);\n if (text) LIVE.textContent = `${text}${LIVE_SR_FIX++ % 2 ? \"\\xA0\" : \"\"}`;\n};\nvar setValue = (input, data, type = \"\") => {\n var _a2, _b;\n const event = { bubbles: true, composed: true, data, inputType: type };\n const proto = HTMLInputElement.prototype;\n input.dispatchEvent(new InputEvent(\"beforeinput\", event));\n (_b = (_a2 = Object.getOwnPropertyDescriptor(proto, \"value\")) == null ? void 0 : _a2.set) == null ? void 0 : _b.call(input, data);\n input.dispatchEvent(new InputEvent(\"input\", event));\n input.dispatchEvent(new Event(\"change\", { bubbles: true }));\n};\nvar IS_PRESS = false;\nvar isMouseDown = (event) => {\n if ((event == null ? void 0 : event.type) === \"mouseup\") IS_PRESS = false;\n if ((event == null ? void 0 : event.type) === \"mousedown\") {\n IS_PRESS = true;\n on(document, \"mouseup\", isMouseDown, { once: true });\n }\n return IS_PRESS;\n};\n\n// u-option.ts\nvar DISABLED = \"disabled\";\nvar SELECTED = \"selected\";\nvar UHTMLOptionElement = class extends UHTMLElement {\n // Using ES2015 syntax for backwards compatibility\n static get observedAttributes() {\n return [DISABLED, SELECTED];\n }\n connectedCallback() {\n if (!IS_IOS) this.tabIndex = -1;\n if (!this.hasAttribute(\"role\")) attr(this, \"role\", \"option\");\n this.attributeChangedCallback();\n }\n attributeChangedCallback() {\n attr(this, \"aria-disabled\", `${this.disabled}`);\n attr(this, \"aria-selected\", `${this.selected}`);\n }\n /** Sets or retrieves whether the option in the list box is the default item. */\n get defaultSelected() {\n return this[SELECTED];\n }\n set defaultSelected(value) {\n this[SELECTED] = value;\n }\n get disabled() {\n return attr(this, DISABLED) !== null;\n }\n set disabled(value) {\n attr(this, DISABLED, value ? \"\" : null);\n }\n /** Retrieves a reference to the form that the object is embedded in. */\n get form() {\n return this.closest(\"form\");\n }\n /** Sets or retrieves the ordinal position of an option in a list box. */\n get index() {\n var _a2;\n return [\n ...((_a2 = this.parentElement) == null ? void 0 : _a2.options) || [this]\n ].indexOf(this);\n }\n /** Sets or retrieves a value that you can use to implement your own label functionality for the object. */\n get label() {\n var _a2;\n return (_a2 = attr(this, \"label\")) != null ? _a2 : this.text;\n }\n set label(value) {\n attr(this, \"label\", value);\n }\n get selected() {\n return attr(this, SELECTED) !== null;\n }\n set selected(value) {\n attr(this, SELECTED, value ? \"\" : null);\n }\n /** Sets or retrieves the text string specified by the option tag. */\n get text() {\n var _a2;\n return ((_a2 = this.textContent) == null ? void 0 : _a2.trim()) || \"\";\n }\n set text(text) {\n this.textContent = text;\n }\n /** Sets or retrieves the value which is returned to the server when the form control is submitted. */\n get value() {\n var _a2;\n return (_a2 = attr(this, \"value\")) != null ? _a2 : this.text;\n }\n set value(value) {\n attr(this, \"value\", value);\n }\n};\ncustomElements.define(\"u-option\", UHTMLOptionElement);\n\n// u-datalist.ts\nvar LIVE_TIMER;\nvar INPUT_DEBOUNCE = 0;\nvar IS_MOBILE = IS_IOS || IS_ANDROID;\nvar EVENTS = \"click,focusout,input,keydown,mousedown,mouseup\";\nvar EVENTS_INPUT = \"focus,focusin,blur,focusout\";\nvar TEXTS = {\n singular: \"%d hit\",\n plural: \"%d hits\"\n};\nvar UHTMLDataListElement = class extends UHTMLElement {\n constructor() {\n super();\n this._texts = __spreadValues({}, TEXTS);\n this._value = \"\";\n attachStyle(\n this,\n `${DISPLAY_BLOCK}\n\t\t\t::slotted(u-option) { display: block; cursor: pointer }\n\t\t\t::slotted(u-option:focus) { ${FOCUS_OUTLINE} }\n\t\t\t::slotted(u-option[aria-hidden=\"true\"]),\n\t\t\t::slotted(u-option[disabled]),\n\t\t\t::slotted(u-option[hidden]) { display: none !important }`\n );\n }\n // Used to prevent unnecessary announcements\n // Using ES2015 syntax for backwards compatibility\n static get observedAttributes() {\n return [\"id\", ...Object.keys(TEXTS).map((key) => `data-sr-${key}`)];\n }\n connectedCallback() {\n this.hidden = true;\n this._root = getRoot(this);\n attr(this, \"role\", \"listbox\");\n attr(this, \"tabindex\", \"-1\");\n on(this._root, \"focusin\", this);\n on(this._root, \"focus\", this, true);\n mutationObserver(this, {\n attributeFilter: [\"disabled\", \"hidden\", \"label\", \"value\"],\n attributes: true,\n characterData: true,\n childList: true,\n subtree: true\n });\n setTimeout(() => this.attributeChangedCallback());\n }\n disconnectedCallback() {\n off(this._root || this, \"focus\", this, true);\n off(this._root || this, \"focusin\", this);\n mutationObserver(this, false);\n disconnectInput(this);\n this._root = void 0;\n }\n attributeChangedCallback(prop, _prev, next) {\n const text = prop == null ? void 0 : prop.split(\"data-sr-\")[1];\n const css = `input[list=\"${this.id}\"]`;\n if (TEXTS[text]) this._texts[text] = next || TEXTS[text];\n else if (this._root)\n for (const input of this._root.querySelectorAll(css))\n setupInput(this, input);\n }\n handleEvent(event) {\n const { target, type } = event;\n if (event.defaultPrevented) return;\n if (type === \"click\") onClick(this, event);\n if (type === \"focus\" || type === \"focusin\") onFocus(this, event);\n if (type === \"blur\" || type === \"focusout\") onBlur(this, event);\n if (type === \"keydown\") onKeyDown(this, event);\n if (type === \"mousedown\" && this.contains(target))\n isMouseDown(event);\n if (type === \"mutation\" || type === \"input\") {\n clearTimeout(INPUT_DEBOUNCE);\n INPUT_DEBOUNCE = setTimeout(onInput, 0, this, event);\n }\n }\n get options() {\n return this.getElementsByTagName(\"u-option\");\n }\n};\nvar setExpanded = (self, open) => {\n var _a2, _b;\n if (self.hidden !== open) return;\n self.hidden = !open;\n (_a2 = mutationObserver(self)) == null ? void 0 : _a2.takeRecords();\n if (self._input) setupInput(self, self._input, open);\n if (self.popover && ((_b = self._input) == null ? void 0 : _b.isConnected)) {\n attr(self._input, \"popovertarget\", useId(self));\n attr(self, \"popover\", \"manual\");\n self.togglePopover(open);\n }\n if (open) onInput(self);\n};\nvar disconnectInput = (self) => {\n if (!self._input) return;\n off(self._input || self, EVENTS_INPUT, self);\n off(self._root || self, EVENTS, self);\n setExpanded(self, false);\n self._input = void 0;\n};\nvar setupInput = (self, input, open = false) => {\n on(input, EVENTS_INPUT, self, true);\n attr(input, \"aria-autocomplete\", \"list\");\n attr(input, \"aria-controls\", useId(self));\n attr(input, \"aria-expanded\", `${IS_MOBILE ? open : \"true\"}`);\n attr(input, \"autocomplete\", \"off\");\n attr(input, \"role\", \"combobox\");\n};\nvar onFocus = (self, event) => {\n var _a2;\n const isInput = event.target instanceof HTMLInputElement;\n if (isInput && event.isTrusted) event.stopImmediatePropagation();\n if (self._input !== event.target && isInput && event.target.list === self) {\n if (self._input) disconnectInput(self);\n self._input = event.target;\n self._input.dispatchEvent(new FocusEvent(\"focus\"));\n self._input.dispatchEvent(new FocusEvent(\"focusin\", { bubbles: true }));\n attr(self, SAFE_LABELLEDBY, useId((_a2 = self._input.labels) == null ? void 0 : _a2[0]));\n on(self._root || self, EVENTS, self);\n setExpanded(self, true);\n speak();\n }\n};\nvar onBlur = (self, event) => {\n if (!IS_ANDROID && !isMouseDown() && self._input)\n setTimeout(onBlurred, 0, self);\n if (event.target === self._input && event.isTrusted)\n event.stopImmediatePropagation();\n};\nvar onBlurred = (self) => {\n var _a2;\n const relatedTarget = ((_a2 = self._root) == null ? void 0 : _a2.activeElement) || null;\n const input = self._input;\n if (input && input !== relatedTarget && !self.contains(relatedTarget)) {\n input.dispatchEvent(new FocusEvent(\"blur\", { relatedTarget }));\n input.dispatchEvent(\n new FocusEvent(\"focusout\", { bubbles: true, relatedTarget })\n );\n disconnectInput(self);\n }\n};\nvar onClick = (self, { target }) => {\n var _a2;\n if (!self._input || self._input === target) return setExpanded(self, true);\n for (const opt of self.options)\n if (opt.contains(target)) {\n if (attr(self, \"aria-multiselectable\") !== \"true\") {\n (_a2 = self._input) == null ? void 0 : _a2.focus();\n setExpanded(self, false);\n }\n return setValue(self._input, opt.value);\n }\n if (IS_ANDROID) onBlurred(self);\n};\nvar onKeyDown = (self, e) => {\n var _a2;\n if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || e.key === \"Tab\")\n return;\n setExpanded(self, e.key !== \"Escape\");\n const { key, target } = e;\n const options = [...self.options].filter(\n (el) => attr(el, \"aria-hidden\") !== \"true\" && el.offsetHeight\n );\n const prev = options.indexOf(target);\n let next = -1;\n if (key === \"ArrowDown\") next = (prev + 1) % options.length;\n if (key === \"ArrowUp\") next = (~prev ? prev : options.length) - 1;\n if (~prev) {\n if (key === \"Home\" || key === \"PageUp\") next = 0;\n if (key === \"End\" || key === \"PageDown\") next = options.length - 1;\n if (key === \"Enter\") {\n options[prev].click();\n return e.preventDefault();\n }\n }\n if (options[next]) for (const option of options) option.tabIndex = -1;\n if (options[next]) e.preventDefault();\n (_a2 = options[next] || self._input) == null ? void 0 : _a2.focus();\n};\nvar onInput = (self, e) => {\n const { _texts, _root, _input, options } = self;\n const value = (_input == null ? void 0 : _input.value.toLowerCase().trim()) || \"\";\n const filter = !self.hasAttribute(\"data-nofilter\");\n const hidden = [];\n const visible = [];\n for (const opt of options) {\n const hide = opt.disabled || opt.hidden || filter && !opt.label.toLowerCase().includes(value);\n (hide ? hidden : visible).push(opt);\n }\n for (const opt of hidden) attr(opt, \"aria-hidden\", \"true\");\n for (const opt of visible) attr(opt, \"aria-hidden\", \"false\");\n const total = visible.length;\n clearTimeout(LIVE_TIMER);\n if ((e == null ? void 0 : e.type) === \"input\" && value !== self._value)\n LIVE_TIMER = setTimeout(() => {\n const text = `${!total && self.innerText.trim() || `${_texts[total === 1 ? \"singular\" : \"plural\"]}`.replace(\"%d\", `${total}`)}`;\n if (!self.hidden && (_root == null ? void 0 : _root.activeElement) === _input) speak(text);\n self._value = value;\n }, 1e3);\n if (IS_IOS)\n visible.forEach((opt, idx) => attr(opt, \"title\", `${idx + 1}/${total}`));\n};\nif (IS_BROWSER)\n Object.defineProperty(HTMLInputElement.prototype, \"list\", {\n configurable: true,\n enumerable: true,\n get() {\n return getRoot(this).getElementById(attr(this, \"list\") || \"\");\n }\n });\ncustomElements.define(\"u-datalist\", UHTMLDataListElement);\n\nexport { UHTMLDataListElement };\n"],"names":["__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","value","__spreadValues","a","b","prop","IS_BROWSER","IS_ANDROID","IS_IOS","_a","SAFE_LABELLEDBY","DISPLAY_BLOCK","FOCUS_OUTLINE","UHTMLElement","attr","el","name","events","action","element","rest","type","on","off","attachStyle","css","createElement","observers","mutationObserver","options","observer","detail","getRoot","node","_a2","root","id","useId","tagName","text","attrs","customElements","instance","LIVE","LIVE_SR_FIX","speak","setValue","input","data","_b","event","proto","IS_PRESS","isMouseDown","DISABLED","SELECTED","UHTMLOptionElement","LIVE_TIMER","INPUT_DEBOUNCE","IS_MOBILE","EVENTS","EVENTS_INPUT","TEXTS","UHTMLDataListElement","disconnectInput","_prev","next","setupInput","target","onClick","onFocus","onBlur","onKeyDown","onInput","setExpanded","self","open","isInput","onBlurred","relatedTarget","opt","prev","option","_texts","_root","_input","filter","hidden","visible","total","idx"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"u-datalist.js","sources":["../../../../../node_modules/@u-elements/u-datalist/dist/u-datalist.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\n\n// ../utils.ts\nvar IS_BROWSER = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.navigator !== \"undefined\";\nvar IS_ANDROID = IS_BROWSER && /android/i.test(navigator.userAgent);\nvar IS_IOS = IS_BROWSER && /iPad|iPhone|iPod/.test(navigator.userAgent);\nvar _a;\nIS_BROWSER && // @ts-expect-error Typescript has not implemented userAgentData yet https://stackoverflow.com/a/71392474\n/^Mac/i.test(((_a = navigator.userAgentData) == null ? void 0 : _a.platform) || navigator.platform);\nvar SAFE_LABELLEDBY = `${IS_ANDROID ? \"data\" : \"aria\"}-labelledby`;\nvar DISPLAY_BLOCK = \":host(:not([hidden])) { display: block }\";\nvar FOCUS_OUTLINE = \"outline: 1px dotted; outline: 5px auto Highlight; outline: 5px auto -webkit-focus-ring-color\";\nvar UHTMLElement = typeof HTMLElement === \"undefined\" ? class {\n} : HTMLElement;\nfunction attr(el, name, value) {\n if (value === void 0) return el.getAttribute(name);\n if (value === null) el.removeAttribute(name);\n else if (el.getAttribute(name) !== value) el.setAttribute(name, value);\n return null;\n}\nvar events = (action, element, rest) => {\n for (const type of rest[0].split(\",\")) {\n rest[0] = type;\n Element.prototype[`${action}EventListener`].apply(element, rest);\n }\n};\nvar on = (element, ...rest) => events(\"add\", element, rest);\nvar off = (element, ...rest) => events(\"remove\", element, rest);\nvar attachStyle = (element, css) => element.attachShadow({ mode: \"open\" }).append(\n createElement(\"slot\"),\n // Unnamed slot does automatically render all top element nodes\n createElement(\"style\", css)\n);\nvar observers = /* @__PURE__ */ new WeakMap();\nvar mutationObserver = (element, options) => {\n if (options === void 0) return observers.get(element);\n try {\n observers.get(element).disconnect();\n observers.delete(element);\n } catch (_err) {\n }\n if (options) {\n const observer = new MutationObserver(\n (detail) => element.handleEvent({ type: \"mutation\", detail })\n );\n observer.observe(element, options);\n observers.set(element, observer);\n }\n};\nvar getRoot = (node) => {\n var _a2;\n const root = ((_a2 = node.getRootNode) == null ? void 0 : _a2.call(node)) || node.ownerDocument;\n return root instanceof Document || root instanceof ShadowRoot ? root : document;\n};\nvar id = 0;\nvar useId = (el) => {\n if (!el) return \"\";\n if (!el.id) el.id = `:${el.nodeName.toLowerCase()}${(++id).toString(32)}`;\n return el.id;\n};\nvar createElement = (tagName, text, attrs) => {\n const el = document.createElement(tagName);\n if (text) el.textContent = text;\n return el;\n};\nvar customElements = {\n define: (name, instance) => !IS_BROWSER || window.customElements.get(name) || window.customElements.define(name, instance)\n};\nvar LIVE;\nvar LIVE_SR_FIX = 0;\nvar speak = (text) => {\n if (!LIVE) {\n LIVE = createElement(\"div\");\n LIVE.style.cssText = \"position:fixed;overflow:hidden;width:1px;white-space:nowrap\";\n attr(LIVE, \"aria-live\", \"assertive\");\n }\n if (!LIVE.isConnected) document.body.append(LIVE);\n if (text) LIVE.textContent = `${text}${LIVE_SR_FIX++ % 2 ? \"\\xA0\" : \"\"}`;\n};\nvar setValue = (input, data, type = \"\") => {\n var _a2, _b;\n const event = { bubbles: true, composed: true, data, inputType: type };\n const proto = HTMLInputElement.prototype;\n input.dispatchEvent(new InputEvent(\"beforeinput\", event));\n (_b = (_a2 = Object.getOwnPropertyDescriptor(proto, \"value\")) == null ? void 0 : _a2.set) == null ? void 0 : _b.call(input, data);\n input.dispatchEvent(new InputEvent(\"input\", event));\n input.dispatchEvent(new Event(\"change\", { bubbles: true }));\n};\nvar IS_PRESS = false;\nvar isMouseDown = (event) => {\n if ((event == null ? void 0 : event.type) === \"mouseup\") IS_PRESS = false;\n if ((event == null ? void 0 : event.type) === \"mousedown\") {\n IS_PRESS = true;\n on(document, \"mouseup\", isMouseDown, { once: true });\n }\n return IS_PRESS;\n};\n\n// u-option.ts\nvar DISABLED = \"disabled\";\nvar SELECTED = \"selected\";\nvar UHTMLOptionElement = class extends UHTMLElement {\n // Using ES2015 syntax for backwards compatibility\n static get observedAttributes() {\n return [DISABLED, SELECTED];\n }\n connectedCallback() {\n if (!IS_IOS) this.tabIndex = -1;\n if (!this.hasAttribute(\"role\")) attr(this, \"role\", \"option\");\n this.attributeChangedCallback();\n }\n attributeChangedCallback() {\n attr(this, \"aria-disabled\", `${this.disabled}`);\n attr(this, \"aria-selected\", `${this.selected}`);\n }\n /** Sets or retrieves whether the option in the list box is the default item. */\n get defaultSelected() {\n return this[SELECTED];\n }\n set defaultSelected(value) {\n this[SELECTED] = value;\n }\n get disabled() {\n return attr(this, DISABLED) !== null;\n }\n set disabled(value) {\n attr(this, DISABLED, value ? \"\" : null);\n }\n /** Retrieves a reference to the form that the object is embedded in. */\n get form() {\n return this.closest(\"form\");\n }\n /** Sets or retrieves the ordinal position of an option in a list box. */\n get index() {\n var _a2;\n return [\n ...((_a2 = this.parentElement) == null ? void 0 : _a2.options) || [this]\n ].indexOf(this);\n }\n /** Sets or retrieves a value that you can use to implement your own label functionality for the object. */\n get label() {\n var _a2;\n return (_a2 = attr(this, \"label\")) != null ? _a2 : this.text;\n }\n set label(value) {\n attr(this, \"label\", value);\n }\n get selected() {\n return attr(this, SELECTED) !== null;\n }\n set selected(value) {\n attr(this, SELECTED, value ? \"\" : null);\n }\n /** Sets or retrieves the text string specified by the option tag. */\n get text() {\n var _a2;\n return ((_a2 = this.textContent) == null ? void 0 : _a2.trim()) || \"\";\n }\n set text(text) {\n this.textContent = text;\n }\n /** Sets or retrieves the value which is returned to the server when the form control is submitted. */\n get value() {\n var _a2;\n return (_a2 = attr(this, \"value\")) != null ? _a2 : this.text;\n }\n set value(value) {\n attr(this, \"value\", value);\n }\n};\ncustomElements.define(\"u-option\", UHTMLOptionElement);\n\n// u-datalist.ts\nvar LIVE_TIMER;\nvar INPUT_DEBOUNCE = 0;\nvar IS_MOBILE = IS_IOS || IS_ANDROID;\nvar EVENTS = \"click,focusout,input,keydown,mousedown,mouseup\";\nvar EVENTS_INPUT = \"focus,focusin,blur,focusout\";\nvar TEXTS = {\n singular: \"%d hit\",\n plural: \"%d hits\"\n};\nvar UHTMLDataListElement = class extends UHTMLElement {\n constructor() {\n super();\n this._texts = __spreadValues({}, TEXTS);\n this._value = \"\";\n attachStyle(\n this,\n `${DISPLAY_BLOCK}\n\t\t\t::slotted(u-option) { display: block; cursor: pointer }\n\t\t\t::slotted(u-option:focus) { ${FOCUS_OUTLINE} }\n\t\t\t::slotted(u-option[aria-hidden=\"true\"]),\n\t\t\t::slotted(u-option[disabled]),\n\t\t\t::slotted(u-option[hidden]) { display: none !important }`\n );\n }\n // Used to prevent unnecessary announcements\n // Using ES2015 syntax for backwards compatibility\n static get observedAttributes() {\n return [\"id\", ...Object.keys(TEXTS).map((key) => `data-sr-${key}`)];\n }\n connectedCallback() {\n this.hidden = true;\n this._root = getRoot(this);\n attr(this, \"role\", \"listbox\");\n attr(this, \"tabindex\", \"-1\");\n on(this._root, \"focusin\", this);\n on(this._root, \"focus\", this, true);\n mutationObserver(this, {\n attributeFilter: [\"disabled\", \"hidden\", \"label\", \"value\"],\n attributes: true,\n characterData: true,\n childList: true,\n subtree: true\n });\n setTimeout(() => this.attributeChangedCallback());\n }\n disconnectedCallback() {\n off(this._root || this, \"focus\", this, true);\n off(this._root || this, \"focusin\", this);\n mutationObserver(this, false);\n disconnectInput(this);\n this._root = void 0;\n }\n attributeChangedCallback(prop, _prev, next) {\n const text = prop == null ? void 0 : prop.split(\"data-sr-\")[1];\n const css = `input[list=\"${this.id}\"]`;\n if (TEXTS[text]) this._texts[text] = next || TEXTS[text];\n else if (this._root) {\n if (this._input) setupInput(this, this._input);\n for (const input of this._root.querySelectorAll(css))\n setupInput(this, input);\n }\n }\n handleEvent(event) {\n const { target, type } = event;\n if (event.defaultPrevented) return;\n if (type === \"click\") onClick(this, event);\n if (type === \"focus\" || type === \"focusin\") onFocus(this, event);\n if (type === \"blur\" || type === \"focusout\") onBlur(this, event);\n if (type === \"keydown\") onKeyDown(this, event);\n if (type === \"mousedown\" && this.contains(target))\n isMouseDown(event);\n if (type === \"mutation\" || type === \"input\") {\n clearTimeout(INPUT_DEBOUNCE);\n INPUT_DEBOUNCE = setTimeout(onInput, 0, this, event);\n }\n }\n get options() {\n return this.getElementsByTagName(\"u-option\");\n }\n};\nvar setExpanded = (self, open) => {\n var _a2, _b;\n if (self.hidden !== open) return;\n self.hidden = !open;\n (_a2 = mutationObserver(self)) == null ? void 0 : _a2.takeRecords();\n if (self._input) setupInput(self, self._input, open);\n if (self.popover && ((_b = self._input) == null ? void 0 : _b.isConnected)) {\n attr(self, \"popover\", \"manual\");\n self.togglePopover(open);\n }\n if (open) onInput(self);\n};\nvar disconnectInput = (self) => {\n if (!self._input) return;\n off(self._input || self, EVENTS_INPUT, self);\n off(self._root || self, EVENTS, self);\n setExpanded(self, false);\n self._input = void 0;\n};\nvar setupInput = (self, input, open = false) => {\n if (self.popover) attr(input, \"popovertarget\", useId(self));\n on(input, EVENTS_INPUT, self, true);\n attr(input, \"aria-autocomplete\", \"list\");\n attr(input, \"aria-controls\", useId(self));\n attr(input, \"aria-expanded\", `${IS_MOBILE ? open : \"true\"}`);\n attr(input, \"autocomplete\", \"off\");\n attr(input, \"role\", \"combobox\");\n};\nvar onFocus = (self, event) => {\n var _a2;\n const isInput = event.target instanceof HTMLInputElement;\n if (isInput && event.isTrusted) event.stopImmediatePropagation();\n if (self._input !== event.target && isInput && event.target.list === self) {\n if (self._input) disconnectInput(self);\n self._input = event.target;\n self._input.dispatchEvent(new FocusEvent(\"focus\"));\n self._input.dispatchEvent(new FocusEvent(\"focusin\", { bubbles: true }));\n attr(self, SAFE_LABELLEDBY, useId((_a2 = self._input.labels) == null ? void 0 : _a2[0]));\n on(self._root || self, EVENTS, self);\n setExpanded(self, true);\n speak();\n }\n};\nvar onBlur = (self, event) => {\n if (!IS_ANDROID && !isMouseDown() && self._input)\n setTimeout(onBlurred, 0, self);\n if (event.target === self._input && event.isTrusted)\n event.stopImmediatePropagation();\n};\nvar onBlurred = (self) => {\n var _a2;\n const relatedTarget = ((_a2 = self._root) == null ? void 0 : _a2.activeElement) || null;\n const input = self._input;\n if (input && input !== relatedTarget && !self.contains(relatedTarget)) {\n input.dispatchEvent(new FocusEvent(\"blur\", { relatedTarget }));\n input.dispatchEvent(\n new FocusEvent(\"focusout\", { bubbles: true, relatedTarget })\n );\n disconnectInput(self);\n }\n};\nvar onClick = (self, { target }) => {\n var _a2;\n if (!self._input || self._input === target) return setExpanded(self, true);\n for (const opt of self.options)\n if (opt.contains(target)) {\n if (attr(self, \"aria-multiselectable\") !== \"true\") {\n (_a2 = self._input) == null ? void 0 : _a2.focus();\n setExpanded(self, false);\n }\n return setValue(self._input, opt.value);\n }\n if (IS_ANDROID) onBlurred(self);\n};\nvar onKeyDown = (self, e) => {\n var _a2;\n if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || e.key === \"Tab\")\n return;\n setExpanded(self, e.key !== \"Escape\");\n const { key, target } = e;\n const options = [...self.options].filter(\n (el) => attr(el, \"aria-hidden\") !== \"true\" && el.offsetHeight\n );\n const prev = options.indexOf(target);\n let next = -1;\n if (key === \"ArrowDown\") next = (prev + 1) % options.length;\n if (key === \"ArrowUp\") next = (~prev ? prev : options.length) - 1;\n if (~prev) {\n if (key === \"Home\" || key === \"PageUp\") next = 0;\n if (key === \"End\" || key === \"PageDown\") next = options.length - 1;\n if (key === \"Enter\") {\n options[prev].click();\n return e.preventDefault();\n }\n }\n if (options[next]) for (const option of options) option.tabIndex = -1;\n if (options[next]) e.preventDefault();\n (_a2 = options[next] || self._input) == null ? void 0 : _a2.focus();\n};\nvar onInput = (self, e) => {\n const { _texts, _root, _input, options } = self;\n const value = (_input == null ? void 0 : _input.value.toLowerCase().trim()) || \"\";\n const filter = !self.hasAttribute(\"data-nofilter\");\n const hidden = [];\n const visible = [];\n for (const opt of options) {\n const hide = opt.disabled || opt.hidden || filter && !opt.label.toLowerCase().includes(value);\n (hide ? hidden : visible).push(opt);\n }\n for (const opt of hidden) attr(opt, \"aria-hidden\", \"true\");\n for (const opt of visible) attr(opt, \"aria-hidden\", \"false\");\n const total = visible.length;\n clearTimeout(LIVE_TIMER);\n if ((e == null ? void 0 : e.type) === \"input\" && value !== self._value)\n LIVE_TIMER = setTimeout(() => {\n const text = `${!total && self.innerText.trim() || `${_texts[total === 1 ? \"singular\" : \"plural\"]}`.replace(\"%d\", `${total}`)}`;\n if (!self.hidden && (_root == null ? void 0 : _root.activeElement) === _input) speak(text);\n self._value = value;\n }, 1e3);\n if (IS_IOS)\n visible.forEach((opt, idx) => attr(opt, \"title\", `${idx + 1}/${total}`));\n};\nif (IS_BROWSER)\n Object.defineProperty(HTMLInputElement.prototype, \"list\", {\n configurable: true,\n enumerable: true,\n get() {\n return getRoot(this).getElementById(attr(this, \"list\") || \"\");\n }\n });\ncustomElements.define(\"u-datalist\", UHTMLDataListElement);\n\nexport { UHTMLDataListElement };\n"],"names":["__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","value","__spreadValues","a","b","prop","IS_BROWSER","IS_ANDROID","IS_IOS","_a","SAFE_LABELLEDBY","DISPLAY_BLOCK","FOCUS_OUTLINE","UHTMLElement","attr","el","name","events","action","element","rest","type","on","off","attachStyle","css","createElement","observers","mutationObserver","options","observer","detail","getRoot","node","_a2","root","id","useId","tagName","text","attrs","customElements","instance","LIVE","LIVE_SR_FIX","speak","setValue","input","data","_b","event","proto","IS_PRESS","isMouseDown","DISABLED","SELECTED","UHTMLOptionElement","LIVE_TIMER","INPUT_DEBOUNCE","IS_MOBILE","EVENTS","EVENTS_INPUT","TEXTS","UHTMLDataListElement","disconnectInput","_prev","next","setupInput","target","onClick","onFocus","onBlur","onKeyDown","onInput","setExpanded","self","open","isInput","onBlurred","relatedTarget","opt","prev","option","_texts","_root","_input","filter","hidden","visible","total","idx"],"mappings":"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","x_google_ignoreList":[0]}
@@ -9,14 +9,13 @@ type FieldBaseProps = {
9
9
  helpText?: React.ReactNode;
10
10
  helpTextLabel?: string;
11
11
  label?: React.ReactNode;
12
- options?: Array<string | {
13
- label: string;
14
- value: string;
15
- }>;
12
+ options?: string[] | FieldComboboxSelected;
16
13
  prefix?: string;
17
14
  readOnly?: boolean;
18
15
  suffix?: string;
19
16
  validation?: React.ReactNode;
17
+ value?: string | string[];
18
+ onInput?: (e: React.ChangeEvent<HTMLInputElement>) => void;
20
19
  };
21
20
  export type FieldProps<As extends React.ElementType = "div"> = PolymorphicComponentPropWithRef<As, FieldBaseProps>;
22
21
  type FieldComponent = <As extends React.ElementType = "div">(props: FieldProps<As>) => JSX.Element;
@@ -26,16 +25,57 @@ export type FieldDatalistProps = React.ComponentPropsWithoutRef<"datalist"> & {
26
25
  "data-position"?: AnchorPosition;
27
26
  };
28
27
  export type FieldOptionProps = React.ComponentPropsWithoutRef<"option">;
28
+ export type FieldComboboxSelected = {
29
+ label: string;
30
+ value: string;
31
+ children?: React.ReactNode;
32
+ }[];
29
33
  export type FieldComboboxProps = ReactUcombobox & {
30
- "data-multiple"?: boolean;
31
34
  "data-creatable"?: boolean;
35
+ "data-multiple"?: boolean;
32
36
  onAfterChange?: (e: CustomEvent<HTMLDataElement>) => void;
33
37
  onBeforeChange?: (e: CustomEvent<HTMLDataElement>) => void;
34
38
  onBeforeMatch?: (e: CustomEvent<HTMLOptionElement>) => void;
35
- };
39
+ } & ({
40
+ "data-nofilter"?: boolean;
41
+ selected: FieldComboboxSelected;
42
+ options: FieldComboboxSelected;
43
+ onSelectedChange: (selected: FieldComboboxSelected) => void;
44
+ } | {
45
+ "data-nofilter"?: never;
46
+ selected?: never;
47
+ options?: never;
48
+ onSelectedChange?: never;
49
+ });
36
50
  export declare const Field: FieldComponent & {
37
51
  Affixes: React.ForwardRefExoticComponent<Omit<FieldProps<"div">, "ref"> & React.RefAttributes<HTMLDivElement>>;
38
- Combobox: React.ForwardRefExoticComponent<Omit<FieldComboboxProps, "ref"> & React.RefAttributes<UHTMLComboboxElement>>;
52
+ Combobox: React.ForwardRefExoticComponent<(Omit<React.ClassAttributes<UHTMLComboboxElement> & React.HTMLAttributes<UHTMLComboboxElement> & {
53
+ class?: string;
54
+ } & {
55
+ "data-creatable"?: boolean;
56
+ "data-multiple"?: boolean;
57
+ onAfterChange?: (e: CustomEvent<HTMLDataElement>) => void;
58
+ onBeforeChange?: (e: CustomEvent<HTMLDataElement>) => void;
59
+ onBeforeMatch?: (e: CustomEvent<HTMLOptionElement>) => void;
60
+ } & {
61
+ "data-nofilter"?: boolean;
62
+ selected: FieldComboboxSelected;
63
+ options: FieldComboboxSelected;
64
+ onSelectedChange: (selected: FieldComboboxSelected) => void;
65
+ }, "ref"> | Omit<React.ClassAttributes<UHTMLComboboxElement> & React.HTMLAttributes<UHTMLComboboxElement> & {
66
+ class?: string;
67
+ } & {
68
+ "data-creatable"?: boolean;
69
+ "data-multiple"?: boolean;
70
+ onAfterChange?: (e: CustomEvent<HTMLDataElement>) => void;
71
+ onBeforeChange?: (e: CustomEvent<HTMLDataElement>) => void;
72
+ onBeforeMatch?: (e: CustomEvent<HTMLOptionElement>) => void;
73
+ } & {
74
+ "data-nofilter"?: never;
75
+ selected?: never;
76
+ options?: never;
77
+ onSelectedChange?: never;
78
+ }, "ref">) & React.RefAttributes<UHTMLComboboxElement>>;
39
79
  Datalist: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDataListElement>, HTMLDataListElement>, "ref"> & {
40
80
  "data-nofilter"?: boolean;
41
81
  "data-position"?: AnchorPosition;