@auvyx/ui 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +48 -0
- package/README.md +43 -2
- package/dist/auvyx.bundle.css +5941 -0
- package/dist/auvyx.chart.min.js +2 -0
- package/dist/auvyx.corners.min.js +2 -0
- package/dist/auvyx.css +10880 -0
- package/dist/auvyx.js +3222 -0
- package/dist/auvyx.min.css +2 -0
- package/dist/auvyx.min.js +19 -0
- package/dist/custom-elements.json +948 -0
- package/dist/elements/calendar.min.js +2 -0
- package/dist/elements/context-menu.min.js +2 -0
- package/dist/elements/data-table.min.js +2 -0
- package/dist/elements/date-picker.min.js +2 -0
- package/dist/elements/index.min.js +2 -0
- package/dist/elements/menu.min.js +2 -0
- package/dist/elements/resizable.min.js +2 -0
- package/dist/js/accordion.min.js +2 -0
- package/dist/js/calendar.min.js +2 -0
- package/dist/js/combobox.min.js +2 -0
- package/dist/js/command.min.js +2 -0
- package/dist/js/context-menu.min.js +2 -0
- package/dist/js/copy.min.js +2 -0
- package/dist/js/data-table.min.js +2 -0
- package/dist/js/date-picker.min.js +2 -0
- package/dist/js/drawer.min.js +2 -0
- package/dist/js/dropdown-menu.min.js +2 -0
- package/dist/js/manifest.json +114 -0
- package/dist/js/menu.min.js +2 -0
- package/dist/js/popover.min.js +2 -0
- package/dist/js/resizable.min.js +2 -0
- package/dist/js/select.min.js +2 -0
- package/dist/js/sidebar.min.js +2 -0
- package/dist/js/slider.min.js +2 -0
- package/dist/js/tabs.min.js +2 -0
- package/dist/js/toast.min.js +19 -0
- package/dist/styles/auvyx-luma.min.css +3 -0
- package/dist/styles/auvyx-lyra.min.css +3 -0
- package/dist/styles/auvyx-maia.min.css +3 -0
- package/dist/styles/auvyx-mira.min.css +3 -0
- package/dist/styles/auvyx-nova.min.css +3 -0
- package/dist/styles/auvyx-rhea.min.css +3 -0
- package/dist/styles/auvyx-sera.min.css +3 -0
- package/dist/styles/auvyx-vega.min.css +3 -0
- package/dist/types/elements.d.ts +262 -0
- package/dist/types/react.d.ts +181 -0
- package/dist/types/vue.d.ts +155 -0
- package/dist/ui/accordion.css +91 -0
- package/dist/ui/accordion.js +249 -0
- package/dist/ui/accordion.native.css +24 -0
- package/dist/ui/alert.css +119 -0
- package/dist/ui/aspect-ratio.css +38 -0
- package/dist/ui/attachment.css +211 -0
- package/dist/ui/avatar.css +204 -0
- package/dist/ui/badge.css +183 -0
- package/dist/ui/base.css +1200 -0
- package/dist/ui/breadcrumb.css +90 -0
- package/dist/ui/bubble.css +171 -0
- package/dist/ui/button-group.css +110 -0
- package/dist/ui/button.css +328 -0
- package/dist/ui/calendar.css +260 -0
- package/dist/ui/calendar.js +317 -0
- package/dist/ui/card.css +126 -0
- package/dist/ui/carousel.css +172 -0
- package/dist/ui/chart.css +130 -0
- package/dist/ui/checkbox.css +119 -0
- package/dist/ui/code-block.css +235 -0
- package/dist/ui/combobox.css +500 -0
- package/dist/ui/combobox.js +757 -0
- package/dist/ui/command.css +366 -0
- package/dist/ui/command.js +382 -0
- package/dist/ui/context-menu.css +17 -0
- package/dist/ui/context-menu.js +52 -0
- package/dist/ui/copy.js +56 -0
- package/dist/ui/data-table.css +114 -0
- package/dist/ui/data-table.js +140 -0
- package/dist/ui/date-picker.css +14 -0
- package/dist/ui/date-picker.js +101 -0
- package/dist/ui/dialog.css +363 -0
- package/dist/ui/dialog.native.css +6 -0
- package/dist/ui/drawer.css +238 -0
- package/dist/ui/drawer.js +265 -0
- package/dist/ui/dropdown-menu.css +193 -0
- package/dist/ui/dropdown-menu.js +388 -0
- package/dist/ui/empty.css +111 -0
- package/dist/ui/field.css +293 -0
- package/dist/ui/hover-card.css +85 -0
- package/dist/ui/input-group.css +269 -0
- package/dist/ui/input-otp.css +101 -0
- package/dist/ui/input.css +117 -0
- package/dist/ui/item.css +223 -0
- package/dist/ui/kbd.css +50 -0
- package/dist/ui/label.css +48 -0
- package/dist/ui/manifest.json +667 -0
- package/dist/ui/marker.css +66 -0
- package/dist/ui/menu.js +161 -0
- package/dist/ui/menubar.css +55 -0
- package/dist/ui/message-scroller.css +83 -0
- package/dist/ui/message.css +69 -0
- package/dist/ui/native-select.css +130 -0
- package/dist/ui/navigation-menu.css +166 -0
- package/dist/ui/popover.css +154 -0
- package/dist/ui/popover.js +268 -0
- package/dist/ui/popover.native.css +84 -0
- package/dist/ui/progress.css +29 -0
- package/dist/ui/questionnaire.css +188 -0
- package/dist/ui/radio-group.css +115 -0
- package/dist/ui/resizable.css +94 -0
- package/dist/ui/resizable.js +95 -0
- package/dist/ui/scroll-area.css +43 -0
- package/dist/ui/select.css +289 -0
- package/dist/ui/select.js +646 -0
- package/dist/ui/sheet.css +219 -0
- package/dist/ui/sidebar.css +716 -0
- package/dist/ui/sidebar.js +287 -0
- package/dist/ui/skeleton.css +13 -0
- package/dist/ui/slider.css +184 -0
- package/dist/ui/slider.js +206 -0
- package/dist/ui/switch.css +156 -0
- package/dist/ui/table.css +157 -0
- package/dist/ui/tabs.css +240 -0
- package/dist/ui/tabs.js +288 -0
- package/dist/ui/textarea.css +91 -0
- package/dist/ui/toast.css +110 -0
- package/dist/ui/toast.js +378 -0
- package/dist/ui/toggle-group.css +42 -0
- package/dist/ui/toggle.css +150 -0
- package/dist/ui/tooltip.css +319 -0
- package/dist/ui/trace.css +142 -0
- package/dist/ui/typography.css +184 -0
- package/dist/wc/accordion.min.js +2 -0
- package/dist/wc/combobox.min.js +2 -0
- package/dist/wc/command.min.js +2 -0
- package/dist/wc/drawer.min.js +2 -0
- package/dist/wc/dropdown-menu.min.js +2 -0
- package/dist/wc/manifest.json +154 -0
- package/dist/wc/popover.min.js +2 -0
- package/dist/wc/select.min.js +2 -0
- package/dist/wc/sidebar.min.js +2 -0
- package/dist/wc/slider.min.js +2 -0
- package/dist/wc/tabs.min.js +2 -0
- package/dist/wc/toast.min.js +19 -0
- package/package.json +62 -4
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*! @auvyx/ui v0.1.0 | MIT | based on Basecoat (MIT) */
|
|
2
|
+
(()=>{const x={};let L=null;const h=(E,w,O)=>{const z=typeof w=="object"?w:{selector:w,init:O};x[E]={selector:z.selector,init:z.init,refresh:z.refresh}},f=(E,w)=>{const O=x[w];if(O)try{O.init(E),E.hasAttribute(`data-${w}-initialized`)&&(E.dataset.basecoatComponent=w)}catch(z){if(console.error(`Failed to initialize ${w}:`,z),typeof E._destroy=="function")try{E._destroy()}catch(a){console.error(`Failed to clean up ${w} after initialization error:`,a)}delete E._destroy,E.removeAttribute(`data-${w}-initialized`),delete E.dataset.basecoatComponent}},S=E=>{if(!E||E.nodeType!==Node.ELEMENT_NODE)return;const w=E.dataset?.basecoatComponent;if(typeof E._destroy=="function")try{E._destroy()}catch(O){console.error("Failed to destroy Basecoat component:",O)}delete E._destroy,w&&E.removeAttribute(`data-${w}-initialized`),delete E.dataset.basecoatComponent},m=E=>{E.nodeType===Node.ELEMENT_NODE&&(E.isConnected||(E.dataset?.basecoatComponent&&S(E),E.querySelectorAll("[data-basecoat-component]").forEach(S)))},k=E=>Array.from(new Set(E)),C=(E,w,O=!1)=>{const z=Array.from(document.querySelectorAll(w));return O&&z.push(...document.querySelectorAll(`[data-basecoat-component="${E}"]`)),k(z)},I=(E={})=>{const w=E.force===!0;Object.entries(x).forEach(([O,{selector:z}])=>{C(O,z,w).forEach(a=>{const e=a.dataset?.basecoatComponent===O;w&&S(a),(e||a.matches(z))&&f(a,O)})})},c=E=>{E.nodeType===Node.ELEMENT_NODE&&Object.entries(x).forEach(([w,{selector:O}])=>{E.matches(O)&&f(E,w),E.querySelectorAll(O).forEach(z=>f(z,w))})},s=E=>{if(!E)return;if(typeof E.refresh=="function"){E.refresh();return}const w=E.dataset?.basecoatComponent,O=w?x[w]:null;O?.refresh&&O.refresh(E)},l=()=>{L||(L=new MutationObserver(E=>{E.forEach(w=>{w.addedNodes.forEach(c),w.removedNodes.forEach(m)})}),L.observe(document.body,{childList:!0,subtree:!0}))},d=()=>{L&&(L.disconnect(),L=null)},A=(E,w={})=>{const O=x[E];if(!O){console.warn(`Component '${E}' not found in registry`);return}const z=w.force===!0;C(E,O.selector,z).forEach(a=>{const e=a.dataset?.basecoatComponent===E;z&&S(a),(e||a.matches(O.selector))&&f(a,E)})},T=(E={})=>{I(E)},F=E=>{const w=E==="dark";document.documentElement.classList.toggle("dark",w);try{localStorage.setItem("themeMode",w?"dark":"light")}catch{}document.dispatchEvent(new CustomEvent("basecoat:themechange",{detail:{mode:w?"dark":"light"}}))},q=()=>document.documentElement.classList.contains("dark")?"dark":"light";window.basecoat={register:h,init:A,initAll:T,refresh:s,start:l,stop:d,theme:{get:q,set:F,toggle:()=>F(q()==="dark"?"light":"dark")}},document.addEventListener("DOMContentLoaded",()=>{I(),l()})})(),(()=>{const x=new WeakMap,L=m=>{const k=m.querySelector(":scope > summary");return m.getAttribute("aria-disabled")==="true"||m.dataset.disabled==="true"||k?.getAttribute("aria-disabled")==="true"},h=m=>m.hasAttribute("data-multiple"),f=(m,k)=>{h(m)||!k.open||m.querySelectorAll(":scope > details[open]").forEach(C=>{C!==k&&(C.open=!1)})},S=m=>{if(m.dataset.accordionInitialized)return;const k=c=>{const l=c.target.closest("summary")?.closest("details");!l||l.parentElement!==m||!L(l)||c.preventDefault()},C=c=>{if(c.key!=="Enter"&&c.key!==" ")return;const l=c.target.closest("summary")?.closest("details");!l||l.parentElement!==m||!L(l)||c.preventDefault()},I=c=>{const s=c.target;if(s.parentElement===m){if(L(s)){s.open=!1;return}f(m,s)}};m.addEventListener("click",k),m.addEventListener("keydown",C),m.addEventListener("toggle",I,!0),m.querySelectorAll(":scope > details[open]").forEach(c=>f(m,c)),x.set(m,{handleClick:k,handleToggle:I}),m._destroy=()=>{m.removeEventListener("click",k),m.removeEventListener("keydown",C),m.removeEventListener("toggle",I,!0),x.delete(m)},m.dataset.accordionInitialized="true",m.dispatchEvent(new CustomEvent("basecoat:initialized"))};window.basecoat&&window.basecoat.register("accordion",".accordion:not([data-accordion-initialized])",S)})(),(()=>{const x=new WeakMap,L=t=>{const o=t.querySelector(":scope > [data-popover]"),r=t.querySelector(':scope > input[role="combobox"], :scope > .input-group input[role="combobox"], :scope > .combobox-chips input[role="combobox"]')||o?.querySelector('input[role="combobox"]'),p=t.querySelector(":scope > .combobox-chips"),y=t.querySelector(':scope > button[aria-haspopup="listbox"]'),b=y||t.querySelector(':scope > .input-group button[aria-haspopup="listbox"]'),M=t.querySelector("[data-clear]"),P=y?.querySelector("[data-value]")||(y?.matches("[data-value]")?y:null),R=o?o.querySelector('[role="listbox"]'):null,U=t.querySelector(':scope > input[type="hidden"]');return{input:r,chips:p,trigger:b,clearButton:M,valueTarget:P,popover:o,listbox:R,hiddenInput:U}},h=(t,o)=>{if(o.listbox?.getAttribute("aria-multiselectable")!=="true"||o.chips||!o.input||o.input.parentElement!==t)return o;const r=document.createElement("div");return r.className="combobox-chips",t.insertBefore(r,o.input),r.appendChild(o.input),L(t)},f=t=>t.dataset.value??t.textContent.trim(),S=t=>t.dataset.label||t.textContent.trim(),m=t=>t.dataset.format==="object"?"object":"value",k=t=>t.getAttribute("aria-disabled")==="true",C=t=>({value:f(t),label:S(t)}),I=t=>{if(t&&typeof t=="object"){const r=t.value==null?"":String(t.value);return r?{value:r,label:String(t.label??t.value)}:null}const o=t==null?"":String(t);return o?{value:o,label:o}:null},c=t=>{const o=Array.from(t.querySelectorAll('[role="option"]'));return{allOptions:o,options:o.filter(r=>!k(r))}},s=t=>Array.from(t.selected.values()),l=t=>t.isMultiple?s(t).map(o=>o.value):s(t)[0]?.value||"",d=t=>t.isMultiple?s(t):s(t)[0]||null,A=t=>{const o=s(t);if(t.format==="object")return JSON.stringify(t.isMultiple?o:o[0]||null);const r=o.map(p=>p.value);return t.isMultiple?JSON.stringify(r):r[0]||""},T=(t,o,r)=>{if(r.isMultiple){let b=[];try{b=JSON.parse(t||"[]")}catch{b=[]}return Array.isArray(b)?b.map(M=>{const P=I(r.format==="object"?M:{value:M,label:r.selected.get(String(M))?.label??M});if(!P)return null;const R=r.options.find(U=>f(U)===P.value);return R?C(R):P}).filter(Boolean):[]}if(r.format==="object")try{const b=I(JSON.parse(t||"null"));if(!b)return[];const M=r.options.find(P=>f(P)===b.value);return[M?C(M):b]}catch{return[]}const p=t||"";if(!p)return[];const y=r.options.find(b=>f(b)===p);return[y?C(y):{value:p,label:r.selected.get(p)?.label||o||p}]},F=(t,o)=>{const r=o.getBoundingClientRect(),p=t.listbox.getBoundingClientRect();r.top<p.top?t.listbox.scrollTop-=p.top-r.top:r.bottom>p.bottom&&(t.listbox.scrollTop+=r.bottom-p.bottom)},q=(t,o)=>{if(t.activeIndex>-1&&t.options[t.activeIndex]&&t.options[t.activeIndex].classList.remove("active"),t.activeIndex=o,t.activeIndex>-1){const r=t.options[t.activeIndex];r.classList.add("active"),r.id||(r.id=`${t.listbox.id||t.root.id||"combobox"}-option-${t.activeIndex}`),t.input.setAttribute("aria-activedescendant",r.id)}else t.input.removeAttribute("aria-activedescendant")},E=t=>{t.popover.dataset.empty=String(t.visibleOptions.length===0)},w=(t,{preserveActive:o=!1,search:r}={})=>{const p=t.activeIndex>-1?t.options[t.activeIndex]:null;if(t.visibleOptions=[],t.manualFilter){t.visibleOptions=t.options.filter(b=>b.getAttribute("aria-hidden")!=="true"),o&&p&&t.visibleOptions.includes(p)?q(t,t.options.indexOf(p)):q(t,t.autoHighlight&&t.visibleOptions.length>0?t.options.indexOf(t.visibleOptions[0]):-1),E(t);return}const y=(r??t.input.value).trim().toLowerCase();t.allOptions.forEach(b=>{if(b.hasAttribute("data-force")){b.setAttribute("aria-hidden","false"),t.options.includes(b)&&t.visibleOptions.push(b);return}const M=(b.dataset.filter||b.dataset.label||b.textContent).trim().toLowerCase(),P=(b.dataset.keywords||"").toLowerCase().split(/[\s,]+/).filter(Boolean),R=!y||M.includes(y)||P.some(U=>U.includes(y));b.setAttribute("aria-hidden",String(!R)),R&&t.options.includes(b)&&t.visibleOptions.push(b)}),o&&p&&t.visibleOptions.includes(p)?q(t,t.options.indexOf(p)):q(t,t.autoHighlight&&t.visibleOptions.length>0?t.options.indexOf(t.visibleOptions[0]):-1),E(t)},O=t=>{const o=x.get(t);o.chips&&(o.chips.querySelectorAll(".combobox-chip").forEach(r=>r.remove()),s(o).forEach(r=>{const p=document.createElement("span");p.className="combobox-chip",p.dataset.value=r.value;const y=document.createElement("span");y.textContent=r.label;const b=document.createElement("button");b.type="button",b.className="combobox-chip-remove btn",b.dataset.variant="ghost",b.dataset.size="icon-xs",b.setAttribute("aria-label",`Remove ${r.label}`),b.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg>',b.addEventListener("click",M=>{M.stopPropagation(),t.deselect(r.value),o.input.focus()}),p.appendChild(y),p.appendChild(b),o.chips.insertBefore(p,o.input)}))},z=t=>{if(!t.valueTarget)return;const o=s(t);t.valueTarget.textContent=t.isMultiple?o.map(r=>r.label).join(", "):o[0]?.label||t.valueTarget.dataset.placeholder||""},a=t=>{t.clearButton&&(t.clearButton.hidden=s(t).length===0&&t.input.value==="")},e=t=>{t.options.forEach(o=>{t.selected.has(f(o))?o.setAttribute("aria-selected","true"):o.removeAttribute("aria-selected")})},i=(t,o,r=!0)=>{const p=x.get(t),y=(Array.isArray(o)?o:[o]).map(I).filter(Boolean);p.selected.clear(),p.isMultiple?(y.forEach(b=>p.selected.set(b.value,b)),p.input.value=""):y[0]?(p.selected.set(y[0].value,y[0]),p.input.value=p.valueTarget?"":y[0].label):p.input.value="",p.hiddenInput.value=A(p),e(p),p.isMultiple&&(O(t),w(p,{preserveActive:!0})),z(p),a(p),r&&t.dispatchEvent(new CustomEvent("change",{detail:{value:l(p),selected:d(p)},bubbles:!0}))},n=(t,o=!1)=>{t.popover.getAttribute("aria-hidden")!=="true"&&(t.popover.setAttribute("aria-hidden","true"),t.input.setAttribute("aria-expanded","false"),t.trigger?.setAttribute("aria-expanded","false"),q(t,-1),o&&(t.skipOpenOnFocus=!0,t.input.focus(),requestAnimationFrame(()=>{t.skipOpenOnFocus=!1})))},u=t=>{const{root:o}=t;if(t.popover.getAttribute("aria-hidden")==="false")return;document.dispatchEvent(new CustomEvent("basecoat:popover",{detail:{source:o}})),o.refresh();const r=s(t)[0];t.valueTarget&&(t.input.value="");const p=!t.isMultiple&&r&&t.input.value===r.label?"":void 0;w(t,{search:p}),t.popover.setAttribute("aria-hidden","false"),t.input.setAttribute("aria-expanded","true"),t.trigger?.setAttribute("aria-expanded","true"),t.trigger&&t.input.focus()},g=t=>{const o=x.get(t);if(!o)return;let r=L(t);if(!r.input||!r.popover||!r.listbox||!r.hiddenInput){const M=[];r.input||M.push("input"),r.popover||M.push("popover"),r.listbox||M.push("listbox"),r.hiddenInput||M.push("hidden input"),console.error(`Combobox refresh failed. Missing element(s): ${M.join(", ")}`,t);return}r=h(t,r);const p=r.hiddenInput.value,y=r.input.value;Object.assign(o,r,c(r.listbox)),o.isMultiple=o.listbox.getAttribute("aria-multiselectable")==="true",o.closeOnSelect=t.dataset.closeOnSelect==="true",o.autoHighlight=t.dataset.autoHighlight==="true",o.manualFilter=t.dataset.filter==="manual",o.format=m(t);const b=T(p,y,o);if(b.length>0)i(t,b,!1);else{const M=o.options.filter(P=>P.getAttribute("aria-selected")==="true").map(C);M.length>0?i(t,o.isMultiple?M:M[0],!1):o.isMultiple?i(t,[],!1):(o.input.value=y,o.selected.clear(),o.hiddenInput.value="",e(o),w(o,{preserveActive:!0}))}z(o),a(o)},v=(t,o)=>{if(o&&typeof o=="object"){const y=I(o);if(!y)return null;const b=t.options.find(M=>f(M)===y.value);return b?C(b):y}const r=t.options.find(y=>f(y)===o);return r?C(r):t.selected.get(String(o))||null},$=(t,o)=>{const r=x.get(t),p=v(r,o);p&&(r.isMultiple?(i(t,[...s(r).filter(y=>y.value!==p.value),p]),r.closeOnSelect&&t.close(!0)):(i(t,p),t.close(!r.trigger),r.trigger?.focus()))},_=(t,o)=>{const r=x.get(t);if(!r.isMultiple)return;const p=String(o);r.selected.has(p)&&i(t,s(r).filter(y=>y.value!==p))},D=t=>{const o=x.get(t);i(t,[],!0),o.input.value="",w(o),a(o),o.popover.getAttribute("aria-hidden")==="false"&&o.input.focus()},H=(t,o)=>{const r=x.get(o);if(!["ArrowDown","ArrowUp","Enter","Home","End","Escape","Backspace"].includes(t.key))return;const p=r.popover.getAttribute("aria-hidden")==="false";if(t.key==="Backspace"&&r.isMultiple&&r.input.value===""){const P=s(r),R=P[P.length-1];R&&o.deselect(R.value);return}if(t.key==="Escape"){p&&(t.preventDefault(),t.stopPropagation(),o.close(!0));return}if(!p&&["ArrowDown","ArrowUp","Home","End"].includes(t.key)&&(t.preventDefault(),u(r)),r.popover.getAttribute("aria-hidden")==="true")return;if(t.key==="Enter"){if(r.activeIndex>-1){t.preventDefault();const P=r.options[r.activeIndex];r.isMultiple?o.toggle(f(P)):o.select(f(P))}return}if(!["ArrowDown","ArrowUp","Home","End"].includes(t.key)||r.visibleOptions.length===0)return;t.preventDefault();const y=r.activeIndex>-1?r.visibleOptions.indexOf(r.options[r.activeIndex]):-1;let b=y;t.key==="ArrowDown"&&(b=Math.min(y+1,r.visibleOptions.length-1)),t.key==="ArrowUp"&&(b=y<=0?0:y-1),t.key==="Home"&&(b=0),t.key==="End"&&(b=r.visibleOptions.length-1);const M=r.visibleOptions[b];q(r,r.options.indexOf(M)),F(r,M)},j=t=>{if(t.dataset.comboboxInitialized)return;const o={root:t,activeIndex:-1,allOptions:[],options:[],visibleOptions:[],selected:new Map,format:"value",manualFilter:!1,skipOpenOnFocus:!1};if(x.set(t,o),t.refresh=()=>g(t),g(t),!o.input||!o.popover||!o.listbox||!o.hiddenInput){x.delete(t),delete t.refresh;return}t.close=(B=!1)=>n(o,B),t.select=B=>$(t,B),t.selectByValue=t.select,t.setValue=B=>{const ie=(o.isMultiple?Array.isArray(B)?B:B==null?[]:[B]:[B]).map(ee=>v(o,ee)||I(ee)).filter(Boolean);i(t,o.isMultiple?ie:ie[0])},o.isMultiple&&(t.deselect=B=>_(t,B),t.toggle=B=>{const V=v(o,B);V&&(o.selected.has(V.value)?t.deselect(V.value):t.select(V))},t.selectAll=()=>i(t,o.options.map(C)),t.selectNone=()=>i(t,[]));const r=()=>{o.skipOpenOnFocus||u(o)},p=()=>u(o),y=()=>{u(o),w(o),o.isMultiple||(o.hiddenInput.value="",o.selected.clear(),e(o),z(o),a(o))},b=()=>{o.popover.getAttribute("aria-hidden")==="false"?t.close(!1):u(o)},M=B=>{B.preventDefault(),B.stopPropagation(),D(t)},P=B=>H(B,t),R=B=>{const V=B.target.closest('[role="option"]');V&&o.visibleOptions.includes(V)&&q(o,o.options.indexOf(V))},U=B=>{const V=B.target.closest('[role="option"]');!V||!o.options.includes(V)||(o.isMultiple?t.toggle(f(V)):t.select(f(V)),o.isMultiple&&!o.closeOnSelect&&o.input.focus())},X=B=>{t.contains(B.target)||t.close(!1)},J=B=>{t.contains(B.detail.source)||t.close(!1)};o.input.addEventListener("focus",r),o.input.addEventListener("click",p),o.input.addEventListener("input",y),o.input.addEventListener("keydown",P),o.trigger?.addEventListener("click",b),o.clearButton?.addEventListener("click",M),o.listbox.addEventListener("mousemove",R),o.listbox.addEventListener("click",U),document.addEventListener("click",X),document.addEventListener("basecoat:popover",J),t._destroy=()=>{o.input.removeEventListener("focus",r),o.input.removeEventListener("click",p),o.input.removeEventListener("input",y),o.input.removeEventListener("keydown",P),o.trigger?.removeEventListener("click",b),o.clearButton?.removeEventListener("click",M),o.listbox.removeEventListener("mousemove",R),o.listbox.removeEventListener("click",U),document.removeEventListener("click",X),document.removeEventListener("basecoat:popover",J),o.chips?.querySelectorAll(".combobox-chip").forEach(B=>B.remove()),x.delete(t),delete t.refresh,delete t.close,delete t.select,delete t.selectByValue,delete t.setValue,delete t.clear,delete t.deselect,delete t.toggle,delete t.selectAll,delete t.selectNone},o.popover.setAttribute("aria-hidden","true"),o.input.setAttribute("aria-expanded","false"),o.trigger?.setAttribute("aria-expanded","false"),t.clear=()=>D(t),Object.defineProperty(t,"value",{configurable:!0,get:()=>l(o),set:B=>t.setValue(B)}),Object.defineProperty(t,"selected",{configurable:!0,get:()=>d(o)}),t.dataset.comboboxInitialized="true",t.dispatchEvent(new CustomEvent("basecoat:initialized"))};window.basecoat&&window.basecoat.register("combobox",{selector:".combobox:not([data-combobox-initialized])",init:j,refresh:g})})(),(()=>{const x=new WeakMap,L=s=>s.hasAttribute("disabled")||s.getAttribute("aria-disabled")==="true"||s.getAttribute("data-disabled")==="true",h=s=>({input:s.querySelector("header input"),menu:s.querySelector('[role="menu"]')}),f=s=>{const l=Array.from(s.querySelectorAll('[role="menuitem"]'));return{allItems:l,items:l.filter(d=>!L(d))}},S=(s,l)=>{const d=l.getBoundingClientRect(),A=s.menu.getBoundingClientRect();d.top<A.top?s.menu.scrollTop-=A.top-d.top:d.bottom>A.bottom&&(s.menu.scrollTop+=d.bottom-A.bottom)},m=(s,l)=>{if(s.activeIndex>-1&&s.items[s.activeIndex]&&s.items[s.activeIndex].classList.remove("active"),s.activeIndex=l,s.activeIndex>-1){const d=s.items[s.activeIndex];d.classList.add("active"),d.id?s.input.setAttribute("aria-activedescendant",d.id):s.input.removeAttribute("aria-activedescendant")}else s.input.removeAttribute("aria-activedescendant")},k=s=>{if(s.manualFilter){m(s,-1),s.visibleItems=s.items.filter(d=>d.getAttribute("aria-hidden")!=="true"),s.visibleItems.length>0&&m(s,s.items.indexOf(s.visibleItems[0]));return}const l=s.input.value.trim().toLowerCase();m(s,-1),s.visibleItems=[],s.allItems.forEach(d=>{if(d.hasAttribute("data-force")){d.setAttribute("aria-hidden","false"),s.items.includes(d)&&s.visibleItems.push(d);return}const A=(d.dataset.filter||d.textContent).trim().toLowerCase(),F=(d.dataset.keywords||"").toLowerCase().split(/[\s,]+/).filter(Boolean).some(E=>E.includes(l)),q=A.includes(l)||F;d.setAttribute("aria-hidden",String(!q)),q&&s.items.includes(d)&&s.visibleItems.push(d)}),s.visibleItems.length>0&&(m(s,s.items.indexOf(s.visibleItems[0])),S(s,s.visibleItems[0]))},C=s=>{const l=x.get(s);if(!l)return;const d=h(s);if(!d.input||!d.menu){const A=[];d.input||A.push("input"),d.menu||A.push("menu"),console.error(`Command component refresh failed. Missing element(s): ${A.join(", ")}`,s);return}Object.assign(l,d,f(d.menu)),l.manualFilter=s.dataset.filter==="manual",k(l)},I=(s,l)=>{if(!["ArrowDown","ArrowUp","Enter","Home","End"].includes(s.key))return;if(s.key==="Enter"){s.preventDefault(),l.activeIndex>-1&&l.items[l.activeIndex]?.click();return}if(l.visibleItems.length===0)return;s.preventDefault();const d=l.activeIndex>-1?l.visibleItems.indexOf(l.items[l.activeIndex]):-1;let A=d;if(s.key==="ArrowDown"&&d<l.visibleItems.length-1&&(A=d+1),s.key==="ArrowUp"&&(A=d>0?d-1:0),s.key==="Home"&&(A=0),s.key==="End"&&(A=l.visibleItems.length-1),A!==d){const T=l.visibleItems[A];m(l,l.items.indexOf(T)),S(l,T)}},c=s=>{if(s.dataset.commandInitialized)return;const l={activeIndex:-1,allItems:[],items:[],visibleItems:[],manualFilter:!1};x.set(s,l),s.refresh=()=>C(s);const d=h(s);if(!d.input||!d.menu){const E=[];d.input||E.push("input"),d.menu||E.push("menu"),console.error(`Command component initialization failed. Missing element(s): ${E.join(", ")}`,s),x.delete(s),delete s.refresh;return}Object.assign(l,d);const A=()=>k(l),T=E=>I(E,l),F=E=>{const w=E.target.closest('[role="menuitem"]');if(w&&l.visibleItems.includes(w)){const O=l.items.indexOf(w);O!==l.activeIndex&&m(l,O)}},q=E=>{const w=E.target.closest('[role="menuitem"]');if(w&&l.visibleItems.includes(w)){const O=s.closest("dialog.command-dialog");O&&!w.hasAttribute("data-keep-command-open")&&O.close()}};l.input.addEventListener("input",A),l.input.addEventListener("keydown",T),l.menu.addEventListener("mousemove",F),l.menu.addEventListener("click",q),s._destroy=()=>{l.input.removeEventListener("input",A),l.input.removeEventListener("keydown",T),l.menu.removeEventListener("mousemove",F),l.menu.removeEventListener("click",q),x.delete(s),delete s.refresh},C(s),s.dataset.commandInitialized="true",s.dispatchEvent(new CustomEvent("basecoat:initialized"))};window.basecoat&&window.basecoat.register("command",{selector:".command:not([data-command-initialized])",init:c,refresh:C})})(),(()=>{if(window.__basecoatCopy)return;window.__basecoatCopy=!0;const x=h=>{if(h.hasAttribute("data-copy-text"))return h.getAttribute("data-copy-text");const f=h.getAttribute("data-copy"),S=f?document.querySelector(f):h.closest(".code-block")?.querySelector(":scope > pre");return S?S.textContent:null},L=h=>{const f=h.getAttribute("data-copy"),S=f?document.querySelector(f):h.closest(".code-block")?.querySelector(":scope > pre");if(!S)return;const m=document.createRange();m.selectNodeContents(S);const k=window.getSelection();k.removeAllRanges(),k.addRange(m)};document.addEventListener("click",async h=>{const f=h.target.closest("[data-copy], [data-copy-text]");if(!f||f.disabled)return;const S=x(f);if(S==null)return;try{await navigator.clipboard.writeText(S.replace(/\n$/,""))}catch{L(f);return}const m=f.getAttribute("aria-label");f.hasAttribute("data-copied")||(f.dataset.copyLabel=m??""),f.setAttribute("data-copied",""),f.setAttribute("aria-label",f.getAttribute("data-copied-label")||"Copied"),clearTimeout(f._copyTimer),f._copyTimer=setTimeout(()=>{f.removeAttribute("data-copied"),f.dataset.copyLabel&&f.setAttribute("aria-label",f.dataset.copyLabel)},2e3)})})(),(()=>{const x=f=>{if(!f)return 0;const S=f.trim();return S.endsWith("ms")?parseFloat(S)||0:S.endsWith("s")?(parseFloat(S)||0)*1e3:parseFloat(S)||0},L=f=>{if(!f)return 0;const S=getComputedStyle(f),m=S.transitionDuration.split(",").map(x),k=S.transitionDelay.split(",").map(x);return Math.max(0,...m.map((C,I)=>C+(k[I]||k[0]||0)))},h=f=>{if(f.dataset.drawerInitialized)return;const S=f.close.bind(f);let m=!1,k=null;const C=l=>{window.clearTimeout(k),k=null,f.removeAttribute("data-closing"),S(l)};f.close=(l="")=>{if(!f.open||f.dataset.closing)return;const d=f.firstElementChild,A=L(d);if(A===0||window.matchMedia("(prefers-reduced-motion: reduce)").matches){C(l);return}f.dataset.closing="true",k=window.setTimeout(()=>C(l),A+50)};const I=l=>{l.preventDefault(),f.close()},c=l=>{m=l.target===f},s=l=>{m&&l.target===f&&f.close(),m=!1};f.addEventListener("cancel",I),f.addEventListener("pointerdown",c),f.addEventListener("pointerup",s),f._destroy=()=>{window.clearTimeout(k),f.removeEventListener("cancel",I),f.removeEventListener("pointerdown",c),f.removeEventListener("pointerup",s),f.close=S,delete f._destroy},f.dataset.drawerInitialized="true",f.dispatchEvent(new CustomEvent("basecoat:initialized"))};window.basecoat&&window.basecoat.register("drawer",".drawer:not([data-drawer-initialized])",h)})(),(()=>{const x=new WeakMap,L=c=>c.hasAttribute("disabled")||c.getAttribute("aria-disabled")==="true",h=c=>{const s=c.querySelector(":scope > button"),l=c.querySelector(":scope > [data-popover]"),d=l?l.querySelector('[role="menu"]'):null;return{trigger:s,popover:l,menu:d}},f=c=>Array.from(c.querySelectorAll('[role^="menuitem"]')).filter(s=>!L(s)),S=(c,s)=>{if(c.activeIndex>-1&&c.items[c.activeIndex]&&c.items[c.activeIndex].classList.remove("active"),c.activeIndex=s,c.activeIndex>-1&&c.items[c.activeIndex]){const l=c.items[c.activeIndex];l.classList.add("active"),l.id&&c.trigger.setAttribute("aria-activedescendant",l.id)}else c.trigger.removeAttribute("aria-activedescendant")},m=c=>{const s=x.get(c);if(!s)return;const l=h(c);if(!l.trigger||!l.popover||!l.menu){const d=[];l.trigger||d.push("trigger"),l.popover||d.push("popover"),l.menu||d.push("menu"),console.error(`Dropdown menu refresh failed. Missing element(s): ${d.join(", ")}`,c);return}Object.assign(s,l),s.items=f(s.menu),s.activeIndex>-1&&!s.items[s.activeIndex]&&S(s,-1)},k=(c,s=!0)=>{c.trigger.getAttribute("aria-expanded")!=="false"&&(c.trigger.setAttribute("aria-expanded","false"),c.trigger.removeAttribute("aria-activedescendant"),c.popover.setAttribute("aria-hidden","true"),s&&c.trigger.focus(),S(c,-1))},C=(c,s,l=!1)=>{document.dispatchEvent(new CustomEvent("basecoat:popover",{detail:{source:c}})),c.refresh(),s.trigger.setAttribute("aria-expanded","true"),s.popover.setAttribute("aria-hidden","false"),s.items.length>0&&l&&S(s,l==="last"?s.items.length-1:0)},I=c=>{if(c.dataset.dropdownMenuInitialized)return;const s={activeIndex:-1,items:[]};if(x.set(c,s),c.refresh=()=>m(c),m(c),!s.trigger||!s.popover||!s.menu){x.delete(c),delete c.refresh;return}c.open=(w=!1)=>C(c,s,w),c.close=(w=!0)=>k(s,w),c.toggle=()=>s.trigger.getAttribute("aria-expanded")==="true"?c.close():c.open(!1);const l=c.toggle,d=w=>{const O=s.trigger.getAttribute("aria-expanded")==="true";if(w.key==="Escape"){O&&c.close();return}if(!O){["Enter"," "].includes(w.key)?(w.preventDefault(),c.open(!1)):w.key==="ArrowDown"?(w.preventDefault(),c.open("first")):w.key==="ArrowUp"&&(w.preventDefault(),c.open("last"));return}if(s.items.length===0)return;let z=s.activeIndex;if(w.key==="ArrowDown")w.preventDefault(),z=s.activeIndex===-1?0:Math.min(s.activeIndex+1,s.items.length-1);else if(w.key==="ArrowUp")w.preventDefault(),z=s.activeIndex===-1?s.items.length-1:Math.max(s.activeIndex-1,0);else if(w.key==="Home")w.preventDefault(),z=0;else if(w.key==="End")w.preventDefault(),z=s.items.length-1;else if(["Enter"," "].includes(w.key)){w.preventDefault(),s.items[s.activeIndex]?.click(),c.close();return}else return;z!==s.activeIndex&&S(s,z)},A=w=>{const O=w.target.closest('[role^="menuitem"]');if(O&&!L(O)&&s.items.includes(O)){const z=s.items.indexOf(O);z!==s.activeIndex&&S(s,z)}},T=()=>S(s,-1),F=w=>{const O=w.target.closest('[role^="menuitem"]');!O||L(O)||(O.getAttribute("role")==="menuitemcheckbox"?O.setAttribute("aria-checked",O.getAttribute("aria-checked")!=="true"):O.getAttribute("role")==="menuitemradio"&&O.closest('[role="group"], [role="menu"]')?.querySelectorAll('[role="menuitemradio"]').forEach(a=>{L(a)||a.setAttribute("aria-checked",a===O?"true":"false")}),c.close())},q=w=>{c.contains(w.target)||c.close(!1)},E=w=>{c.contains(w.detail.source)||c.close(!1)};s.trigger.addEventListener("click",l),c.addEventListener("keydown",d),s.menu.addEventListener("mousemove",A),s.menu.addEventListener("mouseleave",T),s.menu.addEventListener("click",F),document.addEventListener("click",q),document.addEventListener("basecoat:popover",E),c._destroy=()=>{s.trigger.removeEventListener("click",l),c.removeEventListener("keydown",d),s.menu.removeEventListener("mousemove",A),s.menu.removeEventListener("mouseleave",T),s.menu.removeEventListener("click",F),document.removeEventListener("click",q),document.removeEventListener("basecoat:popover",E),x.delete(c),delete c.refresh,delete c.open,delete c.close,delete c.toggle},s.trigger.setAttribute("aria-expanded","false"),s.popover.setAttribute("aria-hidden","true"),c.dataset.dropdownMenuInitialized="true",c.dispatchEvent(new CustomEvent("basecoat:initialized"))};window.basecoat&&window.basecoat.register("dropdown-menu",{selector:".dropdown-menu:not([data-dropdown-menu-initialized]):not(:has(> [data-popover][popover]))",init:I,refresh:m})})(),(()=>{const x=L=>{if(L.dataset.popoverInitialized)return;const h=L.querySelector(":scope > button"),f=L.querySelector(":scope > [data-popover]");if(!h||!f){const s=[];h||s.push("trigger"),f||s.push("content"),console.error(`Popover initialisation failed. Missing element(s): ${s.join(", ")}`,L);return}const S=(s=!0)=>{h.getAttribute("aria-expanded")!=="false"&&(h.setAttribute("aria-expanded","false"),f.setAttribute("aria-hidden","true"),s&&h.focus())},m=()=>{document.dispatchEvent(new CustomEvent("basecoat:popover",{detail:{source:L}}));const s=f.querySelector("[autofocus]");s&&f.addEventListener("transitionend",()=>{s.focus()},{once:!0}),h.setAttribute("aria-expanded","true"),f.setAttribute("aria-hidden","false")},k=()=>{h.getAttribute("aria-expanded")==="true"?S():m()},C=s=>{s.key==="Escape"&&S()},I=s=>{L.contains(s.target)||S()},c=s=>{L.contains(s.detail.source)||S(!1)};h.addEventListener("click",k),L.addEventListener("keydown",C),document.addEventListener("click",I),document.addEventListener("basecoat:popover",c),L._destroy=()=>{h.removeEventListener("click",k),L.removeEventListener("keydown",C),document.removeEventListener("click",I),document.removeEventListener("basecoat:popover",c)},L.dataset.popoverInitialized=!0,L.dispatchEvent(new CustomEvent("basecoat:initialized"))};window.basecoat&&window.basecoat.register("popover",".popover:not([data-popover-initialized]):not(:has(> [data-popover][popover]))",x)})(),(()=>{function x(h){const f=parseFloat(h.min||"0"),S=parseFloat(h.max||"100"),m=parseFloat(h.value||"0"),k=S===f?0:(m-f)/(S-f)*100;h.style.setProperty("--slider-value",`${k}%`)}function L(h){if(h.dataset.rangeInitialized)return;x(h);const f=()=>x(h);h.addEventListener("input",f),h._destroy=()=>{h.removeEventListener("input",f)},h.dataset.rangeInitialized="true"}window.basecoat&&window.basecoat.register("range",'input[type="range"]:not([data-range-initialized])',L)})(),(()=>{const x=new WeakMap,L=a=>{const e=a.querySelector(":scope > button"),i=e?.querySelector(":scope > span")||null,n=a.querySelector(":scope > [data-popover]"),u=n?n.querySelector('[role="listbox"]'):null,g=a.querySelector(':scope > input[type="hidden"]');return{trigger:e,selectedLabel:i,popover:n,listbox:u,input:g}},h=a=>a.dataset.value??a.textContent.trim(),f=a=>a.dataset.label||a.textContent.trim(),S=a=>a.dataset.format==="object"?"object":"value",m=a=>a.getAttribute("aria-disabled")==="true",k=a=>({value:h(a),label:f(a)}),C=a=>{const e=Array.from(a.querySelectorAll('[role="option"]'));return{allOptions:e,options:e.filter(i=>!m(i))}},I=(a,{isMultiple:e,format:i})=>{if(e)try{const n=JSON.parse(a||"[]");return Array.isArray(n)?n.map(u=>i==="object"&&u&&typeof u=="object"?u.value:u).filter(u=>u!=null).map(String):[]}catch{return[]}if(i==="object")try{const n=JSON.parse(a||"null");return n&&typeof n=="object"&&n.value!=null?String(n.value):""}catch{return""}return a||""},c=(a,e)=>{if(a.format==="object")return JSON.stringify(a.isMultiple?e:e[0]||null);const i=e.map(n=>n.value);return a.isMultiple?JSON.stringify(i):i[0]||""},s=a=>{a.selectedLabel.textContent=a.placeholder||"",a.selectedLabel.classList.toggle("text-muted-foreground",!!a.placeholder),a.input.value=a.isMultiple?c(a,[]):""},l=(a,e)=>{const i=e.getBoundingClientRect(),n=a.listbox.getBoundingClientRect();i.top<n.top?a.listbox.scrollTop-=n.top-i.top:i.bottom>n.bottom&&(a.listbox.scrollTop+=i.bottom-n.bottom)},d=(a,e)=>{if(a.activeIndex>-1&&a.options[a.activeIndex]&&a.options[a.activeIndex].classList.remove("active"),a.activeIndex=e,a.activeIndex>-1){const i=a.options[a.activeIndex];i.classList.add("active"),i.id?a.trigger.setAttribute("aria-activedescendant",i.id):a.trigger.removeAttribute("aria-activedescendant")}else a.trigger.removeAttribute("aria-activedescendant")},A=(a,e,i=!0)=>{const n=x.get(a);let u,g;if(n.isMultiple){const v=Array.isArray(e)?e:[];n.selectedOptions.clear(),v.forEach(_=>n.selectedOptions.add(_));const $=n.options.filter(_=>n.selectedOptions.has(_));g=$.map(k),$.length===0?(n.selectedLabel.textContent=n.placeholder,n.selectedLabel.classList.add("text-muted-foreground")):(n.selectedLabel.textContent=g.map(_=>_.label).join(", "),n.selectedLabel.classList.remove("text-muted-foreground")),u=g.map(_=>_.value),n.input.value=c(n,g)}else{const v=e;v?(v.dataset.label?n.selectedLabel.textContent=v.dataset.label:n.selectedLabel.innerHTML=v.innerHTML,n.selectedLabel.classList.remove("text-muted-foreground"),g=k(v),u=g.value,n.input.value=c(n,[g])):(n.options.forEach($=>$.removeAttribute("aria-selected")),s(n),g=null,u="")}n.options.forEach(v=>{(n.isMultiple?n.selectedOptions.has(v):e&&v===e)?v.setAttribute("aria-selected","true"):v.removeAttribute("aria-selected")}),i&&a.dispatchEvent(new CustomEvent("change",{detail:{value:u,selected:g},bubbles:!0}))},T=(a,e=!0)=>{a.popover.getAttribute("aria-hidden")!=="true"&&(e&&a.trigger.focus(),a.popover.setAttribute("aria-hidden","true"),a.trigger.setAttribute("aria-expanded","false"),d(a,-1))},F=a=>{const e=x.get(a);if(!e)return;const i=L(a);if(!i.trigger||!i.selectedLabel||!i.popover||!i.listbox||!i.input){const g=[];i.trigger||g.push("trigger"),i.selectedLabel||g.push("selected label"),i.popover||g.push("popover"),i.listbox||g.push("listbox"),i.input||g.push("input"),console.error(`Select component refresh failed. Missing element(s): ${g.join(", ")}`,a);return}const n=i.input.value;if(Object.assign(e,i,C(i.listbox)),e.visibleOptions=[...e.options],e.isMultiple=e.listbox.getAttribute("aria-multiselectable")==="true",e.format=S(a),e.placeholder=a.dataset.placeholder||"",e.closeOnSelect=a.dataset.closeOnSelect==="true",e.isMultiple){e.selectedOptions||(e.selectedOptions=new Set);const g=I(n,e),v=g.length?g.map($=>e.options.find(_=>h(_)===$)).filter(Boolean):e.options.filter($=>$.getAttribute("aria-selected")==="true");A(a,v,!1)}else{const g=I(n,e),v=g===""&&e.placeholder?null:e.options.find($=>h($)===g)||e.options.find($=>$.getAttribute("aria-selected")==="true");e.options.forEach($=>$.removeAttribute("aria-selected")),A(a,v||null,!1)}const u=e.listbox.querySelector('[role="option"][aria-selected="true"]');d(e,u?e.options.indexOf(u):-1)},q=(a,e)=>{const i=x.get(a);i.selectedOptions.has(e)?i.selectedOptions.delete(e):i.selectedOptions.add(e),A(a,i.options.filter(n=>i.selectedOptions.has(n)))},E=(a,e)=>{const i=x.get(a);if(i.isMultiple){const n=i.options.find(u=>h(u)===e&&!i.selectedOptions.has(u));if(!n)return;i.selectedOptions.add(n),A(a,i.options.filter(u=>i.selectedOptions.has(u)))}else{const n=i.options.find(u=>h(u)===e);if(!n)return;if(i.placeholder&&h(n)===""){A(a,null),T(i);return}a.value!==e&&A(a,n),T(i)}},w=(a,e)=>{const i=x.get(a);if(!i.isMultiple)return;const n=i.options.find(u=>h(u)===e&&i.selectedOptions.has(u));n&&(i.selectedOptions.delete(n),A(a,i.options.filter(u=>i.selectedOptions.has(u))))},O=(a,e)=>{const i=x.get(e),n=i.popover.getAttribute("aria-hidden")==="false";if(!["ArrowDown","ArrowUp","Enter","Home","End","Escape"].includes(a.key))return;if(!n){a.key!=="Enter"&&a.key!=="Escape"&&(a.preventDefault(),e.open());return}if(a.preventDefault(),a.key==="Escape"){e.close();return}if(a.key==="Enter"){if(i.activeIndex>-1){const v=i.options[i.activeIndex];i.isMultiple?(q(e,v),i.closeOnSelect&&e.close()):(i.placeholder&&h(v)===""?A(e,null):e.value!==h(v)&&A(e,v),e.close())}return}if(i.visibleOptions.length===0)return;const u=i.activeIndex>-1?i.visibleOptions.indexOf(i.options[i.activeIndex]):-1;let g=u;if(a.key==="ArrowDown"&&u<i.visibleOptions.length-1&&(g=u+1),a.key==="ArrowUp"&&(g=u>0?u-1:0),a.key==="Home"&&(g=0),a.key==="End"&&(g=i.visibleOptions.length-1),g!==u){const v=i.visibleOptions[g];d(i,i.options.indexOf(v)),l(i,v)}},z=a=>{if(a.dataset.selectInitialized)return;const e={activeIndex:-1,selectedOptions:null,options:[],allOptions:[],visibleOptions:[],format:"value"};if(x.set(a,e),a.refresh=()=>F(a),F(a),!e.trigger||!e.selectedLabel||!e.popover||!e.listbox||!e.input){x.delete(a),delete a.refresh;return}a.open=()=>{document.dispatchEvent(new CustomEvent("basecoat:popover",{detail:{source:a}})),a.refresh(),e.popover.setAttribute("aria-hidden","false"),e.trigger.setAttribute("aria-expanded","true");const D=e.listbox.querySelector('[role="option"][aria-selected="true"]');D&&(d(e,e.options.indexOf(D)),l(e,D))},a.close=(D=!0)=>T(e,D),a.togglePopover=()=>e.trigger.getAttribute("aria-expanded")==="true"?a.close():a.open();const i=D=>O(D,a),n=a.togglePopover,u=D=>{const H=D.target.closest('[role="option"]');if(H&&e.visibleOptions.includes(H)){const j=e.options.indexOf(H);j!==e.activeIndex&&d(e,j)}},g=()=>{const D=e.listbox.querySelector('[role="option"][aria-selected="true"]');d(e,D?e.options.indexOf(D):-1)},v=D=>{const H=D.target.closest('[role="option"]');if(!H)return;const j=e.options.find(t=>t===H);j&&(e.isMultiple?(q(a,j),e.closeOnSelect?a.close():(d(e,e.options.indexOf(j)),e.trigger.focus())):(e.placeholder&&h(j)===""?A(a,null):a.value!==h(j)&&A(a,j),a.close()))},$=D=>{a.contains(D.target)||a.close(!1)},_=D=>{a.contains(D.detail.source)||a.close(!1)};e.trigger.addEventListener("keydown",i),e.trigger.addEventListener("click",n),e.listbox.addEventListener("mousemove",u),e.listbox.addEventListener("mouseleave",g),e.listbox.addEventListener("click",v),document.addEventListener("click",$),document.addEventListener("basecoat:popover",_),a._destroy=()=>{e.trigger.removeEventListener("keydown",i),e.trigger.removeEventListener("click",n),e.listbox.removeEventListener("mousemove",u),e.listbox.removeEventListener("mouseleave",g),e.listbox.removeEventListener("click",v),document.removeEventListener("click",$),document.removeEventListener("basecoat:popover",_),x.delete(a),delete a.refresh,delete a.open,delete a.close,delete a.togglePopover,delete a.select,delete a.selectByValue,delete a.deselect,delete a.toggle,delete a.selectAll,delete a.selectNone},Object.defineProperty(a,"value",{configurable:!0,get:()=>e.isMultiple?e.options.filter(D=>e.selectedOptions.has(D)).map(h):I(e.input.value,e),set:D=>{if(e.isMultiple){const H=Array.isArray(D)?D:D!=null?[D]:[];A(a,H.map(j=>e.options.find(t=>h(t)===j)).filter(Boolean))}else{if(D==null||D===""){A(a,null),a.close();return}const H=e.options.find(j=>h(j)===D);H&&(A(a,H),a.close())}}}),Object.defineProperty(a,"selected",{configurable:!0,get:()=>{if(e.isMultiple)return e.options.filter(j=>e.selectedOptions.has(j)).map(k);const D=a.value,H=e.options.find(j=>h(j)===D);return H?k(H):null}}),a.select=D=>E(a,D),a.selectByValue=a.select,e.isMultiple&&(a.deselect=D=>w(a,D),a.toggle=D=>{const H=e.options.find(j=>h(j)===D);H&&q(a,H)},a.selectAll=()=>A(a,e.options),a.selectNone=()=>A(a,[])),e.popover.setAttribute("aria-hidden","true"),e.trigger.setAttribute("aria-expanded","false"),a.dataset.selectInitialized="true",a.dispatchEvent(new CustomEvent("basecoat:initialized"))};window.basecoat&&window.basecoat.register("select",{selector:"div.select:not([data-select-initialized])",init:z,refresh:F})})(),(()=>{const x=h=>{if(h.dataset.sidebarInitialized&&typeof h.toggle=="function")return;if(h.dataset.position==="static"){h.dataset.sidebarInitialized="true";return}const f=h.dataset.initialOpen!=="false",S=h.dataset.initialMobileOpen==="true",m=parseInt(h.dataset.breakpoint)||768;let k=m>0?window.innerWidth>=m?f:S:f;const C=()=>h.dataset.collapsible==="icon"&&(m<=0||window.innerWidth>=m),I=()=>{const l=C();h.setAttribute("aria-hidden",String(!k&&!l)),h.dataset.state=k?"open":"collapsed",k||l?h.removeAttribute("inert"):h.setAttribute("inert",""),h.id&&document.querySelectorAll(`[data-sidebar-toggle="${CSS.escape(h.id)}"]`).forEach(d=>d.setAttribute("aria-expanded",String(k))),h.dispatchEvent(new CustomEvent("basecoat:sidebar",{detail:{open:k}}))},c=l=>{k=!!l,I()};h.open=()=>c(!0),h.close=()=>c(!1),h.toggle=()=>c(!k);const s=l=>{const d=l.target,A=h.querySelector(":scope > nav");if(window.innerWidth<m&&d.closest("a, button")&&!d.closest("[data-keep-mobile-sidebar-open]")){document.activeElement&&document.activeElement.blur(),h.close();return}if(!k&&C()&&d.closest("summary")){l.preventDefault(),h.open(),d.closest("details").open=!0;return}(d===h||A&&!A.contains(d))&&(document.activeElement&&document.activeElement.blur(),h.close())};h.addEventListener("click",s),h._destroy=()=>{h.removeEventListener("click",s),delete h.open,delete h.close,delete h.toggle},I(),h.dataset.sidebarInitialized="true",h.dispatchEvent(new CustomEvent("basecoat:initialized"))},L=h=>h?document.getElementById(h):document.querySelector('.sidebar:not([data-position="static"])');document.addEventListener("click",h=>{const f=h.target.closest("[data-sidebar-toggle]");f&&L(f.getAttribute("data-sidebar-toggle"))?.toggle?.()}),document.addEventListener("keydown",h=>{if(h.key.toLowerCase()!=="b"||!(h.metaKey||h.ctrlKey)||h.altKey||h.shiftKey||h.target.closest("input, textarea, select, [contenteditable]"))return;const f=L("");!f||f.dataset.shortcut==="none"||typeof f.toggle!="function"||(h.preventDefault(),f.toggle())}),window.basecoat&&window.basecoat.register("sidebar",".sidebar",x)})(),(()=>{const x=new WeakMap,L=m=>m.disabled||m.getAttribute("aria-disabled")==="true",h=m=>{const k=m.querySelector('[role="tablist"]'),C=k?Array.from(k.querySelectorAll('[role="tab"]')):[],I=C.map(c=>document.getElementById(c.getAttribute("aria-controls"))).filter(Boolean);return{tablist:k,tabs:C,panels:I}},f=m=>{const k=x.get(m);if(!k||(Object.assign(k,h(m)),!k.tablist))return;const C=k.tabs.find(I=>I.getAttribute("aria-selected")==="true"&&!L(I))||k.tabs.find(I=>!L(I));C&&m.select(C,!1)},S=m=>{if(m.dataset.tabsInitialized)return;const k={};x.set(m,k),m.refresh=()=>f(m);const C=(s,l=!1)=>{if(!s||L(s))return;k.tabs.forEach(A=>{A.setAttribute("aria-selected","false"),A.setAttribute("tabindex","-1");const T=document.getElementById(A.getAttribute("aria-controls"));T&&(T.hidden=!0)}),s.setAttribute("aria-selected","true"),s.setAttribute("tabindex","0");const d=document.getElementById(s.getAttribute("aria-controls"));d&&(d.hidden=!1),l&&s.focus()};if(m.select=C,f(m),!k.tablist){x.delete(m),delete m.refresh,delete m.select;return}const I=s=>{const l=s.target.closest('[role="tab"]');l&&m.select(l)},c=s=>{const l=s.target;if(!k.tabs.includes(l))return;const d=k.tabs.filter(q=>!L(q)),A=d.indexOf(l),T=k.tablist.getAttribute("aria-orientation")||"horizontal";if(A===-1)return;let F;s.key==="ArrowRight"&&T==="horizontal"&&(F=d[(A+1)%d.length]),s.key==="ArrowLeft"&&T==="horizontal"&&(F=d[(A-1+d.length)%d.length]),s.key==="ArrowDown"&&T==="vertical"&&(F=d[(A+1)%d.length]),s.key==="ArrowUp"&&T==="vertical"&&(F=d[(A-1+d.length)%d.length]),s.key==="Home"&&(F=d[0]),s.key==="End"&&(F=d[d.length-1]),F&&(s.preventDefault(),m.select(F,!0))};k.tablist.addEventListener("click",I),k.tablist.addEventListener("keydown",c),m._destroy=()=>{k.tablist.removeEventListener("click",I),k.tablist.removeEventListener("keydown",c),x.delete(m),delete m.refresh,delete m.select},m.dataset.tabsInitialized="true",m.dispatchEvent(new CustomEvent("basecoat:initialized"))};window.basecoat&&window.basecoat.register("tabs",{selector:".tabs:not([data-tabs-initialized])",init:S,refresh:f})})(),(()=>{let x;const L=new WeakMap;let h=!1;const f={success:'<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></svg>',error:'<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="m15 9-6 6"/><path d="m9 9 6 6"/></svg>',info:'<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/></svg>',warning:'<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"/><path d="M12 9v4"/><path d="M12 17h.01"/></svg>'};function S(l){if(l.dataset.toasterInitialized)return;x=l;const d=A=>{const T=A.target.closest(".toast footer a"),F=A.target.closest(".toast footer button");(T||F)&&I(A.target.closest(".toast"))};x.addEventListener("mouseenter",k),x.addEventListener("mouseleave",C),x.addEventListener("click",d),l.toast=(A={})=>{const T=s(A);return l.appendChild(T),m(T),T},l.closeAll=()=>{l.querySelectorAll('.toast:not([aria-hidden="true"])').forEach(I)},x.querySelectorAll(".toast:not([data-toast-initialized])").forEach(m),x._destroy=()=>{x.removeEventListener("mouseenter",k),x.removeEventListener("mouseleave",C),x.removeEventListener("click",d),x.querySelectorAll(".toast[data-toast-initialized]").forEach(A=>A._destroy?.()),delete x.toast,delete x.closeAll,x===l&&(x=null)},x.dataset.toasterInitialized="true",x.dispatchEvent(new CustomEvent("basecoat:initialized"))}function m(l){if(l.dataset.toastInitialized)return;const d=parseInt(l.dataset.duration),A=d!==-1?d||(l.dataset.category==="error"?5e3:3e3):-1,T={remainingTime:A,timeoutId:null,startTime:null};A!==-1&&(h?T.timeoutId=null:(T.startTime=Date.now(),T.timeoutId=setTimeout(()=>I(l),A))),L.set(l,T),l.close=()=>I(l),l._destroy=()=>{clearTimeout(T.timeoutId),L.delete(l),delete l.close},l.dataset.toastInitialized="true"}function k(){h||!x||(h=!0,x.querySelectorAll('.toast:not([aria-hidden="true"])').forEach(l=>{if(!L.has(l))return;const d=L.get(l);d.timeoutId&&(clearTimeout(d.timeoutId),d.timeoutId=null,d.remainingTime-=Date.now()-d.startTime)}))}function C(){!h||!x||(h=!1,x.querySelectorAll('.toast:not([aria-hidden="true"])').forEach(l=>{if(!L.has(l))return;const d=L.get(l);d.remainingTime!==-1&&!d.timeoutId&&(d.remainingTime>0?(d.startTime=Date.now(),d.timeoutId=setTimeout(()=>I(l),d.remainingTime)):I(l))}))}function I(l){if(!l||!L.has(l))return;const d=L.get(l);clearTimeout(d.timeoutId),L.delete(l),l.contains(document.activeElement)&&document.activeElement.blur(),l.setAttribute("aria-hidden","true"),l.addEventListener("transitionend",()=>l.remove(),{once:!0})}const c=l=>String(l).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'");function s(l){const{category:d="info",title:A,description:T,action:F,cancel:q,duration:E,icon:w,html:O=!1}=l,z=_=>O?String(_):c(_),a=w||d&&f[d]||"",e=A?`<h2>${z(A)}</h2>`:"",i=T?`<p>${z(T)}</p>`:"",n=F?.href?`<a href="${c(F.href)}" class="btn" data-toast-action>${z(F.label)}</a>`:F?.onclick?`<button type="button" class="btn" data-toast-action onclick="${c(F.onclick)}">${z(F.label)}</button>`:"",u=q?`<button type="button" class="btn h-6 text-xs px-2.5 rounded-sm" data-variant="outline" data-toast-cancel onclick="${c(q?.onclick||"")}">${z(q.label)}</button>`:"",g=n||u?`<footer>${n}${u}</footer>`:"",v=`
|
|
3
|
+
<div
|
|
4
|
+
class="toast"
|
|
5
|
+
role="${d==="error"?"alert":"status"}"
|
|
6
|
+
aria-atomic="true"
|
|
7
|
+
${d?`data-category="${c(d)}"`:""}
|
|
8
|
+
${E!==void 0?`data-duration="${c(E)}"`:""}
|
|
9
|
+
>
|
|
10
|
+
<div class="toast-content">
|
|
11
|
+
${a}
|
|
12
|
+
<section>
|
|
13
|
+
${e}
|
|
14
|
+
${i}
|
|
15
|
+
</section>
|
|
16
|
+
${g}
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
`,$=document.createElement("template");return $.innerHTML=v.trim(),$.content.firstChild}window.basecoat&&(window.basecoat.register("toaster","#toaster:not([data-toaster-initialized])",S),window.basecoat.register("toast",".toast:not([data-toast-initialized])",m))})(),(()=>{(()=>{if(window.__auvyxMenu)return;window.__auvyxMenu=!0;const e='[role="menuitem"], [role="menuitemcheckbox"], [role="menuitemradio"]',i="[data-popover][popover]",n=r=>!r.disabled&&r.getAttribute("aria-disabled")!=="true"&&!r.closest("[hidden]"),u=r=>[...r.querySelectorAll(e)].filter(n),g=r=>r.id?document.querySelector(`[popovertarget="${CSS.escape(r.id)}"]`):null,v=r=>{const p=r?.getAttribute("popovertarget");return p?document.getElementById(p):null},$=r=>r instanceof HTMLElement&&r.matches(i)&&r.querySelector('[role="menu"]'),_=r=>r?.closest(".menubar"),D=r=>[...r.querySelectorAll(":scope > .dropdown-menu > [popovertarget]")],H=r=>r?.focus({preventScroll:!0}),j=(r,p="first")=>{const y=v(r);y&&(y.dataset.focusOnOpen=p,y.matches(":popover-open")?H(p==="last"?u(y).at(-1):u(y)[0]):y.showPopover({source:r}))};document.addEventListener("toggle",r=>{const p=r.target;if(!(p instanceof HTMLElement)||!p.matches(i))return;const y=g(p);if(y&&y.hasAttribute("aria-haspopup")&&y.setAttribute("aria-expanded",String(r.newState==="open")),r.newState!=="open"||!$(p))return;const b=p.dataset.focusOnOpen||"first";delete p.dataset.focusOnOpen,b!=="none"&&requestAnimationFrame(()=>{const M=u(p);H(b==="last"?M.at(-1):M[0])})},!0),document.addEventListener("keydown",r=>{const p=r.target;if(!(p instanceof Element))return;const y=p.closest(i);if(y&&$(y)&&p.matches(e)){const b=u(y),M=b.indexOf(p),P={ArrowDown:M+1,ArrowUp:M-1,Home:0,End:b.length-1}[r.key];if(P!==void 0){r.preventDefault(),H(b[(P+b.length)%b.length]);return}if(r.key==="Tab"){y.hidePopover();return}if(r.key==="Escape"){r.preventDefault(),y.hidePopover(),g(y)?.focus({preventScroll:!0});return}const R=_(g(y));if(R&&(r.key==="ArrowRight"||r.key==="ArrowLeft")){r.preventDefault();const U=D(R),X=U.indexOf(g(y)),J=getComputedStyle(R).direction==="rtl",B=r.key==="ArrowRight"!==J?1:-1,V=U[(X+B+U.length)%U.length];y.hidePopover(),j(V);return}return}if(p.matches("[popovertarget]")){const b=v(p),M=_(p);if(b&&$(b)&&(r.key==="ArrowDown"||r.key==="ArrowUp")){r.preventDefault(),j(p,r.key==="ArrowUp"?"last":"first");return}if(M&&(r.key==="ArrowRight"||r.key==="ArrowLeft"||r.key==="Home"||r.key==="End")){r.preventDefault();const P=D(M),R=P.indexOf(p),U=getComputedStyle(M).direction==="rtl",X=r.key==="ArrowRight"!==U?1:-1;(r.key==="Home"?P[0]:r.key==="End"?P.at(-1):P[(R+X+P.length)%P.length]).focus()}}}),document.addEventListener("click",r=>{const p=r.target instanceof Element&&r.target.closest(e);if(!p||!n(p))return;const y=p.closest(i);if(!y)return;const b=p.getAttribute("role");b==="menuitemcheckbox"?p.setAttribute("aria-checked",String(p.getAttribute("aria-checked")!=="true")):b==="menuitemradio"&&(p.closest('[role="group"]')||y).querySelectorAll('[role="menuitemradio"]').forEach(P=>P.setAttribute("aria-checked",String(P===p))),!(p.hasAttribute("popovertarget")||p.hasAttribute("data-keep-open"))&&(b!=="menuitem"&&!p.hasAttribute("data-close")||(y.hidePopover(),g(y)?.focus({preventScroll:!0})))}),document.addEventListener("pointerover",r=>{const p=r.target instanceof Element&&r.target.closest(".menubar > .dropdown-menu > [popovertarget]");if(!p)return;const y=_(p),b=D(y).map(v).find(M=>M?.matches(":popover-open"));!b||b===v(p)||(b.hidePopover(),j(p,"none"))});const t=new WeakMap,o=r=>clearTimeout(t.get(r));document.addEventListener("pointerover",r=>{if(r.pointerType!=="mouse")return;const p=r.target instanceof Element&&r.target.closest(".navigation-menu > ul > li");if(!p)return;o(p);const y=p.querySelector(":scope > [popovertarget]"),b=v(y);!b||b.matches(":popover-open")||t.set(p,setTimeout(()=>{b.dataset.openedByHover=String(Date.now()),b.showPopover({source:y})},120))}),document.addEventListener("pointerout",r=>{if(r.pointerType!=="mouse")return;const p=r.target instanceof Element&&r.target.closest(".navigation-menu > ul > li");if(!p||p.contains(r.relatedTarget))return;o(p);const y=v(p.querySelector(":scope > [popovertarget]"));!y||!y.dataset.openedByHover||t.set(p,setTimeout(()=>{y.matches(":popover-open")&&!p.matches(":hover")&&y.hidePopover(),delete y.dataset.openedByHover},200))}),document.addEventListener("click",r=>{const p=r.target instanceof Element&&r.target.closest(".navigation-menu > ul > li > [popovertarget]"),y=v(p);if(y?.dataset.openedByHover){if(Date.now()-Number(y.dataset.openedByHover)<600&&y.matches(":popover-open")){r.preventDefault();return}delete y.dataset.openedByHover}},!0)})();var x=class extends HTMLElement{connectedCallback(){if(this._init||(this._init=!0,this.menu=this.querySelector("[data-popover][popover]"),!this.menu))return;let e=!1;this.addEventListener("pointerdown",i=>{i.button===2&&(e=!0)}),this.addEventListener("contextmenu",i=>{if(this.menu.contains(i.target))return;i.preventDefault();const{clientX:n,clientY:u}=i;if(!e)return this.openAt(n,u);window.addEventListener("pointerup",()=>{e=!1,setTimeout(()=>this.openAt(n,u))},{once:!0,capture:!0})}),this.addEventListener("keydown",i=>{if(!this.menu.contains(i.target)&&(i.key==="ContextMenu"||i.shiftKey&&i.key==="F10")){i.preventDefault();const n=i.target.getBoundingClientRect();this.openAt(n.left,n.bottom)}})}openAt(e,i){const n=this.menu;n.matches(":popover-open")&&n.hidePopover(),Object.assign(n.style,{position:"fixed",inset:"auto",margin:"0",positionArea:"none",positionTryFallbacks:"none",left:`${e}px`,top:`${i}px`}),n.showPopover();const u=n.getBoundingClientRect();u.right>innerWidth-4&&(n.style.left=`${Math.max(4,e-u.width)}px`),u.bottom>innerHeight-4&&(n.style.top=`${Math.max(4,i-u.height)}px`)}};customElements.get("auvyx-context-menu")||customElements.define("auvyx-context-menu",x);var L=class extends HTMLElement{connectedCallback(){if(this._init||(this._init=!0,this.vertical=this.dataset.orientation==="vertical",this.panels=[...this.children].filter(g=>g.getAttribute("role")!=="separator"),this.handles=[...this.children].filter(g=>g.getAttribute("role")==="separator"),this.panels.length<2))return;const e=this.panels.map(g=>parseFloat(getComputedStyle(g).getPropertyValue("--size"))||0),i=e.filter(g=>!g).length,n=Math.max(0,100-e.reduce((g,v)=>g+v,0));this.sizes=e.map(g=>g||(i?n/i:0));const u=this.sizes.reduce((g,v)=>g+v,0)||1;this.sizes=this.sizes.map(g=>g/u*100),this.apply(),this.handles.forEach((g,v)=>{g.setAttribute("aria-orientation",this.vertical?"horizontal":"vertical"),g.setAttribute("aria-valuemin","0"),g.setAttribute("aria-valuemax","100"),this.panels[v].id&&g.setAttribute("aria-controls",this.panels[v].id),g.hasAttribute("tabindex")||(g.tabIndex=0),g.addEventListener("pointerdown",$=>this.startDrag($,v)),g.addEventListener("keydown",$=>this.onKey($,v)),g.addEventListener("dblclick",()=>this.resetPair(v))})}minOf(e){const i=parseFloat(this.panels[e].dataset.min);return Number.isFinite(i)?i:10}maxOf(e){const i=parseFloat(this.panels[e].dataset.max);return Number.isFinite(i)?i:100}setPair(e,i){const n=this.sizes[e]+this.sizes[e+1],u=Math.max(this.minOf(e),n-this.maxOf(e+1)),g=Math.min(this.maxOf(e),n-this.minOf(e+1)),v=Math.min(g,Math.max(u,i));this.sizes[e]=v,this.sizes[e+1]=n-v,this.apply()}resetPair(e){const i=this.sizes[e]+this.sizes[e+1];this.setPair(e,i/2)}apply(){this.panels.forEach((e,i)=>e.style.setProperty("--size",this.sizes[i].toFixed(3))),this.handles?.forEach((e,i)=>e.setAttribute("aria-valuenow",String(Math.round(this.sizes[i])))),this.dispatchEvent(new CustomEvent("resize",{detail:{sizes:[...this.sizes]}}))}startDrag(e,i){if(e.button!==0)return;e.preventDefault();const n=e.currentTarget;n.setPointerCapture(e.pointerId),n.setAttribute("data-active",""),this.setAttribute("data-dragging","");const u=this.getBoundingClientRect(),g=this.vertical?u.height:u.width,v=!this.vertical&&getComputedStyle(this).direction==="rtl",$=this.vertical?e.clientY:e.clientX,_=this.sizes[i],D=j=>{const t=((this.vertical?j.clientY:j.clientX)-$)/g*100;this.setPair(i,_+(v?-t:t))},H=()=>{n.removeEventListener("pointermove",D),n.removeAttribute("data-active"),this.removeAttribute("data-dragging")};n.addEventListener("pointermove",D),n.addEventListener("pointerup",H,{once:!0}),n.addEventListener("pointercancel",H,{once:!0})}onKey(e,i){const n=e.shiftKey?10:5,u=!this.vertical&&getComputedStyle(this).direction==="rtl",g=this.vertical?"ArrowDown":u?"ArrowLeft":"ArrowRight",v=this.vertical?"ArrowUp":u?"ArrowRight":"ArrowLeft",$={[g]:this.sizes[i]+n,[v]:this.sizes[i]-n,Home:0,End:100,Enter:null};e.key in $&&(e.preventDefault(),e.key==="Enter"?this.resetPair(i):this.setPair(i,$[e.key]))}};customElements.get("auvyx-resizable")||customElements.define("auvyx-resizable",L);var h=class extends HTMLElement{connectedCallback(){this._init||(this._init=!0,this.table=this.querySelector("table"),this.tbody=this.table?.tBodies[0],this.tbody&&(this.rows=[...this.tbody.rows].filter(e=>!e.hasAttribute("data-empty")),this.empty=this.tbody.querySelector("tr[data-empty]"),this.pageSize=parseInt(this.dataset.pageSize,10)||0,this.page=0,this.query="",this.sort={col:-1,dir:"ascending"},this.collator=new Intl.Collator(this.closest("[lang]")?.lang||void 0,{numeric:!0,sensitivity:"base"}),this.headers=[...this.table.tHead.rows[0].cells],this.headers.forEach((e,i)=>{(e.hasAttribute("aria-sort")?e.querySelector(":scope > button"):null)?.addEventListener("click",()=>this.toggleSort(i))}),this.filterInput=this.querySelector("input[data-filter]"),this.filterInput?.addEventListener("input",()=>{this.query=this.filterInput.value.trim().toLocaleLowerCase(),this.page=0,this.render()}),this.selectAll=this.querySelector("input[data-select-all]"),this.selectAll?.addEventListener("change",()=>{this.visible().forEach(e=>this.setSelected(e,this.selectAll.checked)),this.updateSelection()}),this.tbody.addEventListener("change",e=>{e.target.matches("input[data-select]")&&(this.setSelected(e.target.closest("tr"),e.target.checked),this.updateSelection())}),this.querySelectorAll("input[data-column]").forEach(e=>{e.addEventListener("change",()=>this.setColumn(parseInt(e.dataset.column,10),e.checked)),e.checked||this.setColumn(parseInt(e.dataset.column,10),!1)}),this.querySelector('[data-page="prev"]')?.addEventListener("click",()=>{this.page--,this.render()}),this.querySelector('[data-page="next"]')?.addEventListener("click",()=>{this.page++,this.render()}),this.rows.forEach(e=>{e.querySelector("input[data-select]")?.checked&&e.setAttribute("aria-selected","true")}),this.render()))}cellValue(e,i){const n=e.cells[i];return n?n.dataset.value??n.textContent.trim():""}matches(e){if(!this.query)return!0;const i=this.filterInput?.dataset.filter,n=i?i.split(",").map(Number):null;return[...e.cells].some((u,g)=>(!n||n.includes(g))&&u.textContent.toLocaleLowerCase().includes(this.query))}toggleSort(e){this.sort=this.sort.col===e?{col:e,dir:this.sort.dir==="ascending"?"descending":"ascending"}:{col:e,dir:"ascending"},this.headers.forEach((i,n)=>i.hasAttribute("aria-sort")&&i.setAttribute("aria-sort",n===e?this.sort.dir:"none")),this.render()}ordered(){const e=this.rows.filter(v=>this.matches(v)),{col:i,dir:n}=this.sort;if(i<0)return e;const u=this.headers[i]?.dataset.type==="number",g=n==="descending"?-1:1;return e.sort((v,$)=>{const _=this.cellValue(v,i),D=this.cellValue($,i);return g*(u?(parseFloat(_)||0)-(parseFloat(D)||0):this.collator.compare(_,D))})}visible(){return this.rows.filter(e=>!e.hidden)}setSelected(e,i){const n=e.querySelector("input[data-select]");n&&(n.checked=i),i?e.setAttribute("aria-selected","true"):e.removeAttribute("aria-selected")}setColumn(e,i){[this.table.tHead,...this.table.tBodies,this.table.tFoot].filter(Boolean).forEach(n=>{[...n.rows].forEach(u=>{u.cells[e]&&!u.hasAttribute("data-empty")&&(u.cells[e].hidden=!i)})})}updateSelection(){const e=this.visible(),i=this.rows.filter(g=>g.getAttribute("aria-selected")==="true").length,n=e.filter(g=>g.getAttribute("aria-selected")==="true").length;this.selectAll&&(this.selectAll.checked=e.length>0&&n===e.length,this.selectAll.indeterminate=n>0&&n<e.length);const u=this.querySelector("[data-selected-count]");if(u){const g=u.dataset.template||"{selected} of {total} row(s) selected.";u.textContent=g.replace("{selected}",i).replace("{total}",this.rows.length)}this.dispatchEvent(new CustomEvent("selectionchange",{detail:{rows:this.rows.filter(g=>g.getAttribute("aria-selected")==="true")}}))}render(){const e=this.ordered(),i=this.pageSize?Math.max(1,Math.ceil(e.length/this.pageSize)):1;this.page=Math.min(Math.max(0,this.page),i-1);const n=this.pageSize?this.page*this.pageSize:0,u=this.pageSize?n+this.pageSize:e.length,g=new Set(e.slice(n,u));e.forEach(D=>this.tbody.insertBefore(D,this.empty)),this.rows.forEach(D=>{D.hidden=!g.has(D)}),this.empty&&(this.empty.hidden=e.length>0);const v=this.querySelector("[data-page-status]");if(v){const D=v.dataset.template||"Page {page} of {pages}";v.textContent=D.replace("{page}",this.page+1).replace("{pages}",i)}const $=this.querySelector('[data-page="prev"]'),_=this.querySelector('[data-page="next"]');$&&($.disabled=this.page<=0),_&&(_.disabled=this.page>=i-1),this.updateSelection()}};customElements.get("auvyx-data-table")||customElements.define("auvyx-data-table",h);var f=e=>String(e).padStart(2,"0"),S=e=>`${e.getFullYear()}-${f(e.getMonth()+1)}-${f(e.getDate())}`,m=e=>{const i=/^(\d{4})-(\d{2})-(\d{2})$/.exec((e||"").trim());return i?new Date(+i[1],+i[2]-1,+i[3]):null},k=e=>e.getFullYear()*1e4+e.getMonth()*100+e.getDate(),C=(e,i)=>!!e&&!!i&&k(e)===k(i),I=(e,i)=>new Date(e.getFullYear(),e.getMonth(),e.getDate()+i),c=(e,i)=>{const n=new Date(e.getFullYear(),e.getMonth()+i+1,0).getDate();return new Date(e.getFullYear(),e.getMonth()+i,Math.min(e.getDate(),n))},s=e=>new Date(e.getFullYear(),e.getMonth(),1),l=(e,i)=>Math.round((new Date(i.getFullYear(),i.getMonth(),i.getDate())-new Date(e.getFullYear(),e.getMonth(),e.getDate()))/864e5),d=e=>{const i=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()));return i.setUTCDate(i.getUTCDate()+4-(i.getUTCDay()||7)),Math.ceil(((i-Date.UTC(i.getUTCFullYear(),0,1))/864e5+1)/7)},A=e=>(e||"").split(",").map(i=>i.trim()).filter(Boolean).map(i=>{const[n,u]=i.split("/"),g=m(n);return g?[g,m(u)||g]:null}).filter(Boolean),T=(e,i)=>e.some(([n,u])=>i>=n&&i<=u),F=e=>`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="${e}"/></svg>`,q=e=>String(e).replace(/[&<>"]/g,i=>({"&":"&","<":"<",">":">",'"':"""})[i]),E=class extends HTMLElement{static observedAttributes=["value","min","max","mode","months","month","disabled-dates","disabled-days","booked","min-days","max-days","caption","week-numbers","lang"];connectedCallback(){this.readAll();const e=this.selected[0]||this.start||new Date;this.focused||=this.clamp(e);const i=/^(\d{4})-(\d{2})$/.exec(this.getAttribute("month")||"");this.view||=i?new Date(+i[1],+i[2]-1,1):s(this.focused),this._init||(this._init=!0,this.addEventListener("click",n=>this.onClick(n)),this.addEventListener("keydown",n=>this.onKey(n)),this.addEventListener("change",n=>this.onSelectChange(n))),this.render()}attributeChangedCallback(e,i,n){if(!(!this._init||i===n||this._writing)){if(this.readAll(),e==="value"){const u=this.selected[0]||this.start;u&&(this.focused=u,this.view=s(u))}if(e==="month"){const u=/^(\d{4})-(\d{2})$/.exec(n||"");u&&(this.view=new Date(+u[1],+u[2]-1,1))}this.render()}}readAll(){const e=this.getAttribute("mode");this.mode=e==="range"||e==="multiple"?e:"single",this.monthsShown=Math.max(1,Math.min(12,parseInt(this.getAttribute("months"),10)||1)),this.min=m(this.getAttribute("min")),this.max=m(this.getAttribute("max")),this.disabledDates=A(this.getAttribute("disabled-dates")),this.bookedDates=A(this.getAttribute("booked")),this.disabledDays=(this.getAttribute("disabled-days")||"").split(",").map(n=>parseInt(n,10)).filter(n=>n>=0&&n<=6),this.minDays=parseInt(this.getAttribute("min-days"),10)||0,this.maxDays=parseInt(this.getAttribute("max-days"),10)||0;const i=this.getAttribute("value")||"";if(this.start=this.end=null,this.selected=[],this.mode==="range"){const[n,u]=i.split("/");this.start=m(n),this.end=m(u)}else this.mode==="multiple"?this.selected=i.split(",").map(m).filter(Boolean):(this.start=m(i),this.start&&(this.selected=[this.start]))}get value(){return this.mode==="range"?this.start?`${S(this.start)}/${this.end?S(this.end):""}`:"":this.mode==="multiple"?this.selected.map(S).join(","):this.start?S(this.start):""}set value(e){this.setAttribute("value",e??"")}get dates(){return this.mode==="range"?[this.start,this.end].filter(Boolean):[...this.selected]}set renderDay(e){this._renderDay=e,this._init&&this.render()}get renderDay(){return this._renderDay}locale(){return this.getAttribute("lang")||this.closest("[lang]")?.getAttribute("lang")||navigator.language}weekStart(){const e=parseInt(this.dataset.weekStart,10);return Number.isFinite(e)?(e%7+7)%7:1}clamp(e){return this.min&&e<this.min?this.min:this.max&&e>this.max?this.max:e}isDisabled(e){if(this.min&&e<this.min||this.max&&e>this.max||this.disabledDays.includes(e.getDay())||T(this.disabledDates,e)||T(this.bookedDates,e))return!0;if(this.mode==="range"&&this.start&&!this.end&&e>this.start){const i=l(this.start,e)+1;if(this.minDays&&i<this.minDays||this.maxDays&&i>this.maxDays)return!0;for(let n=I(this.start,1);n<e;n=I(n,1))if(this.disabledDays.includes(n.getDay())||T(this.disabledDates,n)||T(this.bookedDates,n))return!0}return!1}render(){const e=this.locale(),i=new Intl.DateTimeFormat(e,{month:"long",year:"numeric"}),n=new Intl.DateTimeFormat(e,{month:"short"}),u=new Intl.DateTimeFormat(e,{weekday:"short"}),g=new Intl.DateTimeFormat(e,{weekday:"long"}),v=new Intl.DateTimeFormat(e,{dateStyle:"full"}),$=new Date,_=this.weekStart(),D=this.id||(this._uid||=`cal-${Math.random().toString(36).slice(2,8)}`),H=this.hasAttribute("week-numbers"),j=this.getAttribute("caption")==="dropdown",t=this.min&&c(this.view,-1)<s(this.min),o=this.max&&c(this.view,this.monthsShown)>this.max,r=this.contains(document.activeElement)&&document.activeElement.matches("td > button");let p="";for(let b=0;b<this.monthsShown;b++){const M=c(this.view,b),P=(M.getDay()-_+7)%7,R=I(M,-P),U=new Date(M.getFullYear(),M.getMonth()+1,0).getDate(),X=Math.ceil((P+U)/7),J=`${D}-title-${b}`;let B=`<h2 id="${J}" aria-live="polite">${q(i.format(M))}</h2>`;if(j&&b===0){const W=(this.min||c($,-120)).getFullYear(),G=(this.max||c($,120)).getFullYear();let N="";for(let K=0;K<12;K++){const Y=new Date(M.getFullYear(),K,1),se=this.min&&new Date(M.getFullYear(),K+1,0)<this.min||this.max&&Y>this.max;N+=`<option value="${K}"${K===M.getMonth()?" selected":""}${se?" disabled":""}>${q(n.format(Y))}</option>`}let Z="";for(let K=W;K<=G;K++)Z+=`<option value="${K}"${K===M.getFullYear()?" selected":""}>${K}</option>`;B=`<div class="calendar-caption" id="${J}" aria-label="${q(i.format(M))}" role="group"><select class="select" data-calendar-month aria-label="${q(this.dataset.labelMonth||"Month")}">${N}</select><select class="select" data-calendar-year aria-label="${q(this.dataset.labelYear||"Year")}">${Z}</select></div>`}const V=b===0?`<button type="button" data-nav="-1" aria-label="${q(this.dataset.labelPrev||"Previous month")}"${t?" disabled":""}>${F("m15 18-6-6 6-6")}</button>`:"<span></span>",ie=b===this.monthsShown-1?`<button type="button" data-nav="1" aria-label="${q(this.dataset.labelNext||"Next month")}"${o?" disabled":""}>${F("m9 18 6-6-6-6")}</button>`:"<span></span>";let ee=H?`<th scope="col" data-week-number><span class="sr-only">${q(this.dataset.labelWeek||"Week")}</span></th>`:"";for(let W=0;W<7;W++){const G=I(R,W);ee+=`<th scope="col" abbr="${q(g.format(G))}">${q(u.format(G))}</th>`}let Q="";for(let W=0;W<X;W++){Q+="<tr>",H&&(Q+=`<th scope="row" data-week-number>${d(I(R,W*7+(8-_)%7))}</th>`);for(let G=0;G<7;G++){const N=I(R,W*7+G),Z=N.getMonth()!==M.getMonth(),K=Z&&this.monthsShown>1,Y=[];if(Z&&Y.push("data-outside"),T(this.bookedDates,N)&&Y.push("data-booked"),!K&&(this.mode!=="range"&&this.selected.some(te=>C(te,N))&&Y.push('aria-selected="true"'),this.mode==="range"&&this.start)){const te=this.end||this.start;C(N,this.start)&&Y.push("data-range-start"),C(N,te)&&Y.push("data-range-end"),N>this.start&&N<te&&Y.push("data-range-middle"),N>=this.start&&N<=te&&Y.push('aria-selected="true"')}if(K){Q+=`<td ${Y.join(" ")} aria-hidden="true"></td>`;continue}const se=C(N,this.focused)&&!Z?"0":"-1",ne=this._renderDay?this._renderDay(N):null;Q+=`<td ${Y.join(" ")}><button type="button" data-date="${S(N)}" tabindex="${se}" aria-label="${q(v.format(N))}"${C(N,$)?' aria-current="date"':""}${this.isDisabled(N)?" disabled":""}><span>${N.getDate()}</span>${ne?`<small>${ne}</small>`:""}</button></td>`}Q+="</tr>"}p+=`<section class="calendar-month"><header>${V}${B}${ie}</header><table role="grid" aria-labelledby="${J}"${H?" data-week-numbers":""}><thead><tr>${ee}</tr></thead><tbody>${Q}</tbody></table></section>`}const y=this.getAttribute("name")?`<input type="hidden" name="${q(this.getAttribute("name"))}" value="${q(this.value)}">`:"";if(this.innerHTML=`<div class="calendar-months">${p}</div>${y}`,!this.querySelector('td > button[tabindex="0"]')){const b=this.querySelector("td:not([data-outside]) > button:not(:disabled)")||this.querySelector("td > button");b&&(b.tabIndex=0)}r&&this.focusDate()}focusDate(){(this.querySelector(`td:not([data-outside]) > button[data-date="${S(this.focused)}"]`)||this.querySelector('td > button[tabindex="0"]'))?.focus({preventScroll:!0})}goTo(e){const i=typeof e=="string"?m(e):e;i&&(this.view=s(i),this.focused=i,this.render())}visible(e){const i=c(this.view,this.monthsShown-1);return e>=this.view&&e<c(i,1)}moveFocus(e){this.min&&e<this.min||this.max&&e>this.max||(this.focused=e,this.visible(e)?this.querySelectorAll("td > button").forEach(i=>{i.tabIndex=i.dataset.date===S(e)&&!i.closest("[data-outside]")?0:-1}):(this.view=e<this.view?s(e):s(c(e,-(this.monthsShown-1))),this.render()),this.focusDate())}select(e){if(this.mode==="range")!this.start||this.end||e<this.start?(this.start=e,this.end=null):this.end=e;else if(this.mode==="multiple"){const i=this.selected.findIndex(n=>C(n,e));i>=0?this.selected.splice(i,1):this.selected.push(e),this.selected.sort((n,u)=>n-u)}else this.start=e,this.selected=[e];this.focused=e,this._writing=!0,this.setAttribute("value",this.value),this._writing=!1,this.render(),this.focusDate(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,detail:{value:this.value,dates:this.dates,complete:this.mode!=="range"||!!this.end}}))}onClick(e){const i=e.target.closest("button[data-nav]");if(i&&!i.disabled){this.view=c(this.view,+i.dataset.nav);const u=new Date(this.view.getFullYear(),this.view.getMonth()+1,0).getDate();this.focused=this.clamp(new Date(this.view.getFullYear(),this.view.getMonth(),Math.min(this.focused.getDate(),u))),this.render();return}const n=e.target.closest("button[data-date]");n&&!n.disabled&&this.select(m(n.dataset.date))}onSelectChange(e){const i=e.target;if(!(i instanceof HTMLSelectElement)||!i.closest(".calendar-caption"))return;e.stopPropagation();const n=+this.querySelector("[data-calendar-month]").value,u=+this.querySelector("[data-calendar-year]").value;this.view=new Date(u,n,1),this.focused=this.clamp(new Date(u,n,Math.min(this.focused.getDate(),new Date(u,n+1,0).getDate()))),this.render(),this.querySelector(i.hasAttribute("data-calendar-month")?"[data-calendar-month]":"[data-calendar-year]")?.focus()}onKey(e){if(!e.target.matches("td > button"))return;const i=getComputedStyle(this).direction==="rtl",n=this.focused,u=(n.getDay()-this.weekStart()+7)%7,g={ArrowLeft:I(n,i?1:-1),ArrowRight:I(n,i?-1:1),ArrowUp:I(n,-7),ArrowDown:I(n,7),Home:I(n,-u),End:I(n,6-u),PageUp:c(n,e.shiftKey?-12:-1),PageDown:c(n,e.shiftKey?12:1)};e.key in g&&(e.preventDefault(),this.moveFocus(g[e.key]))}};customElements.get("auvyx-calendar")||customElements.define("auvyx-calendar",E);var w='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M8 2v4"/><path d="M16 2v4"/><rect width="18" height="18" x="3" y="4" rx="2"/><path d="M3 10h18"/></svg>',O=["months","caption","week-numbers","disabled-days","disabled-dates","booked","min-days","max-days"],z=e=>e?new Date(`${e}T00:00:00`):null,a=class extends HTMLElement{connectedCallback(){if(this._init||(this.inputs=[...this.querySelectorAll(':scope > input[type="date"]')],!this.inputs.length))return;this._init=!0,this.range=this.getAttribute("mode")==="range"&&this.inputs.length>=2;const e=this.inputs[0],i=e.id||`dp-${Math.random().toString(36).slice(2,8)}`,n=this.closest("[lang]")?.getAttribute("lang")||navigator.language;this.format=new Intl.DateTimeFormat(n,{dateStyle:"medium"}),this.button=document.createElement("button"),this.button.type="button",this.button.className="btn",this.button.dataset.variant=this.dataset.variant||"outline",this.button.setAttribute("popovertarget",`${i}-popover`),this.button.setAttribute("aria-haspopup","dialog");const u=e.labels?.[0];u&&(u.id||=`${i}-label`,this.button.setAttribute("aria-labelledby",`${u.id} ${i}-value`),u.htmlFor="",u.addEventListener("click",()=>this.button.focus())),this.button.innerHTML=`${w}<span id="${i}-value"></span>`,this.panel=document.createElement("div"),this.panel.id=`${i}-popover`,this.panel.setAttribute("data-popover",""),this.panel.setAttribute("popover",""),this.panel.setAttribute("role","dialog"),this.panel.setAttribute("aria-label",this.dataset.dialogLabel||(this.range?"Choose dates":"Choose date")),this.panel.dataset.side=this.dataset.side||"bottom",this.panel.dataset.align=this.dataset.align||"start",this.calendar=document.createElement("auvyx-calendar"),this.calendar.className="calendar",this.range&&this.calendar.setAttribute("mode","range");for(const v of["min","max"])e[v]&&this.calendar.setAttribute(v,e[v]);for(const v of O)this.hasAttribute(v)&&this.calendar.setAttribute(v,this.getAttribute(v));this.dataset.weekStart&&(this.calendar.dataset.weekStart=this.dataset.weekStart);const g=this.range?this.inputs[0].value?`${this.inputs[0].value}/${this.inputs[1].value}`:"":e.value;g&&this.calendar.setAttribute("value",g),this.panel.append(this.calendar);for(const v of this.inputs)v.hidden=!0,v.tabIndex=-1,v.addEventListener("invalid",$=>{$.preventDefault(),this.button.setAttribute("aria-invalid","true"),this.button.focus()});this.prepend(this.button),this.append(this.panel),this.update(),this.calendar.addEventListener("change",v=>{v.stopPropagation();const[$,_]=v.detail.value.split("/");this.setInput(this.inputs[0],$||""),this.range&&this.setInput(this.inputs[1],_||""),this.button.removeAttribute("aria-invalid"),this.update(),v.detail.complete&&(this.panel.hidePopover(),this.button.focus()),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,detail:{value:v.detail.value,complete:v.detail.complete}}))}),this.panel.addEventListener("toggle",v=>{v.newState==="open"&&requestAnimationFrame(()=>this.calendar.focusDate?.())})}setInput(e,i){e.value!==i&&(e.value=i,e.dispatchEvent(new Event("input",{bubbles:!0})),e.dispatchEvent(new Event("change",{bubbles:!0})))}get value(){return this.range?`${this.inputs[0].value}/${this.inputs[1].value}`:this.inputs[0].value}update(){const e=this.button.querySelector("span"),i=z(this.inputs[0].value),n=this.range?z(this.inputs[1].value):null;let u;this.range&&i&&n?u=this.format.formatRange(i,n):i?u=this.format.format(i)+(this.range?" \u2013":""):u=this.dataset.placeholder||this.inputs[0].placeholder||(this.range?"Pick a date range":"Pick a date"),e.textContent=u,i?this.button.dataset.value=this.value:delete this.button.dataset.value}};customElements.get("auvyx-date-picker")||customElements.define("auvyx-date-picker",a)})();
|