@zeyos/zx 2.1.0 → 2.2.1
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/CHANGELOG.md +51 -0
- package/README.md +15 -0
- package/dist/types/compat/base.d.ts +156 -0
- package/dist/types/compat/globals.d.ts +20 -0
- package/dist/types/compat/index.d.ts +128 -0
- package/dist/types/compat/map/basic.d.ts +175 -0
- package/dist/types/compat/map/data.d.ts +102 -0
- package/dist/types/compat/map/date-time.d.ts +80 -0
- package/dist/types/compat/map/factory.d.ts +9 -0
- package/dist/types/compat/map/form.d.ts +98 -0
- package/dist/types/compat/map/helpers.d.ts +12 -0
- package/dist/types/compat/map/http.d.ts +36 -0
- package/dist/types/compat/map/layout.d.ts +106 -0
- package/dist/types/compat/map/options.d.ts +80 -0
- package/dist/types/compat/map/select.d.ts +95 -0
- package/dist/types/compat/map/stubs.d.ts +32 -0
- package/dist/types/compat/map/utilities.d.ts +37 -0
- package/dist/types/compat-entry.d.ts +5 -0
- package/dist/types/components/badge/badge.d.ts +46 -0
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +200 -0
- package/dist/types/components/button/button.d.ts +42 -0
- package/dist/types/components/check-button/check-button.d.ts +98 -0
- package/dist/types/components/checklist/checklist.d.ts +143 -0
- package/dist/types/components/checklist/field-adapter.d.ts +5 -0
- package/dist/types/components/context-menu/context-menu.d.ts +130 -0
- package/dist/types/components/copy/copy-button.d.ts +48 -0
- package/dist/types/components/copy/copy-input.d.ts +91 -0
- package/dist/types/components/data-filter/data-filter.d.ts +250 -0
- package/dist/types/components/data-filter/filter-core.d.ts +52 -0
- package/dist/types/components/date-picker/date-picker.d.ts +137 -0
- package/dist/types/components/date-picker/date-range-picker.d.ts +350 -0
- package/dist/types/components/date-picker/field-adapter.d.ts +6 -0
- package/dist/types/components/date-picker/month-picker.d.ts +75 -0
- package/dist/types/components/date-picker/range-field-adapter.d.ts +7 -0
- package/dist/types/components/date-picker/time-picker.d.ts +127 -0
- package/dist/types/components/datebox/date-range-box.d.ts +218 -0
- package/dist/types/components/datebox/datebox.d.ts +160 -0
- package/dist/types/components/datebox/field-adapter.d.ts +5 -0
- package/dist/types/components/dialog/dialog.d.ts +284 -0
- package/dist/types/components/dropdown/dropdown.d.ts +118 -0
- package/dist/types/components/empty-state/empty-state.d.ts +38 -0
- package/dist/types/components/field/field.d.ts +231 -0
- package/dist/types/components/field-upload/field-adapter.d.ts +5 -0
- package/dist/types/components/field-upload/field-upload.d.ts +213 -0
- package/dist/types/components/fieldset/fieldset.d.ts +125 -0
- package/dist/types/components/finder/finder.d.ts +252 -0
- package/dist/types/components/form/form.d.ts +194 -0
- package/dist/types/components/groupbox/groupbox.d.ts +89 -0
- package/dist/types/components/layout/layout.d.ts +132 -0
- package/dist/types/components/loading/inline-loading.d.ts +86 -0
- package/dist/types/components/loading/progress-bar.d.ts +168 -0
- package/dist/types/components/loading/spinner.d.ts +34 -0
- package/dist/types/components/master-panel/master-panel.d.ts +112 -0
- package/dist/types/components/menu-button/menu-button.d.ts +142 -0
- package/dist/types/components/message/message.d.ts +212 -0
- package/dist/types/components/modal/modal.d.ts +105 -0
- package/dist/types/components/multi-value-editor/field-adapter.d.ts +5 -0
- package/dist/types/components/multi-value-editor/multi-value-editor.d.ts +66 -0
- package/dist/types/components/navigation-bar/navigation-bar.d.ts +229 -0
- package/dist/types/components/number-field/field-adapter.d.ts +5 -0
- package/dist/types/components/number-field/number-field.d.ts +292 -0
- package/dist/types/components/pagination/pagination.d.ts +267 -0
- package/dist/types/components/panel/panel.d.ts +194 -0
- package/dist/types/components/permission/permission.d.ts +93 -0
- package/dist/types/components/rating/field-adapter.d.ts +5 -0
- package/dist/types/components/rating/rating.d.ts +213 -0
- package/dist/types/components/search/search.d.ts +98 -0
- package/dist/types/components/select/field-adapter.d.ts +5 -0
- package/dist/types/components/select/filter.d.ts +11 -0
- package/dist/types/components/select/select.d.ts +235 -0
- package/dist/types/components/skeleton/skeleton.d.ts +97 -0
- package/dist/types/components/slider/field-adapter.d.ts +5 -0
- package/dist/types/components/slider/slider.d.ts +216 -0
- package/dist/types/components/split-view/split-view.d.ts +335 -0
- package/dist/types/components/stepper/stepper.d.ts +314 -0
- package/dist/types/components/stepper/steps.d.ts +131 -0
- package/dist/types/components/tabbox/tabbox.d.ts +230 -0
- package/dist/types/components/table/sort.d.ts +49 -0
- package/dist/types/components/table/table.d.ts +872 -0
- package/dist/types/components/tag-picker/field-adapter.d.ts +5 -0
- package/dist/types/components/tag-picker/tag-picker.d.ts +375 -0
- package/dist/types/components/timebox/field-adapter.d.ts +5 -0
- package/dist/types/components/timebox/timebox.d.ts +121 -0
- package/dist/types/components/toggle/field-adapter.d.ts +5 -0
- package/dist/types/components/toggle/toggle.d.ts +94 -0
- package/dist/types/components/toolbar/toolbar.d.ts +230 -0
- package/dist/types/components/tooltip/tooltip.d.ts +183 -0
- package/dist/types/components/tree/hierarchy.d.ts +113 -0
- package/dist/types/components/tree/tree.d.ts +383 -0
- package/dist/types/components/truncate/truncate.d.ts +61 -0
- package/dist/types/components/value-list/field-adapter.d.ts +5 -0
- package/dist/types/components/value-list/value-list.d.ts +143 -0
- package/dist/types/core/breakpoint.d.ts +68 -0
- package/dist/types/core/component.d.ts +115 -0
- package/dist/types/core/date.d.ts +50 -0
- package/dist/types/core/dom.d.ts +86 -0
- package/dist/types/core/export.d.ts +70 -0
- package/dist/types/core/fontawesome.d.ts +107 -0
- package/dist/types/core/format.d.ts +107 -0
- package/dist/types/core/http.d.ts +122 -0
- package/dist/types/core/i18n.d.ts +35 -0
- package/dist/types/core/icons.d.ts +137 -0
- package/dist/types/core/keyboard.d.ts +72 -0
- package/dist/types/core/position.d.ts +45 -0
- package/dist/types/core/storage.d.ts +46 -0
- package/dist/types/core/util.d.ts +117 -0
- package/dist/types/elements/define.d.ts +73 -0
- package/dist/types/elements/reflect.d.ts +27 -0
- package/dist/types/index.d.ts +79 -0
- package/dist/types/zeyos/connect.d.ts +65 -0
- package/dist/types/zeyos/form.d.ts +140 -0
- package/dist/types/zeyos/icons.d.ts +104 -0
- package/dist/types/zeyos/index.d.ts +12 -0
- package/dist/types/zeyos/modules.d.ts +110 -0
- package/dist/types/zeyos/query.d.ts +157 -0
- package/dist/types/zeyos/schema.d.ts +79 -0
- package/dist/types/zeyos/select.d.ts +167 -0
- package/dist/types/zeyos/table.d.ts +205 -0
- package/dist/zx-compat.esm.js +375 -39
- package/dist/zx-compat.esm.min.js +1 -1
- package/dist/zx-compat.global.js +372 -73
- package/dist/zx-compat.global.min.js +3 -3
- package/dist/zx-zeyos.esm.js +355 -49
- package/dist/zx-zeyos.esm.min.js +1 -1
- package/dist/zx.css +68 -6
- package/dist/zx.esm.js +359 -73
- package/dist/zx.esm.min.js +3 -3
- package/dist/zx.global.js +359 -73
- package/dist/zx.global.min.js +3 -3
- package/dist/zx.min.css +1 -1
- package/docs/api.json +48 -2
- package/docs/llms.md +31 -0
- package/package.json +37 -9
- package/src/compat/base.js +291 -0
- package/src/compat/globals.js +165 -0
- package/src/compat/index.js +84 -0
- package/src/compat/map/basic.js +464 -0
- package/src/compat/map/data.js +232 -0
- package/src/compat/map/date-time.js +177 -0
- package/src/compat/map/factory.js +45 -0
- package/src/compat/map/form.js +330 -0
- package/src/compat/map/helpers.js +46 -0
- package/src/compat/map/http.js +117 -0
- package/src/compat/map/layout.js +256 -0
- package/src/compat/map/options.js +267 -0
- package/src/compat/map/select.js +198 -0
- package/src/compat/map/stubs.js +26 -0
- package/src/compat/map/utilities.js +113 -0
- package/src/compat-entry.js +11 -0
- package/src/components/badge/badge.css +147 -0
- package/src/components/badge/badge.js +92 -0
- package/src/components/breadcrumb/breadcrumb.css +105 -0
- package/src/components/breadcrumb/breadcrumb.js +331 -0
- package/src/components/button/button.css +104 -0
- package/src/components/button/button.js +76 -0
- package/src/components/check-button/check-button.css +66 -0
- package/src/components/check-button/check-button.js +167 -0
- package/src/components/checklist/checklist.css +65 -0
- package/src/components/checklist/checklist.js +282 -0
- package/src/components/checklist/field-adapter.js +46 -0
- package/src/components/context-menu/context-menu.css +54 -0
- package/src/components/context-menu/context-menu.js +334 -0
- package/src/components/copy/copy-button.css +27 -0
- package/src/components/copy/copy-button.js +78 -0
- package/src/components/copy/copy-input.css +59 -0
- package/src/components/copy/copy-input.js +123 -0
- package/src/components/data-filter/data-filter.css +53 -0
- package/src/components/data-filter/data-filter.js +400 -0
- package/src/components/data-filter/filter-core.js +128 -0
- package/src/components/date-picker/date-picker.css +181 -0
- package/src/components/date-picker/date-picker.js +500 -0
- package/src/components/date-picker/date-range-picker.css +264 -0
- package/src/components/date-picker/date-range-picker.js +990 -0
- package/src/components/date-picker/field-adapter.js +36 -0
- package/src/components/date-picker/month-picker.js +223 -0
- package/src/components/date-picker/range-field-adapter.js +31 -0
- package/src/components/date-picker/time-picker.css +191 -0
- package/src/components/date-picker/time-picker.js +406 -0
- package/src/components/datebox/date-range-box.css +128 -0
- package/src/components/datebox/date-range-box.js +492 -0
- package/src/components/datebox/datebox.css +108 -0
- package/src/components/datebox/datebox.js +358 -0
- package/src/components/datebox/field-adapter.js +34 -0
- package/src/components/dialog/dialog.css +74 -0
- package/src/components/dialog/dialog.js +450 -0
- package/src/components/dropdown/dropdown.css +24 -0
- package/src/components/dropdown/dropdown.js +288 -0
- package/src/components/empty-state/empty-state.css +80 -0
- package/src/components/empty-state/empty-state.js +92 -0
- package/src/components/field/field.css +127 -0
- package/src/components/field/field.js +605 -0
- package/src/components/field-upload/field-adapter.js +21 -0
- package/src/components/field-upload/field-upload.css +108 -0
- package/src/components/field-upload/field-upload.js +475 -0
- package/src/components/fieldset/fieldset.css +37 -0
- package/src/components/fieldset/fieldset.js +307 -0
- package/src/components/finder/finder.css +98 -0
- package/src/components/finder/finder.js +509 -0
- package/src/components/form/form.css +32 -0
- package/src/components/form/form.js +302 -0
- package/src/components/groupbox/groupbox.css +51 -0
- package/src/components/groupbox/groupbox.js +199 -0
- package/src/components/layout/layout.css +117 -0
- package/src/components/layout/layout.js +136 -0
- package/src/components/loading/inline-loading.css +34 -0
- package/src/components/loading/inline-loading.js +140 -0
- package/src/components/loading/progress-bar.css +115 -0
- package/src/components/loading/progress-bar.js +259 -0
- package/src/components/loading/spinner.css +58 -0
- package/src/components/loading/spinner.js +57 -0
- package/src/components/master-panel/master-panel.css +51 -0
- package/src/components/master-panel/master-panel.js +203 -0
- package/src/components/menu-button/menu-button.css +49 -0
- package/src/components/menu-button/menu-button.js +294 -0
- package/src/components/message/message.css +122 -0
- package/src/components/message/message.js +499 -0
- package/src/components/modal/modal.css +47 -0
- package/src/components/modal/modal.js +203 -0
- package/src/components/multi-value-editor/field-adapter.js +44 -0
- package/src/components/multi-value-editor/multi-value-editor.css +56 -0
- package/src/components/multi-value-editor/multi-value-editor.js +170 -0
- package/src/components/navigation-bar/navigation-bar.css +130 -0
- package/src/components/navigation-bar/navigation-bar.js +450 -0
- package/src/components/number-field/field-adapter.js +40 -0
- package/src/components/number-field/number-field.css +77 -0
- package/src/components/number-field/number-field.js +545 -0
- package/src/components/pagination/pagination.css +95 -0
- package/src/components/pagination/pagination.js +481 -0
- package/src/components/panel/panel.css +123 -0
- package/src/components/panel/panel.js +336 -0
- package/src/components/permission/permission.css +47 -0
- package/src/components/permission/permission.js +198 -0
- package/src/components/rating/field-adapter.js +34 -0
- package/src/components/rating/rating.css +97 -0
- package/src/components/rating/rating.js +395 -0
- package/src/components/search/search.css +70 -0
- package/src/components/search/search.js +193 -0
- package/src/components/select/field-adapter.js +24 -0
- package/src/components/select/filter.js +39 -0
- package/src/components/select/select.css +180 -0
- package/src/components/select/select.js +663 -0
- package/src/components/skeleton/skeleton.css +76 -0
- package/src/components/skeleton/skeleton.js +139 -0
- package/src/components/slider/field-adapter.js +36 -0
- package/src/components/slider/slider.css +181 -0
- package/src/components/slider/slider.js +399 -0
- package/src/components/split-view/split-view.css +139 -0
- package/src/components/split-view/split-view.js +806 -0
- package/src/components/stepper/stepper.css +234 -0
- package/src/components/stepper/stepper.js +459 -0
- package/src/components/stepper/steps.js +131 -0
- package/src/components/tabbox/tabbox.css +281 -0
- package/src/components/tabbox/tabbox.js +484 -0
- package/src/components/table/sort.js +85 -0
- package/src/components/table/table.css +364 -0
- package/src/components/table/table.js +1711 -0
- package/src/components/tag-picker/field-adapter.js +35 -0
- package/src/components/tag-picker/tag-picker.css +169 -0
- package/src/components/tag-picker/tag-picker.js +837 -0
- package/src/components/timebox/field-adapter.js +24 -0
- package/src/components/timebox/timebox.css +51 -0
- package/src/components/timebox/timebox.js +276 -0
- package/src/components/toggle/field-adapter.js +24 -0
- package/src/components/toggle/toggle.css +66 -0
- package/src/components/toggle/toggle.js +150 -0
- package/src/components/toolbar/toolbar.css +81 -0
- package/src/components/toolbar/toolbar.js +511 -0
- package/src/components/tooltip/tooltip.css +36 -0
- package/src/components/tooltip/tooltip.js +420 -0
- package/src/components/tree/hierarchy.js +151 -0
- package/src/components/tree/tree.css +99 -0
- package/src/components/tree/tree.js +784 -0
- package/src/components/truncate/truncate.css +20 -0
- package/src/components/truncate/truncate.js +92 -0
- package/src/components/value-list/field-adapter.js +24 -0
- package/src/components/value-list/value-list.css +108 -0
- package/src/components/value-list/value-list.js +336 -0
- package/src/core/breakpoint.js +150 -0
- package/src/core/component.js +292 -0
- package/src/core/date.js +216 -0
- package/src/core/dom.js +260 -0
- package/src/core/export.js +204 -0
- package/src/core/fontawesome.js +177 -0
- package/src/core/format.js +283 -0
- package/src/core/http.js +246 -0
- package/src/core/i18n.js +83 -0
- package/src/core/icons.js +283 -0
- package/src/core/keyboard.js +240 -0
- package/src/core/position.js +177 -0
- package/src/core/storage.js +175 -0
- package/src/core/util.js +336 -0
- package/src/elements/define.js +715 -0
- package/src/elements/reflect.js +79 -0
- package/src/index.js +131 -0
- package/src/zeyos/connect.js +142 -0
- package/src/zeyos/form.js +254 -0
- package/src/zeyos/icons.js +92 -0
- package/src/zeyos/index.js +21 -0
- package/src/zeyos/modules.js +269 -0
- package/src/zeyos/query.js +199 -0
- package/src/zeyos/schema.js +474 -0
- package/src/zeyos/select.js +175 -0
- package/src/zeyos/table.js +272 -0
- package/styles/base.css +124 -0
- package/styles/icons.css +34 -0
- package/styles/tokens/dark.css +84 -0
- package/styles/tokens/density.css +9 -0
- package/styles/tokens/global.css +80 -0
- package/styles/tokens/modules.css +109 -0
- package/styles/tokens/semantic.css +49 -0
- package/styles/zx.css +61 -0
package/dist/zx.esm.min.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
function nn(s,t){let e=null;return function(...r){let n=this;e!==null&&clearTimeout(e),e=setTimeout(()=>{e=null,s.apply(n,r)},t)}}function on(s,t,{leading:e=!0,trailing:i=!0}={}){let r=Math.max(0,Number(t)||0),n=null,o=0,l=null,h=null,c=()=>{n=null,o=e?Date.now():0;let u=l,d=h;l=null,h=null,u!==null&&s.apply(d,u)};return function(...d){let _=Date.now();o===0&&!e&&(o=_);let p=r-(_-o);if(p<=0||p>r){n!==null&&(clearTimeout(n),n=null),o=_,l=null,h=null,s.apply(this,d);return}i&&(l=d,h=this,n===null&&(n=setTimeout(c,p)))}}var Qi=0;function b(s="zx"){return Qi+=1,`${s}-${Date.now().toString(36)}-${Qi.toString(36)}`}function Tt(s,t){let e=Ct(s)?Xi(s):{};if(!Ct(t))return ne(t);for(let[i,r]of Object.entries(t))Ct(r)&&Ct(e[i])?e[i]=Tt(e[i],r):e[i]=ne(r);return e}function N(s){return!!(s&&typeof s=="object"&&s.nodeType===1)}function R(s,t,e){return Math.min(e,Math.max(t,s))}function oe(s){return s==null?[]:Array.isArray(s)?s.slice():typeof s!="string"&&typeof s[Symbol.iterator]=="function"||typeof s!="string"&&typeof s.length=="number"?Array.from(s):[s]}function an(s,t){let e=re(t),i=new Map;for(let r of oe(s)){let n=String(e(r)),o=i.get(n);o===void 0?i.set(n,[r]):o.push(r)}return Object.fromEntries(i)}function ln(s,...t){let e=oe(s),i=t.map(cn);return i.length===0?e:e.sort((r,n)=>{for(let o of i){let l=o(r,n);if(l!==0)return l}return 0})}function hn(s,t){let e=t==null?n=>n:re(t),i=new Set,r=[];for(let n of oe(s)){let o=e(n);i.has(o)||(i.add(o),r.push(n))}return r}function Nt(s){return String(s).replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function re(s){if(typeof s=="function")return s;let t=String(s);return e=>e?.[t]}function cn(s){let t,e=1;if(typeof s=="function")t=s;else if(s!==null&&typeof s=="object")t=re(s.key),String(s.dir).toLowerCase()==="desc"&&(e=-1);else{let i=String(s);i.startsWith("-")?(e=-1,i=i.slice(1)):i.startsWith("+")&&(i=i.slice(1)),t=re(i)}return(i,r)=>{let n=t(i),o=t(r),l=Gi(n),h=Gi(o);return l||h?l&&h?0:l?1:-1:e*un(n,o)}}function Gi(s){return s==null||typeof s=="number"&&Number.isNaN(s)}function un(s,t){return s instanceof Date||t instanceof Date?Le(Ji(s)-Ji(t)):typeof s=="boolean"||typeof t=="boolean"?Le(Number(s)-Number(t)):typeof s=="number"&&typeof t=="number"?Le(s-t):String(s).localeCompare(String(t),void 0,{numeric:!0})}function Ji(s){if(s instanceof Date)return s.getTime();let t=Number(s);return Number.isFinite(t)?t:0}function Le(s){return Number.isNaN(s)?0:s<0?-1:s>0?1:0}function Ct(s){if(s===null||typeof s!="object")return!1;let t=Object.getPrototypeOf(s);return t===Object.prototype||t===null}function Xi(s){let t={};for(let[e,i]of Object.entries(s))t[e]=ne(i);return t}function ne(s){return Ct(s)?Xi(s):Array.isArray(s)?s.map(ne):s}var Dt=null;function a(s,t,...e){let i=document.createElement(s),r=t;fn(r)||(e.unshift(r),r={});for(let[n,o]of Object.entries(r))_n(i,n,o);return gn(i,e),i}a.scope=function(t,e){let i=Dt;Dt=t;try{return e()}finally{Dt=i}};a.raw=function(t){let e=document.createElement("template");return e.innerHTML=String(t),e.content};function S(s){return{children:Array.from(s.childNodes),attributes:Array.from(s.attributes,t=>[t.name,t.value])}}function z(s,t){if(t){for(let e of Array.from(s.attributes))s.removeAttribute(e.name);for(let[e,i]of t.attributes)s.setAttribute(e,i);s.replaceChildren(...t.children)}}function dn(s){return String(s).replace(/[&<>"']/g,t=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[t])}function pn(s,t,e={}){let{className:i="zx-mark"}=e,r=s==null?"":String(s),n=t==null?"":String(t).trim(),o=document.createDocumentFragment();if(n===""||r==="")return o.append(document.createTextNode(r)),o;let l=new RegExp(Nt(n),"gi"),h=0;for(let c of r.matchAll(l)){c.index>h&&o.append(document.createTextNode(r.slice(h,c.index)));let u=document.createElement("mark");i&&(u.className=String(i)),u.append(document.createTextNode(c[0])),o.append(u),h=c.index+c[0].length}return h<r.length&&o.append(document.createTextNode(r.slice(h))),o}function O(s){if(s==null)return null;if(N(s))return s;if(typeof s=="string")return document.querySelector(s);if(typeof s.toElement=="function"){let t=s.toElement();return N(t)?t:null}return null}function fn(s){return s===null||typeof s!="object"||Array.isArray(s)||typeof s.nodeType=="number"?!1:typeof s.toElement!="function"}function _n(s,t,e){if(t==="ref"){Dt&&typeof e=="string"&&(Dt[e]=s);return}if(t==="class"){s.className=Array.isArray(e)?e.flat(1/0).filter(Boolean).join(" "):String(e??"");return}if(t==="style"){if(typeof e=="string")s.style.cssText=e;else if(e&&typeof e=="object")for(let[r,n]of Object.entries(e))r.startsWith("--")||r.includes("-")?s.style.setProperty(r,String(n)):s.style[r]=n;return}if(t==="dataset"&&e&&typeof e=="object"){for(let[r,n]of Object.entries(e))n==null?delete s.dataset[r]:s.dataset[r]=String(n);return}if(/^on[a-z]/.test(t)&&typeof e=="function"){s.addEventListener(t.slice(2),e);return}if(e==null)return;let i=mn(t);if(i!==null)s.setAttribute(i,String(e));else if(t in s)try{s[t]=e}catch{s.setAttribute(t,String(e))}else typeof e=="boolean"?e?s.setAttribute(t,""):s.removeAttribute(t):s.setAttribute(t,String(e))}function mn(s){return s.startsWith("aria-")?s:/^aria[A-Z]/.test(s)?"aria-"+s.slice(4).toLowerCase():null}function gn(s,t){for(let e of t.flat(1/0))if(e!=null){if(typeof e=="string"||typeof e=="number")s.append(document.createTextNode(String(e)));else if(e&&typeof e=="object"&&typeof e.nodeType=="number")s.append(e);else if(typeof e=="object"&&typeof e.toElement=="function"){let i=e.toElement();i&&s.append(i)}}}var Re=null,Zi="en";function bn(s){if(s!==null&&typeof s!="function")throw new TypeError("Translator must be a function or null");Re=s}function yn(s){Zi=String(s||"en")}function q(){return Zi}function Q(s,t){let e=Re?Re(s):s;return I(e==null?s:String(e),t)}function I(s,t){if(t==null)return String(s);let e=Array.isArray(t)?t:typeof t=="object"?null:[t],i=String(s).replace(/%(\d+)/g,(n,o)=>{let l=Number(o)-1,h;return e?h=e[l]:Object.prototype.hasOwnProperty.call(t,o)&&(h=t[o]),h==null?n:String(h)}),r=0;return i=i.replace(/%([A-Za-z_][\w.-]*)%/g,(n,o)=>{if(!e&&Object.prototype.hasOwnProperty.call(t,o)){let l=t[o];return l==null?n:String(l)}if(e&&r<e.length){let l=e[r];return r+=1,l==null?n:String(l)}return n}),i}var ae=new WeakMap,f=class extends EventTarget{static defaults={};el;refs;options;#t=new AbortController;#e=!1;#i=!1;#s=!1;constructor(t,e={}){super(),this.#e=t===null;let i=O(t);if(t!==null&&!i)throw new TypeError("Component target could not be resolved");this.el=i,this.refs={};let r=xn(this.constructor,e),n=[];for(let[h,c]of Object.entries(r))/^on[a-z]/.test(h)&&typeof c=="function"&&(n.push([h.slice(2),c]),delete r[h]);r.msg&&typeof r.msg=="object"&&Object.freeze(r.msg),this.options=Object.freeze(r);for(let[h,c]of n)this.on(h,c);let o;try{o=a.scope(this.refs,()=>this.render())}catch(h){throw this.#t.abort(),h}if(this.#e){let h=N(o)?o:this.el;if(!N(h))throw this.#t.abort(),new TypeError("render() must return an Element (or assign this.el) when target is null");this.el=h}if(!N(this.el))throw this.#t.abort(),new TypeError("Component requires a root Element");let l=this.constructor.cssName;if(typeof l=="string"&&l){let h=`zx-${l}`;this.#s=!this.el.classList.contains(h),this.el.classList.add(h)}ae.set(this.el,this)}render(){return this.el??null}on(t,e){return this.addEventListener(t,e,{signal:this.#t.signal}),this}off(t,e){return this.removeEventListener(t,e),this}once(t,e){return this.addEventListener(t,e,{once:!0,signal:this.#t.signal}),this}addEvent(t,e){return this.on(t,e)}emit(t,e={}){if(e===null||typeof e!="object"||Array.isArray(e))throw new TypeError("Event detail must be an object");let i=ts(t,e,{cancelable:!0});return this.dispatchEvent(i),this.el&&this.el.dispatchEvent(ts(`zx-${t}`,e,{bubbles:!0,composed:!0,cancelable:!0})),i}listen(t,e,i,r={}){let n=typeof r=="boolean"?{capture:r}:{...r};return t.addEventListener(e,i,{...n,signal:this.#t.signal}),this}toElement(){return this.el}msg(t,...e){let i=this.options.msg,r=this.options.lang??this.options.language??q(),n=i?.[r]?.[t];if(n!=null)return I(String(n),e);let o=i?.[t];return o!=null?I(String(o),e):Q(t,e)}destroy(){if(this.#i)return;this.#i=!0,this.#t.abort(),ae.get(this.el)===this&&ae.delete(this.el);let t=this.constructor.cssName;this.#s&&typeof t=="string"&&this.el&&this.el.classList.remove(`zx-${t}`),this.#e&&this.el&&this.el.remove()}static from(t){return ae.get(t)??null}};function xn(s,t){let e=[],i=s;for(;i&&i!==Function.prototype;)Object.prototype.hasOwnProperty.call(i,"defaults")&&e.unshift(i.defaults),i=Object.getPrototypeOf(i);let r={},n={},o=!1;for(let l of e)!l||typeof l!="object"||(Object.assign(r,l),l.msg&&typeof l.msg=="object"&&(o=!0,n=Tt(n,l.msg)));return Object.assign(r,t&&typeof t=="object"?t:{}),t?.msg&&typeof t.msg=="object"&&(o=!0,n=Tt(n,t.msg)),o&&(r.msg=n),r}function ts(s,t,e){if(typeof CustomEvent=="function")return new CustomEvent(s,{...e,detail:t});let i=new Event(s,e);return Object.defineProperty(i,"detail",{configurable:!0,enumerable:!0,value:t}),i}var x=class s extends f{static cssName="field";static defaults={id:null,type:"text",label:"",description:"",value:void 0,placeholder:"",required:!1,disabled:!1,options:null,layout:"stack",props:{},msg:{"field.int":"Enter a whole number.","field.float":"Enter a valid number.","field.unknown":"Unknown field type: %1"}};static#t=new Map;static register(t,e){let i=String(t).trim().toLowerCase();if(!i)throw new TypeError("Field adapter type must not be empty");if(typeof e!="function")throw new TypeError("Field adapter must be a function");return s.#t.set(i,e),this}static has(t){return s.#t.has(String(t).trim().toLowerCase())}render(){let t=this.el??a("div");this.el=t;let e=String(this.options.type||"text").toLowerCase(),i=this.options.layout==="inline"?"inline":"stack";this._ownedComponents=new Set,this._ownedNodes=[],this._rootAttributes=An(t,["data-layout","data-field-type","data-disabled","data-state"]),t.dataset.layout=i,t.dataset.fieldType=e,this.controlId=this.options.id?String(this.options.id):b("zx-field");let r=`${this.controlId}-label`,n=`${this.controlId}-description`,o=`${this.controlId}-highlight`,l=a("label",{class:"zx-field__label",id:r,htmlFor:this.controlId},String(this.options.label??""),this.options.required?a("span",{class:"zx-field__required",ariaHidden:"true"}," *"):null),h=a("div",{class:"zx-field__control"}),c=a("div",{class:"zx-field__description",id:n},String(this.options.description??"")),u=a("div",{class:"zx-field__highlight",id:o,ariaLive:"polite",hidden:!0}),d=a("div",{class:"zx-field__body"},h,c,u);this._ownedNodes.push(l,d),t.append(l,d);let _=s.#t.get(e);if(_)try{this.adapter=wn(_(this,this.options))}catch(g){let y=g instanceof Error?g.message:String(g);console.warn(`[zx.Field] Adapter "${e}" failed: ${y}`),this.adapter=is(y,this.controlId)}else{let g=this.msg("field.unknown",e);console.warn(`[zx.Field] ${g}`),this.adapter=is(g,this.controlId)}let p=this.adapter.el;return p.id||(p.id=this.controlId),l.htmlFor=p.id,kn(p)||p.setAttribute("aria-labelledby",r),this._baseDescribedBy=p.getAttribute("aria-describedby")??"",h.append(p),this._descriptionId=String(this.options.description??"")?n:"",this._highlightId=o,this._highlight=u,this._syncDescription(),this.initialValue=vn(e,this.options.value),this.adapter.set(this.initialValue,{silent:!0}),this.setDisabled(!!this.options.disabled),this.listen(p,"change",()=>{this.emit("change",{value:this.getValue()})}),t}getValue(){return this.adapter.get()}setValue(t,{silent:e=!1}={}){return this.adapter.set(t,{silent:e}),e||this.emit("change",{value:this.getValue()}),this}focus(){return this.adapter.focus(),this}reset(){return this.setValue(this.initialValue,{silent:!0}),this.clearHighlight(),this}setDisabled(t){let e=!!t;return this.adapter.setDisabled(e),this.el.dataset.disabled=String(e),this}setHighlight(t,e="danger"){if(!t)return this.clearHighlight();let i=["danger","warning","success"].includes(e)?e:"danger";return this.el.dataset.state=i,this._highlight.textContent=String(t??""),this._highlight.hidden=!t,i==="danger"&&t?(this._highlight.setAttribute("role","alert"),this.adapter.el.setAttribute("aria-invalid","true"),this.emit("invalid",{message:String(t)})):(this._highlight.removeAttribute("role"),this.adapter.el.removeAttribute("aria-invalid")),this._syncDescription(!!t),this}clearHighlight(){return delete this.el.dataset.state,this._highlight.textContent="",this._highlight.hidden=!0,this._highlight.removeAttribute("role"),this.adapter.el.removeAttribute("aria-invalid"),this._syncDescription(!1),this}getInput(){return this.adapter.el}own(t){if(!(t instanceof f))throw new TypeError("Field.own() requires a Component");return this._ownedComponents.add(t),t}_syncDescription(t=!1){let e=[this._baseDescribedBy,this._descriptionId,t?this._highlightId:""].flatMap(i=>i.split(/\s+/)).filter(Boolean);e.length?this.adapter.el.setAttribute("aria-describedby",[...new Set(e)].join(" ")):this.adapter.el.removeAttribute("aria-describedby")}destroy(){this.adapter?.destroy?.();for(let t of this._ownedComponents??[])t.destroy();this._ownedComponents?.clear();for(let t of this._ownedNodes??[])t.remove();Sn(this.el,this._rootAttributes??new Map),super.destroy()}};function Ve(s){if(typeof s=="number")return Number.isInteger(s)?{valid:!0,value:s}:{valid:!1,value:String(s)};let t=String(s??"").trim();if(t==="")return{valid:!0,value:""};let e=rs(t);return e!==null&&Number.isInteger(e)?{valid:!0,value:e}:{valid:!1,value:t}}function Be(s){if(typeof s=="number")return Number.isFinite(s)?{valid:!0,value:s}:{valid:!1,value:String(s)};let t=String(s??"").trim();if(t==="")return{valid:!0,value:""};let e=rs(t);return e!==null?{valid:!0,value:e}:{valid:!1,value:t}}function rs(s){let t=s.replace(/[\s\u00a0]/g,"");if(!/^[+-]?[\d.,]+$/.test(t))return null;let e=/^[+-]/.test(t)?t[0]:"",i=e?t.slice(1):t;if(!/\d/.test(i))return null;let r=[...i.matchAll(/\./g)].map(h=>h.index),n=[...i.matchAll(/,/g)].map(h=>h.index),o;if(r.length&&n.length){let h=r.at(-1)>n.at(-1)?".":",",c=h==="."?",":".",u=i.lastIndexOf(h),d=i.slice(0,u),_=i.slice(u+1);if(!/^\d+$/.test(_)||!es(d,c))return null;o=d.split(c).join("")+"."+_}else if(n.length>1||r.length>1){let h=n.length?",":".";if(!es(i,h))return null;o=i.split(h).join("")}else n.length===1?o=i.replace(",","."):o=i;if(!/^(?:\d+(?:\.\d+)?|\.\d+)$/.test(o))return null;let l=Number(e+o);return Number.isFinite(l)?l:null}function es(s,t){let e=s.split(t);return e.length>0&&/^\d{1,3}$/.test(e[0])&&e.slice(1).every(i=>/^\d{3}$/.test(i))}function vn(s,t){return t!==void 0?t:s==="checkbox"?!1:""}function wn(s){if(!s||typeof s!="object")throw new TypeError("Adapter must return an object");if(!(s.el&&s.el.nodeType===1))throw new TypeError("Adapter must provide an Element");for(let t of["get","set","focus","setDisabled"])if(typeof s[t]!="function")throw new TypeError(`Adapter is missing ${t}()`);return s}function is(s,t){let e=a("div",{class:"zx-field__error-control",id:t,role:"alert",tabIndex:-1},s);return{el:e,get:()=>null,set:()=>{},focus:()=>e.focus(),setDisabled:()=>{}}}function kn(s){return["BUTTON","INPUT","METER","OUTPUT","PROGRESS","SELECT","TEXTAREA"].includes(s.tagName)}function An(s,t){return new Map(t.map(e=>[e,s.getAttribute(e)]))}function Sn(s,t){for(let[e,i]of t)i===null?s.removeAttribute(e):s.setAttribute(e,i)}function Et(s,t){let e={...s.props??{}};for(let i of Object.keys(e))(/^on[a-z]/i.test(i)||i==="content")&&delete e[i];return{...e,...t}}function le(s,t){return(e,i)=>{let r=a(s,Et(i,{type:s==="input"?t:void 0,placeholder:i.placeholder,required:i.required,disabled:i.disabled}));return Pe(r)}}function Pe(s){return{el:s,get:()=>s.value,set:t=>{s.value=t==null?"":String(t)},focus:()=>s.focus(),setDisabled:t=>{s.disabled=t}}}function ns(s){return(t,e)=>{let i=s==="int"?Ve:Be,r=a("input",Et(e,{type:"text",inputMode:s==="int"?"numeric":"decimal",placeholder:e.placeholder,required:e.required,disabled:e.disabled}));return t.listen(r,"blur",()=>{let n=i(r.value);if(!n.valid){t.setHighlight(t.msg(`field.${s}`),"danger");return}n.value!==""&&(r.value=String(n.value)),t.clearHighlight()}),{...Pe(r),get:()=>i(r.value).value}}}var zn=(s,t)=>{let e=a("input",Et(t,{type:"checkbox",required:t.required,disabled:t.disabled}));return{el:e,get:()=>e.checked,set:i=>{e.checked=!!i},focus:()=>e.focus(),setDisabled:i=>{e.disabled=i}}},Cn=(s,t)=>{let e=a("select",Et(t,{required:t.required,disabled:t.disabled}));for(let[i,r]of os(t.options))e.append(a("option",{value:i},r));return Pe(e)},Tn=(s,t)=>{let e=a("div",{class:"zx-field__option-list",role:"radiogroup"}),i=t.id?String(t.id):b("zx-option-list"),r=os(t.options).map(([n,o],l)=>{let h=a("input",{type:"radio",name:i,value:n,required:!!t.required&&l===0,disabled:t.disabled});return e.append(a("label",{class:"zx-field__option"},h,a("span",{},o))),h});return{el:e,get:()=>r.find(n=>n.checked)?.value??"",set:n=>{for(let o of r)o.checked=String(n??"")===o.value},focus:()=>(r.find(n=>n.checked)??r[0])?.focus(),setDisabled:n=>{for(let o of r)o.disabled=n;e.setAttribute("aria-disabled",String(n))}}},Nn=(s,t)=>{let e=a("div",Et(t,{class:"zx-field__static"})),i=null;return{el:e,get:()=>e.textContent,set:n=>{ss(i),i=null,n&&typeof n=="object"&&typeof n.nodeType=="number"?(i={node:n,parent:n.parentNode,next:n.nextSibling},e.replaceChildren(n)):e.textContent=n==null?"":String(n)},focus:()=>{},setDisabled:n=>{e.setAttribute("aria-disabled",String(n))},destroy:()=>ss(i)}};function ss(s){s&&(s.parent?s.parent.insertBefore(s.node,s.next?.parentNode===s.parent?s.next:null):s.node.remove())}var Dn=(s,t)=>{if(typeof t.adapter!="function")throw new TypeError("Custom fields require options.adapter");return t.adapter(s,t)};function os(s){return Array.isArray(s)?s.map(t=>[String(t),String(t)]):s&&typeof s=="object"?Object.entries(s).map(([t,e])=>[t,String(e)]):[]}x.register("text",le("input","text"));x.register("password",le("input","password"));x.register("textarea",le("textarea","text"));x.register("checkbox",zn);x.register("int",ns("int"));x.register("float",ns("float"));x.register("select",Cn);x.register("optionlist",Tn);x.register("hidden",le("input","hidden"));x.register("html",Nn);x.register("custom",Dn);function ot(s,t,e){let i=as(t).split(/\s+/).filter(Boolean);return i.length===0?s.slice():s.filter(r=>{let n=En(r,e).map(as);return i.every(o=>n.some(l=>l.includes(o)))})}function En(s,t){return s===null||typeof s!="object"?[s]:!Array.isArray(t)||t.length===0?[s]:t.map(e=>typeof e=="function"?e(s):s[e])}function as(s){return String(s??"").normalize("NFD").replace(/\p{M}+/gu,"").toLocaleLowerCase()}var G=class extends f{static cssName="checklist";static defaults={items:[],valueKey:"ID",labelKey:"name",checkedKey:"on",search:!0,height:280,defaultChecked:!1,load:null};render(){this._items=[],this._visibleItems=[],this._checked=new Set,this._query="",this._loadSequence=0,this._createdRoot=!1,this._active=!0,this._originalChildren=[],this._originalAttributes=new Map,this._createdRoot=this.el===null;let t=this.el??a("div");this.el=t,this._createdRoot||(this._originalChildren=Array.from(t.childNodes));for(let o of["role","aria-labelledby","data-state"])this._originalAttributes.set(o,t.getAttribute(o));let e=b("zx-checklist-label"),i=a("div",{class:"zx-checklist__label",id:e},this._message("checklist.label","Checklist")),r=a("input",{ref:"search",class:"zx-checklist__search",type:"search",autocomplete:"off",placeholder:this._message("checklist.search","Search"),ariaLabel:this._message("checklist.search","Search checklist"),hidden:!this.options.search}),n=a("div",{ref:"list",class:"zx-checklist__list"});return n.style.maxBlockSize=`${Math.max(0,Number(this.options.height)||0)}px`,t.replaceChildren(i,r,n),t.setAttribute("role","group"),t.setAttribute("aria-labelledby",e),this.listen(r,"input",()=>this.search(r.value)),this.listen(n,"change",o=>{let l=o.target;if(!l?.matches?.('input[type="checkbox"][data-index]'))return;let h=this._visibleItems[Number(l.dataset.index)];if(h===void 0)return;let c=this._itemValue(h);l.checked?this._checked.add(c):this._checked.delete(c),this.emit("change",{values:this.getValues()})}),this._replaceItems(this.options.items),typeof this.options.load=="function"&&queueMicrotask(()=>{this._active&&this.reload().catch(()=>{})}),t}setItems(t){return this._replaceItems(t),this}getValues(){return this._items.map(t=>this._itemValue(t)).filter(t=>this._checked.has(t))}setValues(t){let e=new Set(t==null?[]:Array.from(t)),i=new Set(this._items.map(r=>this._itemValue(r)).filter(r=>e.has(r)));return this._replaceChecked(i),this}checkAll(){return this._replaceChecked(new Set(this._items.map(t=>this._itemValue(t)))),this}uncheckAll(){return this._replaceChecked(new Set),this}search(t){this._query=String(t??"");let e=this.refs.search;return e.value!==this._query&&(e.value=this._query),this._visibleItems=ot(this._items,this._query,[this.options.labelKey]),this._renderItems(),this}async reload(){if(!this._active||typeof this.options.load!="function")return this;let t=++this._loadSequence;this.el.setAttribute("data-state","loading"),this.refs.list.setAttribute("aria-busy","true");try{let e=await this.options.load();if(t!==this._loadSequence)return this;this._replaceItems(e),this.emit("loaded",{items:this._items.slice()})}finally{t===this._loadSequence&&(this.el.removeAttribute("data-state"),this.refs.list.setAttribute("aria-busy","false"))}return this}destroy(){this._active=!1,this._loadSequence+=1;let t=this.el;if(!this._createdRoot&&t){t.replaceChildren(...this._originalChildren);for(let[e,i]of this._originalAttributes)i===null?t.removeAttribute(e):t.setAttribute(e,i)}super.destroy()}_replaceItems(t){this._items=Array.isArray(t)?t.slice():[],this._checked=new Set(this._items.filter(e=>!!this._initialChecked(e)).map(e=>this._itemValue(e))),this._visibleItems=ot(this._items,this._query,[this.options.labelKey]),this._renderItems()}_renderItems(){if(!this.refs.list)return;let t=this._visibleItems.map((e,i)=>{let r=b("zx-checklist-item"),n=a("input",{type:"checkbox",id:r,checked:this._checked.has(this._itemValue(e)),dataset:{index:i}});return a("label",{class:"zx-checklist__item",for:r},n,a("span",{},this._itemLabel(e)))});t.length===0&&t.push(a("div",{class:"zx-checklist__empty",role:"status"},this._message("checklist.empty","No matches"))),this.refs.list.replaceChildren(...t)}_replaceChecked(t){Mn(this._checked,t)||(this._checked=t,this._renderItems(),this.emit("change",{values:this.getValues()}))}_itemValue(t){return this._read(t,this.options.valueKey)}_itemLabel(t){return String(this._read(t,this.options.labelKey)??"")}_initialChecked(t){let e;return typeof this.options.checkedKey=="function"?e=this.options.checkedKey(t):t!==null&&typeof t=="object"&&(e=t[this.options.checkedKey]),e??this.options.defaultChecked}_read(t,e){return typeof e=="function"?e(t):t===null||typeof t!="object"?t:t[e]}_message(t,e){let i=this.msg(t);return i===t?e:i}};function Mn(s,t){return s.size===t.size&&Array.from(s).every(e=>t.has(e))}function ls(){x.register("checklist",(s,t)=>{let e=s.own(new G(null,{...t.props??{}})),i=!1,r=!1,n=()=>{e.el.setAttribute("aria-disabled",String(i));for(let o of e.el.querySelectorAll("input, button, select, textarea"))o.disabled=i};return s.listen(e.el,"change",o=>o.stopImmediatePropagation()),e.on("change",o=>{r||s.emit("change",{value:o.detail.values})}),e.on("loaded",n),{el:e.el,get:()=>e.getValues(),set:o=>{r=!0;try{e.setValues(Array.isArray(o)?o:[])}finally{r=!1}n()},focus:()=>{(e.el.querySelector(".zx-checklist__search:not([hidden]):not([disabled])")??e.el.querySelector('input[type="checkbox"]:not([disabled])'))?.focus()},setDisabled:o=>{i=!!o,n()}}})}var hs=["January","February","March","April","May","June","July","August","September","October","November","December"],cs=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ps=/%[demYyHMSaAbBs]/g;function v(s,t){return!(s instanceof Date)||Number.isNaN(s.getTime())?"":String(t).replace(ps,e=>{switch(e){case"%d":return yt(s.getDate());case"%e":return String(s.getDate());case"%m":return yt(s.getMonth()+1);case"%Y":return String(s.getFullYear()).padStart(4,"0");case"%y":return yt(s.getFullYear()%100);case"%H":return yt(s.getHours());case"%M":return yt(s.getMinutes());case"%S":return yt(s.getSeconds());case"%a":return us("weekday",s.getDay(),cs[s.getDay()]);case"%A":return je("weekday",s.getDay(),cs[s.getDay()]);case"%b":return us("month",s.getMonth(),hs[s.getMonth()]);case"%B":return je("month",s.getMonth(),hs[s.getMonth()]);case"%s":return String(Math.floor(s.getTime()/1e3));default:return e}})}function V(s,t){let e=[],i="^",r=0;for(let g of String(t).matchAll(ps)){i+=ds(String(t).slice(r,g.index));let y=g[0],A=In(y);if(A===null)return null;i+=`(${A})`,e.push(y),r=g.index+y.length}i+=ds(String(t).slice(r))+"$";let n=new RegExp(i).exec(String(s));if(!n)return null;let o=Object.create(null);if(e.forEach((g,y)=>{o[g]=Number(n[y+1])}),o["%s"]!==void 0){let g=o["%s"]*1e3,y=new Date(g);return Number.isNaN(y.getTime())?null:y}let l=o["%Y"]??On(o["%y"])??1970,h=(o["%m"]??1)-1,c=o["%d"]??o["%e"]??1,u=o["%H"]??0,d=o["%M"]??0,_=o["%S"]??0,p=new Date(0);return p.setHours(0,0,0,0),p.setFullYear(l,h,c),p.setHours(u,d,_,0),Number.isNaN(p.getTime())||o["%Y"]!==void 0&&p.getFullYear()!==o["%Y"]||o["%y"]!==void 0&&p.getFullYear()%100!==o["%y"]||o["%m"]!==void 0&&p.getMonth()!==h||o["%d"]!==void 0&&p.getDate()!==c||o["%e"]!==void 0&&p.getDate()!==c||o["%H"]!==void 0&&p.getHours()!==u||o["%M"]!==void 0&&p.getMinutes()!==d||o["%S"]!==void 0&&p.getSeconds()!==_?null:p}function He(s,t,e){let i=s.getTime(),r=t instanceof Date?t.getTime():-1/0,n=e instanceof Date?e.getTime():1/0;return new Date(Math.min(n,Math.max(r,i)))}function M(s,t){return s.getFullYear()===t.getFullYear()&&s.getMonth()===t.getMonth()&&s.getDate()===t.getDate()}function k(s,t){let e=new Date(s.getTime());return e.setDate(e.getDate()+t),e}function st(s,t){let e=new Date(s.getTime()),i=e.getDate();e.setDate(1),e.setMonth(e.getMonth()+t);let r=new Date(e.getFullYear(),e.getMonth()+1,0).getDate();return e.setDate(Math.min(i,r)),e}function Mt(s=q()){if(!s||s.toLowerCase()==="en")return 1;try{let t=new Intl.Locale(s),e=t.getWeekInfo?.()??t.weekInfo;if(e?.firstDay)return e.firstDay%7}catch{}return 1}function yt(s){return String(s).padStart(2,"0")}function je(s,t,e){let i=`date.${s}.${t}`,r=Q(i);return r===i?e:r}function us(s,t,e){let i=`date.${s}.short.${t}`,r=Q(i);return r!==i?r:je(s,t,e).slice(0,3)}function In(s){return{"%d":"\\d{1,2}","%e":"\\d{1,2}","%m":"\\d{1,2}","%Y":"\\d{4}","%y":"\\d{2}","%H":"\\d{1,2}","%M":"\\d{1,2}","%S":"\\d{1,2}","%s":"-?\\d+"}[s]??null}function On(s){if(s!==void 0)return s>=69?1900+s:2e3+s}function ds(s){return s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var $e=Object.freeze({solid:"fa-solid",regular:"fa-regular",light:"fa-light",thin:"fa-thin",duotone:"fa-duotone",brands:"fa-brands",kit:"fa-kit"}),_s=Object.freeze({classic:"",sharp:"fa-sharp","sharp-duotone":"fa-sharp-duotone"}),fs=Object.freeze({fa:null,fas:"solid",far:"regular",fal:"light",fat:"thin",fad:"duotone",fab:"brands",fak:"kit",solid:"solid",regular:"regular",light:"light",thin:"thin",duotone:"duotone",brands:"brands",kit:"kit",custom:"kit"}),ms=Object.freeze({x:"xmark",search:"magnifying-glass",calendar:"calendar-days",reload:"arrows-rotate",dots:"ellipsis",info:"circle-info",warning:"triangle-exclamation",error:"circle-exclamation",success:"circle-check",drag:"grip-vertical"}),qe=new Map;function Ke(s){let t=String(s).trim();if(/\s/.test(t)||t.startsWith("fa-"))return{provider:"fa",name:"",style:null,classes:t.split(/\s+/).filter(Boolean)};let e=t.indexOf(":");if(e>0){let i=t.slice(0,e).toLowerCase(),r=t.slice(e+1);if(i==="builtin"||i==="zx")return{provider:"builtin",name:r,style:null,classes:null};if(Object.hasOwn(fs,i))return{provider:"fa",name:r,style:fs[i],classes:null}}return{provider:null,name:t,style:null,classes:null}}function he(s,t={}){let{style:e="solid",family:i="classic",fixedWidth:r=!1,translate:n=!0}=t,o=String(s).replace(/^fa-/,""),l=n?ms[o]??o:o,h=[],c=_s[i];return c&&h.push(c),h.push($e[e]??$e.solid,`fa-${l}`),r&&h.push("fa-fw"),h}function ce(s){let t=String(s).trim();if(/^(https?:)?\/\//.test(t)||t.startsWith("/")||t.endsWith(".js"))return t;if(!/^[a-z0-9]+$/.test(t))throw new RangeError(`Invalid Font Awesome kit token: ${s}`);return`https://kit.fontawesome.com/${t}.js`}function Ye(s){let t=ce(s),e=qe.get(t);if(e)return e;let i=new Promise((r,n)=>{let o=new URL(t,document.baseURI).href,l=[...document.scripts].find(c=>c.src===o);if(l&&globalThis.FontAwesomeKitConfig){r();return}let h=l??document.createElement("script");h.addEventListener("load",()=>r(),{once:!0}),h.addEventListener("error",()=>{qe.delete(t),n(new Error(`Font Awesome kit failed to load: ${t}`))},{once:!0}),!l&&(h.src=t,h.async=!0,h.crossOrigin="anonymous",document.head.append(h))});return qe.set(t,i),i}var gs="http://www.w3.org/2000/svg",We=Object.freeze({"chevron-down":["0 0 512 512","M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"],"chevron-up":["0 0 512 512","M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z"],"chevron-left":["0 0 320 512","M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z"],"chevron-right":["0 0 320 512","M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"],check:["0 0 448 512","M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"],x:["0 0 384 512","M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"],plus:["0 0 448 512","M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z"],minus:["0 0 448 512","M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z"],search:["0 0 512 512","M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"],calendar:["0 0 448 512","M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192z"],clock:["0 0 512 512","M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"],trash:["0 0 448 512","M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM416 128H32L53.2 467c1.6 25.3 22.6 45 47.9 45H346.9c25.3 0 46.3-19.7 47.9-45L416 128z"],gear:["0 0 512 512","M481.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4L83.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C64.6 273.1 64 264.6 64 256s.6-17.1 1.7-25.4L22.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160z"],eye:["0 0 576 512","M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1-288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z"],lock:["0 0 448 512","M144 144v48H304V144c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192V144C80 64.5 144.5 0 224 0s144 64.5 144 144v48h16c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80z"],reload:["0 0 512 512","M386.3 160H336c-17.7 0-32 14.3-32 32s14.3 32 32 32H464c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32s-32 14.3-32 32v51.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0s-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3s163.8-62.5 226.3 0L386.3 160z"],list:["0 0 512 512","M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM16 232v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z"],filter:["0 0 512 512","M3.9 54.9C10.5 40.9 24.5 32 40 32H472c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L320 320.9V448c0 12.1-6.8 23.2-17.7 28.6s-23.8 4.3-33.5-3l-64-48c-8.1-6-12.8-15.5-12.8-25.6V320.9L9 97.3C-.7 85.4-2.8 68.8 3.9 54.9z"],dots:["0 0 448 512","M8 256a56 56 0 1 1 112 0A56 56 0 1 1 8 256zm160 0a56 56 0 1 1 112 0 56 56 0 1 1-112 0zm216-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z"],info:["0 0 512 512","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"],warning:["0 0 512 512","M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0-64 0 32 32 0 1 0 64 0z"],error:["0 0 512 512","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1-64 0z"],success:["0 0 512 512","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"],upload:["0 0 512 512","M288 109.3V352c0 17.7-14.3 32-32 32s-32-14.3-32-32V109.3l-73.4 73.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L288 109.3zM64 352H192c0 35.3 28.7 64 64 64s64-28.7 64-64H448c35.3 0 64 28.7 64 64v32c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V416c0-35.3 28.7-64 64-64z"],drag:["0 0 320 512","M40 352l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zm192 0l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 176l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zm192 0l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 0L88 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40L40 128C17.9 128 0 110.1 0 88L0 40C0 17.9 17.9 0 40 0zM232 0l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40z"],star:["0 0 576 512","M287.9 0c9.2 0 17.6 5.2 21.6 13.5l68.6 141.3 153.2 22.6c9 1.3 16.5 7.6 19.3 16.3s.5 18.1-5.9 24.5L433.6 328.4l26.2 155.6c1.5 9-2.2 18.1-9.7 23.5s-17.3 6-25.3 1.7l-137-73.2L151 509.1c-8.1 4.3-17.9 3.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1 218.2c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9 19.3-16.3l153.2-22.6L266.3 13.5C270.4 5.2 278.7 0 287.9 0z"],heart:["0 0 512 512","M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z"],tag:["0 0 448 512","M0 80V229.5c0 17 6.7 33.3 18.7 45.3l176 176c25 25 65.5 25 90.5 0L418.7 317.3c25-25 25-65.5 0-90.5l-176-176c-12-12-28.3-18.7-45.3-18.7H48C21.5 32 0 53.5 0 80zm112 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"],folder:["0 0 512 512","M64 480H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H298.5c-17 0-33.3-6.7-45.3-18.7L226.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64z"],"folder-open":["0 0 576 512","M88.7 223.8L0 375.8V96C0 60.7 28.7 32 64 32H181.5c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 28.3 18.7 45.3 18.7H416c35.3 0 64 28.7 64 64v32H144c-22.8 0-43.8 12.1-55.3 31.8zm27.6 16.1C122.1 230 132.6 224 144 224H544c11.5 0 22 6.1 27.7 16.1s5.7 22.2-.1 32.1l-112 192C453.9 474 443.4 480 432 480H32c-11.5 0-22-6.1-27.7-16.1s-5.7-22.2 .1-32.1l112-192z"],file:["0 0 384 512","M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128z"],copy:["0 0 448 512","M208 0L332.1 0c12.7 0 24.9 5.1 33.9 14.1l67.9 67.9c9 9 14.1 21.2 14.1 33.9L448 336c0 26.5-21.5 48-48 48l-192 0c-26.5 0-48-21.5-48-48l0-288c0-26.5 21.5-48 48-48zM48 128l80 0 0 64-64 0 0 256 192 0 0-32 64 0 0 48c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 176c0-26.5 21.5-48 48-48z"],square:["0 0 448 512","M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z"],code:["0 0 640 512","M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3L562.7 256l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z"],book:["0 0 448 512","M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V384c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zm0 384H352v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm16 48H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z"]}),Fn=Object.freeze({settings:"gear",clear:"x",checked:"check",question:"info",range:"filter",fields:"list"}),Qe=Object.create(null),X={provider:"builtin",style:"solid",family:"classic",fixedWidth:!1,kit:null};function Ge(){return{...X}}function ue(s={}){for(let t of["provider","style","family","fixedWidth","kit"])s[t]!==void 0&&(X[t]=s[t]);return Ge()}function ys(s={}){return ue({...s,provider:"fontawesome"})}function Ln(){return ue({provider:"builtin"})}async function Rn(s){let t=typeof s=="string"?{kit:s}:{...s},{kit:e,activate:i=!0,...r}=t;if(!e)throw new TypeError("loadFontAwesome() needs a kit token or URL");return ue({...r,kit:ce(e)}),await Ye(e),i?ys():Ge()}function Vn(s){for(let[t,e]of Object.entries(s)){if(!Array.isArray(e)||e.length!==2)throw new TypeError(`Icon "${t}" must be a [viewBox, path] pair`);Qe[t]=[String(e[0]),String(e[1])]}}function Bn(){return[...new Set([...Object.keys(We),...Object.keys(Qe)])].sort()}function m(s,t={}){let e=Ke(s);if(e.classes)return Ue(e.classes,t);let i=Fn[e.name]??e.name;return e.provider==="builtin"?bs(i,t):e.provider==="fa"?Ue(he(i,{style:e.style??t.style??X.style,family:t.family??X.family,fixedWidth:t.fixedWidth??X.fixedWidth}),t):X.provider==="fontawesome"?Ue(he(i,{style:t.style??X.style,family:t.family??X.family,fixedWidth:t.fixedWidth??X.fixedWidth}),t):bs(i,t)}function bs(s,t){let e=Qe[s]??We[s];if(!e)throw new RangeError(`Unknown icon: ${s}`);let[i,r]=e,{size:n=16}=t,o=document.createElementNS(gs,"svg"),l=document.createElementNS(gs,"path");return o.setAttribute("class",vs("zx-icon",t.class)),o.setAttribute("viewBox",i),o.setAttribute("width",String(n)),o.setAttribute("height",String(n)),o.setAttribute("fill","currentColor"),o.setAttribute("focusable","false"),xs(o,t.label??null),l.setAttribute("d",r),o.append(l),o}function Ue(s,t){let{size:e=16}=t,i=document.createElement("i");return i.className=vs("zx-icon",...s,t.class),i.style.fontSize=typeof e=="number"?`${e}px`:String(e),xs(i,t.label??null),i}function xs(s,t){if(t===null){s.setAttribute("aria-hidden","true");return}s.setAttribute("role","img"),s.setAttribute("aria-label",t)}function vs(...s){return s.flat().filter(Boolean).join(" ")}var Pn=5,It=class extends f{static cssName="time-picker";static defaults={value:null,seconds:!1,step:5,clock:!0};render(){let t=this.el??a("div");this.el=t;let e=ws(this.options.value);this._value=e,this._display=e??{h:0,m:0,s:0},this._inputs=[],this._clockOpen=!1,this._clockUnit="h",this._clock=null;let i=a("div",{class:"zx-time-picker__segments",role:"group",ariaLabel:"Time"});if(this._content=i,this._addSpin(i,"h","Hour",23),i.append(a("span",{class:"zx-time-picker__separator",ariaHidden:"true"},":")),this._addSpin(i,"m","Minute",59),this.options.seconds&&(i.append(a("span",{class:"zx-time-picker__separator",ariaHidden:"true"},":")),this._addSpin(i,"s","Second",59)),t.append(i),this.options.clock){let r=b("zx-time-picker-clock");i.append(a("button",{ref:"clockToggle",class:"zx-icon-btn zx-time-picker__clock-toggle",type:"button",ariaLabel:"Pick the time on a clock",ariaExpanded:"false",ariaControls:r},m("clock",{size:15}))),this._clock=this._buildClock(r),t.append(this._clock),this.listen(this.refs.clockToggle,"click",()=>this.toggleClock())}return this._writeInputs(),t}get(){return this._value?{...this._value}:null}set(t,{silent:e=!1}={}){let i=ws(t);return this._value=i,this._display=i??{h:0,m:0,s:0},this._writeInputs(),!e&&i&&this.emit("change",{time:{...i}}),this}openClock(t="h"){return this._clock?(this._clockOpen=!0,this._clockUnit=t==="m"?"m":"h",this._syncClock(),this):this}closeClock(){return this._clock?(this._clockOpen=!1,this._syncClock(),this):this}toggleClock(){return this._clockOpen?this.closeClock():this.openClock("h")}destroy(){this._content?.remove(),this._clock?.remove(),this._clock=null,super.destroy()}_addSpin(t,e,i,r){let n=a("input",{class:"zx-time-picker__spin",type:"text",role:"spinbutton",inputMode:"numeric",maxLength:2,autocomplete:"off",ariaLabel:i,ariaValueMin:"0",ariaValueMax:String(r),dataset:{segment:e}});this._inputs.push(n),t.append(n),this.listen(n,"focus",()=>n.select()),this.listen(n,"keydown",o=>this._onKeydown(o,e,r)),this.listen(n,"input",()=>this._onInput(n,e,r)),this.listen(n,"blur",()=>this._commitFromInputs())}_onKeydown(t,e,i){if(t.key!=="ArrowUp"&&t.key!=="ArrowDown")return;t.preventDefault();let r=t.key==="ArrowUp"?1:-1,n=e==="m"?$n(this.options.step):1,o=xt(t.currentTarget.value,0,i),l=i+1,h=(o+r*n+l*n)%l;t.currentTarget.value=at(h),this._commitFromInputs()}_onInput(t,e,i){if(t.value=t.value.replace(/\D/g,"").slice(0,2),t.value.length<2)return;t.value=at(xt(t.value,0,i)),this._commitFromInputs();let r=this._inputs.indexOf(t);this._inputs[r+1]?.focus()}_commitFromInputs(){let t={h:0,m:0,s:0};for(let i of this._inputs){let r=i.dataset.segment,n=r==="h"?23:59;t[r]=xt(i.value,0,n)}let e=!this._value||!Kn(this._value,t);this._value=t,this._display=t,this._writeInputs(),e&&this.emit("change",{time:{...t}})}_writeInputs(){for(let t of this._inputs){let e=t.dataset.segment;t.value=at(this._display[e]),t.setAttribute("aria-valuenow",String(this._display[e])),t.setAttribute("aria-valuetext",t.value)}this._syncClock()}_buildClock(t){let e=a("div",{class:"zx-time-picker__clock",id:t,hidden:!0},a("div",{class:"zx-time-picker__clock-head"},a("button",{ref:"headHour",class:"zx-time-picker__clock-unit",type:"button",ariaLabel:"Select the hour",dataset:{unit:"h"}}),a("span",{class:"zx-time-picker__clock-colon",ariaHidden:"true"},":"),a("button",{ref:"headMinute",class:"zx-time-picker__clock-unit",type:"button",ariaLabel:"Select the minutes",dataset:{unit:"m"}})),a("div",{ref:"dial",class:"zx-time-picker__dial",role:"radiogroup"},a("span",{ref:"hand",class:"zx-time-picker__hand",ariaHidden:"true"}),a("span",{class:"zx-time-picker__pivot",ariaHidden:"true"})));return this.listen(this.refs.headHour,"click",()=>this.openClock("h")),this.listen(this.refs.headMinute,"click",()=>this.openClock("m")),this.listen(this.refs.dial,"click",i=>{let r=i.target.closest?.(".zx-time-picker__mark");r&&this._pick(Number(r.dataset.value))}),this.listen(this.refs.dial,"keydown",i=>this._onDialKeydown(i)),e}_pick(t){let e={...this._display,[this._clockUnit]:t},i=this._clockUnit==="h";this.set(e),i&&this.openClock("m")}_onDialKeydown(t){let e=[...this.refs.dial.querySelectorAll(".zx-time-picker__mark")],i=t.target.closest?.(".zx-time-picker__mark"),r=e.indexOf(i);if(r<0)return;let n={ArrowRight:1,ArrowDown:1,ArrowLeft:-1,ArrowUp:-1}[t.key],o=null;n!==void 0?o=(r+n+e.length)%e.length:t.key==="Home"?o=0:t.key==="End"&&(o=e.length-1),o!==null&&(t.preventDefault(),this._pick(Number(e[o].dataset.value)),this.refs.dial.querySelector(`[data-value="${e[o].dataset.value}"]`)?.focus())}_syncClock(){if(!this._clock)return;let t=this._clockUnit==="h";if(this._clock.hidden=!this._clockOpen,this.refs.clockToggle.setAttribute("aria-expanded",String(this._clockOpen)),this.refs.headHour.textContent=at(this._display.h),this.refs.headMinute.textContent=at(this._display.m),this.refs.headHour.setAttribute("aria-pressed",String(t)),this.refs.headMinute.setAttribute("aria-pressed",String(!t)),this.refs.dial.setAttribute("aria-label",t?"Hour":"Minutes"),!this._clockOpen)return;let e=t?this._display.h:this._display.m,i=t?jn():Hn(),r=this.refs.dial.querySelectorAll(".zx-time-picker__mark");if(r.length!==i.length||this.refs.dial.dataset.unit!==this._clockUnit){for(let l of r)l.remove();this.refs.dial.dataset.unit=this._clockUnit,this.refs.dial.append(...i.map(l=>this._buildMark(l,e)))}else i.forEach((l,h)=>this._syncMark(r[h],l,e));let n=t&&!qn(e)?"inner":"outer",o=t?e%12*30:e*6;this.refs.hand.dataset.ring=n,this.refs.hand.style.setProperty("--zx-clock-angle",`${o}deg`)}_buildMark(t,e){let i=a("button",{class:"zx-time-picker__mark",type:"button",role:"radio",dataset:{value:String(t.value),ring:t.ring}},t.label);return i.style.setProperty("--zx-clock-angle",`${t.angle}deg`),this._syncMark(i,t,e),i}_syncMark(t,e,i){let r=e.value===i;t.setAttribute("aria-checked",String(r)),t.tabIndex=r?0:-1}};function jn(){let s=[];for(let t=1;t<=12;t+=1)s.push({value:t,label:String(t),angle:t%12*30,ring:"outer"});for(let t=0;t<12;t+=1){let e=t===0?0:12+t;s.push({value:e,label:at(e),angle:t*30,ring:"inner"})}return s}function Hn(){let s=[];for(let t=0;t<60;t+=Pn)s.push({value:t,label:at(t),angle:t*6,ring:"outer"});return s}function qn(s){return s>=1&&s<=12}function ws(s){return s instanceof Date&&!Number.isNaN(s.getTime())?{h:s.getHours(),m:s.getMinutes(),s:s.getSeconds()}:!s||typeof s!="object"?null:{h:xt(s.h,0,23),m:xt(s.m,0,59),s:xt(s.s,0,59)}}function xt(s,t,e){let i=Number.parseInt(String(s??""),10);return Number.isFinite(i)?Math.max(t,Math.min(e,i)):t}function $n(s){let t=Math.round(Number(s));return Number.isFinite(t)&&t>0&&t<=59?t:5}function at(s){return String(s).padStart(2,"0")}function Kn(s,t){return s.h===t.h&&s.m===t.m&&s.s===t.s}var lt=class extends f{static cssName="date-picker";static defaults={value:null,min:null,max:null,weekStart:1,showWeekNumbers:!1,time:!1};render(){let t=this.el??a("div");this._min=$(de(this.options.min)),this._max=$(de(this.options.max)),this._value=this._normalizeValue(de(this.options.value)),this._focused=$(this._value)??this._clampFocus($(new Date)),this._viewYear=this._focused.getFullYear(),this._viewMonth=this._focused.getMonth(),this._weekStart=Yn(this.options.weekStart),this._quickOpen=!1,this._timePicker=null;let e=a("div",{class:"zx-date-picker__surface"},a("div",{class:"zx-date-picker__header"},a("button",{ref:"previous",class:"zx-date-picker__nav",type:"button",ariaLabel:"Previous month"},m("chevron-left")),a("button",{ref:"heading",class:"zx-date-picker__heading",type:"button",ariaExpanded:"false","aria-haspopup":"grid"}),a("button",{ref:"next",class:"zx-date-picker__nav",type:"button",ariaLabel:"Next month"},m("chevron-right"))),a("div",{ref:"quickPanel",class:"zx-date-picker__quick",hidden:!0},a("div",{class:"zx-date-picker__quick-header"},a("button",{ref:"quickPrevious",class:"zx-date-picker__nav",type:"button",ariaLabel:"Previous year"},m("chevron-left")),a("span",{ref:"quickYear",class:"zx-date-picker__quick-year",ariaLive:"polite"}),a("button",{ref:"quickNext",class:"zx-date-picker__nav",type:"button",ariaLabel:"Next year"},m("chevron-right"))),a("div",{ref:"quickGrid",class:"zx-date-picker__quick-grid",role:"grid"})),a("table",{ref:"grid",class:"zx-date-picker__grid",role:"grid",ariaLabel:"Calendar"},a("thead",{ref:"weekdays"}),a("tbody",{ref:"days"})));return this._content=e,t.append(e),this.listen(this.refs.previous,"click",()=>this._pageMonth(-1)),this.listen(this.refs.next,"click",()=>this._pageMonth(1)),this.listen(this.refs.heading,"click",()=>this._toggleQuickPick()),this.listen(this.refs.quickPrevious,"click",()=>this._stepQuickYear(-1)),this.listen(this.refs.quickNext,"click",()=>this._stepQuickYear(1)),this.listen(this.refs.quickGrid,"click",i=>this._onQuickClick(i)),this.listen(this.refs.quickGrid,"keydown",i=>this._onQuickKeydown(i)),this.listen(this.refs.days,"click",i=>this._onDayClick(i)),this.listen(this.refs.days,"keydown",i=>this._onDayKeydown(i)),this._renderWeekdays(),this._renderCalendar(),this.options.time&&(this._timePicker=new It(null,{value:this._value,seconds:!1}),this._timePicker.on("change",i=>{let r=i.detail.time,n=this._value??this._focused,o=new Date(n.getTime());o.setHours(r.h,r.m,r.s,0),this.set(o)}),e.append(this._timePicker.el)),t}get(){return Je(this._value)}set(t,{silent:e=!1}={}){let i=this._normalizeValue(de(t));return this._value=i,i&&(this._focused=$(i),this._viewYear=i.getFullYear(),this._viewMonth=i.getMonth()),this._timePicker?.set(i,{silent:!0}),this._renderCalendar(),e||this.emit("change",{date:Je(this._value)}),this}focus(){return this._closeQuickPick(),this._buttonForDate(this._focused)?.focus(),this}destroy(){this._timePicker?.destroy(),this._timePicker=null,this._content?.remove(),super.destroy()}_normalizeValue(t){if(!t)return null;let e=new Date(t.getTime()),i=$(e);return this._min&&i<this._min&&ks(e,this._min),this._max&&i>this._max&&ks(e,this._max),e}_clampFocus(t){return this._min&&t<this._min?new Date(this._min.getTime()):this._max&&t>this._max?new Date(this._max.getTime()):t}_renderWeekdays(){let t=a("tr");this.options.showWeekNumbers&&t.append(a("th",{class:"zx-date-picker__week-heading",scope:"col",ariaLabel:"Week number"},"#"));let e=new Date(2023,0,1);for(let i=0;i<7;i+=1){let r=k(e,(this._weekStart+i)%7);t.append(a("th",{scope:"col",ariaLabel:v(r,"%A")},v(r,"%a")))}this.refs.weekdays.replaceChildren(t)}_renderCalendar(){if(!this.refs?.days)return;let t=new Date(this._viewYear,this._viewMonth,1),e=(t.getDay()-this._weekStart+7)%7,i=k(t,-e);this.refs.heading.textContent=v(t,"%B %Y"),this.refs.heading.setAttribute("aria-label",`Choose month and year, ${v(t,"%B %Y")}`);let r=[];for(let n=0;n<6;n+=1){let o=k(i,n*7),l=a("tr");this.options.showWeekNumbers&&l.append(a("th",{class:"zx-date-picker__week",scope:"row",ariaLabel:`Week ${As(o)}`},String(As(o))));for(let h=0;h<7;h+=1){let c=k(o,h),u=!!(this._value&&M(c,this._value)),d=!this._inRange(c),_=a("button",{class:"zx-date-picker__day",type:"button",role:"gridcell",tabindex:M(c,this._focused)?0:-1,ariaSelected:String(u),ariaDisabled:String(d),ariaCurrent:M(c,new Date)?"date":null,ariaLabel:`${v(c,"%e")} ${v(c,"%B %Y")}`,dataset:{date:v(c,"%Y-%m-%d"),otherMonth:c.getMonth()===this._viewMonth?null:"true"}},v(c,"%e"));l.append(a("td",{role:"presentation"},_))}r.push(l)}this.refs.days.replaceChildren(...r),this._quickOpen&&this._renderQuickPick()}_onDayClick(t){let e=t.target?.closest?.("[data-date]");if(!e||!this.refs.days.contains(e))return;let i=V(e.dataset.date,"%Y-%m-%d");i&&this._inRange(i)&&this._selectDate(i)}_onDayKeydown(t){let e=t.target?.closest?.("[data-date]");if(!e||!this.refs.days.contains(e))return;let i=V(e.dataset.date,"%Y-%m-%d");if(!i)return;let r=null;if(t.key==="ArrowLeft")r=k(i,-1);else if(t.key==="ArrowRight")r=k(i,1);else if(t.key==="ArrowUp")r=k(i,-7);else if(t.key==="ArrowDown")r=k(i,7);else if(t.key==="PageUp")r=st(i,t.shiftKey?-12:-1);else if(t.key==="PageDown")r=st(i,t.shiftKey?12:1);else if(t.key==="Home")r=k(i,-((i.getDay()-this._weekStart+7)%7));else if(t.key==="End")r=k(i,6-(i.getDay()-this._weekStart+7)%7);else if(t.key==="Enter"||t.key===" "){t.preventDefault(),this._inRange(i)&&this._selectDate(i);return}r&&(t.preventDefault(),this._moveFocus(r))}_moveFocus(t){let e=t.getFullYear()!==this._viewYear||t.getMonth()!==this._viewMonth;this._focused=$(t),this._viewYear=t.getFullYear(),this._viewMonth=t.getMonth(),this._renderCalendar(),e&&this._emitMonthChange(),this._buttonForDate(t)?.focus()}_selectDate(t){let e=new Date(t.getTime()),i=this._timePicker?.get();i?e.setHours(i.h,i.m,i.s,0):this._value&&e.setHours(this._value.getHours(),this._value.getMinutes(),this._value.getSeconds(),this._value.getMilliseconds());let r=e.getFullYear()!==this._viewYear||e.getMonth()!==this._viewMonth;this._value=e,this._focused=$(e),this._viewYear=e.getFullYear(),this._viewMonth=e.getMonth(),this._timePicker?.set(e,{silent:!0}),this._renderCalendar(),r&&this._emitMonthChange(),this.emit("change",{date:Je(e)})}_pageMonth(t){this._closeQuickPick();let e=st(this._focused,t);this._focused=$(e),this._viewYear=e.getFullYear(),this._viewMonth=e.getMonth(),this._renderCalendar(),this._emitMonthChange()}_emitMonthChange(){this.emit("monthchange",{year:this._viewYear,month:this._viewMonth})}_toggleQuickPick(){if(this._quickOpen){this._closeQuickPick(),this.refs.heading.focus();return}this._quickOpen=!0,this.refs.quickPanel.hidden=!1,this.refs.heading.setAttribute("aria-expanded","true"),this._renderQuickPick(),this.refs.quickGrid.querySelector('[tabindex="0"]')?.focus()}_closeQuickPick(){this._quickOpen&&(this._quickOpen=!1,this.refs.quickPanel.hidden=!0,this.refs.heading.setAttribute("aria-expanded","false"))}_renderQuickPick(){this.refs.quickYear.textContent=String(this._viewYear);let t=[];for(let e=0;e<12;e+=1){let i=new Date(this._viewYear,e,1);t.push(a("button",{class:"zx-date-picker__quick-month",type:"button",role:"gridcell",tabindex:e===this._viewMonth?0:-1,ariaSelected:String(e===this._viewMonth),dataset:{month:e}},v(i,"%b")))}this.refs.quickGrid.replaceChildren(...t)}_stepQuickYear(t){this._viewYear+=t,this._renderQuickPick(),this._emitMonthChange(),this.refs.quickGrid.querySelector('[tabindex="0"]')?.focus()}_onQuickClick(t){let e=t.target?.closest?.("[data-month]");!e||!this.refs.quickGrid.contains(e)||this._chooseQuickMonth(Number(e.dataset.month))}_onQuickKeydown(t){let e=t.target?.closest?.("[data-month]");if(!e||!this.refs.quickGrid.contains(e))return;let i=Number(e.dataset.month),r=null;if(t.key==="ArrowLeft")r=i-1;else if(t.key==="ArrowRight")r=i+1;else if(t.key==="ArrowUp")r=i-3;else if(t.key==="ArrowDown")r=i+3;else if(t.key==="Home")r=0;else if(t.key==="End")r=11;else if(t.key==="Enter"||t.key===" "){t.preventDefault(),this._chooseQuickMonth(i);return}else if(t.key==="Escape"){t.preventDefault(),this._closeQuickPick(),this.refs.heading.focus();return}if(r===null)return;t.preventDefault(),r=Math.max(0,Math.min(11,r));let n=this.refs.quickGrid.querySelectorAll("[data-month]");for(let o of n)o.tabIndex=Number(o.dataset.month)===r?0:-1;n[r]?.focus()}_chooseQuickMonth(t){let e=new Date(this._viewYear,t,Math.min(this._focused.getDate(),new Date(this._viewYear,t+1,0).getDate()));this._focused=$(e),this._viewMonth=t,this._closeQuickPick(),this._renderCalendar(),this._emitMonthChange(),this.focus()}_inRange(t){let e=$(t);return!(this._min&&e<this._min)&&!(this._max&&e>this._max)}_buttonForDate(t){return this.refs.days.querySelector(`[data-date="${v(t,"%Y-%m-%d")}"]`)}};function de(s){return s instanceof Date&&!Number.isNaN(s.getTime())?new Date(s.getTime()):null}function $(s){return s?new Date(s.getFullYear(),s.getMonth(),s.getDate()):null}function Je(s){return s?new Date(s.getTime()):null}function ks(s,t){s.setFullYear(t.getFullYear(),t.getMonth(),t.getDate())}function Yn(s){let t=Number(s);return Number.isInteger(t)&&t>=0&&t<=6?t:Mt()}function As(s){let t=new Date(Date.UTC(s.getFullYear(),s.getMonth(),s.getDate())),e=t.getUTCDay()||7;t.setUTCDate(t.getUTCDate()+4-e);let i=new Date(Date.UTC(t.getUTCFullYear(),0,1));return Math.ceil(((t.getTime()-i.getTime())/864e5+1)/7)}var Ot=class extends lt{static cssName="month-picker";static defaults={value:null,min:null,max:null};render(){let t=this.el??a("div");this._min=fe(pe(this.options.min)),this._max=fe(pe(this.options.max)),this._value=this._normalizeMonth(pe(this.options.value));let e=this._value??fe(new Date);this._year=e.getFullYear(),this._focusedMonth=e.getMonth();let i=a("div",{class:"zx-month-picker__surface"},a("div",{class:"zx-month-picker__header"},a("button",{ref:"previousYear",class:"zx-month-picker__nav",type:"button",ariaLabel:"Previous year"},m("chevron-left")),a("span",{ref:"year",class:"zx-month-picker__year",ariaLive:"polite"}),a("button",{ref:"nextYear",class:"zx-month-picker__nav",type:"button",ariaLabel:"Next year"},m("chevron-right"))),a("div",{ref:"grid",class:"zx-month-picker__grid",role:"grid",ariaLabel:"Choose month"}));return this._content=i,t.append(i),this.listen(this.refs.previousYear,"click",()=>this._stepYear(-1)),this.listen(this.refs.nextYear,"click",()=>this._stepYear(1)),this.listen(this.refs.grid,"click",r=>this._onMonthClick(r)),this.listen(this.refs.grid,"keydown",r=>this._onMonthKeydown(r)),this._renderMonths(),t}get(){return this._value?new Date(this._value.getTime()):null}set(t,{silent:e=!1}={}){return this._value=this._normalizeMonth(pe(t)),this._value&&(this._year=this._value.getFullYear(),this._focusedMonth=this._value.getMonth()),this._renderMonths(),e||this.emit("change",{date:this.get()}),this}focus(){return this._button(this._focusedMonth)?.focus(),this}destroy(){this._content?.remove(),super.destroy()}_normalizeMonth(t){if(!t)return null;let e=fe(t);return this._min&&e<this._min&&(e=new Date(this._min.getTime())),this._max&&e>this._max&&(e=new Date(this._max.getTime())),e}_renderMonths(){if(!this.refs?.grid)return;this.refs.year.textContent=String(this._year);let t=[];for(let e=0;e<12;e+=1){let i=new Date(this._year,e,1),r=!!(this._value&&Un(i,this._value));t.push(a("button",{class:"zx-month-picker__month",type:"button",role:"gridcell",tabindex:e===this._focusedMonth?0:-1,ariaSelected:String(r),ariaDisabled:String(!this._inRange(i)),ariaLabel:v(i,"%B %Y"),dataset:{month:e}},v(i,"%b")))}this.refs.grid.replaceChildren(...t)}_stepYear(t){this._year+=t,this._renderMonths()}_onMonthClick(t){let e=t.target?.closest?.("[data-month]");!e||!this.refs.grid.contains(e)||this._selectMonth(Number(e.dataset.month))}_onMonthKeydown(t){let e=t.target?.closest?.("[data-month]");if(!e||!this.refs.grid.contains(e))return;let i=Number(e.dataset.month),r=null;if(t.key==="ArrowLeft")r=-1;else if(t.key==="ArrowRight")r=1;else if(t.key==="ArrowUp")r=-3;else if(t.key==="ArrowDown")r=3;else if(t.key==="Home")r=-(i%3);else if(t.key==="End")r=2-i%3;else if(t.key==="PageUp"){t.preventDefault(),this._stepYear(-1),this.focus();return}else if(t.key==="PageDown"){t.preventDefault(),this._stepYear(1),this.focus();return}else if(t.key==="Enter"||t.key===" "){t.preventDefault(),this._selectMonth(i);return}if(r===null)return;t.preventDefault();let n=this._year*12+i+r;this._year=Math.floor(n/12),this._focusedMonth=(n%12+12)%12,this._renderMonths(),this.focus()}_selectMonth(t){let e=new Date(this._year,t,1);this._inRange(e)&&(this._focusedMonth=t,this._value=e,this._renderMonths(),this.emit("change",{date:this.get()}))}_inRange(t){return!(this._min&&t<this._min)&&!(this._max&&t>this._max)}_button(t){return this.refs.grid.querySelector(`[data-month="${t}"]`)}};function pe(s){return s instanceof Date&&!Number.isNaN(s.getTime())?new Date(s.getTime()):null}function fe(s){return s?new Date(s.getFullYear(),s.getMonth(),1):null}function Un(s,t){return s.getFullYear()===t.getFullYear()&&s.getMonth()===t.getMonth()}function Ss(){x.register("month",(s,t)=>{let e=s.own(new Ot(null,{...t.props??{},value:t.value})),i=!1,r=()=>{e.el.setAttribute("aria-disabled",String(i));for(let n of e.el.querySelectorAll("button"))n.disabled=i};return s.listen(e.el,"change",n=>n.stopImmediatePropagation()),e.on("change",n=>s.emit("change",{value:n.detail.date})),{el:e.el,get:()=>e.get(),set:n=>{e.set(n instanceof Date?n:null,{silent:!0}),r()},focus:()=>e.focus(),setDisabled:n=>{i=!!n,r()}}})}var Wn=new Set(["bottom-start","bottom-end","top-start","top-end","bottom","top"]);function j(s,t,e={}){if(!(s instanceof Element)||!(t instanceof HTMLElement))throw new TypeError("position() requires an Element anchor and HTMLElement floating element");let i=Wn.has(e.placement)?e.placement:"bottom-start",r=Number(e.offset??4),n=e.flip??!0,o=e.matchWidth??!1,l=s.getAttribute("style"),h=t.getAttribute("style"),c=t.getAttribute("popover"),u=!1,d=null,_=()=>{},p=()=>{};if(t.setAttribute("popover","manual"),typeof CSS<"u"&&CSS.supports?.("anchor-name: --zx-a")){let y=`--${b("zx-a")}`;s.style.setProperty("anchor-name",y),t.style.position="fixed",t.style.inset="auto",t.style.margin="0",t.style.setProperty("position-anchor",y),t.style.setProperty("position-area",zs(i)),t.style.setProperty("inset-area",zs(i)),t.style.setProperty("position-try-fallbacks",n?"flip-block, flip-inline, flip-block flip-inline":"none"),t.style.setProperty(i.startsWith("top")?"margin-block-end":"margin-block-start",`${r}px`),_=()=>{o&&(t.style.minWidth=`${s.getBoundingClientRect().width}px`)},typeof ResizeObserver=="function"&&(d=new ResizeObserver(_),d.observe(s))}else t.style.position="fixed",t.style.inset="auto",t.style.margin="0",_=()=>Qn(s,t,{placement:i,offset:r,flip:n,matchWidth:o}),window.addEventListener("scroll",_,{capture:!0,passive:!0}),window.addEventListener("resize",_,{passive:!0}),typeof ResizeObserver=="function"&&(d=new ResizeObserver(_),d.observe(s)),p=()=>{window.removeEventListener("scroll",_,!0),window.removeEventListener("resize",_)};return Gn(t),_(),{update(){u||_()},destroy(){u||(u=!0,d?.disconnect(),p(),Jn(t),Xe(s,"style",l),Xe(t,"style",h),Xe(t,"popover",c))}}}function zs(s){return{"bottom-start":"block-end span-inline-end","bottom-end":"block-end span-inline-start","top-start":"block-start span-inline-end","top-end":"block-start span-inline-start",bottom:"block-end",top:"block-start"}[s]}function Qn(s,t,{placement:e,offset:i,flip:r,matchWidth:n}){let o=s.getBoundingClientRect();n&&(t.style.minWidth=`${o.width}px`);let l=t.getBoundingClientRect(),h=document.documentElement.clientWidth||window.innerWidth,c=document.documentElement.clientHeight||window.innerHeight,u=e,d=e.startsWith("bottom"),_=o.bottom+i,p=o.top-i-l.height;r&&(d&&_+l.height>c&&p>=0?u=e.replace("bottom","top"):!d&&p<0&&_+l.height<=c&&(u=e.replace("top","bottom")));let g;u.endsWith("-end")?g=o.right-l.width:u.endsWith("-start")?g=o.left:g=o.left+(o.width-l.width)/2;let y=u.startsWith("bottom")?_:p;t.style.left=`${Math.round(R(g,0,Math.max(0,h-l.width)))}px`,t.style.top=`${Math.round(R(y,0,Math.max(0,c-l.height)))}px`}function Gn(s){if(typeof s.showPopover=="function")try{s.showPopover()}catch{}}function Jn(s){if(typeof s.hidePopover=="function")try{s.hidePopover()}catch{}}function Xe(s,t,e){e===null?s.removeAttribute(t):s.setAttribute(t,e)}var Xn=6,Ms=864e5;function vt(s,t){let e=B(ht(s)),i=B(ht(t));return e&&i&&e.getTime()>i.getTime()?{start:i,end:e}:{start:e,end:i}}function Ft(s,t){let e=vt(s,t);return!e.start||!e.end?0:Math.round((Ns(e.end)-Ns(e.start))/Ms)}function Is(s,t,e){let i=B(ht(s));if(!i)return null;let r=vt(t,e);return!r.start&&!r.end?null:r.end?r.start?i.getTime()<r.start.getTime()||i.getTime()>r.end.getTime()?null:M(i,r.start)?"start":M(i,r.end)?"end":"middle":M(i,r.end)?"end":null:M(i,r.start)?"start":null}function Lt(s,t={}){let e=B(ht(t.min)),i=B(ht(t.max)),r=_e(t.minNights)??0,n=_e(t.maxNights),{start:o,end:l}=vt(s?.start,s?.end);return o&&(o=ti(o,e,i)),l&&(l=ti(l,e,i)),!o||!l?{start:o,end:l}:(n!==null&&Ft(o,l)>n&&(l=k(o,n)),r>0&&Ft(o,l)<r&&(l=k(o,r),i&&l.getTime()>i.getTime()&&(l=new Date(i.getTime()),o=k(l,-r),e&&o.getTime()<e.getTime()))?{start:null,end:null}:{start:o,end:l})}var Rt=class extends f{static cssName="date-range-picker";static defaults={start:null,end:null,min:null,max:null,months:2,weekStart:1,showWeekNumbers:!1,minNights:0,maxNights:null,presets:[],disabled:!1};render(){let t=this.el??a("div");this.el=t,this._rootAttributes=ro(t,["role","aria-label","aria-disabled","data-months","data-presets"]),this._min=B(ht(this.options.min)),this._max=B(ht(this.options.max)),this._minNights=_e(this.options.minNights)??0,this._maxNights=_e(this.options.maxNights),this._weekStart=eo(this.options.weekStart),this._monthCount=io(this.options.months),this._presets=to(this.options.presets),this._disabled=!!this.options.disabled,this._hover=null,this._dayCells=[];let e=Lt({start:this.options.start,end:this.options.end},this._bounds());this._start=e.start,this._end=e.end,this._picking=!!(e.start&&!e.end),this._remember(),this._focused=rt(this._start)??this._clampFocus(B(new Date)),this._viewYear=this._focused.getFullYear(),this._viewMonth=this._focused.getMonth(),t.setAttribute("role","group"),t.setAttribute("aria-label",D("daterange.label","Date range")),t.dataset.months=String(this._monthCount),this._presets.length&&(t.dataset.presets="true");let i=a("div",{class:"zx-date-range-picker__surface"},this._presets.length?a("div",{ref:"presets",class:"zx-date-range-picker__presets",role:"group",ariaLabel:D("daterange.presets","Date range presets")},this._presets.map(n=>a("button",{class:"zx-date-range-picker__preset",type:"button",dataset:{preset:n.name}},n.label))):null,a("div",{ref:"calendars",class:"zx-date-range-picker__calendars"})),r=a("div",{ref:"status",class:"zx-date-range-picker__status",role:"status",ariaLive:"polite"});return this._nodes=[i,r],t.append(i,r),this.refs.presets&&this.listen(this.refs.presets,"click",n=>this._onPresetClick(n)),this.listen(this.refs.calendars,"click",n=>this._onCalendarClick(n)),this.listen(this.refs.calendars,"keydown",n=>this._onDayKeydown(n)),this.listen(this.refs.calendars,"mouseover",n=>this._onDayHover(n)),this.listen(this.refs.calendars,"mouseleave",()=>this._setHover(null)),this._renderCalendars(),this._announce(),t}get(){return{start:rt(this._start),end:rt(this._end)}}set(t={},{silent:e=!1}={}){let i=Lt({start:t?.start??null,end:t?.end??null},this._bounds());return this._start=i.start,this._end=i.end,this._picking=!!(i.start&&!i.end),this._remember(),this._hover=null,i.start?(this._focused=rt(i.start),this._setView(i.start)):this._paint(),this._announce(),e||this.emit("change",this.get()),this}clear({silent:t=!1}={}){return this.set({start:null,end:null},{silent:t})}focus(){return this._buttonForDate(this._focused)?.focus(),this}enable(){return this._disabled=!1,this._paint(),this._syncDisabled(),this}disable(){return this._disabled=!0,this._hover=null,this._paint(),this._syncDisabled(),this}destroy(){for(let t of this._nodes??[])t.remove();this._nodes=[],this._dayCells=[],no(this.el,this._rootAttributes??new Map),super.destroy()}_bounds(){return{min:this._min,max:this._max,minNights:this._minNights,maxNights:this._maxNights}}_selectable(t){let e=B(t);if(!e||this._min&&e.getTime()<this._min.getTime()||this._max&&e.getTime()>this._max.getTime())return!1;if(!this._picking||!this._start||e.getTime()<=this._start.getTime())return!0;let i=Ft(this._start,e);return!(i<this._minNights||this._maxNights!==null&&i>this._maxNights)}_choose(t){let e=B(t);if(this._disabled||!e||!this._selectable(e))return;this._picking&&this._start&&e.getTime()>this._start.getTime()?(this._end=e,this._picking=!1,this._remember()):(this._start=e,this._end=null,this._picking=!0),this._focused=e,this._hover=null,this._paint(),this._announce(),this.emit("select",this.get()),this._picking||this.emit("change",this.get())}_remember(){let t=!!(this._start&&this._end);this._committedStart=t?rt(this._start):null,this._committedEnd=t?rt(this._end):null}_abandon(){return this._picking?(this._start=rt(this._committedStart),this._end=rt(this._committedEnd),this._picking=!1,this._hover=null,this._paint(),this._announce(),this.emit("select",this.get()),!0):!1}_clampFocus(t){return ti(t,this._min,this._max)}_visibleMonthCount(){let t=this.refs.calendars?.children??[],e=0;for(let i of t)i.getClientRects().length>0&&(e+=1);return e||this._monthCount}_setView(t){let e=t.getFullYear()!==this._viewYear||t.getMonth()!==this._viewMonth;if(this._viewYear=t.getFullYear(),this._viewMonth=t.getMonth(),!e){this._paint();return}this._renderCalendars(),this._emitMonthChange()}_ensureVisible(t){let e=this._visibleMonthCount(),i=Ds(t)-(this._viewYear*12+this._viewMonth);if(i>=0&&i<e)return!1;let r=i<0?i:i-(e-1),n=new Date(this._viewYear,this._viewMonth+r,1);return this._viewYear=n.getFullYear(),this._viewMonth=n.getMonth(),!0}_pageView(t){if(this._disabled)return;let e=new Date(this._viewYear,this._viewMonth+t,1);this._viewYear=e.getFullYear(),this._viewMonth=e.getMonth(),this._focused=this._focusInView(this._focused),this._renderCalendars(),this._emitMonthChange()}_focusInView(t){let e=this._visibleMonthCount(),i=Ds(t)-(this._viewYear*12+this._viewMonth);if(i>=0&&i<e)return t;let r=new Date(this._viewYear,this._viewMonth+1,0).getDate();return new Date(this._viewYear,this._viewMonth,Math.min(t.getDate(),r))}_moveFocus(t){let e=B(t);this._focused=e,this._ensureVisible(e)?(this._renderCalendars(),this._emitMonthChange()):this._paint(),this._buttonForDate(e)?.focus()}_emitMonthChange(){this.emit("monthchange",{year:this._viewYear,month:this._viewMonth})}_onPresetClick(t){let e=t.target?.closest?.("[data-preset]");if(!e||this._disabled)return;let i=this._presets.find(n=>n.name===e.dataset.preset);if(!i)return;let r=i.range();this.set({start:r?.start??null,end:r?.end??null},{silent:!0}),this.emit("select",this.get()),this.emit("change",this.get())}_onCalendarClick(t){let e=t.target,i=e?.closest?.("[data-nav]");if(i){this._pageView(i.dataset.nav==="next"?1:-1);return}let r=this._cellFor(e);r&&this._choose(r.date)}_onDayHover(t){let e=this._cellFor(t.target);this._setHover(e?e.date:null)}_setHover(t){if(this._disabled||!this._picking)return;let e=t?B(t):null;!e&&!this._hover||e&&this._hover&&M(e,this._hover)||(this._hover=e,this._paint())}_onDayKeydown(t){let e=this._cellFor(t.target);if(!e)return;let i=e.date,r=null;if(t.key==="ArrowLeft")r=k(i,-1);else if(t.key==="ArrowRight")r=k(i,1);else if(t.key==="ArrowUp")r=k(i,-7);else if(t.key==="ArrowDown")r=k(i,7);else if(t.key==="PageUp")r=st(i,t.shiftKey?-12:-1);else if(t.key==="PageDown")r=st(i,t.shiftKey?12:1);else if(t.key==="Home")r=k(i,-((i.getDay()-this._weekStart+7)%7));else if(t.key==="End")r=k(i,6-(i.getDay()-this._weekStart+7)%7);else if(t.key==="Enter"||t.key===" "){t.preventDefault(),this._choose(i);return}else if(t.key==="Escape"){if(!this._abandon())return;t.preventDefault(),t.stopPropagation();return}!r||this._disabled||(t.preventDefault(),this._moveFocus(r))}_renderCalendars(){if(!this.refs?.calendars)return;this._dayCells=[];let t=[];for(let e=0;e<this._monthCount;e+=1)t.push(this._renderMonth(new Date(this._viewYear,this._viewMonth+e,1)));this.refs.calendars.replaceChildren(...t),this._paint(),this._syncDisabled()}_renderMonth(t){let e=v(t,"%B %Y"),i=(t.getDay()-this._weekStart+7)%7,r=k(t,-i),n=[];for(let o=0;o<Xn;o+=1){let l=k(r,o*7),h=a("tr"),c=so(l,t);this.options.showWeekNumbers&&h.append(a("th",{class:"zx-date-range-picker__week",scope:"row",ariaLabel:c?D("daterange.week","Week %1",[Es(l)]):null},c?String(Es(l)):""));for(let u=0;u<7;u+=1){let d=k(l,u),_=a("td",{role:"presentation"});if(d.getMonth()===t.getMonth()&&d.getFullYear()===t.getFullYear()){let p=a("button",{class:"zx-date-range-picker__day",type:"button",role:"gridcell",tabindex:-1,dataset:{date:v(d,"%Y-%m-%d")}},v(d,"%e"));_.append(p),this._dayCells.push({date:d,cell:_,button:p})}h.append(_)}n.push(h)}return a("div",{class:"zx-date-range-picker__month"},a("div",{class:"zx-date-range-picker__header"},a("button",{class:"zx-date-range-picker__nav",type:"button",dataset:{nav:"previous"},ariaLabel:D("daterange.previousMonth","Previous month")},m("chevron-left")),a("div",{class:"zx-date-range-picker__caption",ariaHidden:"true"},e),a("button",{class:"zx-date-range-picker__nav",type:"button",dataset:{nav:"next"},ariaLabel:D("daterange.nextMonth","Next month")},m("chevron-right"))),a("table",{class:"zx-date-range-picker__grid",role:"grid",ariaLabel:e},a("thead",{},this._weekdayRow()),a("tbody",{},...n)))}_weekdayRow(){let t=a("tr");this.options.showWeekNumbers&&t.append(a("th",{class:"zx-date-range-picker__week-heading",scope:"col",ariaLabel:D("daterange.weekNumber","Week number")},"#"));let e=new Date(2023,0,1);for(let i=0;i<7;i+=1){let r=k(e,(this._weekStart+i)%7);t.append(a("th",{scope:"col",ariaLabel:v(r,"%A")},v(r,"%a")))}return t}_paint(){let t=new Date,e=null;for(let i of this._dayCells)M(i.date,this._focused)&&(e=i);e||(e=this._dayCells[0]??null);for(let i of this._dayCells){let{date:r,cell:n,button:o}=i,l=this._dayState(r);Ze(n,"range",l.range),Ze(n,"rangeEdge",l.edge),Ze(o,"range",l.range),o.tabIndex=i===e?0:-1,o.setAttribute("aria-selected",String(l.range!==null&&l.range!=="preview")),o.setAttribute("aria-disabled",String(!this._selectable(r))),o.setAttribute("aria-label",this._dayLabel(r,l.range)),M(r,t)?o.setAttribute("aria-current","date"):o.removeAttribute("aria-current")}}_dayState(t){if(this._start&&this._end){let i=Is(t,this._start,this._end);if(!i)return{range:null,edge:null};let r=M(this._start,this._end);return i==="start"?{range:i,edge:r?"both":"start"}:i==="end"?{range:i,edge:r?"both":"end"}:{range:i,edge:null}}if(!this._start)return{range:null,edge:null};let e=this._previewEnd();return M(t,this._start)?{range:"start",edge:e?"start":"both"}:e?t.getTime()>this._start.getTime()&&t.getTime()<=e.getTime()?{range:"preview",edge:M(t,e)?"end":null}:{range:null,edge:null}:{range:null,edge:null}}_previewEnd(){if(!this._picking||!this._start||this._disabled)return null;let t=this._hover??this._focused;if(!t)return null;let e=B(t);return e.getTime()<=this._start.getTime()?null:this._selectable(e)?e:null}_dayLabel(t,e){let i=v(t,"%A, %e %B %Y");return e==="start"?`${i}, ${D("daterange.day.start","range start")}`:e==="end"?`${i}, ${D("daterange.day.end","range end")}`:e==="middle"?`${i}, ${D("daterange.day.middle","in selected range")}`:i}_syncDisabled(){this.el.setAttribute("aria-disabled",String(this._disabled));for(let t of this.el.querySelectorAll("button"))t.disabled=this._disabled}_announce(){this.refs?.status&&(this.refs.status.textContent=this._selectionLabel())}_selectionLabel(){if(!this._start)return D("daterange.status.empty","No date range selected");if(!this._end)return D("daterange.status.start","%1 selected, choose an end date",[v(this._start,"%e %B %Y")]);let t=Ft(this._start,this._end),e=t===1?D("daterange.night","1 night"):D("daterange.nights","%1 nights",[t]);return`${Zn(this._start,this._end)}, ${e}`}_cellFor(t){let e=t?.closest?.("[data-date]");return e?this._dayCells.find(i=>i.button===e)??null:null}_buttonForDate(t){return this._dayCells.find(e=>M(e.date,t))?.button??null}};function Os(){return[{name:"today",label:D("daterange.preset.today","Today"),range:()=>Cs(J())},{name:"yesterday",label:D("daterange.preset.yesterday","Yesterday"),range:()=>Cs(k(J(),-1))},{name:"last7",label:D("daterange.preset.last7","Last 7 days"),range:()=>({start:k(J(),-6),end:J()})},{name:"last30",label:D("daterange.preset.last30","Last 30 days"),range:()=>({start:k(J(),-29),end:J()})},{name:"thisMonth",label:D("daterange.preset.thisMonth","This month"),range:()=>Ts(J(),0)},{name:"lastMonth",label:D("daterange.preset.lastMonth","Last month"),range:()=>Ts(J(),-1)},{name:"thisQuarter",label:D("daterange.preset.thisQuarter","This quarter"),range:()=>{let s=J(),t=Math.floor(s.getMonth()/3)*3;return{start:new Date(s.getFullYear(),t,1),end:new Date(s.getFullYear(),t+3,0)}}},{name:"thisYear",label:D("daterange.preset.thisYear","This year"),range:()=>{let s=J();return{start:new Date(s.getFullYear(),0,1),end:new Date(s.getFullYear(),11,31)}}}]}function D(s,t,e){let i=Q(s);return I(i===s?t:i,e)}function Zn(s,t){if(M(s,t))return v(s,"%e %B %Y");let e=v(t,"%e %B %Y");return s.getFullYear()!==t.getFullYear()?`${v(s,"%e %B %Y")} \u2013 ${e}`:s.getMonth()!==t.getMonth()?`${v(s,"%e %B")} \u2013 ${e}`:`${v(s,"%e")} \u2013 ${e}`}function to(s){return s===!0?Os():Array.isArray(s)?s.filter(t=>t&&typeof t.range=="function").map((t,e)=>({name:String(t.name??`preset-${e}`),label:String(t.label??t.name??""),range:t.range})):[]}function J(){return B(new Date)}function Cs(s){return{start:s,end:new Date(s.getTime())}}function Ts(s,t){return{start:new Date(s.getFullYear(),s.getMonth()+t,1),end:new Date(s.getFullYear(),s.getMonth()+t+1,0)}}function ht(s){return s instanceof Date&&!Number.isNaN(s.getTime())?new Date(s.getTime()):null}function B(s){return!s||Number.isNaN(s.getTime())?null:new Date(s.getFullYear(),s.getMonth(),s.getDate())}function rt(s){return s?new Date(s.getTime()):null}function ti(s,t,e){return t&&s.getTime()<t.getTime()?new Date(t.getTime()):e&&s.getTime()>e.getTime()?new Date(e.getTime()):new Date(s.getTime())}function Ns(s){return Date.UTC(s.getFullYear(),s.getMonth(),s.getDate())}function Ds(s){return s.getFullYear()*12+s.getMonth()}function _e(s){if(s==null||s==="")return null;let t=Number(s);return Number.isFinite(t)?Math.max(0,Math.trunc(t)):null}function eo(s){let t=Number(s);return Number.isInteger(t)&&t>=0&&t<=6?t:Mt()}function io(s){let t=Number(s);return Number.isInteger(t)&&t>=1&&t<=4?t:2}function so(s,t){for(let e=0;e<7;e+=1){let i=k(s,e);if(i.getMonth()===t.getMonth()&&i.getFullYear()===t.getFullYear())return!0}return!1}function Es(s){let t=new Date(Date.UTC(s.getFullYear(),s.getMonth(),s.getDate())),e=t.getUTCDay()||7;t.setUTCDate(t.getUTCDate()+4-e);let i=new Date(Date.UTC(t.getUTCFullYear(),0,1));return Math.ceil(((t.getTime()-i.getTime())/Ms+1)/7)}function Ze(s,t,e){e==null?delete s.dataset[t]:s.dataset[t]=e}function ro(s,t){return new Map(t.map(e=>[e,s.getAttribute(e)]))}function no(s,t){for(let[e,i]of t)i===null?s.removeAttribute(e):s.setAttribute(e,i)}var oo={"%d":"DD","%e":"D","%m":"MM","%Y":"YYYY","%y":"YY"};function ii(s,t,e){let i=String(s??"").trim();if(i==="")return{start:null,end:null};let r=String(e??" \u2013 "),n=r.trim(),o=n!==""&&String(t).includes(n)&&/^\s|\s$/.test(r),l=o?"\\s+":"\\s*",h=o?"(?:\\s+|$)":"\\s*",c=n===""?[i]:i.split(new RegExp(`${l}${Nt(n)}${h}`));if(c.length>2)return null;let u=V(c[0].trim(),t);if(!u)return null;if(c.length===1)return{start:u,end:new Date(u.getTime())};if(c[1].trim()==="")return{start:u,end:null};let d=V(c[1].trim(),t);return d?vt(u,d):null}function Ls(s,t,e){let i=s?.start??null,r=s?.end??null;return!i&&!r?"":r?i?`${v(i,t)}${e}${v(r,t)}`:v(r,t):v(i,t)}var Vt=class extends f{static cssName="date-range-box";static defaults={start:null,end:null,format:"%d.%m.%Y",separator:" \u2013 ",placeholder:null,clearable:!0,min:null,max:null,months:2,weekStart:1,showWeekNumbers:!1,minNights:0,maxNights:null,presets:[],disabled:!1};render(){let t=this.el??a("div");this.el=t,this._originalState=t.getAttribute("data-state"),this._originalAriaDisabled=t.getAttribute("aria-disabled"),this._format=String(this.options.format||"%d.%m.%Y"),this._separator=String(this.options.separator??" \u2013 "),this._disabled=!!this.options.disabled,this._open=!1,this._position=null,this._range=this._coerce({start:this.options.start,end:this.options.end});let e=b("zx-date-range-box-popover"),i=a("div",{class:"zx-date-range-box__content"},a("div",{ref:"control",class:"zx-date-range-box__control"},a("input",{ref:"input",class:"zx-date-range-box__input",type:"text",autocomplete:"off",placeholder:this.options.placeholder??this._placeholder(),"aria-haspopup":"grid",ariaControls:e,ariaExpanded:"false"}),a("button",{ref:"clear",class:"zx-icon-btn zx-date-range-box__clear",type:"button",ariaLabel:Fs("daterange.clear","Clear date range")},m("x",{size:13})),a("button",{ref:"toggle",class:"zx-date-range-box__toggle",type:"button",ariaLabel:Fs("daterange.choose","Choose date range"),"aria-haspopup":"grid",ariaControls:e,ariaExpanded:"false"},m("calendar"))),a("div",{ref:"popover",id:e,class:"zx-date-range-box__popover",popover:"manual",dataset:{state:"closed"}}));return this._content=i,t.append(i),this._picker=new Rt(null,{start:this._range.start,end:this._range.end,min:this.options.min,max:this.options.max,months:this.options.months,weekStart:this.options.weekStart,showWeekNumbers:this.options.showWeekNumbers,minNights:this.options.minNights,maxNights:this.options.maxNights,presets:this.options.presets}),this.refs.popover.append(this._picker.el),this._picker.on("select",r=>{this._range={start:r.detail.start,end:r.detail.end},this._setValid(),this._syncDisplay()}),this._picker.on("change",r=>{this._apply({start:r.detail.start,end:r.detail.end},{push:!1}),r.detail.start&&r.detail.end&&this._close(!0)}),this.listen(this.refs.input,"blur",()=>{this._open||this._commitText()}),this.listen(this.refs.input,"keydown",r=>this._onInputKeydown(r)),this.listen(this.refs.toggle,"click",()=>this._open?this.close():this.open()),this.listen(this.refs.toggle,"keydown",r=>{r.key==="ArrowDown"&&(r.preventDefault(),this.open())}),this.listen(this.refs.clear,"click",()=>{this.clear(),this.focus()}),this.listen(document,"keydown",r=>{!this._open||r.key!=="Escape"||(r.preventDefault(),this._close(!0))}),this.listen(document,"pointerdown",r=>{this._open&&!t.contains(r.target)&&this.close()}),this._syncDisplay(),this._syncDisabled(),t}get(t="date"){return t==="seconds"?{start:this._range.start?Math.floor(this._range.start.getTime()/1e3):null,end:this._range.end?Math.floor(this._range.end.getTime()/1e3):null}:{start:this._range.start?new Date(this._range.start.getTime()):null,end:this._range.end?new Date(this._range.end.getTime()):null}}set(t,{silent:e=!1}={}){return this._apply(this._coerce(t),{silent:e}),this}clear({silent:t=!1}={}){return this.set({start:null,end:null},{silent:t})}open(){return this._disabled||this._open?this:(this._picker.set(this._range,{silent:!0}),this._open=!0,this.refs.popover.dataset.state="open",this.refs.input.setAttribute("aria-expanded","true"),this.refs.toggle.setAttribute("aria-expanded","true"),this._position=j(this.refs.control,this.refs.popover,{placement:"bottom-start",flip:!0}),this._picker.focus(),this.emit("open"),this)}close(){return this._close(!1),this}enable(){return this._disabled=!1,this._syncDisabled(),this}disable(){return this._disabled=!0,this.close(),this._syncDisabled(),this}focus(){return this.refs.input.focus(),this}destroy(){this._position?.destroy(),this._position=null,this._open=!1,this._picker?.destroy(),this._picker=null,this._content?.remove(),ei(this.el,"data-state",this._originalState),ei(this.el,"aria-disabled",this._originalAriaDisabled),super.destroy()}_apply(t,{silent:e=!1,push:i=!0}={}){this._range=t,i&&this._picker?.set(this._range,{silent:!0}),this._setValid(),this._syncDisplay(),e||this.emit("change",this.get())}_onInputKeydown(t){t.key==="ArrowDown"?(t.preventDefault(),this.open()):t.key==="Enter"?(t.preventDefault(),this._commitText()):t.key==="Escape"&&this._open&&(t.preventDefault(),this._close(!0))}_commitText(){if(this._disabled)return;let t=this.refs.input.value.trim();if(t===""){this.set({start:null,end:null});return}let e=ii(t,this._format,this._separator);if(!e){this.el.dataset.state="invalid",this.refs.input.setAttribute("aria-invalid","true"),this.emit("invalid",{text:t});return}this._apply(this._clamp(e))}_coerce(t){return t==null?{start:null,end:null}:typeof t=="string"?this._clamp(ii(t,this._format,this._separator)??{start:null,end:null}):Array.isArray(t)?this._clamp({start:this._toDate(t[0]),end:this._toDate(t[1])}):typeof t!="object"?{start:null,end:null}:this._clamp({start:this._toDate(t.start),end:this._toDate(t.end)})}_toDate(t){return t instanceof Date?Number.isNaN(t.getTime())?null:new Date(t.getTime()):typeof t=="number"&&Number.isFinite(t)?new Date(t*1e3):typeof t=="string"&&t.trim()!==""?V(t.trim(),this._format):null}_clamp(t){return Lt(t,{min:this.options.min,max:this.options.max,minNights:this.options.minNights,maxNights:this.options.maxNights})}_placeholder(){let t=this._format.replace(/%[demYy]/g,e=>oo[e]??e);return`${t}${this._separator}${t}`}_syncDisplay(){this.refs.input.value=Ls(this._range,this._format,this._separator),this.refs.clear.hidden=!this.options.clearable||!(this._range.start||this._range.end)}_syncDisabled(){this.refs.input.disabled=this._disabled,this.refs.toggle.disabled=this._disabled,this.refs.clear.disabled=this._disabled,this.el.setAttribute("aria-disabled",String(this._disabled)),this._disabled?this._picker?.disable():this._picker?.enable()}_setValid(){this.el.dataset.state==="invalid"&&ei(this.el,"data-state",this._originalState),this.refs.input.removeAttribute("aria-invalid")}_close(t){this._open&&(this._position?.destroy(),this._position=null,this._open=!1,this.refs.popover.dataset.state="closed",this.refs.input.setAttribute("aria-expanded","false"),this.refs.toggle.setAttribute("aria-expanded","false"),t&&this.focus(),this.emit("close"))}};function Fs(s,t,e){let i=Q(s);return I(i===s?t:i,e)}function ei(s,t,e){e===null?s.removeAttribute(t):s.setAttribute(t,e)}function Rs(){x.register("daterange",(s,t)=>{let e=s.own(new Vt(null,{...t.props??{},disabled:!!t.disabled,start:t.value?.start??null,end:t.value?.end??null}));return s.listen(e.el,"change",i=>i.stopImmediatePropagation()),e.on("change",i=>s.emit("change",{value:{start:i.detail.start,end:i.detail.end}})),{el:e.el,get:()=>e.get(),set:i=>e.set(i,{silent:!0}),focus:()=>e.focus(),setDisabled:i=>i?e.disable():e.enable()}})}var P=class extends f{static cssName="datebox";static defaults={value:null,format:"%d.%m.%Y",time:!1,min:null,max:null,placeholder:null,clearable:!0,disabled:!1};render(){let t=this.el??a("div");this.el=t,this._originalState=t.getAttribute("data-state"),this._originalAriaDisabled=t.getAttribute("aria-disabled"),this._format=ao(this.options.format,this.options.time),this._disabled=!!this.options.disabled,this._open=!1,this._position=null,this._min=Vs(this.options.min),this._max=Vs(this.options.max),this._value=this._normalizeValue(this.options.value);let e=b("zx-datebox-popover"),i=a("div",{class:"zx-datebox__content"},a("div",{ref:"control",class:"zx-datebox__control"},a("input",{ref:"input",class:"zx-datebox__input",type:"text",autocomplete:"off",placeholder:this.options.placeholder??lo(this._format),"aria-haspopup":"grid",ariaControls:e,ariaExpanded:"false"}),a("button",{ref:"clear",class:"zx-icon-btn zx-datebox__clear",type:"button",ariaLabel:"Clear date"},m("x",{size:13})),a("button",{ref:"toggle",class:"zx-datebox__toggle",type:"button",ariaLabel:"Choose date","aria-haspopup":"grid",ariaControls:e,ariaExpanded:"false"},m("calendar"))),a("div",{ref:"popover",id:e,class:"zx-datebox__popover",popover:"manual",dataset:{state:"closed"}}));return this._content=i,t.append(i),this._picker=new lt(null,{value:this._value,min:this._min,max:this._max,time:!!this.options.time}),this.refs.popover.append(this._picker.el),this._picker.on("change",r=>{this.set(r.detail.date),this.options.time||this._close(!0)}),this.listen(this.refs.input,"blur",()=>this._commitText()),this.listen(this.refs.input,"keydown",r=>this._onInputKeydown(r)),this.listen(this.refs.toggle,"click",()=>this._open?this.close():this.open()),this.listen(this.refs.toggle,"keydown",r=>{r.key==="ArrowDown"&&(r.preventDefault(),this.open())}),this.listen(this.refs.clear,"click",()=>{this.set(null),this.focus()}),this.listen(document,"keydown",r=>{!this._open||r.key!=="Escape"||(r.preventDefault(),this._close(!0))}),this.listen(document,"pointerdown",r=>{this._open&&!t.contains(r.target)&&this.close()}),this._syncDisplay(),this._syncDisabled(),t}get(t="date"){return this._value?t==="seconds"?Math.floor(this._value.getTime()/1e3):new Date(this._value.getTime()):null}set(t,{silent:e=!1}={}){return this._value=this._normalizeValue(t),this._picker?.set(this._value,{silent:!0}),this._setValid(),this._syncDisplay(),e||this.emit("change",{date:this._copyValue()}),this}open(){return this._disabled||this._open?this:(this._picker.set(this._value,{silent:!0}),this._open=!0,this.refs.popover.dataset.state="open",this.refs.input.setAttribute("aria-expanded","true"),this.refs.toggle.setAttribute("aria-expanded","true"),this._position=j(this.refs.control,this.refs.popover,{placement:"bottom-start",flip:!0}),this._picker.focus(),this.emit("open"),this)}close(){return this._close(!1),this}enable(){return this._disabled=!1,this._syncDisabled(),this}disable(){return this._disabled=!0,this.close(),this._syncDisabled(),this}focus(){return this.refs.input.focus(),this}destroy(){this._position?.destroy(),this._position=null,this._open=!1,this._picker?.destroy(),this._picker=null,this._content?.remove(),this._originalState===null?this.el.removeAttribute("data-state"):this.el.setAttribute("data-state",this._originalState),this._originalAriaDisabled===null?this.el.removeAttribute("aria-disabled"):this.el.setAttribute("aria-disabled",this._originalAriaDisabled),super.destroy()}_onInputKeydown(t){t.key==="ArrowDown"?(t.preventDefault(),this.open()):t.key==="Enter"?(t.preventDefault(),this._commitText()):t.key==="Escape"&&this._open&&(t.preventDefault(),this._close(!0))}_commitText(){if(this._disabled)return;let t=this.refs.input.value.trim();if(t===""){this.set(null);return}let e=V(t,this._format);if(!e){this.el.dataset.state="invalid",this.refs.input.setAttribute("aria-invalid","true"),this.emit("invalid",{text:t});return}this.set(e)}_normalizeValue(t){let e=null;return t instanceof Date&&!Number.isNaN(t.getTime())?e=new Date(t.getTime()):typeof t=="number"&&Number.isFinite(t)?e=new Date(t*1e3):typeof t=="string"&&(e=V(t,this._format)),!e||Number.isNaN(e.getTime())?null:He(e,this._min,this._max)}_syncDisplay(){this.refs.input.value=this._value?v(this._value,this._format):"",this.refs.clear.hidden=!this.options.clearable||!this._value}_syncDisabled(){this.refs.input.disabled=this._disabled,this.refs.toggle.disabled=this._disabled,this.refs.clear.disabled=this._disabled,this.el.setAttribute("aria-disabled",String(this._disabled))}_setValid(){this.el.dataset.state==="invalid"&&(this._originalState===null?this.el.removeAttribute("data-state"):this.el.setAttribute("data-state",this._originalState)),this.refs.input.removeAttribute("aria-invalid")}_close(t){this._open&&(this._position?.destroy(),this._position=null,this._open=!1,this.refs.popover.dataset.state="closed",this.refs.input.setAttribute("aria-expanded","false"),this.refs.toggle.setAttribute("aria-expanded","false"),t&&this.focus(),this.emit("close"))}_copyValue(){return this._value?new Date(this._value.getTime()):null}},si=function(t,e={}){return new P(t,{...e,time:!0})};function Vs(s){return s instanceof Date&&!Number.isNaN(s.getTime())?new Date(s.getTime()):null}function ao(s,t){let e=String(s||"%d.%m.%Y");return t&&!/%[HM]/.test(e)?`${e} %H:%M`:e}function lo(s){return s.replace(/%[demYyHMS]/g,t=>({"%d":"DD","%e":"D","%m":"MM","%Y":"YYYY","%y":"YY","%H":"HH","%M":"MM","%S":"SS"})[t]??t)}function Ps(){Bs("date",s=>new P(null,s)),Bs("datetime",s=>si(null,s))}function Bs(s,t){x.register(s,(e,i)=>{let r=e.own(t({...i.props??{},value:i.value}));return e.listen(r.el,"change",n=>n.stopImmediatePropagation()),r.on("change",n=>e.emit("change",{value:n.detail.date})),{el:r.el,get:()=>r.get(),set:n=>r.set(n,{silent:!0}),focus:()=>r.focus(),setDisabled:n=>n?r.disable():r.enable()}})}var Bt=class extends f{static cssName="field-upload";static defaults={url:"",paramName:"upload",params:{},headers:{},multiple:!1,accept:null,maxSize:null,autoUpload:!0,preview:!0,http:null};render(){let t=this.el??a("div");this.el=t,this._ownedNodes=[],this._files=[],this._disabled=!1,this._running=!1,this._runId=0,this._xhr=null,this._transportController=null,this._previewUrl=null,this._initialState=t.getAttribute("data-state"),this._initialDisabled=t.getAttribute("data-disabled");let e=b("zx-upload");return this._input=a("input",{class:"zx-field-upload__input",id:e,type:"file",multiple:!!this.options.multiple,accept:this.options.accept??void 0,tabIndex:-1}),this._dropzone=a("button",{class:"zx-field-upload__dropzone",type:"button",ariaControls:e,ariaLabel:this.options.multiple?"Choose files or drop them here":"Choose a file or drop it here"},a("span",{class:"zx-field-upload__prompt"},this.options.multiple?"Drop files here or choose files":"Drop a file here or choose a file"),a("span",{class:"zx-field-upload__hint"},ho(this.options))),this._preview=a("div",{class:"zx-field-upload__preview"}),this._progress=a("progress",{class:"zx-field-upload__progress",max:100,value:0,ariaLabel:"Upload progress"}),this._progressText=a("span",{class:"zx-field-upload__progress-text"},"0%"),this._abort=a("button",{class:"zx-btn zx-field-upload__abort",type:"button"},"Abort"),this._progressWrap=a("div",{class:"zx-field-upload__progress-wrap",hidden:!0},this._progress,this._progressText,this._abort),this._status=a("div",{class:"zx-field-upload__status",role:"status",ariaLive:"polite"}),this._ownedNodes.push(this._input,this._dropzone,this._preview,this._progressWrap,this._status),t.append(...this._ownedNodes),this.listen(this._dropzone,"click",()=>{!this._disabled&&!this._running&&this._input.click()}),this.listen(this._input,"change",()=>this._selectFiles(this._input.files)),this.listen(this._dropzone,"dragenter",i=>this._handleDragOver(i)),this.listen(this._dropzone,"dragover",i=>this._handleDragOver(i)),this.listen(this._dropzone,"dragleave",i=>{(!(i.relatedTarget instanceof Node)||!this._dropzone.contains(i.relatedTarget))&&this._setState("idle")}),this.listen(this._dropzone,"drop",i=>{i.preventDefault(),!(this._disabled||this._running)&&(this._setState("idle"),this._selectFiles(i.dataTransfer?.files??[]))}),this.listen(this._abort,"click",()=>this.abort()),this.setDisabled(!1),t}async upload(t=null){if(t!==null&&!this._setFiles(t)||this._disabled||this._running||this._files.length===0)return null;this._running=!0,this._runId+=1;let e=this._runId;this._setState("uploading"),this._progressWrap.hidden=!1,this._abort.hidden=!1,this._setProgress(0),this._status.textContent="Uploading\u2026";try{let i=this.options.http?await this._uploadInjected():await this._uploadXhr();return e!==this._runId?null:(this._running=!1,this._xhr=null,this._transportController=null,this._abort.hidden=!0,this._setProgress(100),this._setState("success"),this._status.textContent="Upload complete.",this.emit("success",{response:i}),i)}catch(i){if(e!==this._runId)return null;let r=i instanceof Error?i:new Error(String(i));return r.name==="AbortError"?(this._finishAbort(),null):(this._running=!1,this._xhr=null,this._transportController=null,this._abort.hidden=!0,this._setState("error"),this._status.textContent=r.message,this.emit("error",{error:r}),null)}}abort(){return this._running?(this._xhr?.abort(),this._transportController?.abort(),this._finishAbort(),this):this}clear(){return this._running&&this.abort(),this._files=[],this._input.value="",this._revokePreview(),this._preview.replaceChildren(),this._progress.value=0,this._progressText.textContent="0%",this._progressWrap.hidden=!0,this._status.textContent="",this._setState("idle"),this}setDisabled(t){return this._disabled=!!t,this._input.disabled=this._disabled,this._dropzone.disabled=this._disabled,this.el.dataset.disabled=String(this._disabled),this}_selectFiles(t){this._setFiles(t)&&(this._input.value="",this.options.autoUpload&&this.upload())}_setFiles(t){if(this._disabled||this._running)return!1;let e=Array.from(t??[]),i=this.options.multiple?e:e.slice(0,1);if(i.length===0)return!1;let r=i.find(o=>!uo(o,this.options.accept));if(r)return this._selectionError(new Error(`${r.name} is not an accepted file type.`)),!1;let n=this.options.maxSize==null?null:i.find(o=>o.size>Number(this.options.maxSize));return n?(this._selectionError(new Error(`${n.name} exceeds the maximum file size.`)),!1):(this._files=i,this._renderPreview(),this._status.textContent=i.map(o=>o.name).join(", "),this._setState("selected"),this.emit("select",{files:this._files.slice()}),!0)}_handleDragOver(t){t.preventDefault(),!this._disabled&&!this._running&&this._setState("dragover")}_uploadInjected(){let t=this.options.http;this._transportController=new AbortController;let e={files:this._files.slice(),paramName:String(this.options.paramName),params:{...this.options.params},headers:{...this.options.headers},signal:this._transportController.signal,onProgress:i=>this._setProgress(i)};return typeof t.upload=="function"?t.upload(String(this.options.url),e):typeof t.request=="function"?t.request(String(this.options.url),{method:"POST",data:e.params,files:e.files,headers:e.headers,signal:e.signal,onProgress:e.onProgress,paramName:e.paramName}):Promise.reject(new TypeError("Injected upload transport requires upload() or request()"))}_uploadXhr(){return typeof XMLHttpRequest!="function"?Promise.reject(new Error("XMLHttpRequest is not available")):new Promise((t,e)=>{let i=new XMLHttpRequest;this._xhr=i,i.open("POST",String(this.options.url));for(let[r,n]of Object.entries(this.options.headers??{}))i.setRequestHeader(r,String(n));this.listen(i.upload,"progress",r=>{r.lengthComputable&&this._setProgress(r.loaded/r.total*100)}),this.listen(i,"load",()=>{if(i.status<200||i.status>=300){e(new Error(`Upload failed with HTTP ${i.status}`));return}t(fo(i.responseText))}),this.listen(i,"error",()=>e(new Error("Upload request failed"))),this.listen(i,"abort",()=>e(_o())),i.send(po(this._files,String(this.options.paramName),this.options.params))})}_setProgress(t){let e=Math.max(0,Math.min(100,Number(t)||0));this._progress.value=e,this._progressText.textContent=`${Math.round(e)}%`,this.emit("progress",{percent:e})}_finishAbort(){this._running&&(this._runId+=1,this._running=!1,this._xhr=null,this._transportController=null,this._abort.hidden=!0,this._setState("idle"),this._status.textContent="Upload aborted.",this.emit("abort",{}))}_selectionError(t){this._setState("error"),this._status.textContent=t.message,this.emit("error",{error:t})}_renderPreview(){this._revokePreview(),this._preview.replaceChildren();let t=this._files[0];!this.options.preview||!t?.type?.startsWith("image/")||typeof URL>"u"||typeof URL.createObjectURL!="function"||(this._previewUrl=URL.createObjectURL(t),this._preview.append(a("img",{class:"zx-field-upload__image",src:this._previewUrl,alt:`Preview of ${t.name}`})))}_revokePreview(){this._previewUrl&&typeof URL<"u"&&typeof URL.revokeObjectURL=="function"&&URL.revokeObjectURL(this._previewUrl),this._previewUrl=null}_setState(t){t==="idle"?this.el.removeAttribute("data-state"):this.el.dataset.state=t}destroy(){this._running&&this.abort(),this._revokePreview();for(let t of this._ownedNodes??[])t.remove();this._initialState===null?this.el.removeAttribute("data-state"):this.el.setAttribute("data-state",this._initialState),this._initialDisabled===null?this.el.removeAttribute("data-disabled"):this.el.setAttribute("data-disabled",this._initialDisabled),super.destroy()}};function ho(s){let t=[];return s.accept&&t.push(String(s.accept)),s.maxSize!=null&&t.push(`up to ${co(Number(s.maxSize))}`),t.join(" \xB7 ")||"Choose from this device"}function co(s){return s<1024?`${s} B`:s<1024*1024?`${Math.round(s/1024)} KB`:`${Math.round(s/(1024*1024))} MB`}function uo(s,t){if(!t)return!0;let e=String(s.type??"").toLowerCase();return String(t).split(",").map(i=>i.trim().toLowerCase()).filter(Boolean).some(i=>i.startsWith(".")?s.name.toLowerCase().endsWith(i):i.endsWith("/*")?e.startsWith(i.slice(0,-1)):e===i)}function po(s,t,e){let i=new FormData;for(let r of s)i.append(t,r);for(let[r,n]of Object.entries(e??{}))js(i,r,n);return i}function js(s,t,e){if(e==null)return;if(Array.isArray(e)){for(let r of e)js(s,t,r);return}typeof Blob=="function"&&e instanceof Blob?s.append(t,e):s.append(t,typeof e=="object"?JSON.stringify(e):String(e))}function fo(s){if(!s)return null;try{return JSON.parse(s)}catch{return s}}function _o(){if(typeof DOMException=="function")return new DOMException("Upload aborted","AbortError");let s=new Error("Upload aborted");return s.name="AbortError",s}function Hs(){x.register("upload",(s,t)=>{let e=s.own(new Bt(null,{...t.props??{}}));return s.listen(e.el,"change",i=>i.stopImmediatePropagation()),e.on("select",()=>s.emit("change",{value:null})),{el:e.el,get:()=>null,set:()=>e.clear(),focus:()=>e.el.querySelector(".zx-field-upload__dropzone")?.focus(),setDisabled:i=>e.setDisabled(i)}})}var Pt=class extends f{static cssName="multi-value-editor";static defaults={values:[],options:null,addLabel:"Add value"};render(){let t=this.el??a("div");return this._values=Array.isArray(this.options.values)?this.options.values.map(String):[],this._ownedNodes=[],this._rows=a("div",{class:"zx-multi-value-editor__rows"}),this._add=a("button",{class:"zx-btn zx-multi-value-editor__add",type:"button",dataset:{action:"add"}},String(this.options.addLabel??"Add value")),this._ownedNodes.push(this._rows,this._add),t.append(this._rows,this._add),this.listen(t,"click",e=>this._handleClick(e)),this.listen(this._rows,"change",e=>this._handleChange(e)),this._renderRows(),t}getValues(){return this._values.slice()}setValues(t,{silent:e=!1}={}){return this._values=Array.isArray(t)?t.map(String):[],this._renderRows(),e||this.emit("change",{values:this.getValues()}),this}_renderRows(t=-1){let e=qs(this.options.options),i=this.options.options!==null,r=this._values.map((n,o)=>{let l=i?a("select",{class:"zx-multi-value-editor__value",ariaLabel:`Value ${o+1}`,dataset:{index:o}},e.map(([h,c])=>a("option",{value:h,selected:h===n},c))):a("input",{class:"zx-multi-value-editor__value",type:"text",value:n,ariaLabel:`Value ${o+1}`,dataset:{index:o}});return a("div",{class:"zx-multi-value-editor__row",dataset:{row:o}},l,a("div",{class:"zx-multi-value-editor__controls"},a("button",{class:"zx-btn",type:"button",disabled:o===0,ariaLabel:`Move value ${o+1} up`,dataset:{action:"up",index:o}},"\u2191"),a("button",{class:"zx-btn",type:"button",disabled:o===this._values.length-1,ariaLabel:`Move value ${o+1} down`,dataset:{action:"down",index:o}},"\u2193"),a("button",{class:"zx-btn",type:"button",ariaLabel:`Remove value ${o+1}`,dataset:{action:"remove",index:o}},"\xD7")))});this._rows.replaceChildren(...r),t>=0&&r[t]?.querySelector(".zx-multi-value-editor__value")?.focus()}_handleClick(t){let e=t.target instanceof Element?t.target.closest("[data-action]"):null;if(!e||!this.el.contains(e))return;let i=e.dataset.action,r=Number(e.dataset.index);if(i==="add"){let n=qs(this.options.options);this._values.push(this.options.options===null?"":n[0]?.[0]??""),this._renderRows(this._values.length-1),this._emitChange()}else if(i==="remove"&&Number.isInteger(r))this._values.splice(r,1),this._renderRows(Math.min(r,this._values.length-1)),this._emitChange();else if((i==="up"||i==="down")&&Number.isInteger(r)){let n=r+(i==="up"?-1:1);if(n<0||n>=this._values.length)return;[this._values[r],this._values[n]]=[this._values[n],this._values[r]],this._renderRows(n),this._emitChange()}}_handleChange(t){let e=t.target instanceof Element?t.target.closest("[data-index]"):null;if(!e)return;let i=Number(e.dataset.index);!Number.isInteger(i)||i<0||i>=this._values.length||(this._values[i]=e.value,this._emitChange())}_emitChange(){this.emit("change",{values:this.getValues()})}destroy(){for(let t of this._ownedNodes??[])t.remove();super.destroy()}};function qs(s){return Array.isArray(s)?s.map(t=>[String(t),String(t)]):s&&typeof s=="object"?Object.entries(s).map(([t,e])=>[t,String(e)]):[]}function $s(){x.register("multivalueeditor",(s,t)=>{let e=s.own(new Pt(null,{...t.props??{},values:Array.isArray(t.value)?t.value:[]})),i=new WeakMap,r=!1,n=()=>{e.el.setAttribute("aria-disabled",String(r));for(let o of e.el.querySelectorAll("input, button, select, textarea"))r?(i.has(o)||i.set(o,!!o.disabled),o.disabled=!0):i.has(o)&&(o.disabled=i.get(o),i.delete(o))};return s.listen(e.el,"change",o=>o.stopImmediatePropagation()),e.on("change",o=>s.emit("change",{value:o.detail.values})),{el:e.el,get:()=>e.getValues(),set:o=>{e.setValues(Array.isArray(o)?o:[],{silent:!0}),n()},focus:()=>e.el.querySelector(".zx-multi-value-editor__value:not([disabled]), button:not([disabled])")?.focus(),setDisabled:o=>{r=!!o,n()}}})}var ct=class extends f{static cssName="number-field";static defaults={value:null,min:null,max:null,step:1,largeStep:10,precision:null,wrap:!1,placeholder:"",label:null,unit:null,disabled:!1,readonly:!1,required:!1,name:null,group:!1,locale:null};render(){this._value=null,this._disabled=!1,this._readonly=!1,this._editing=!1,this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el);let t=this.el??a("div");this.el=t;let e=mo(this.options.step);this._step=e,this._precision=this.options.precision===null?go(e):Math.max(0,Math.trunc(Number(this.options.precision)||0));let i=this._stepButton("down","minus"),r=this._stepButton("up","plus"),n=a("input",{ref:"input",class:"zx-number-field__input",type:"text",role:"spinbutton",inputMode:this._precision>0?"decimal":"numeric",autocomplete:"off",spellcheck:!1,placeholder:String(this.options.placeholder??""),ariaLabel:this.options.label??void 0,name:this.options.name??void 0,required:!!this.options.required}),o=[i,n];return this.options.unit!==null&&o.push(a("span",{ref:"unit",class:"zx-number-field__unit",ariaHidden:"true"},String(this.options.unit))),o.push(r),t.replaceChildren(...o),this._disabled=!!this.options.disabled,this._readonly=!!this.options.readonly,this.listen(n,"input",()=>this._onInput()),this.listen(n,"keydown",l=>this._onKeydown(l)),this.listen(n,"focus",()=>{this._editing=!0,this._syncInput()}),this.listen(n,"blur",()=>{this._commit(),this._editing=!1,this._syncInput()}),this.listen(i,"click",()=>this._stepBy(-1)),this.listen(r,"click",()=>this._stepBy(1)),this.listen(n,"wheel",l=>{document.activeElement!==n||this._disabled||this._readonly||(l.preventDefault(),this._stepBy(l.deltaY<0?1:-1))},{passive:!1}),this.set(this.options.value,{silent:!0}),this._syncDisabled(),t}get value(){return this._value}set value(t){this.set(t)}get(){return this._value}set(t,{silent:e=!1}={}){let i=this._coerce(t),r=i!==this._value;return this._value=i,this._syncInput(),r&&!e&&this.emit("change",{value:this._value}),this}stepUp(t=1){return this._stepBy(t)}stepDown(t=1){return this._stepBy(-t)}reset({silent:t=!1}={}){return this.set(this.options.value,{silent:t})}focus(){return this.refs.input.focus(),this}getInput(){return this.refs.input}enable(){return this._disabled=!1,this._syncDisabled(),this}disable(){return this._disabled=!0,this._syncDisabled(),this}setReadonly(t){return this._readonly=!!t,this._syncDisabled(),this}setRange(t,e){return this._min=t==null?null:Number(t),this._max=e==null?null:Number(e),this.set(this._value,{silent:!0})}_stepButton(t,e){return a("button",{ref:t,class:"zx-number-field__step",type:"button",tabIndex:-1,ariaHidden:"true",dataset:{step:t}},m(e,{size:13}))}get _rangeMin(){return this._min!==void 0?this._min:this.options.min===null||this.options.min===void 0?null:Number(this.options.min)}get _rangeMax(){return this._max!==void 0?this._max:this.options.max===null||this.options.max===void 0?null:Number(this.options.max)}_coerce(t){let e=me(t,this.options.group?this._separators():null);return e===null?null:ge(e,{min:this._rangeMin,max:this._rangeMax,step:this._step,precision:this._precision})}_stepBy(t){if(this._disabled||this._readonly)return this;let e=this._rangeMin,i=this._rangeMax,n=me(this.refs.input.value)??this._value,o=n===null?e??0:n,l=n===null&&t>0&&e!==null?e-this._step*t:o,h=Ks(l+this._step*t,this._precision);return this.options.wrap&&e!==null&&i!==null&&(h>i?h=e:h<e&&(h=i)),this.set(h),this}_separators(){if(this._localeSeparators)return this._localeSeparators;let t=new Intl.NumberFormat(this.options.locale??void 0,{minimumFractionDigits:1}).formatToParts(1234.5);return this._localeSeparators={group:t.find(e=>e.type==="group")?.value??",",decimal:t.find(e=>e.type==="decimal")?.value??"."},this._localeSeparators}_onInput(){let t=me(this.refs.input.value,this.options.group?this._separators():null);this._syncAria(t),this.emit("input",{value:t})}_onKeydown(t){if(this._disabled||this._readonly)return;let e=Math.max(1,Math.trunc(Number(this.options.largeStep)||1)),r={ArrowUp:()=>this._stepBy(1),ArrowDown:()=>this._stepBy(-1),PageUp:()=>this._stepBy(e),PageDown:()=>this._stepBy(-e),Home:()=>this._rangeMin===null?null:this.set(this._rangeMin),End:()=>this._rangeMax===null?null:this.set(this._rangeMax),Enter:()=>this._commit()}[t.key];r&&(t.key==="Home"&&this._rangeMin===null||t.key==="End"&&this._rangeMax===null||(t.preventDefault(),r()))}_commit(){this.set(this.refs.input.value)}_syncInput(){let t=this.refs.input,e=this._value===null?"":this._format(this._value,this._editing);t.value!==e&&(t.value=e),this._syncAria(this._value)}_syncAria(t){let e=this.refs.input,i=this._rangeMin,r=this._rangeMax;if(i===null?e.removeAttribute("aria-valuemin"):e.setAttribute("aria-valuemin",String(i)),r===null?e.removeAttribute("aria-valuemax"):e.setAttribute("aria-valuemax",String(r)),t===null)e.removeAttribute("aria-valuenow"),e.setAttribute("aria-valuetext",this._message("numberField.empty","Empty"));else{e.setAttribute("aria-valuenow",String(t));let n=this.options.unit===null?"":` ${this.options.unit}`;e.setAttribute("aria-valuetext",`${this._format(t,!1)}${n}`)}this.el.toggleAttribute("data-empty",t===null)}_format(t,e){return this.options.group?new Intl.NumberFormat(this.options.locale??void 0,{minimumFractionDigits:this._precision,maximumFractionDigits:this._precision,useGrouping:!e}).format(t):t.toFixed(this._precision)}_message(t,e){let i=this.msg(t);return i===t?e:i}_syncDisabled(){let t=this.refs.input;t.disabled=this._disabled,t.readOnly=this._readonly,this.refs.up.disabled=this._disabled||this._readonly,this.refs.down.disabled=this._disabled||this._readonly,this.el.toggleAttribute("data-disabled",this._disabled),this.el.toggleAttribute("data-readonly",this._readonly),this._disabled?this.el.setAttribute("aria-disabled","true"):this.el.removeAttribute("aria-disabled")}destroy(){let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}};function me(s,t=null){if(typeof s=="number")return Number.isFinite(s)?s:null;if(s==null)return null;let e=String(s).trim();if(e==="")return null;let i;if(t)i=e.split(t.group).join("").replace(t.decimal,".").replace(/[^\d.\-+eE]/g,"");else{let n=e.replace(/[^\d,.\-+eE]/g,""),o=n.lastIndexOf(","),l=n.lastIndexOf(".");i=n,o>=0&&o>l?i=n.replace(/\./g,"").replace(",","."):o>=0&&(i=n.replace(/,/g,""))}if(!/\d/.test(i))return null;let r=Number(i);return Number.isFinite(r)?r:null}function ge(s,{min:t,max:e,step:i,precision:r}){let n=s;if(i>0){let o=t??0;n=o+Math.round((s-o)/i)*i}return n=Ks(n,r),t!==null&&n<t?t:e!==null&&n>e?e:n}function mo(s){let t=Number(s);return Number.isFinite(t)&&t>0?t:1}function go(s){let t=String(s),e=t.match(/e-(\d+)/i);if(e)return Number(e[1]);let i=t.split(".")[1];return i?i.length:0}function Ks(s,t){return Number.isFinite(s)?Number(s.toFixed(Math.min(15,Math.max(0,t)))):s}function Ys(){x.register("number",(s,t)=>{let e=s.own(new ct(null,{label:t.label?String(t.label):void 0,placeholder:t.placeholder,required:t.required,...t.props??{}})),i=!1;return s.listen(e.el,"change",r=>r.stopImmediatePropagation()),e.on("change",r=>{i||s.emit("change",{value:r.detail.value})}),{el:e.el,get:()=>e.get(),set:r=>{i=!0;try{e.set(r===""||r===null||r===void 0?null:r,{silent:!0})}finally{i=!1}},focus:()=>e.focus(),setDisabled:r=>r?e.disable():e.enable()}})}var Ht=class extends f{static cssName="rating";static defaults={value:0,max:5,allowHalf:!1,clearable:!0,readonly:!1,disabled:!1,label:"Rating",icon:"star",labels:null,showValue:!1,count:null,size:"md"};render(){this._value=0,this._preview=null,this._disabled=!1,this._readonly=!1,this._radios=[],this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el);let t=this.el??a("div");this.el=t,this._max=Math.max(1,Math.trunc(Number(this.options.max)||5)),this._step=this.options.allowHalf?.5:1,this._disabled=!!this.options.disabled,this._readonly=!!this.options.readonly,this._name=b("zx-rating");let e=a("div",{ref:"symbols",class:"zx-rating__symbols",role:"radiogroup",ariaLabel:String(this.options.label??"Rating")});for(let i=1;i<=this._max;i+=1){let r=a("span",{class:"zx-rating__symbol"},a("span",{class:"zx-rating__glyph",ariaHidden:"true"},m(this.options.icon,{size:jt[this.options.size]??jt.md})),a("span",{class:"zx-rating__glyph",dataset:{part:"on"},ariaHidden:"true"},m(this.options.icon,{size:jt[this.options.size]??jt.md})));this.options.allowHalf?r.append(this._radio(i-.5,"half"),this._radio(i,"full")):r.append(this._radio(i,"full")),e.append(r)}return t.replaceChildren(e,a("span",{ref:"readout",class:"zx-rating__readout"})),t.dataset.size=jt[this.options.size]?this.options.size:"md",this.listen(e,"keydown",i=>this._onKeydown(i)),this.listen(e,"pointerleave",()=>this._setPreview(null)),this.set(this.options.value,{silent:!0}),this._syncDisabled(),t}get value(){return this._value}set value(t){this.set(t)}get(){return this._value}set(t,{silent:e=!1}={}){let i=this._clamp(t),r=i!==this._value;return this._value=i,this._preview=null,this._sync(),r&&!e&&this.emit("change",{value:this._value}),this}clear({silent:t=!1}={}){return this.set(0,{silent:t})}reset({silent:t=!1}={}){return this.set(this.options.value,{silent:t})}setCount(t){return this._count=t,this._syncReadout(),this}focus(){return(this._radios.find(e=>e.tabIndex===0)??this._radios[0])?.focus(),this}enable(){return this._disabled=!1,this._syncDisabled(),this}disable(){return this._disabled=!0,this._syncDisabled(),this}setReadonly(t){return this._readonly=!!t,this._syncDisabled(),this}_radio(t,e){let i=a("button",{class:"zx-rating__radio",type:"button",role:"radio",tabIndex:-1,ariaChecked:"false",ariaLabel:this._stepLabel(t),dataset:{value:String(t),part:e}});return this.listen(i,"click",r=>{this._choose(t,r.detail>0)}),this.listen(i,"pointerenter",()=>this._setPreview(t)),this.listen(i,"focus",()=>this._setPreview(t)),this.listen(i,"blur",()=>this._setPreview(null)),this._radios.push(i),i}_stepLabel(t){let e=this.options.labels;if(Array.isArray(e)){let i=Math.round(t/this._step)-1;if(e[i]!=null)return String(e[i])}return this._message("rating.value","%1 of %2",[t,this._max])}_message(t,e,i){let r=this.msg(t,...i);return r===t?I(e,i):r}_choose(t,e){this._disabled||this._readonly||(e&&this.options.clearable&&t===this._value?this.set(0):this.set(t))}_onKeydown(t){if(this._disabled||this._readonly)return;let e=["ArrowRight","ArrowDown"],i=["ArrowLeft","ArrowUp"];if(e.includes(t.key))t.preventDefault(),this.set(this._value>=this._max?this._step:(this._value||0)+this._step);else if(i.includes(t.key))t.preventDefault(),this.set(this._value<=this._step?this._max:this._value-this._step);else if(t.key==="Home")t.preventDefault(),this.set(this._step);else if(t.key==="End")t.preventDefault(),this.set(this._max);else if((t.key==="Delete"||t.key==="Backspace")&&this.options.clearable)t.preventDefault(),this.set(0);else return;this.focus()}_setPreview(t){let e=this._disabled||this._readonly?null:t;e!==this._preview&&(this._preview=e,this._paint(),this.emit("hover",{value:this._preview}))}_clamp(t){let e=Number(t);if(!Number.isFinite(e)||e<=0)return 0;let i=Math.round(e/this._step)*this._step;return Math.min(this._max,Math.max(0,i))}_sync(){for(let e of this._radios){let i=Number(e.dataset.value);e.setAttribute("aria-checked",String(i===this._value))}let t=this._radios.find(e=>e.getAttribute("aria-checked")==="true");for(let e of this._radios)e.tabIndex=-1;(t??this._radios[0]).tabIndex=0,this._paint(),this._syncReadout()}_paint(){let t=this._preview??this._value;this.refs.symbols.querySelectorAll(".zx-rating__symbol").forEach((i,r)=>{let n=Math.min(1,Math.max(0,t-r));i.style.setProperty("--zx-rating-fill",`${n*100}%`),i.toggleAttribute("data-preview",this._preview!==null)}),this.el.dataset.value=String(t)}_syncReadout(){let t=this.refs.readout;if(!t)return;let e=this._count===void 0?this.options.count:this._count,i=[];this.options.showValue&&i.push(bo(this._value,this._step)),e!=null&&i.push(this._message("rating.count","%1 ratings",[e])),t.textContent=i.join(" \xB7 ")}_syncDisabled(){let t=this._disabled||this._readonly;for(let e of this._radios)e.disabled=this._disabled;this.refs.symbols.setAttribute("aria-readonly",String(this._readonly)),this.el.toggleAttribute("data-disabled",this._disabled),this.el.toggleAttribute("data-readonly",this._readonly),this.el.toggleAttribute("data-inert",t),this._disabled?this.el.setAttribute("aria-disabled","true"):this.el.removeAttribute("aria-disabled")}destroy(){let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}},jt={sm:14,md:18,lg:24};function bo(s,t){return t<1?s.toFixed(1):String(s)}function Us(){x.register("rating",(s,t)=>{let e=s.own(new Ht(null,{label:t.label?String(t.label):void 0,...t.props??{}})),i=!1;return e.on("change",r=>{i||s.emit("change",{value:r.detail.value})}),{el:e.el,get:()=>e.get()||null,set:r=>{i=!0;try{e.set(Number(r)||0,{silent:!0})}finally{i=!1}},focus:()=>e.focus(),setDisabled:r=>r?e.disable():e.enable()}})}var yo=["a[href]","area[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","iframe","object","embed",'[contenteditable="true"]','[tabindex]:not([tabindex="-1"])'].join(",");function xo(s){let t=!1,e=null;function i(r){if(r.key!=="Tab")return;let n=Ws(s);if(n.length===0){r.preventDefault();return}let o=n[0],l=n[n.length-1];r.shiftKey&&(document.activeElement===o||!s.contains(document.activeElement))?(r.preventDefault(),l.focus()):!r.shiftKey&&(document.activeElement===l||!s.contains(document.activeElement))&&(r.preventDefault(),o.focus())}return{activate(){t||(t=!0,e=document.activeElement,document.addEventListener("keydown",i),Ws(s)[0]?.focus())},deactivate(){t&&(t=!1,document.removeEventListener("keydown",i),e?.isConnected&&typeof e.focus=="function"&&e.focus(),e=null)}}}function ut(s,t,{orientation:e="vertical",wrap:i=!0}={}){let r=new AbortController,n=new Map,o=!1;function l(){return Array.from(s.querySelectorAll(t)).filter(p=>(h(p),Qs(p)))}function h(p){n.has(p)||n.set(p,p.getAttribute("tabindex"))}function c(p=null){let g=l(),y=p&&g.includes(p)?p:g.find(A=>A.tabIndex===0)??g[0];for(let A of g){let C=A===y?0:-1;A.tabIndex!==C&&(A.tabIndex=C)}}function u(p){let g=l(),y=p.target?.closest?.(t),A=g.indexOf(y);if(A<0)return;let C=e==="horizontal"?"ArrowLeft":"ArrowUp",Fe=e==="horizontal"?"ArrowRight":"ArrowDown",L=null;p.key==="Home"?L=0:p.key==="End"?L=g.length-1:p.key===C?L=A-1:p.key===Fe&&(L=A+1),!(L===null||g.length===0)&&(i?L=(L+g.length)%g.length:L=Math.max(0,Math.min(g.length-1,L)),p.preventDefault(),c(g[L]),g[L].focus())}function d(p){let g=p.target?.closest?.(t);g&&s.contains(g)&&c(g)}s.addEventListener("keydown",u,{signal:r.signal}),s.addEventListener("focusin",d,{signal:r.signal});let _=typeof MutationObserver=="function"?new MutationObserver(()=>c()):null;return _?.observe(s,{childList:!0,subtree:!0,attributes:!0}),c(),{focusFirst(){let p=l()[0];p&&(c(p),p.focus())},focusLast(){let p=l(),g=p[p.length-1];g&&(c(g),g.focus())},destroy(){if(!o){o=!0,r.abort(),_?.disconnect();for(let[p,g]of n)g===null?p.removeAttribute("tabindex"):p.setAttribute("tabindex",g);n.clear()}}}}function K(s,t){let e="",i=null;return function(n){let o=typeof n=="string"?n:n.key;if(typeof n!="string"&&(n.ctrlKey||n.metaKey||n.altKey)||!o||o.length!==1||/\s/.test(o))return;i!==null&&clearTimeout(i),e+=o.toLocaleLowerCase(),e.split("").every(c=>c===e[0])&&(e=e[0]),i=setTimeout(()=>{e="",i=null},500);let l=s(),h=l.findIndex(c=>vo(c).startsWith(e));h>=0&&t(l[h],h)}}function Ws(s){return Array.from(s.querySelectorAll(yo)).filter(t=>Qs(t)&&t.getClientRects().length>0)}function Qs(s){return!(!(s instanceof HTMLElement)||s.hidden||s.getAttribute("aria-hidden")==="true"||s.matches(":disabled"))}function vo(s){if(typeof s=="string"||typeof s=="number")return String(s).trim().toLocaleLowerCase();if(s&&typeof s=="object"&&"textContent"in s)return String(s.textContent??"").trim().toLocaleLowerCase();if(s&&typeof s=="object"){let t=s.label??s.text??s.value;if(t!=null)return String(t).trim().toLocaleLowerCase()}return String(s??"").trim().toLocaleLowerCase()}var wo=["priority.lowest","priority.low","priority.normal","priority.high","priority.highest"],ko=["Lowest","Low","Normal","High","Highest"],F=class s extends f{static cssName="select";static defaults={items:[],valueKey:"ID",labelKey:"name",renderItem:null,renderValue:null,value:null,disabled:!1,placeholder:"",clearable:!1,filter:!1,searchKeys:null,minQuery:0,debounce:200,listHeight:280,groupKey:null};render(){this._items=[],this._visibleItems=[],this._selected=null,this._optionEntries=[],this._activeIndex=-1,this._open=!1,this._disabled=!1,this._loading=!1,this._requestSequence=0,this._queryTimer=null,this._position=null,this._createdRoot=!1,this._root=null,this._originalChildren=[],this._originalAttributes=new Map,this._createdRoot=this.el===null;let t=this.el??a("div");this.el=t,this._root=t,this._createdRoot||(this._originalChildren=Array.from(t.childNodes)),this._rememberAttribute(t,"data-state"),this._rememberAttribute(t,"data-loading"),this._rememberAttribute(t,"aria-disabled");let e=b("zx-select-list"),i=a("input",{ref:"input",class:"zx-select__input",type:"text",role:"combobox",autocomplete:"off",spellcheck:!1,ariaExpanded:"false",ariaControls:e,ariaAutocomplete:this.options.filter?"list":"none",placeholder:String(this.options.placeholder??""),readOnly:!this.options.filter}),r=a("button",{ref:"clear",class:"zx-icon-btn zx-select__clear",type:"button",tabIndex:-1,ariaLabel:this._message("select.clear","Clear selection"),hidden:!0},m("x",{size:13})),n=a("span",{ref:"loading",class:"zx-select__loading",role:"status",ariaLabel:this._message("select.loading","Loading"),hidden:!0}),o=a("button",{ref:"toggle",class:"zx-select__toggle",type:"button",tabIndex:-1,ariaLabel:this._message("select.toggle","Toggle options")},m("chevron-down",{size:16})),l=a("div",{ref:"control",class:"zx-select__control"},i,r,n,o),h=a("div",{ref:"list",class:"zx-select__list",id:e,role:"listbox"});h.style.maxBlockSize=`${Math.max(0,Number(this.options.listHeight)||0)}px`;let c=a("div",{ref:"panel",class:"zx-select__panel",popover:"manual"},h);return t.replaceChildren(l,c),this._items=Array.isArray(this.options.items)?this.options.items.slice():[],this._visibleItems=this._items.slice(),this._disabled=!!this.options.disabled,this._handleTypeahead=K(()=>this._optionEntries.filter(u=>!u.clear).map(u=>u.element),(u,d)=>{this._open||this.open(),this._setActive(this._itemEntryIndex(d))}),this.listen(i,"click",()=>this.open()),this.listen(i,"input",()=>this._onInput()),this.listen(i,"keydown",u=>this._onKeydown(u)),this.listen(o,"click",()=>{this.focus(),this._open?this.close():this.open()}),this.listen(r,"click",()=>{this.set(null),this.focus()}),this.listen(c,"pointerdown",u=>u.preventDefault()),this.listen(c,"click",u=>this._onOptionClick(u)),this.listen(document,"pointerdown",u=>{this._open&&!t.contains(u.target)&&this.close()},{capture:!0}),this._renderOptions(),this.set(this.options.value,{silent:!0}),this._syncDisabled(),t}get value(){return this._selected===null?null:this._itemValue(this._selected)}set value(t){this.set(t)}get selected(){return this._selected}set(t,{silent:e=!1}={}){let i=this.value,r=t==null?null:this._findItem(t);this._selected=r,this._syncInputValue(),this._renderOptions();let n=this.value;return!e&&!Object.is(i,n)&&this.emit("change",{value:n,item:r}),this}setItems(t){let e=this.value;return this._items=Array.isArray(t)?t.slice():[],this._visibleItems=this._items.slice(),this._selected=e==null?null:this._items.find(i=>Object.is(this._itemValue(i),e))??null,this._syncInputValue(),this._renderOptions(),this._position?.update(),this}reset({silent:t=!1}={}){return this.set(this.options.value,{silent:t}),this}open(){return this._disabled||this._open?this:(this._open=!0,this.el.setAttribute("data-state","open"),this.refs.input.setAttribute("aria-expanded","true"),this._renderOptions(),this._position=j(this.refs.control,this.refs.panel,{placement:"bottom-start",flip:!0,matchWidth:!0}),this._setActive(this._selectedEntryIndex()),this._activeIndex<0&&this._optionEntries.length>0&&this._setActive(0),this.options.filter&&this._selected!==null&&this.refs.input.select(),typeof this.options.filter=="function"&&this._scheduleAsyncQuery(""),this.emit("open",{}),this)}close(){return this._open?(this._open=!1,this._cancelQuery(),this._setLoading(!1),this._position?.destroy(),this._position=null,this.el.setAttribute("data-state","closed"),this.refs.input.setAttribute("aria-expanded","false"),this.refs.input.removeAttribute("aria-activedescendant"),this._activeIndex=-1,this._visibleItems=this._items.slice(),this._syncInputValue(),this.emit("close",{}),this):this}enable(){return this._disabled=!1,this._syncDisabled(),this}disable(){return this.close(),this._disabled=!0,this._syncDisabled(),this}focus(){return this.refs.input.focus(),this}static priority(t,e={}){let i=e.value??null,r=new s(t,{...e,value:null,items:[],renderItem(n){return a("span",{class:"zx-select__priority"},a("span",{class:"zx-select__priority-icon",dataset:{level:n.level},ariaHidden:"true"}),a("span",{},String(n.name)))}});return r.setItems(wo.map((n,o)=>({ID:o,name:r._message(n,ko[o]),level:o}))),r.set(i,{silent:!0}),r}destroy(){this._cancelQuery(),this._position?.destroy(),this._position=null;let t=this.el;if(!this._createdRoot&&t){t.replaceChildren(...this._originalChildren);for(let[e,i]of this._originalAttributes)i===null?t.removeAttribute(e):t.setAttribute(e,i)}super.destroy()}_onKeydown(t){if(!this._disabled){if(t.key==="ArrowDown"){t.preventDefault(),this._open?this._moveActive(1):this.open();return}if(t.key==="ArrowUp"){t.preventDefault(),this._open?this._moveActive(-1):(this.open(),this._setActive(this._optionEntries.length-1));return}if(t.key==="Home"&&this._open){t.preventDefault(),this._setActive(0);return}if(t.key==="End"&&this._open){t.preventDefault(),this._setActive(this._optionEntries.length-1);return}if(t.key==="Enter"&&this._open){t.preventDefault(),this._chooseEntry(this._optionEntries[this._activeIndex]);return}if(t.key==="Escape"&&this._open){t.preventDefault(),this.close();return}if(t.key==="Tab"&&this._open){this.close();return}!this.options.filter&&Ao(t)&&this._handleTypeahead(t)}}_onInput(){if(!this.options.filter)return;let t=this.refs.input.value;if(this._open||this.open(),this.options.filter==="local"){let e=this.options.searchKeys??[this.options.labelKey];this._visibleItems=ot(this._items,t,e),this._renderOptions(),this._setActive(this._optionEntries.length>0?0:-1),this._position?.update()}else typeof this.options.filter=="function"&&this._scheduleAsyncQuery(t)}_onOptionClick(t){let e=t.target?.closest?.('[role="option"]');!e||!this.refs.panel.contains(e)||this._chooseEntry(this._optionEntries[Number(e.getAttribute("data-index"))])}_chooseEntry(t){t&&(this.set(t.clear?null:t.item),this.close(),this.focus())}_moveActive(t){let e=this._optionEntries.length;e!==0&&this._setActive((this._activeIndex+t+e)%e)}_setActive(t){this._activeIndex=t>=0&&t<this._optionEntries.length?t:-1,this._optionEntries.forEach((i,r)=>{r===this._activeIndex?i.element.setAttribute("data-active","true"):i.element.removeAttribute("data-active")});let e=this._optionEntries[this._activeIndex]?.element;e?(this.refs.input.setAttribute("aria-activedescendant",e.id),e.scrollIntoView?.({block:"nearest"})):this.refs.input.removeAttribute("aria-activedescendant")}_renderOptions(){let t=this.refs.list;if(!t)return;t.replaceChildren(),this._optionEntries=[];let e=Symbol("initial-group");this.options.clearable&&this._appendOption(null,!0,this.options.placeholder||this._message("select.none","No selection"));for(let i of this._visibleItems){if(this.options.groupKey){let r=this._read(i,this.options.groupKey);Object.is(r,e)||(t.append(a("div",{class:"zx-select__group",role:"presentation"},String(r??""))),e=r)}this._appendOption(i,!1)}this._visibleItems.length===0&&!this._loading&&t.append(a("div",{class:"zx-select__empty",role:"status"},this._message("select.empty","No matches"))),this._setActive(-1)}_appendOption(t,e,i){let r=e?this._selected===null:this._selected!==null&&Object.is(this._itemValue(t),this.value),n=this._optionEntries.length,o=e?String(i??""):this._renderItem(t),l=a("div",{class:"zx-select__option",id:b("zx-select-option"),role:"option",ariaSelected:String(r),dataset:{index:n}},a("span",{class:"zx-select__option-content"},o));r&&l.append(m("check",{size:15})),this.refs.list.append(l),this._optionEntries.push({item:t,clear:e,element:l})}_renderItem(t){if(typeof this.options.renderItem=="function"){let e=this.options.renderItem(t);return e&&typeof e=="object"&&"nodeType"in e?e:String(e??"")}return this._itemLabel(t)}_scheduleAsyncQuery(t){this._queryTimer!==null&&clearTimeout(this._queryTimer),this._requestSequence+=1;let e=this._requestSequence;if(t.length<Math.max(0,Number(this.options.minQuery)||0)){this._setLoading(!1),this._visibleItems=[],this._renderOptions();return}this._setLoading(!0),this._renderOptions(),this._position?.update();let i=Math.max(0,Number(this.options.debounce)||0);this._queryTimer=setTimeout(()=>{this._queryTimer=null,this._runAsyncQuery(t,e)},i)}async _runAsyncQuery(t,e){if(!(e!==this._requestSequence||typeof this.options.filter!="function")){this.emit("query",{query:t});try{let i=await this.options.filter(t);if(e!==this._requestSequence||!this._open)return;this._items=Array.isArray(i)?i.slice():[],this._visibleItems=this._items.slice(),this._setLoading(!1),this._renderOptions(),this._setActive(this._optionEntries.length>0?0:-1),this._position?.update(),this.emit("loaded",{items:this._items.slice()})}catch{if(e!==this._requestSequence||!this._open)return;this._items=[],this._visibleItems=[],this._setLoading(!1),this._renderOptions(),this._position?.update()}}}_cancelQuery(){this._queryTimer!==null&&clearTimeout(this._queryTimer),this._queryTimer=null,this._requestSequence+=1}_setLoading(t){this._loading=t,this.refs.loading.hidden=!t,this.refs.input.setAttribute("aria-busy",String(t)),this.refs.list.setAttribute("aria-busy",String(t)),t?this._root?.setAttribute("data-loading","true"):this._root?.removeAttribute("data-loading")}_syncInputValue(){if(!this.refs.input)return;let t=this.refs.input;t.value=this._selected===null?"":typeof this.options.renderValue=="function"?String(this.options.renderValue(this._selected)??""):this._itemLabel(this._selected),this.refs.clear.hidden=!this.options.clearable||this._selected===null}_syncDisabled(){let t=this.refs.input,e=this.refs.clear,i=this.refs.toggle;t.disabled=this._disabled,e.disabled=this._disabled,i.disabled=this._disabled,this._root?.setAttribute("aria-disabled",String(this._disabled))}_findItem(t){let e=this._items.find(r=>r===t);if(e!==void 0)return e;let i=t!==null&&typeof t=="object"?this._itemValue(t):t;return this._items.find(r=>Object.is(this._itemValue(r),i))??null}_itemValue(t){return this._read(t,this.options.valueKey)}_itemLabel(t){let e=this._read(t,this.options.labelKey);return String(e??"")}_read(t,e){return typeof e=="function"?e(t):t===null||typeof t!="object"?t:t[e]}_selectedEntryIndex(){return this._selected===null?this.options.clearable?0:-1:this._optionEntries.findIndex(t=>!t.clear&&Object.is(this._itemValue(t.item),this.value))}_itemEntryIndex(t){return t+(this.options.clearable?1:0)}_rememberAttribute(t,e){this._originalAttributes.set(e,t.getAttribute(e))}_message(t,e){let i=this.msg(t);return i===t?e:i}};function Ao(s){return s.key.length===1&&!s.ctrlKey&&!s.metaKey&&!s.altKey}function Gs(){x.register("zxselect",(s,t)=>{let e=s.own(new F(null,{...t.props??{},value:t.value}));return s.listen(e.el,"change",i=>i.stopImmediatePropagation()),e.on("change",i=>s.emit("change",{value:i.detail.value})),{el:e.el,get:()=>e.value,set:i=>e.set(i,{silent:!0}),focus:()=>e.focus(),setDisabled:i=>i?e.disable():e.enable()}})}var qt=class extends f{static cssName="slider";static defaults={value:0,min:0,max:100,step:1,label:"",hideLabel:!1,showValue:!0,showBounds:!1,showInput:!1,unit:"",marks:null,disabled:!1,readonly:!1,size:"md",formatValue:null};render(){this._value=0,this._readonly=!!this.options.readonly,this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el);let t=this.el??a("div");this.el=t,this._min=Number(this.options.min)||0,this._max=Number(this.options.max),(!Number.isFinite(this._max)||this._max<=this._min)&&(this._max=this._min+100),this._step=Math.abs(Number(this.options.step))||1,this._id=b("zx-slider");let e=a("input",{ref:"input",class:"zx-slider__input",type:"range",id:this._id,min:String(this._min),max:String(this._max),step:String(this._step),disabled:!!this.options.disabled}),i=a("div",{class:"zx-slider__track"},e,this._marks()),r=a("div",{class:"zx-slider__control"});return this.options.showBounds&&r.append(a("span",{class:"zx-slider__bound",ariaHidden:"true"},this._format(this._min))),r.append(i),this.options.showBounds&&r.append(a("span",{class:"zx-slider__bound",ariaHidden:"true"},this._format(this._max))),this.options.showInput&&r.append(this._numberBox()),t.replaceChildren(a("div",{class:"zx-slider__head"},a("label",{ref:"label",class:"zx-slider__label",for:this._id},String(this.options.label??"")),a("span",{ref:"output",class:"zx-slider__value",ariaHidden:"true"})),r),t.dataset.size=this.options.size==="sm"?"sm":"md",t.toggleAttribute("data-hide-label",!!this.options.hideLabel),this.listen(e,"input",()=>this._onInput()),this.listen(e,"change",()=>this._onCommit()),this.listen(e,"keydown",n=>{this._readonly&&So.has(n.key)&&n.preventDefault()}),this.set(this.options.value,{silent:!0}),this._syncState(),t}get value(){return this._value}set value(t){this.set(t)}get(){return this._value}set(t,{silent:e=!1}={}){let i=this._snap(t),r=i!==this._value;return this._value=i,this._paint(),r&&!e&&this.emit("change",{value:i}),this}setRange(t,e,i){let r=Number(t),n=Number(e);if(!Number.isFinite(r)||!Number.isFinite(n)||n<=r)throw new RangeError("Slider range requires min < max");this._min=r,this._max=n,i!==void 0&&(this._step=Math.abs(Number(i))||1);let{input:o}=this.refs;o.min=String(this._min),o.max=String(this._max),o.step=String(this._step);for(let[l,h]of[...this.el.querySelectorAll(".zx-slider__bound")].entries())h.textContent=this._format(l===0?this._min:this._max);return this.set(this._value,{silent:!0})}focus(){return this.refs.input.focus(),this}enable(){return this.refs.input.disabled=!1,this.refs.number&&(this.refs.number.disabled=!1),this._syncState(),this}disable(){return this.refs.input.disabled=!0,this.refs.number&&(this.refs.number.disabled=!0),this._syncState(),this}setReadonly(t){return this._readonly=!!t,this.refs.number&&(this.refs.number.readOnly=this._readonly),this._syncState(),this}setLabel(t){return this.refs.label.textContent=String(t??""),this}_numberBox(){let t=a("input",{ref:"number",class:"zx-slider__number",type:"number",min:String(this._min),max:String(this._max),step:String(this._step),disabled:!!this.options.disabled,readOnly:this._readonly,ariaLabel:String(this.options.label??"Value")});return this.listen(t,"input",()=>{if(this._readonly)return;let e=Number(t.value);t.value===""||!Number.isFinite(e)||(this._value=this._snap(e),this.refs.input.value=String(this._value),this._paintTrack(),this.emit("input",{value:this._value}))}),this.listen(t,"change",()=>{if(this._readonly){t.value=String(this._value);return}this.set(t.value===""?this._min:Number(t.value))}),t}_marks(){let t=this.options.marks;if(!Array.isArray(t)||t.length===0)return null;let e=a("div",{class:"zx-slider__marks",ariaHidden:"true"});for(let i of t){let r=typeof i=="number"?i:Number(i?.value);if(!Number.isFinite(r))continue;let n=typeof i=="number"?this._format(r):String(i.label??this._format(r));e.append(a("span",{class:"zx-slider__mark",style:{"--zx-slider-mark":`${this._ratio(r)*100}%`}},n))}return e}_onInput(){if(this._readonly){this.refs.input.value=String(this._value);return}this._value=this._snap(this.refs.input.value),this._paintTrack(),this.refs.number&&(this.refs.number.value=String(this._value)),this.emit("input",{value:this._value})}_onCommit(){if(this._readonly){this.refs.input.value=String(this._value);return}this.emit("change",{value:this._value})}_paint(){this.refs.input.value=String(this._value),this.refs.number&&(this.refs.number.value=String(this._value)),this._paintTrack()}_paintTrack(){this.el.style.setProperty("--zx-slider-fill",`${this._ratio(this._value)*100}%`);let{output:t}=this.refs;t.textContent=this.options.showValue?this._format(this._value):""}_syncState(){let t=this.refs.input.disabled;this.el.toggleAttribute("data-disabled",t),this.el.toggleAttribute("data-readonly",this._readonly),this.refs.input.setAttribute("aria-readonly",String(this._readonly))}_snap(t){let e=Number(t);return Number.isFinite(e)?ge(e,{min:this._min,max:this._max,step:this._step,precision:Js(this._step)}):this._min}_ratio(t){return R((t-this._min)/(this._max-this._min),0,1)}_format(t){let e=this.options.formatValue;return typeof e=="function"?String(e(t)):`${zo(t)}${this.options.unit??""}`}destroy(){let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}},So=new Set(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","PageUp","PageDown","Home","End"]);function Js(s){let t=String(s),e=/e-(\d+)$/i.exec(t);return e?Number(e[1]):(t.split(".")[1]??"").length}function zo(s){return String(Number(s.toFixed(6)))}function Xs(){x.register("slider",(s,t)=>{let e=s.own(new qt(null,{label:t.label?String(t.label):void 0,hideLabel:!0,disabled:!!t.disabled,...t.props??{}})),i=!1;return e.on("change",r=>{i||s.emit("change",{value:r.detail.value})}),{el:e.el,get:()=>e.get(),set:r=>{i=!0;try{e.set(Number(r)||0,{silent:!0})}finally{i=!1}},focus:()=>e.focus(),setDisabled:r=>r?e.disable():e.enable()}})}var $t=class extends f{static cssName="tag-picker";static defaults={items:[],values:[],valueKey:"ID",labelKey:"name",searchKeys:null,filter:"local",minQuery:0,debounce:200,allowCreate:!1,max:null,closeOnSelect:!1,placeholder:"",listHeight:260,disabled:!1,readonly:!1,renderItem:null,renderTag:null};render(){this._items=[],this._selected=[],this._visible=[],this._entries=[],this._activeIndex=-1,this._open=!1,this._disabled=!1,this._readonly=!1,this._loading=!1,this._requestSequence=0,this._queryTimer=null,this._position=null,this._activeId=null,this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el);let t=this.el??a("div");this.el=t;let e=b("zx-tag-picker-list"),i=a("span",{ref:"tags",class:"zx-tag-picker__tags"}),r=a("input",{ref:"input",class:"zx-tag-picker__input",type:"text",role:"combobox",autocomplete:"off",spellcheck:!1,ariaExpanded:"false",ariaControls:e,ariaAutocomplete:"list",ariaLabel:this._message("tagPicker.input","Add a value"),placeholder:String(this.options.placeholder??"")}),n=a("button",{ref:"toggle",class:"zx-tag-picker__toggle",type:"button",tabIndex:-1,ariaLabel:this._message("tagPicker.toggle","Toggle options")},m("chevron-down",{size:15})),o=a("div",{ref:"control",class:"zx-tag-picker__control"},i,r,n),l=a("div",{ref:"list",class:"zx-tag-picker__list",id:e,role:"listbox",ariaMultiSelectable:"true"});l.style.maxBlockSize=`${Math.max(0,Number(this.options.listHeight)||0)}px`;let h=a("div",{ref:"panel",class:"zx-tag-picker__panel",popover:"manual"},l);return t.replaceChildren(o,h),this._items=Array.isArray(this.options.items)?this.options.items.slice():[],this._visible=this._items.slice(),this._disabled=!!this.options.disabled,this._readonly=!!this.options.readonly,this.listen(o,"pointerdown",c=>{let u=c.target;u.closest(".zx-tag-picker__remove")||u.closest(".zx-tag-picker__toggle")||(c.target!==r&&(c.preventDefault(),this.focus()),this._open||this.open())}),this.listen(i,"click",c=>{let u=c.target.closest(".zx-tag-picker__remove");if(!u||this._disabled||this._readonly)return;c.stopPropagation();let d=[...i.children].indexOf(u.closest(".zx-tag-picker__tag")),_=this._selected[d];_!==void 0&&(this.removeValue(this._valueOf(_)),this.focus())}),this.listen(r,"input",()=>this._onInput()),this.listen(r,"keydown",c=>this._onKeydown(c)),this.listen(r,"blur",()=>this.el.removeAttribute("data-focus")),this.listen(r,"focus",()=>this.el.setAttribute("data-focus","")),this.listen(n,"click",()=>{this.focus(),this._open?this.close():this.open()}),this.listen(h,"pointerdown",c=>c.preventDefault()),this.listen(h,"click",c=>this._onOptionClick(c)),this.listen(document,"pointerdown",c=>{this._open&&!t.contains(c.target)&&this.close()},{capture:!0}),this.setValues(this.options.values,{silent:!0}),this._syncDisabled(),t}get values(){return this.getValues()}set values(t){this.setValues(t)}getValues(){return this._selected.map(t=>this._valueOf(t))}getItems(){return this._selected.slice()}setValues(t,{silent:e=!1}={}){let i=Array.isArray(t)?t:[],r=this.options.max===null||this.options.max===void 0?1/0:Number(this.options.max),n=[];for(let l of i){if(n.length>=r)break;let h=this._resolve(l);h!==null&&!n.some(c=>this._sameValue(c,h))&&n.push(h)}let o=!Co(n,this._selected,l=>this._valueOf(l));return this._selected=n,this._renderTags(),this._renderOptions(),o&&!e&&this._emitChange(),this}addValue(t,{silent:e=!1}={}){if(this.isFull())return this;let i=this._resolve(t);return i===null?this:this._selected.some(r=>this._sameValue(r,i))?this:(this._selected.push(i),this._renderTags(),this._renderOptions(),e||(this.emit("add",{value:this._valueOf(i),item:i}),this._emitChange()),this)}removeValue(t,{silent:e=!1}={}){let i=this._valueOf(this._resolve(t)??t),r=this._selected.findIndex(o=>Object.is(this._valueOf(o),i));if(r<0)return this;let[n]=this._selected.splice(r,1);return this._renderTags(),this._renderOptions(),e||(this.emit("remove",{value:this._valueOf(n),item:n}),this._emitChange()),this}clear({silent:t=!1}={}){return this.setValues([],{silent:t})}reset({silent:t=!1}={}){return this.setValues(this.options.values,{silent:t})}setItems(t){return this._cancelQuery(),this._items=Array.isArray(t)?t.slice():[],typeof this.options.filter=="function"?this._visible=this._items.slice():this._applyLocalFilter(this.refs.input.value),this._renderOptions(),this._position?.update(),this}isFull(){let t=this.options.max;return t!=null&&this._selected.length>=Number(t)}open(){return this._disabled||this._readonly||this._open?this:(this._open=!0,this.el.setAttribute("data-state","open"),this.refs.input.setAttribute("aria-expanded","true"),this._renderOptions(),this._position=j(this.refs.control,this.refs.panel,{placement:"bottom-start",flip:!0,matchWidth:!0}),this._setActive(this._entries.length>0?0:-1),typeof this.options.filter=="function"&&this._scheduleAsyncQuery(this.refs.input.value),this.emit("open",{}),this)}close(){return this._open?(this._open=!1,this._cancelQuery(),this._position?.destroy(),this._position=null,this.el.setAttribute("data-state","closed"),this.refs.input.setAttribute("aria-expanded","false"),this.refs.input.removeAttribute("aria-activedescendant"),this._activeIndex=-1,this._activeId=null,this.refs.input.value="",this._syncInputWidth(),this._applyLocalFilter(""),this.emit("close",{}),this):this}focus(){return this.refs.input.focus(),this}enable(){return this._disabled=!1,this._renderTags(),this._syncDisabled(),this}disable(){return this.close(),this._disabled=!0,this._renderTags(),this._syncDisabled(),this}setReadonly(t){return t&&this.close(),this._readonly=!!t,this._renderTags(),this._syncDisabled(),this}destroy(){this._cancelQuery(),this._position?.destroy(),this._position=null;let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}_renderTags(){let t=this._selected.map(e=>{let i=this._labelOf(e),r=this.options.renderTag?this.options.renderTag(e):i,n=a("span",{class:"zx-tag-picker__tag"},a("span",{class:"zx-tag-picker__tag-label"},r));return!this._readonly&&!this._disabled&&n.append(a("button",{class:"zx-icon-btn zx-tag-picker__remove",type:"button",ariaLabel:this._message("tagPicker.remove","Remove %1",[i])},m("x",{size:11}))),n});this.refs.tags.replaceChildren(...t),this.el.toggleAttribute("data-empty",this._selected.length===0),this._syncPlaceholder()}_renderOptions(){let t=this.refs.list;this._entries=[];let e=[];for(let n of this._visible){let o=this._valueOf(n),l=this._isSelected(o),h=a("div",{class:"zx-tag-picker__option",id:b("zx-tag-picker-option"),role:"option",ariaSelected:String(l)},a("span",{class:"zx-tag-picker__check",ariaHidden:"true"},l?m("check",{size:13}):null),a("span",{class:"zx-tag-picker__option-label"},this.options.renderItem?this.options.renderItem(n):this._labelOf(n)));!l&&this.isFull()&&h.setAttribute("aria-disabled","true"),this._entries.push({item:n,element:h,create:!1}),e.push(h)}let i=this.refs.input.value.trim();if(this._canCreate(i)){let n=a("div",{class:"zx-tag-picker__option",id:b("zx-tag-picker-option"),role:"option",ariaSelected:"false",dataset:{create:"true"}},a("span",{class:"zx-tag-picker__check",ariaHidden:"true"},m("plus",{size:13})),a("span",{class:"zx-tag-picker__option-label"},this._message("tagPicker.create","Create \u201C%1\u201D",[i])));this._entries.push({item:null,element:n,create:!0}),e.push(n)}e.length===0&&e.push(a("div",{class:"zx-tag-picker__empty"},this._loading?this._message("tagPicker.loading","Loading\u2026"):this._message("tagPicker.empty","No matches"))),t.replaceChildren(...e);let r=this._entries.findIndex(n=>this._entryId(n)===this._activeId);this._setActive(r>=0?r:this._entries.length>0?0:-1)}_entryId(t){return t.create?"\0create":String(this._valueOf(t.item))}_syncPlaceholder(){let t=this.refs.input;t.placeholder=this._selected.length===0?String(this.options.placeholder??""):""}_onInput(){let t=this.refs.input.value;this._syncInputWidth(),this._open||this.open(),typeof this.options.filter=="function"?this._scheduleAsyncQuery(t):this._applyLocalFilter(t),this._renderOptions(),this._setActive(this._entries.length>0?0:-1),this._position?.update()}_onKeydown(t){if(this._disabled||this._readonly)return;let e=this.refs.input;switch(t.key){case"ArrowDown":t.preventDefault(),this._open?this._move(1):this.open();return;case"ArrowUp":t.preventDefault(),this._open&&this._move(-1);return;case"Home":this._open&&e.value===""&&(t.preventDefault(),this._setActive(0));return;case"End":this._open&&e.value===""&&(t.preventDefault(),this._setActive(this._entries.length-1));return;case"Enter":{if(!this._open||this._activeIndex<0)return;t.preventDefault(),this._commitEntry(this._entries[this._activeIndex]);return}case"Escape":this._open&&(t.preventDefault(),this.close());return;case"Backspace":e.value===""&&this._selected.length>0&&(t.preventDefault(),this.removeValue(this._valueOf(this._selected[this._selected.length-1])));return;case"Tab":this._open&&this.close();return;default:}}_onOptionClick(t){let e=t.target.closest(".zx-tag-picker__option");if(!e)return;let i=this._entries.find(r=>r.element===e);i&&this._commitEntry(i)}_commitEntry(t){if(!t)return;let e=this.refs.input;if(t.create){let i=e.value.trim(),r=this._createItem(i);this._items=this._items.concat([r]),this.addValue(r),this.emit("create",{value:this._valueOf(r),item:r})}else{let i=this._valueOf(t.item);if(this._isSelected(i))this.removeValue(i);else if(!this.isFull())this.addValue(t.item);else return}e.value="",this._syncInputWidth(),this._applyLocalFilter(""),this._renderOptions(),this.options.closeOnSelect?this.close():(this._setActive(this._entries.length>0?0:-1),this._position?.update()),this.focus()}_move(t){if(this._entries.length===0)return;let e=this._activeIndex<0?t>0?0:this._entries.length-1:Math.min(this._entries.length-1,Math.max(0,this._activeIndex+t));this._setActive(e)}_setActive(t){this._activeIndex=t,this._activeId=this._entries[t]?this._entryId(this._entries[t]):null;for(let[e,i]of this._entries.entries()){let r=e===t;i.element.toggleAttribute("data-active",r),r&&(this.refs.input.setAttribute("aria-activedescendant",i.element.id),i.element.scrollIntoView({block:"nearest"}))}t<0&&this.refs.input.removeAttribute("aria-activedescendant")}_applyLocalFilter(t){if(typeof this.options.filter=="function")return;let e=this.options.searchKeys??[this.options.labelKey];this._visible=ot(this._items,t,e)}_scheduleAsyncQuery(t){this._cancelQuery();let e=String(t??"");if(e.length<Number(this.options.minQuery??0)){this._visible=[],this._renderOptions();return}this._visible=[],this._setLoading(!0),this._renderOptions();let i=Math.max(0,Number(this.options.debounce)||0);this._queryTimer=setTimeout(()=>{this._queryTimer=null,this._runQuery(e)},i)}async _runQuery(t){let e=this._requestSequence+1;this._requestSequence=e,this._setLoading(!0),this.emit("query",{query:t});try{let i=await this.options.filter(t);if(e!==this._requestSequence)return;this._items=Array.isArray(i)?i.slice():[],this._visible=this._items.slice()}catch(i){if(e!==this._requestSequence)return;this._visible=[],this.emit("error",{error:i})}finally{e===this._requestSequence&&(this._setLoading(!1),this._renderOptions(),this._setActive(this._entries.length>0?0:-1),this._position?.update())}}_cancelQuery(){this._queryTimer!==null&&(clearTimeout(this._queryTimer),this._queryTimer=null),this._requestSequence+=1,this._setLoading(!1)}_setLoading(t){this._loading=t,this.el.toggleAttribute("data-loading",t)}_isSelected(t){return this._selected.some(e=>Object.is(this._valueOf(e),t))}_canCreate(t){if(!this.options.allowCreate||t===""||this.isFull())return!1;let e=i=>i.some(r=>Zs(this._labelOf(r))===Zs(t));return!e(this._items)&&!e(this._selected)}_createItem(t,e=t){return typeof this.options.valueKey!="string"||typeof this.options.labelKey!="string"?t:{[this.options.valueKey]:e,[this.options.labelKey]:t,created:!0}}_resolve(t){if(t==null)return null;let e=this._valueOf(t),i=this._items.find(n=>Object.is(this._valueOf(n),e));if(i!==void 0)return i;let r=this._selected.find(n=>Object.is(this._valueOf(n),e));return r!==void 0?r:typeof t=="object"?t:this._createItem(String(t),t)}_sameValue(t,e){return Object.is(this._valueOf(t),this._valueOf(e))}_valueOf(t){let e=this.options.valueKey;return typeof e=="function"?e(t):t!==null&&typeof t=="object"?t[e]:t}_labelOf(t){let e=this.options.labelKey;return String(typeof e=="function"?e(t):t!==null&&typeof t=="object"?t[e]??"":t??"")}_emitChange(){this.emit("change",{values:this.getValues(),items:this.getItems()})}_syncInputWidth(){let t=this.refs.input,e=t.value.length;t.style.inlineSize=e===0?"":`${Math.min(40,e+1)}ch`}_syncDisabled(){let t=this.refs.input;t.disabled=this._disabled,t.readOnly=this._readonly,this.refs.toggle.disabled=this._disabled||this._readonly,this.el.toggleAttribute("data-disabled",this._disabled),this.el.toggleAttribute("data-readonly",this._readonly),this._disabled?this.el.setAttribute("aria-disabled","true"):this.el.removeAttribute("aria-disabled")}_message(t,e,i=[]){let r=this.msg(t,...i);return r!==t?r:i.reduce((n,o,l)=>n.replaceAll(`%${l+1}`,String(o)),e)}};function Zs(s){return String(s??"").trim().toLocaleLowerCase()}function Co(s,t,e){return s.length!==t.length?!1:s.every((i,r)=>Object.is(e(i),e(t[r])))}function tr(){x.register("tagpicker",(s,t)=>{let e=s.own(new $t(null,{placeholder:t.placeholder,...t.props??{}})),i=!1;return s.listen(e.el,"change",r=>r.stopImmediatePropagation()),e.on("change",r=>{i||s.emit("change",{value:r.detail.values})}),{el:e.el,get:()=>e.getValues(),set:r=>{i=!0;try{e.setValues(Array.isArray(r)?r:[],{silent:!0})}finally{i=!1}},focus:()=>e.focus(),setDisabled:r=>r?e.disable():e.enable()}})}function er(s,t="minutes"){let e=Math.round(Math.abs(sr(dt(s),t)));return{hours:Math.floor(e/3600),minutes:Math.floor(e/60)%60,seconds:e%60,negative:dt(s)<0}}function ir(s,t="minutes"){Kt(t);let e=Math.abs(Math.trunc(dt(s?.hours))),i=Math.abs(Math.trunc(dt(s?.minutes))),r=Math.abs(Math.trunc(dt(s?.seconds))),n=s?.negative?-1:1;return rr(n*(e*3600+i*60+r),t)}var Z=class extends f{static cssName="timebox";static defaults={value:0,unit:"minutes",seconds:!1,signed:!1,disabled:!1};render(){Kt(this.options.unit);let t=this.el??a("div");this.el=t,this._originalAriaDisabled=t.getAttribute("aria-disabled"),this._disabled=!!this.options.disabled,this._parts={hours:0,minutes:0,seconds:0,negative:!1},this._inputs=[];let e=a("div",{class:"zx-timebox__content",role:"group",ariaLabel:this.options.seconds?"Duration in hours, minutes, and seconds":"Duration in hours and minutes"});return this._content=e,this.options.signed&&(e.append(a("button",{ref:"sign",class:"zx-timebox__sign",type:"button",ariaLabel:"Toggle duration sign",ariaPressed:"false"},"+")),this.listen(this.refs.sign,"click",()=>{this._disabled||(this._parts.negative=!this._parts.negative,this._writeParts(),this._emitChange())})),this._addSegment(e,"hours","Hours",!1),e.append(a("span",{class:"zx-timebox__separator",ariaHidden:"true"},":")),this._addSegment(e,"minutes","Minutes",!0),this.options.seconds&&(e.append(a("span",{class:"zx-timebox__separator",ariaHidden:"true"},":")),this._addSegment(e,"seconds","Seconds",!0)),t.append(e),this.set(this.options.value,this.options.unit,{silent:!0}),this._syncDisabled(),t}get(t=this.options.unit){return ir(this._readParts(),t)}set(t,e=this.options.unit,i={}){e&&typeof e=="object"&&(i=e,e=this.options.unit),Kt(e);let r=dt(t);return!this.options.signed&&r<0&&(r=0),this.options.seconds||(r=rr(Math.round(sr(r,e)/60)*60,e)),this._parts=er(r,e),this.options.signed||(this._parts.negative=!1),this._writeParts(),i.silent||this._emitChange(),this}enable(){return this._disabled=!1,this._syncDisabled(),this}disable(){return this._disabled=!0,this._syncDisabled(),this}destroy(){this._content?.remove(),this._originalAriaDisabled===null?this.el.removeAttribute("aria-disabled"):this.el.setAttribute("aria-disabled",this._originalAriaDisabled),super.destroy()}_addSegment(t,e,i,r){let n=a("input",{class:"zx-timebox__segment",type:"text",inputMode:"numeric",autocomplete:"off",ariaLabel:i,maxLength:r?2:null,dataset:{segment:e,bounded:String(r)}});this._inputs.push(n),t.append(n),this.listen(n,"focus",()=>n.select()),this.listen(n,"input",()=>{e==="hours"&&this.options.signed&&n.value.trim().startsWith("-")&&(this._parts.negative=!0);let o=n.value.replace(/\D/g,"");n.value=r?o.slice(0,2):o}),this.listen(n,"change",()=>this._commitSegments()),this.listen(n,"keydown",o=>{o.key==="Enter"&&(o.preventDefault(),this._commitSegments(),n.select())})}_readParts(){let t={...this._parts};for(let e of this._inputs){let i=e.dataset.segment,r=e.dataset.bounded==="true"?59:Number.MAX_SAFE_INTEGER;t[i]=Math.max(0,Math.min(r,Math.trunc(dt(e.value))))}return t}_commitSegments(){this._parts=this._readParts(),this._writeParts(),this._emitChange()}_writeParts(){for(let t of this._inputs){let e=t.dataset.segment;t.value=e==="hours"?String(this._parts[e]):To(this._parts[e])}this.refs.sign&&(this.refs.sign.textContent=this._parts.negative?"-":"+",this.refs.sign.setAttribute("aria-pressed",String(this._parts.negative)),this.refs.sign.dataset.state=this._parts.negative?"negative":"positive")}_syncDisabled(){for(let t of this._inputs)t.disabled=this._disabled;this.refs.sign&&(this.refs.sign.disabled=this._disabled),this.el.setAttribute("aria-disabled",String(this._disabled))}_emitChange(){this.emit("change",{value:this.get(this.options.unit)})}};function dt(s){let t=Number(s);return Number.isFinite(t)?t:0}function sr(s,t){return Kt(t),t==="hours"?s*3600:t==="minutes"?s*60:s}function rr(s,t){return Kt(t),t==="hours"?s/3600:t==="minutes"?s/60:s}function Kt(s){if(s!=="hours"&&s!=="minutes"&&s!=="seconds")throw new RangeError(`Unknown time unit: ${s}`)}function To(s){return String(s).padStart(2,"0")}function nr(){x.register("time",(s,t)=>{let e=s.own(new Z(null,{...t.props??{},value:t.value}));return s.listen(e.el,"change",i=>i.stopImmediatePropagation()),e.on("change",i=>s.emit("change",{value:i.detail.value})),{el:e.el,get:()=>e.get(),set:i=>e.set(Number(i)||0,{silent:!0}),focus:()=>e.el.querySelector("input:not([disabled]), button:not([disabled])")?.focus(),setDisabled:i=>i?e.disable():e.enable()}})}var H=class extends f{static cssName="toggle";static defaults={checked:!1,value:!0,label:null,disabled:!1};render(){let t=!this.el,e=this.el??a("button");if(this.el=e,e.localName!=="button")throw new TypeError("Toggle target must be a button element");this._createdRoot=t,this._original=t?null:No(e),this._checked=!!this.options.checked,this._disabled=!!this.options.disabled,e.type="button",e.setAttribute("role","switch");let i=[a("span",{class:"zx-toggle__track",ariaHidden:"true"},a("span",{class:"zx-toggle__thumb"}))];return this.options.label!==null&&i.push(a("span",{class:"zx-toggle__label"},String(this.options.label))),e.replaceChildren(...i),this._sync(),this.listen(e,"click",()=>this.toggle()),e}get(){return this._checked}set(t,{silent:e=!1}={}){let i=!!t;return i===this._checked?this:(this._checked=i,this._sync(),e||this.emit("change",{checked:this._checked,value:this.getValue()}),this)}toggle(){return this.set(!this._checked)}getValue(){return this._checked?this.options.value:!1}enable(){return this._disabled=!1,this.el.removeAttribute("disabled"),this}disable(){return this._disabled=!0,this.el.setAttribute("disabled",""),this}destroy(){this._cleaned||(this._cleaned=!0,super.destroy(),!this._createdRoot&&this._original&&Do(this.el,this._original))}_sync(){this.el.setAttribute("aria-checked",String(this._checked)),this.el.toggleAttribute("disabled",this._disabled)}};function No(s){return{attributes:Array.from(s.attributes,t=>[t.name,t.value]),children:Array.from(s.childNodes)}}function Do(s,t){for(let e of Array.from(s.attributes))s.removeAttribute(e.name);for(let[e,i]of t.attributes)s.setAttribute(e,i);s.replaceChildren(...t.children)}function or(){x.register("toggle",(s,t)=>{let e=s.own(new H(null,{...t.props??{},checked:!!t.value}));return s.listen(e.el,"change",i=>i.stopImmediatePropagation()),e.on("change",i=>s.emit("change",{value:i.detail.value})),{el:e.el,get:()=>e.getValue(),set:i=>e.set(!!i,{silent:!0}),focus:()=>e.el.focus(),setDisabled:i=>i?e.disable():e.enable()}})}var Yt=class extends f{static cssName="value-list";static defaults={values:[],placeholder:"",deletable:!0,sortable:!0,unique:!0,validate:null};render(){let t=this.el??a("div");this._ownedNodes=[],this._disabled=!1,this._dragIndex=-1,this._initialState=t.getAttribute("data-state"),this._initialDisabled=t.getAttribute("data-disabled"),this._values=ar(this.options.values,!!this.options.unique);let e=b("zx-value-list-instructions");return this._list=a("ul",{class:"zx-value-list__list",role:"listbox",ariaLabel:"Values",ariaOrientation:"horizontal"}),this._input=a("input",{class:"zx-value-list__input",type:"text",placeholder:String(this.options.placeholder??""),ariaLabel:"Add value",ariaDescribedby:e}),this._status=a("div",{class:"zx-value-list__status",role:"status",ariaLive:"polite"}),this._instructions=a("span",{class:"zx-value-list__instructions",id:e},"Press Enter to add. Focus a value and press Ctrl plus Left or Right to reorder."),this._ownedNodes.push(this._list,this._input,this._status,this._instructions),t.append(this._list,this._input,this._status,this._instructions),this.listen(this._input,"keydown",i=>this._handleInputKeydown(i)),this.listen(this._list,"keydown",i=>this._handleChipKeydown(i)),this.listen(this._list,"click",i=>this._handleChipClick(i)),this.listen(this._list,"dragstart",i=>this._handleDragStart(i)),this.listen(this._list,"dragover",i=>{this._dragIndex>=0&&!this._disabled&&i.preventDefault()}),this.listen(this._list,"drop",i=>this._handleDrop(i)),this.listen(this._list,"dragend",()=>this._finishDrag()),this.listen(t,"click",i=>{i.target===t&&!this._disabled&&this.focus()}),this._renderChips(),t}getValues(){return this._values.slice()}setValues(t,{silent:e=!1}={}){return this._values=ar(t,!!this.options.unique),this._renderChips(),e||this.emit("change",{values:this.getValues()}),this}addValue(t){if(this._disabled)return!1;let e=String(t??"").trim();if(!e)return!1;if(this.options.unique&&this._values.includes(e))return this._showError("This value already exists."),!1;if(typeof this.options.validate=="function"){let i=this.options.validate(e);if(i!==!0)return this._showError(typeof i=="string"?i:"This value is not valid."),!1}return this._status.textContent="",this._input.removeAttribute("aria-invalid"),this._values.push(e),this._renderChips(),this.emit("add",{value:e}),this.emit("change",{values:this.getValues()}),!0}removeValue(t){if(this._disabled||!this.options.deletable)return!1;let e=this._values.indexOf(String(t));return e<0?!1:(this._removeAt(e),!0)}focus(){return this._input.focus(),this}enable(){return this._disabled=!1,this._input.disabled=!1,this.el.dataset.disabled="false",this._renderChips(),this}disable(){return this._disabled=!0,this._input.disabled=!0,this.el.dataset.disabled="true",this._renderChips(),this}_renderChips(t=-1){let e=this._values.map((i,r)=>a("li",{class:"zx-value-list__chip",role:"option",tabIndex:this._disabled?-1:0,draggable:!!this.options.sortable&&!this._disabled,ariaSelected:"false",ariaDisabled:String(this._disabled),ariaLabel:this.options.deletable?`${i}. Press Delete to remove.`:i,dataset:{index:r}},a("span",{class:"zx-value-list__value"},i),this.options.deletable?a("span",{class:"zx-value-list__remove",dataset:{remove:""},ariaHidden:"true"},"\xD7"):null));this._list.replaceChildren(...e),t>=0&&e[Math.min(t,e.length-1)]?.focus()}_handleInputKeydown(t){this._disabled||(t.key==="Enter"?(t.preventDefault(),this.addValue(this._input.value)&&(this._input.value="")):t.key==="Backspace"&&this._input.value===""&&this._values.length&&this.options.deletable&&(t.preventDefault(),this._removeAt(this._values.length-1)))}_handleChipKeydown(t){if(this._disabled)return;let e=t.target instanceof Element?t.target.closest("[data-index]"):null;if(!e)return;let i=Number(e.dataset.index);if((t.key==="Delete"||t.key==="Backspace")&&this.options.deletable){t.preventDefault(),this._removeAt(i,Math.min(i,this._values.length-2));return}let r=t.key==="ArrowLeft"?-1:t.key==="ArrowRight"?1:0,n=t.key==="ArrowUp"?-1:t.key==="ArrowDown"?1:0,o=r||n;if(!o)return;t.preventDefault();let l=Math.max(0,Math.min(this._values.length-1,i+o));t.ctrlKey&&r&&this.options.sortable?this._move(i,l,!0):this._list.querySelector(`[data-index="${l}"]`)?.focus()}_handleChipClick(t){let e=t.target instanceof Element?t.target:null,i=e?.closest("[data-index]");!i||this._disabled||(e.closest("[data-remove]")&&this.options.deletable?this._removeAt(Number(i.dataset.index)):i.focus())}_handleDragStart(t){if(this._disabled||!this.options.sortable)return;let e=t.target instanceof Element?t.target.closest("[data-index]"):null;e&&(this._dragIndex=Number(e.dataset.index),this.el.dataset.state="dragging",t.dataTransfer?.setData("text/plain",String(this._dragIndex)),t.dataTransfer&&(t.dataTransfer.effectAllowed="move"))}_handleDrop(t){if(this._dragIndex<0||this._disabled)return;t.preventDefault();let e=t.target instanceof Element?t.target.closest("[data-index]"):null,i=e?Number(e.dataset.index):this._values.length-1;this._move(this._dragIndex,i,!0),this._finishDrag()}_finishDrag(){this._dragIndex=-1,this._initialState===null?this.el.removeAttribute("data-state"):this.el.setAttribute("data-state",this._initialState)}_move(t,e,i){if(t===e||t<0||e<0||t>=this._values.length||e>=this._values.length)return;let[r]=this._values.splice(t,1);this._values.splice(e,0,r),this._renderChips(i?e:-1),this.emit("change",{values:this.getValues()})}_removeAt(t,e=-1){let[i]=this._values.splice(t,1);i!==void 0&&(this._renderChips(e),e<0&&this._values.length===0&&this._input.focus(),this.emit("remove",{value:i}),this.emit("change",{values:this.getValues()}))}_showError(t){this._status.textContent=t,this._input.setAttribute("aria-invalid","true")}destroy(){for(let t of this._ownedNodes??[])t.remove();this._initialState===null?this.el.removeAttribute("data-state"):this.el.setAttribute("data-state",this._initialState),this._initialDisabled===null?this.el.removeAttribute("data-disabled"):this.el.setAttribute("data-disabled",this._initialDisabled),super.destroy()}};function ar(s,t){if(!Array.isArray(s))return[];let e=s.map(i=>String(i));return t?[...new Set(e)]:e}function lr(){x.register("valuelist",(s,t)=>{let e=s.own(new Yt(null,{...t.props??{},values:Array.isArray(t.value)?t.value:[]}));return s.listen(e.el,"change",i=>i.stopImmediatePropagation()),e.on("change",i=>s.emit("change",{value:i.detail.values})),{el:e.el,get:()=>e.getValues(),set:i=>e.setValues(Array.isArray(i)?i:[],{silent:!0}),focus:()=>e.focus(),setDisabled:i=>i?e.disable():e.enable()}})}var ni=Object.freeze({sm:480,md:768,lg:1024,xl:1280}),Eo=["xl","lg","md","sm"];function ri(s){let t=Number(s);if(!Number.isFinite(t))return"xs";for(let e of Eo)if(t>=ni[e])return e;return"xs"}function Mo(s,t){if(s==="xs")return!0;let e=ni[s];if(e===void 0)throw new RangeError(`Unknown breakpoint "${s}"`);return Number(t)>=e}function Io(s,t={}){if(typeof s!="function")throw new TypeError("onBreakpoint requires a handler");let e=t.target??globalThis,i=e instanceof Element?e:null,r="xs",n=!1,o=null,l=()=>i?i.getBoundingClientRect().width:Number(globalThis.innerWidth)||0,h=()=>{if(n)return;let c=l(),u=ri(c);u!==r&&(r=u,s(r,c))};return r=ri(l()),s(r,l()),i&&typeof ResizeObserver=="function"?(o=new ResizeObserver(h),o.observe(i)):globalThis.addEventListener?.("resize",h,{passive:!0}),{current:()=>r,destroy:()=>{n||(n=!0,o?.disconnect(),globalThis.removeEventListener?.("resize",h))}}}var be=class{base;headers;onError;timeout;constructor({base:t="",headers:e={},onError:i=null,timeout:r=3e4}={}){this.base=String(t),this.headers=Object.freeze({...e}),this.onError=i,this.timeout=Number(r)}async request(t,e={}){let{method:i="GET",data:r=null,files:n=null,query:o=null,headers:l={}}=e,h=new AbortController,c=this.timeout>0?setTimeout(()=>h.abort(),this.timeout):null,u=new Headers(this.headers);for(let[p,g]of Object.entries(l))u.set(p,g);u.set("Accept",u.get("Accept")??"application/json");let d;n!==null?(d=Lo(r,n),u.delete("Content-Type")):r!==null&&i.toUpperCase()!=="GET"&&i.toUpperCase()!=="HEAD"&&(d=JSON.stringify(r),u.set("Content-Type",u.get("Content-Type")??"application/json"));let _=Fo(this.base+t,o);try{let p=await fetch(_,{method:i.toUpperCase(),headers:u,body:d,signal:h.signal}),g=await p.text(),y=null;if(g!=="")try{y=JSON.parse(g)}catch(A){let C=new Error("Invalid JSON response",{cause:A});throw C.response=p,C}if(!p.ok){try{oi(y)}catch(C){throw C.response=p,C}let A=new Error(`HTTP ${p.status} ${p.statusText}`.trim());throw A.response=p,A}return oi(y)}catch(p){let g=p instanceof Error?p:new Error(String(p));if(this.onError)try{this.onError(g,{path:t,options:e})}catch{}throw g}finally{c!==null&&clearTimeout(c)}}get(t,e=null){return this.request(t,{method:"GET",query:e})}post(t,e=null){return this.request(t,{method:"POST",data:e})}put(t,e=null){return this.request(t,{method:"PUT",data:e})}delete(t,e=null){return this.request(t,{method:"DELETE",data:e})}};function Oo(s,t="",e={}){let{apiBase:i="../remotecall/",...r}=e,n=`${i}${s}${t?`:${t}`:""}/`;return new be({...r,base:n})}function oi(s){if(s&&typeof s=="object"){if(Object.prototype.hasOwnProperty.call(s,"error")&&s.error!=null){let t=typeof s.error=="string"?s.error:JSON.stringify(s.error);throw new Error(t||"Server error")}if(Object.prototype.hasOwnProperty.call(s,"result"))return s.result}return s}function Fo(s,t){if(t==null)return s;let e;if(typeof t=="string")e=t.replace(/^\?/,"");else if(t instanceof URLSearchParams)e=t.toString();else{let i=new URLSearchParams;for(let[r,n]of Object.entries(t))hr(i,r,n);e=i.toString()}return e?s+(s.includes("?")?"&":"?")+e:s}function hr(s,t,e){if(e!=null)if(Array.isArray(e))for(let i of e)hr(s,t,i);else s.append(t,typeof e=="object"?JSON.stringify(e):String(e))}function Lo(s,t){let e=new FormData;if(s&&typeof s=="object"&&!Array.isArray(s))for(let[r,n]of Object.entries(s))cr(e,r,n);else s!=null&&e.append("data",typeof s=="string"?s:JSON.stringify(s));let i=Ro(t)||Array.isArray(t)?Array.from(t):[t];for(let r of i)e.append("files",r);return e}function cr(s,t,e){if(e!=null)if(Array.isArray(e))for(let i of e)cr(s,t,i);else{let i=typeof Blob=="function"&&e instanceof Blob;s.append(t,typeof e=="object"&&!i?JSON.stringify(e):e)}}function Ro(s){return typeof FileList=="function"&&s instanceof FileList}var Vo=0,Bo=20,Po=3,jo=["B","KiB","MiB","GiB","TiB","PiB","EiB"],Ho=["B","kB","MB","GB","TB","PB","EB"],ai=[{unit:"second",ms:1e3,limit:45},{unit:"minute",ms:6e4,limit:45},{unit:"hour",ms:36e5,limit:22},{unit:"day",ms:864e5,limit:6},{unit:"week",ms:6048e5,limit:4},{unit:"month",ms:26298e5,limit:11},{unit:"year",ms:315576e5,limit:1/0}],ur=new Map,dr=new Map;function ye(s,t={}){let e=xe(s);if(e===null)return"";let{locale:i=q(),decimals:r,minDecimals:n,maxDecimals:o,group:l=!0}=t;return li(i,hi({decimals:r,minDecimals:n,maxDecimals:o,group:l}),e)}function qo(s,t,e={}){let i=xe(s);if(i===null)return"";let{locale:r=q(),decimals:n}=e,o=Qo(t);if(o===null)return ye(i,{locale:r,decimals:n});let l=hi({decimals:n,group:!0});return li(r,{...l,style:"currency",currency:o},i)}function $o(s,t={}){let e=xe(s);if(e===null)return"";let{locale:i=q(),decimals:r=0}=t;return li(i,{...hi({decimals:r,group:!0}),style:"percent"},e)}function Ko(s,t={}){let e=xe(s);if(e===null)return"";let{locale:i=q(),decimals:r=1,standard:n="iec"}=t;if(e===0)return`${ye(0,{locale:i,decimals:0})} B`;let o=n==="si"?Ho:jo,l=n==="si"?1e3:1024,h=Math.abs(e),c=Math.min(o.length-1,Math.max(0,Math.floor(Math.log(h)/Math.log(l)))),u=h/l**c;Go(u,c===0?0:r)>=l&&c<o.length-1&&(c+=1,u=h/l**c);let d=e<0?-u:u;return`${ye(d,{locale:i,minDecimals:0,maxDecimals:c===0?0:r})} ${o[c]}`}function Yo(s,t={}){let e=fr(s);if(e===null)return"";let{now:i=new Date,locale:r=q(),numeric:n="auto"}=t,o=fr(i);if(o===null)return"";let l=e.getTime()-o.getTime(),h=ai.find(({ms:u,limit:d})=>Math.abs(l)/u<d)??ai[ai.length-1],c=Math.round(l/h.ms);return Wo(r,n).format(c,h.unit)}function li(s,t,e){let i=`${s}\0${JSON.stringify(t)}`,r=ur.get(i);return r===void 0&&(r=Uo(s,t),ur.set(i,r)),r.format(e)}function Uo(s,t){try{return new Intl.NumberFormat(s,t)}catch{try{return new Intl.NumberFormat(void 0,t)}catch{return new Intl.NumberFormat}}}function Wo(s,t){let e=`${s}\0${t}`,i=dr.get(e);if(i===void 0){try{i=new Intl.RelativeTimeFormat(s,{numeric:t})}catch{i=new Intl.RelativeTimeFormat(void 0,{numeric:"auto"})}dr.set(e,i)}return i}function hi({decimals:s,minDecimals:t,maxDecimals:e,group:i=!0}){let r={useGrouping:i!==!1},n=pr(t??s),o=pr(e??s);return n!==null&&(r.minimumFractionDigits=n),o!==null?(r.maximumFractionDigits=o,n!==null&&n>o&&(r.minimumFractionDigits=o)):n!==null&&(r.maximumFractionDigits=Math.max(n,Po)),r}function pr(s){if(s==null)return null;let t=Number(s);return Number.isFinite(t)?Math.min(Bo,Math.max(Vo,Math.round(t))):null}function xe(s){if(s==null||s==="")return null;let t=typeof s=="number"?s:Number(s);return Number.isFinite(t)?t:null}function Qo(s){if(typeof s!="string")return null;let t=s.trim().toUpperCase();return/^[A-Z]{3}$/.test(t)?t:null}function fr(s){if(s instanceof Date)return Number.isNaN(s.getTime())?null:s;if(typeof s=="number")return Number.isFinite(s)?new Date(s*1e3):null;if(typeof s=="string"){let t=s.trim();if(t==="")return null;let e=/^-?\d+$/.test(t)?new Date(Number(t)*1e3):new Date(t);return Number.isNaN(e.getTime())?null:e}return null}function Go(s,t){let e=10**t;return Math.round(s*e)/e}var _r="zx:__probe__";function ci(s,t={}){let{area:e="local"}=t,i=`zx:${String(s??"")}:`,r=new Map,n=Jo(e),o=u=>{if(n!==null)try{return n.getItem(u)}catch{n=null}return r.has(u)?r.get(u):null},l=(u,d)=>{if(n!==null)try{n.setItem(u,d);return}catch{n=null}r.set(u,d)},h=u=>{if(n!==null)try{n.removeItem(u)}catch{n=null}r.delete(u)},c=()=>{if(n!==null)try{let u=[];for(let d=0;d<n.length;d+=1){let _=n.key(d);typeof _=="string"&&_.startsWith(i)&&u.push(_)}return u}catch{n=null}return[...r.keys()].filter(u=>u.startsWith(i))};return{get(u,d){let _=o(i+u);if(_==null)return d;try{return JSON.parse(_)}catch{return d}},set(u,d){let _;try{_=JSON.stringify(d)}catch{_=void 0}_===void 0?h(i+u):l(i+u,_)},remove(u){h(i+u)},keys(){return c().map(u=>u.slice(i.length))},clear(){for(let u of c())h(u)}}}function Jo(s){let t=s==="session"?"sessionStorage":"localStorage";try{let e=globalThis[t];return!e||typeof e.getItem!="function"?null:(e.setItem(_r,"1"),e.removeItem(_r),e)}catch{return null}}var Xo=["=","+","-","@"];function Zo(s,t,e={}){let{delimiter:i=",",header:r=!0,newline:n=`\r
|
|
2
|
-
`}=e,o=ia(t),l=[];r&&l.push(o.map(h=>
|
|
3
|
-
`)||i.includes("\r")?`"${i.replaceAll('"','""')}"`:i}function na(s,t){if(typeof Blob=="function"&&s instanceof Blob)return s;let e=typeof s=="string"&&/^text\/csv\b/i.test(t)?["\uFEFF",s]:[s];return new Blob(e,{type:t})}var nt=class extends f{static cssName="check-button";static defaults={label:"",checked:!1,icon:!0,disabled:!1};render(){let t=!this.el,e=this.el??a("button");if(this.el=e,e.localName!=="button")throw new TypeError("CheckButton target must be a button element");this._createdRoot=t,this._original=t?null:oa(e),this._checked=!!this.options.checked,this._disabled=!!this.options.disabled,this._labels=br(this.options.label),e.type="button";let i=[];return this.options.icon&&i.push(a("span",{class:"zx-check-button__icon",ariaHidden:"true"},a("span",{class:"zx-check-button__off"},m("square",{size:15})),a("span",{class:"zx-check-button__on"},m("check",{size:15})))),i.push(a("span",{class:"zx-check-button__label",ref:"label"})),e.replaceChildren(...i),this._sync(),this.listen(e,"click",()=>this.toggle()),e}get(){return this._checked}set(t,{silent:e=!1}={}){let i=!!t;return i===this._checked?this:(this._checked=i,this._sync(),e||this.emit("change",{checked:this._checked}),this)}toggle(){return this.set(!this._checked)}setLabel(t){return this._labels=br(t),this._sync(),this}enable(){return this._disabled=!1,this.el.removeAttribute("disabled"),this}disable(){return this._disabled=!0,this.el.setAttribute("disabled",""),this}destroy(){this._cleaned||(this._cleaned=!0,super.destroy(),!this._createdRoot&&this._original&&aa(this.el,this._original))}_sync(){this.el.setAttribute("aria-pressed",String(this._checked)),this.el.toggleAttribute("disabled",this._disabled),this.refs.label.textContent=this._checked?this._labels.on:this._labels.off}};function br(s){return Array.isArray(s)?{on:String(s[0]??""),off:String(s[1]??"")}:{on:String(s??""),off:String(s??"")}}function oa(s){return{attributes:Array.from(s.attributes,t=>[t.name,t.value]),children:Array.from(s.childNodes)}}function aa(s,t){for(let e of Array.from(s.attributes))s.removeAttribute(e.name);for(let[e,i]of t.attributes)s.setAttribute(e,i);s.replaceChildren(...t.children)}var Ut=class extends f{static cssName="modal";static defaults={content:null,width:"auto",closable:!0,lightDismiss:!1,destroyOnClose:!1};#t;#e=!1;#i=!1;constructor(t=null,e={}){super(null,e),this.#s(this.options.width),yr(this.refs.content,this.options.content),this.listen(this.el,"cancel",i=>{let r=this.emit("cancel");(!this.options.closable||r.defaultPrevented)&&i.preventDefault()}),this.listen(this.el,"close",()=>{this.el.dataset.state="closed",delete this.el.dataset.zxOverlayOrder;let i=this.#e?this.#t:this.el.returnValue||void 0;this.#t=void 0,this.#e=!1,this.emit("close",{result:i}),this.options.destroyOnClose&&!this.#i&&this.destroy()}),this.listen(this.el,"click",i=>{!this.options.lightDismiss||i.target!==this.el||!la(this.el,i)||this.close()})}render(){let t=a("dialog",{class:"zx-modal"},a("div",{class:"zx-modal__content",ref:"content"}));return t.dataset.state="closed",document.body.append(t),t}open(){if(this.isOpen())return this;this.el.dataset.zxOverlayOrder=String(ha()),this.el.returnValue="";try{this.el.showModal()}catch(t){throw delete this.el.dataset.zxOverlayOrder,t}return this.el.dataset.state="open",this.emit("open"),this}close(t){return this.isOpen()?(this.#t=t,this.#e=!0,this.el.close(typeof t=="string"?t:""),this):this}setContent(t){return yr(this.refs.content,t),this}isOpen(){return this.el.open}destroy(){this.#i||(this.#i=!0,this.isOpen()&&this.el.close(),super.destroy())}#s(t){typeof t=="number"&&Number.isFinite(t)?this.el.style.inlineSize=`${Math.max(0,t)}px`:this.el.style.inlineSize=String(t??"auto")}};function yr(s,t){if(s.replaceChildren(),t!=null)if(typeof t=="string"||typeof t=="number")s.append(document.createTextNode(String(t)));else if(typeof t.toElement=="function"){let e=t.toElement();e&&s.append(e)}else typeof t.nodeType=="number"&&s.append(t)}function la(s,t){let e=s.getBoundingClientRect();return t.clientX<e.left||t.clientX>e.right||t.clientY<e.top||t.clientY>e.bottom}function ha(){let s=Array.from(document.querySelectorAll("[data-zx-overlay-order]"),t=>Number(t.getAttribute("data-zx-overlay-order"))||0);return Math.max(0,...s)+1}var ca=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[contenteditable="true"]','[tabindex]:not([tabindex="-1"])'].join(","),wt=class s extends Ut{static cssName="dialog";static defaults={title:"",size:"md",buttons:[],closable:!0};#t=new Map;#e=null;#i=[];#s="";#r=null;constructor(t=null,e={}){super(null,e),this.#a(this.options.size),this.#s=String(this.options.title??""),this.#o(this.#s),this.#i=ve(this.options.buttons),this.#l(this.#i),this.refs.close.hidden=!this.options.closable,this.listen(this.refs.close,"click",()=>this.close()),this.listen(this.refs.footer,"click",i=>{let r=i.target.closest?.("[data-dialog-button]");if(!r||!this.refs.footer.contains(r))return;let n=this.#n[Number(r.dataset.dialogButton)];n&&this.#c(n)}),this.on("close",()=>this.#h())}#n=[];render(){let t=b("zx-dialog-title"),e=a("dialog",{class:"zx-modal zx-dialog",ariaLabelledby:t},a("header",{class:"zx-dialog__header"},a("h2",{class:"zx-dialog__title",id:t,ref:"title"}),a("button",{class:"zx-btn zx-dialog__close",ref:"close",type:"button","data-kind":"ghost",ariaLabel:"Close",title:"Close"},"\xD7")),a("div",{class:"zx-modal__content zx-dialog__body",ref:"content"}),a("footer",{class:"zx-dialog__footer",ref:"footer"}));return e.dataset.state="closed",document.body.append(e),e}open(){return this.isOpen()?this:(this.#r=document.activeElement instanceof Element?document.activeElement:null,super.open(),queueMicrotask(()=>{if(!this.isOpen())return;let e=this.el.querySelector("[autofocus]:not([disabled])")??this.el.querySelector(ca);e instanceof HTMLElement&&e.focus()}),this)}setTitle(t){return this.#s=String(t??""),this.#o(this.#s),this}setContent(t){return this.#t.clear(),this.#e=null,ua(this.refs.content,t),this}setButtons(t){return this.#i=ve(t),this.#l(this.#i),this}addView(t,e){let i=String(t);this.#t.get(i)?.content.remove();let n=a("section",{class:"zx-dialog__view",hidden:!0,ariaHidden:"true"});xr(n,e?.content??null);let o={key:i,content:n,buttons:e&&Object.hasOwn(e,"buttons")?ve(e.buttons??[]):null,title:e&&Object.hasOwn(e,"title")?String(e.title??""):null};return this.#t.set(i,o),this.#t.size===1||this.#e?.key===i?this.showView(i):this.refs.content.append(n),o}showView(t){let e=this.#t.get(String(t));if(!e)throw new RangeError(`Unknown dialog view: ${t}`);this.#e||this.refs.content.replaceChildren();for(let i of this.#t.values()){i.content.isConnected||this.refs.content.append(i.content);let r=i===e;i.content.hidden=!r,i.content.setAttribute("aria-hidden",String(!r))}return this.#e=e,this.#o(e.title??this.#s),this.#l(e.buttons??this.#i),e}getView(t){return this.#t.get(String(t))??null}static alert({title:t="",message:e="",okLabel:i="OK"}={}){return new Promise(r=>{let n=!1,o=()=>{n||(n=!0,l.close(),r())},l=new s(null,{title:t,content:e,buttons:[{label:i,kind:"primary",action:o,autofocus:!0}]});l.once("close",()=>{n||(n=!0,r()),l.destroy()}),l.open()})}static confirm({title:t="",message:e="",okLabel:i="OK",cancelLabel:r="Cancel",danger:n=!1}={}){return new Promise(o=>{let l=!1,h=u=>{l||(l=!0,c.close(u),o(u))},c=new s(null,{title:t,content:e,buttons:[{label:r,action:()=>h(!1)},{label:i,kind:n?"danger":"primary",action:()=>h(!0),autofocus:!0}]});c.once("close",()=>{l||(l=!0,o(!1)),c.destroy()}),c.open()})}static prompt({title:t="",message:e="",value:i="",placeholder:r=""}={}){return new Promise(n=>{let o=!1,l=a("input",{class:"zx-dialog__prompt-input",value:String(i),placeholder:String(r),autofocus:!0,ariaLabel:String(t||"Prompt value")}),h=a("div",{class:"zx-dialog__prompt"},a("div",{class:"zx-dialog__prompt-message"},e),l),c=d=>{o||(o=!0,u.close(d),n(d))},u=new s(null,{title:t,content:h,buttons:[{label:"Cancel",action:()=>c(null)},{label:"OK",kind:"primary",action:()=>c(l.value)}]});u.listen(l,"keydown",d=>{d.key==="Enter"&&(d.preventDefault(),c(l.value))}),u.once("close",()=>{o||(o=!0,n(null)),u.destroy()}),u.open()})}#a(t){let e={sm:400,md:600,lg:840},i=typeof t=="number"&&Number.isFinite(t)?t:e[t]??e.md;this.el.style.inlineSize=`${Math.max(0,i)}px`}#o(t){this.refs.title.textContent=t}#l(t){this.#n=ve(t),this.refs.footer.replaceChildren(),this.refs.footer.hidden=this.#n.length===0,this.#n.forEach((e,i)=>{this.refs.footer.append(a("button",{class:"zx-btn",type:"button","data-kind":e.kind??"default","data-size":"md","data-dialog-button":String(i),autofocus:!!e.autofocus},a("span",{class:"zx-btn__label"},e.label)))})}#c(t){let e=t.action??"close";e==="close"?this.close():e==="cancel"?this.emit("cancel").defaultPrevented||this.close():typeof e=="function"&&e(this)}#h(){this.#r?.isConnected&&typeof this.#r.focus=="function"&&this.#r.focus(),this.#r=null}};function ve(s){return Array.isArray(s)?s.map(t=>({...t,label:String(t.label??"")})):[]}function ua(s,t){s.replaceChildren(),xr(s,t)}function xr(s,t){if(t!=null)if(typeof t=="string"||typeof t=="number")s.append(document.createTextNode(String(t)));else if(typeof t.toElement=="function"){let e=t.toElement();e&&s.append(e)}else typeof t.nodeType=="number"&&s.append(t)}var pt=class extends f{static cssName="groupbox";static defaults={title:"",open:!0};constructor(t,e={}){let i=t,r=null;if(t!==null){let n=O(t);if(n&&n.localName!=="details"){let o=document.createElement("details"),l=Array.from(n.childNodes),h=n.parentNode,c=n.nextSibling;h&&h.insertBefore(o,n),o.append(...l),n.remove(),r={original:n,details:o,children:l,parent:h,next:c},i=o}}try{super(i,e)}catch(n){throw r&&vr(r),n}this._adoption=r}render(){let t=!this.el,e=this.el??a("details");if(e.localName!=="details")throw new TypeError("Groupbox requires a details element");this._createdRoot=t,this._original=t?null:da(e);let i=Array.from(e.childNodes).filter(o=>!(o.nodeType===1&&o.localName==="summary")),r=a("summary",{class:"zx-groupbox__summary",ref:"summary"},a("span",{class:"zx-groupbox__chevron",ariaHidden:"true"},m("chevron-right",{size:16})),a("span",{class:"zx-groupbox__title",ref:"title"},String(this.options.title))),n=a("div",{class:"zx-groupbox__content",ref:"content"},i);return e.replaceChildren(r,n),e.open=!!this.options.open,this._lastOpen=e.open,this.listen(e,"toggle",()=>{let o=e.open;o!==this._lastOpen&&(this._lastOpen=o,this.emit(o?"open":"close"))}),e}open(){return this.el.setAttribute("open",""),this}close(){return this.el.removeAttribute("open"),this}toggle(){return this.isOpen()?this.close():this.open()}isOpen(){return this.el.open}setTitle(t){return this.refs.title.textContent=String(t),this}setContent(t){let e=t instanceof f?t.toElement():t;if(this.refs.content.replaceChildren(),typeof e=="string")this.refs.content.append(document.createTextNode(e));else if(e&&typeof e.nodeType=="number")this.refs.content.append(e);else throw new TypeError("Groupbox content must be a string, Node, or Component");return this}destroy(){this._cleaned||(this._cleaned=!0,super.destroy(),this._adoption?vr(this._adoption):!this._createdRoot&&this._original&&pa(this.el,this._original))}};function da(s){return{attributes:Array.from(s.attributes,t=>[t.name,t.value]),children:Array.from(s.childNodes)}}function pa(s,t){for(let e of Array.from(s.attributes))s.removeAttribute(e.name);for(let[e,i]of t.attributes)s.setAttribute(e,i);s.replaceChildren(...t.children)}function vr(s){if(s.original.replaceChildren(...s.children),s.details.parentNode)s.details.replaceWith(s.original);else if(s.parent){let t=s.next?.parentNode===s.parent?s.next:null;s.parent.insertBefore(s.original,t)}}var Wt=class extends f{static cssName="search";static defaults={placeholder:"",value:"",clearable:!0,debounce:250};render(){let t=!this.el,e=this.el??a("form");this._createdRoot=t,this._original=t?null:fa(e),this._inputTimer=null,e.setAttribute("role","search");let i=a("input",{class:"zx-search__input",ref:"input",type:"search",placeholder:String(this.options.placeholder),value:String(this.options.value),ariaLabel:String(this.options.placeholder||"Search")}),r=this.options.clearable?a("button",{class:"zx-search__clear",ref:"clear",type:"button",ariaLabel:"Clear search",title:"Clear search"},m("x",{size:15})):null,n=a("button",{class:"zx-search__submit",ref:"submit",type:e.localName==="form"?"submit":"button",ariaLabel:"Submit search",title:"Search"},m("search",{size:16}));return e.replaceChildren(...[i,r,n].filter(Boolean)),this._syncClear(),this.listen(i,"input",()=>{this._syncClear(),this._scheduleInput()}),e.localName==="form"?this.listen(e,"submit",o=>{o.preventDefault(),this.emit("submit",{value:this.get()})}):(this.listen(i,"keydown",o=>{o.key==="Enter"&&(o.preventDefault(),this.emit("submit",{value:this.get()}))}),this.listen(n,"click",()=>this.emit("submit",{value:this.get()}))),r&&this.listen(r,"click",()=>this.clear()),e}get(){return this.refs.input.value}set(t,{silent:e=!1}={}){return this._inputTimer!==null&&(clearTimeout(this._inputTimer),this._inputTimer=null),this.refs.input.value=String(t),this._syncClear(),e||this._scheduleInput(),this}focus(){return this.refs.input.focus(),this}clear(){return this.set(""),this.emit("clear"),this.focus(),this}destroy(){this._cleaned||(this._cleaned=!0,this._inputTimer!==null&&clearTimeout(this._inputTimer),super.destroy(),!this._createdRoot&&this._original&&_a(this.el,this._original))}_scheduleInput(){this._inputTimer!==null&&clearTimeout(this._inputTimer);let t=Math.max(0,Number(this.options.debounce)||0);this._inputTimer=setTimeout(()=>{this._inputTimer=null,this.emit("input",{value:this.get()})},t)}_syncClear(){this.refs.clear&&(this.refs.clear.hidden=this.get()==="")}};function fa(s){return{attributes:Array.from(s.attributes,t=>[t.name,t.value]),children:Array.from(s.childNodes)}}function _a(s,t){for(let e of Array.from(s.attributes))s.removeAttribute(e.name);for(let[e,i]of t.attributes)s.setAttribute(e,i);s.replaceChildren(...t.children)}var ma=new Set(["divided","bracket","line","segmented"]),Qt=class extends f{static cssName="tabbox";static defaults={tabs:[],active:null,variant:"divided",keepAlive:!0};constructor(t,e={}){super(t,e)}render(){let t=!this.el,e=this.el??a("section");if(this.el=e,this._createdRoot=t,this._original=t?null:ba(e),this._cleaned=!1,this._tabs=[],this._active=null,this._keepAlive=!!this.options.keepAlive,this._initializing=!0,!ma.has(this.options.variant))throw new RangeError(`Unknown tabbox variant: ${this.options.variant}`);e.dataset.variant=this.options.variant;let i=a("div",{class:"zx-tabbox__tablist",ref:"tablist",role:"tablist",ariaOrientation:"horizontal"}),r=a("div",{class:"zx-tabbox__panels",ref:"panels"});if(e.replaceChildren(i,r),!Array.isArray(this.options.tabs))throw new TypeError("Tabbox tabs must be an array");for(let l of this.options.tabs)this.addTab(l);this._initializing=!1;let n=this.options.active===null?null:this._find(this.options.active),o=n&&!n.definition.disabled?n:this._enabledTabs()[0];return o&&this._applyActive(o),this.listen(i,"click",l=>{let h=l.target.closest?.('[role="tab"]');if(!h||!i.contains(h))return;let c=this._recordForTab(h);!c||c.definition.disabled||(this._setFocused(c),this.openTab(c.definition.name))}),this.listen(i,"keydown",l=>this._onKeydown(l)),e}addTab(t,e={}){if(!t||typeof t!="object"||Array.isArray(t))throw new TypeError("Tab definition must be an object");if(typeof t.name!="string"||t.name==="")throw new TypeError("Tab name must be a non-empty string");if(this._find(t.name))throw new RangeError(`Tab already exists: ${t.name}`);if(!ga(t.content))throw new TypeError("Tab content must be a Node, Component, or function");let i={name:t.name,title:String(t.title??""),content:t.content,icon:t.icon?String(t.icon):null,closable:!!t.closable,disabled:!!t.disabled},r=b("zx-tab"),n=b("zx-tabpanel"),o=a("span",{class:"zx-tabbox__title"},i.title),l=a("span",{class:"zx-tabbox__badge",hidden:!0}),h=[];i.icon&&h.push(a("span",{class:"zx-tabbox__icon",ariaHidden:"true"},m(i.icon,{size:16}))),h.push(o,l),i.closable&&h.push(a("span",{class:"zx-tabbox__close",ariaHidden:"true"},m("x",{size:14})));let c=a("button",{class:"zx-tabbox__tab",type:"button",id:r,role:"tab",tabindex:"-1",ariaControls:n,ariaSelected:"false",ariaDisabled:i.disabled?"true":null,dataset:{closable:i.closable?"true":null}},h),u=a("div",{class:"zx-tabbox__panel",id:n,role:"tabpanel",tabindex:"0",ariaLabelledby:r,hidden:!0}),d={definition:i,tab:c,title:o,badge:l,panel:u,built:!1},_=Number.isFinite(e.index)?Math.trunc(e.index):this._tabs.length,p=Math.max(0,Math.min(this._tabs.length,_)),g=this._tabs[p]??null;return this._tabs.splice(p,0,d),this.refs.tablist.insertBefore(c,g?.tab??null),this._keepAlive&&this.refs.panels.insertBefore(u,g?.panel??null),!this._initializing&&!this._active&&!i.disabled&&this._applyActive(d),this}removeTab(t){return this._removeTab(t,!1),this}openTab(t){let e=this._find(t);if(!e||e.definition.disabled||e===this._active)return this;let i=this._active?.definition.name??null;return this.emit("change",{name:e.definition.name,previous:i}).defaultPrevented?this:(this._applyActive(e),this)}show(t){return this.openTab(t)}getActive(){return this._active?.definition.name??null}setTitle(t,e){let i=this._require(t);return i.definition.title=String(e??""),i.title.textContent=i.definition.title,this}setBadge(t,e){let i=this._require(t);return i.badge.textContent=e===null?"":String(e),i.badge.hidden=e===null,this}enableTab(t){let e=this._require(t);return e.definition.disabled?(e.definition.disabled=!1,e.tab.removeAttribute("aria-disabled"),this._active||this._applyActive(e),this):this}disableTab(t){let e=this._require(t);if(e.definition.disabled)return this;if(e===this._active){let i=this._enabledTabs().find(r=>r!==e)??null;if(i){if(this.openTab(i.definition.name),this._active===e)return this}else e.tab.setAttribute("aria-selected","false"),e.tab.tabIndex=-1,e.panel.hidden=!0,this._keepAlive||e.panel.remove(),this._active=null}return e.definition.disabled=!0,e.tab.setAttribute("aria-disabled","true"),e.tab.tabIndex=-1,this}destroy(){this._cleaned||(this._cleaned=!0,super.destroy(),!this._createdRoot&&this._original&&ya(this.el,this._original))}_onKeydown(t){let e=t.target.closest?.('[role="tab"]');if(!e||!this.refs.tablist.contains(e))return;let i=this._recordForTab(e);if(!i)return;let r=this._enabledTabs();if(t.key==="ArrowLeft"||t.key==="ArrowRight"){t.preventDefault();let n=t.key==="ArrowRight"?1:-1,o=r.indexOf(i),l=r[(o+n+r.length)%r.length];l&&this._setFocused(l);return}if(t.key==="Home"||t.key==="End"){t.preventDefault();let n=t.key==="Home"?r[0]:r[r.length-1];n&&this._setFocused(n);return}if(t.key==="Enter"||t.key===" "){t.preventDefault(),this.openTab(i.definition.name);return}if(t.key==="Delete"&&i.definition.closable){t.preventDefault();let n=this._tabs.indexOf(i);if(!this._removeTab(i.definition.name,!0))return;let o=this._tabs[Math.min(n,this._tabs.length-1)]??this._tabs[n-1],l=o&&!o.definition.disabled?o:this._active;l&&this._setFocused(l)}}_removeTab(t,e){let i=this._find(t);if(!i)return!1;let r=this._tabs.indexOf(i),o=this._tabs.filter(h=>h!==i).filter(h=>!h.definition.disabled),l=o.find(h=>this._tabs.indexOf(h)>r)??o.at(-1)??null;return i===this._active&&l&&this.emit("change",{name:l.definition.name,previous:i.definition.name}).defaultPrevented?!1:(this._tabs.splice(r,1),i.tab.remove(),i.panel.remove(),i===this._active&&(this._active=null,l&&this._applyActive(l)),e&&this.emit("close",{name:i.definition.name}),!0)}_applyActive(t){this._ensureContent(t);let e=this._active;e&&e!==t&&(e.tab.setAttribute("aria-selected","false"),e.panel.hidden=!0,this._keepAlive||e.panel.remove()),this._active=t,t.tab.setAttribute("aria-selected","true"),t.panel.hidden=!1,t.panel.parentNode!==this.refs.panels&&this.refs.panels.append(t.panel),this._setFocused(t,!1)}_ensureContent(t){if(t.built)return;let e=typeof t.definition.content=="function"?t.definition.content():t.definition.content,i=e instanceof f?e.toElement():e;if(!i||typeof i.nodeType!="number")throw new TypeError(`Tab content factory for ${t.definition.name} must return a Node or Component`);t.panel.append(i),t.built=!0}_setFocused(t,e=!0){for(let i of this._tabs)i.tab.tabIndex=i===t?0:-1;e&&t.tab.focus()}_enabledTabs(){return this._tabs.filter(t=>!t.definition.disabled)}_find(t){return this._tabs.find(e=>e.definition.name===t)??null}_require(t){let e=this._find(t);if(!e)throw new RangeError(`Unknown tab: ${t}`);return e}_recordForTab(t){return this._tabs.find(e=>e.tab===t)??null}};function ga(s){return typeof s=="function"||s instanceof f?!0:!!(s&&typeof s=="object"&&typeof s.nodeType=="number")}function ba(s){return{attributes:Array.from(s.attributes,t=>[t.name,t.value]),children:Array.from(s.childNodes)}}function ya(s,t){for(let e of Array.from(s.attributes))s.removeAttribute(e.name);for(let[e,i]of t.attributes)s.setAttribute(e,i);s.replaceChildren(...t.children)}function xa(s,t){return String(s).localeCompare(String(t))}function va(s,t){return s-t}function wa(s,t){return s.getTime()-t.getTime()}function ka(s,t,e="asc"){let i=s==null,r=t==null;if(i||r)return i&&r?0:i?1:-1;let n;return s instanceof Date&&t instanceof Date?n=wa(s,t):typeof s=="number"&&typeof t=="number"?n=va(s,t):n=xa(s,t),e==="desc"?-n:n}function Aa(s,t="asc"){return(e,i)=>ka(s(e),s(i),t)}function wr(s,t,e="asc"){let i=Aa(t,e);return s.map((r,n)=>({row:r,index:n})).sort((r,n)=>i(r.row,n.row)||r.index-n.index).map(({row:r})=>r)}var Sa=new Set(["text","number","select","date","checkbox","textarea"]),za='input, textarea, select, button, [tabindex]:not([tabindex="-1"])',Jt=class extends f{static cssName="table";static defaults={columns:[],data:[],rowId:"ID",sort:null,sortMode:"local",selectable:!1,stickyHeader:!0,height:null,emptyText:null,rowClass:null,zebra:!0,editMode:!1};constructor(t,e={}){super(t,e)}render(){let t=this.el??a("div");return this._originalChildren=this.el?Array.from(this.el.childNodes):null,this._columns=Array.isArray(this.options.columns)?this.options.columns.map(e=>({...e})):[],this._data=Array.isArray(this.options.data)?[...this.options.data]:[],this._selected=new Set,this._selectionAnchorId=null,this._sort=Oa(this.options.sort,this._columns),this._rowMeta=new WeakMap,this._rowElements=new Map,this._restored=!1,this._editMode=Ma(this.options.editMode),this._edit=null,this._editMessage=null,this._rovingKey=null,this._rovingCell=null,this._rovingMatched=!1,this._sort&&this.options.sortMode==="local"&&this._sortData(),this._table=a("table",{class:"zx-table__table"}),this._colgroup=a("colgroup",{class:"zx-table__columns"}),this._thead=a("thead",{class:"zx-table__head"}),this._tbody=a("tbody",{class:"zx-table__body"}),this._table.append(this._colgroup,this._thead,this._tbody),this._scroll=a("div",{class:"zx-table__scroll",dataset:{stickyHeader:String(!!this.options.stickyHeader),zebra:String(!!this.options.zebra)}},this._table),this.options.height!=null&&(this._scroll.style.blockSize=typeof this.options.height=="number"?`${this.options.height}px`:String(this.options.height)),this._editMode===!1?t.replaceChildren(this._scroll):(t.dataset.editMode=this._editMode,this._editMessage=a("div",{class:"zx-table__message",id:b("zx-table-message"),role:"status",ariaLive:"polite"}),t.replaceChildren(this._scroll,this._editMessage)),this._renderColumns(),this._renderHeader(),this._renderBody(),this.listen(this._tbody,"click",e=>this._handleBodyClick(e)),this.listen(this._tbody,"dblclick",e=>this._handleBodyDoubleClick(e)),this._editMode!==!1&&(this.listen(this._tbody,"keydown",e=>this._handleEditKeydown(e)),this.listen(this._tbody,"focusin",e=>this._handleEditFocusIn(e)),this.listen(document,"pointerdown",e=>this._handleDocumentPointerDown(e),{capture:!0})),t}setLoading(t=!0){return t?this.el.dataset.loading="true":delete this.el.dataset.loading,this.el.setAttribute("aria-busy",String(!!t)),this}setData(t){this.setLoading(!1),Ar(t),this._data=[...t],this._sort&&this.options.sortMode==="local"&&this._sortData();let e=this._pruneSelection();return this._renderBody(),e&&this._emitSelectionChange(),this._emitDataChange(),this}addData(t){return Ar(t),this._data.push(...t),this._sort&&this.options.sortMode==="local"&&this._sortData(),this._renderBody(),this._emitDataChange(),this}updateRow(t,e){let i=this._data.findIndex(n=>Object.is(this._idFor(n),t));if(i<0)return this;let r=this._selected.delete(t);return this._data[i]=e,r&&this._selected.add(this._idFor(e)),this._sort&&this.options.sortMode==="local"&&this._sortData(),this._renderBody(),r&&!Object.is(t,this._idFor(e))&&this._emitSelectionChange(),this._emitDataChange(),this}removeRow(t){let e=this._data.findIndex(r=>Object.is(this._idFor(r),t));if(e<0)return this;this._data.splice(e,1);let i=this._selected.delete(t);return Object.is(this._selectionAnchorId,t)&&(this._selectionAnchorId=null),this._renderBody(),i&&this._emitSelectionChange(),this._emitDataChange(),this}getRow(t){return this._data.find(e=>Object.is(this._idFor(e),t))??null}getData(){return[...this._data]}empty(){let t=this._selected.size>0;return this._data=[],this._selected.clear(),this._selectionAnchorId=null,this._renderBody(),t&&this._emitSelectionChange(),this._emitDataChange(),this}setSort(t,e,i={}){if(this._abortEdit({focus:!1}),!this._columns.find(o=>o.id===t))throw new RangeError(`Unknown table column: ${t}`);let n=e??(this._sort?.id===t&&this._sort.dir==="asc"?"desc":"asc");if(n!=="asc"&&n!=="desc")throw new TypeError('Table sort direction must be "asc" or "desc"');return this._sort={id:t,dir:n},this.options.sortMode==="local"&&(this._sortData(),this._renderBody()),this._syncSortHeader(),i.silent||this.emit("sort",{id:t,dir:n}),this}getSelection(){return this._data.filter(t=>this._selected.has(this._idFor(t)))}setSelection(t){if(!Array.isArray(t))throw new TypeError("Table selection must be an array of row ids");let e=new Set(this._data.map(r=>this._idFor(r))),i=new Set;if(this.options.selectable!==!1){for(let r of t)if(e.has(r)&&i.add(r),this.options.selectable==="single"&&i.size>0)break}return La(this._selected,i)?this:(this._selected=i,this._syncSelection(),this._emitSelectionChange(),this)}clearSelection(){return this._selected.size===0?this:(this._selected.clear(),this._selectionAnchorId=null,this._syncSelection(),this._emitSelectionChange(),this)}startEdit(t,e){if(this._editMode===!1)return this;let i=this._columns.find(u=>u.id===e);if(!i)return this;let r=this._data.find(u=>Object.is(this._idFor(u),t));if(r===void 0||Gt(i,r)===!1)return this;if(this._edit){if(Object.is(this._edit.id,t)&&this._edit.cells.has(e))return this._edit.columnId=e,this._focusEditor(e),this;if(this.commitEdit(),this._edit)return this}let n=this._data.findIndex(u=>Object.is(this._idFor(u),t));if(n<0)return this;let o=this._data[n],l=this._rowElements.get(t)?.[0];if(!l)return this;let h=this._editMode==="row"?this._columns.filter(u=>Gt(u,o)!==!1):[i],c=new Map;for(let u of h){let d=kr(l,u.id);if(!d)continue;let _=this._createEditor(d,u,o,n);_&&c.set(u.id,_)}return c.size===0?this:(this._edit={id:t,columnId:e,row:o,cells:c,tr:l},l.dataset.editing="true",this.emit("editstart",{row:o,id:t,column:i,columnId:e,value:o?.[e]}),this._focusEditor(e),this)}commitEdit(){let t=this._edit;if(!t)return this;let e=this.getRow(t.id)??t.row,i={};for(let[d,_]of t.cells)i[d]=_.read();let r=this._columns.filter(d=>t.cells.has(d.id)),n=Ea(i,r,e,this._msgOr("table.invalid","Invalid value"));if(n)return this._markInvalid(n.columnId,n.message),t.columnId=n.columnId,this.emit("editinvalid",{row:e,id:t.id,column:this._columns.find(d=>d.id===n.columnId)??null,columnId:n.columnId,value:i[n.columnId],message:n.message}),this._focusEditor(n.columnId),this;this._clearInvalid();let o=Da(e,i),l=t.columnId;if(this.emit("editcommit",{row:e,id:t.id,column:this._columns.find(d=>d.id===l)??null,columnId:l,value:i[l],previous:e?.[l],changes:o}).defaultPrevented)return this;let c=this._editHasFocus(),u={...e,...o};return this._teardownEdit(),Object.keys(o).length>0&&this.updateRow(t.id,u),c&&this._focusCell(this._idFor(u),l),this}cancelEdit(){return this._abortEdit({focus:!0}),this}isEditing(){return this._edit!==null}getEditing(){return this._edit?{id:this._edit.id,columnId:this._edit.columnId}:null}destroy(){this._teardownEdit(),this.el&&delete this.el.dataset.editMode,!this._restored&&this._originalChildren&&(this.el.replaceChildren(...this._originalChildren),this._restored=!0),super.destroy()}_renderColumns(){let t=document.createDocumentFragment();this.options.selectable==="multi"&&t.append(a("col",{class:"zx-table__selection-column"}));let e=this._columns.map(r=>Fa(r.width)),i=e.reduce((r,n)=>r+n,0);this._table.dataset.layout=i>0?"fixed":"auto",this._columns.forEach((r,n)=>{let o=a("col");e[n]>0?o.style.width=`${e[n]/i*100}%`:r.width&&r.width!=="auto"&&(o.style.width=String(r.width)),t.append(o)}),this._colgroup.replaceChildren(t)}_renderHeader(){let t=a("tr",{class:"zx-table__header-row"});if(this.options.selectable==="multi"){this._selectAll=a("input",{class:"zx-table__checkbox zx-table__select-all",type:"checkbox",ariaLabel:"Select all rows"});let e=a("th",{class:"zx-table__selection-header",scope:"col"},this._selectAll);t.append(e),this.listen(this._selectAll,"click",()=>{if(this._selectAll.checked)for(let i of this._data)this._selected.add(this._idFor(i));else this._selected.clear();this._selectionAnchorId=null,this._syncSelection(),this._emitSelectionChange()})}else this._selectAll=null;this._headers=new Map;for(let e of this._columns){let i=a("th",{scope:"col"});if(e.align&&(i.dataset.align=e.align),e.headerTitle&&(i.title=e.headerTitle),e.sortable){let r=a("button",{class:"zx-table__sort-button",type:"button"},a("span",{class:"zx-table__header-label"},e.label));this.listen(r,"click",()=>{let n=this._sort?.id===e.id&&this._sort.dir==="asc"?"desc":"asc";this.setSort(e.id,n)}),i.append(r)}else i.append(a("span",{class:"zx-table__header-label"},e.label));this._headers.set(e.id,i),t.append(i)}this._thead.replaceChildren(t),this._syncSortHeader()}_renderBody(){this._abortEdit({focus:!1});let t=document.createDocumentFragment();if(this._rowMeta=new WeakMap,this._rowElements=new Map,this._rovingCell=null,this._rovingMatched=!1,this._data.length===0){let e=this.options.emptyText==null?this.msg("table.empty"):String(this.options.emptyText);t.append(a("tr",{class:"zx-table__empty-row"},a("td",{class:"zx-table__empty",colspan:this._columns.length+(this.options.selectable==="multi"?1:0)},e)))}else this._data.forEach((e,i)=>t.append(this._createRow(e,i)));this._tbody.replaceChildren(t),this._syncSelectAll()}_createRow(t,e){let i=this._idFor(t),r=a("tr",{dataset:{row:""}}),n=typeof this.options.rowClass=="function"?this.options.rowClass(t):"";n&&r.classList.add(...String(n).split(/\s+/).filter(Boolean)),this.options.selectable!==!1&&r.setAttribute("aria-selected",String(this._selected.has(i))),this._rowMeta.set(r,{row:t,id:i,index:e});let o=this._rowElements.get(i)??[];if(o.push(r),this._rowElements.set(i,o),this.options.selectable==="multi"){let l=a("input",{class:"zx-table__checkbox zx-table__row-checkbox",type:"checkbox",checked:this._selected.has(i),ariaLabel:`Select row ${e+1}`});r.append(a("td",{class:"zx-table__selection-cell"},l))}return this._columns.forEach(l=>{let h=a("td");l.align&&(h.dataset.align=l.align),this._editMode!==!1&&(h.dataset.column=l.id,Gt(l,t)!==!1&&(h.dataset.editable="true",h.tabIndex=-1,this._offerRovingCell(h,i,l.id))),this._renderCellContent(h,l,t,e),r.append(h)}),r}_renderCellContent(t,e,i,r){let n=typeof e.render=="function"?e.render(i,r):i?.[e.id];n&&typeof n=="object"&&typeof n.nodeType=="number"?t.replaceChildren(n):n!=null?t.replaceChildren(document.createTextNode(String(n))):t.replaceChildren()}_handleBodyClick(t){let e=t.target?.nodeType===1?t.target:t.target?.parentElement;if(this._edit&&we(e))return;let i=e?.closest("tr[data-row]");if(!i||!this._tbody.contains(i))return;let r=this._rowMeta.get(i);if(!r)return;this._edit&&this.commitEdit();let n=e.closest(".zx-table__row-checkbox");if(n&&this.options.selectable==="multi"){this._toggleMultiSelection(r,n.checked,t.shiftKey);return}this.emit("rowclick",{...r,event:t}),this.options.selectable==="single"&&!this._selected.has(r.id)&&(this._selected=new Set([r.id]),this._selectionAnchorId=r.id,this._syncSelection(),this._emitSelectionChange())}_handleBodyDoubleClick(t){let e=t.target?.nodeType===1?t.target:t.target?.parentElement;if(e?.closest(".zx-table__row-checkbox")||this._edit&&we(e))return;let i=e?.closest("tr[data-row]");if(!i||!this._tbody.contains(i))return;let r=this._rowMeta.get(i);if(r){if(this._editMode!==!1){let n=e?.closest('td[data-editable="true"]');if(n&&this._tbody.contains(n)){this.startEdit(r.id,String(n.dataset.column));return}}this.emit("rowdblclick",{...r,event:t})}}_createEditor(t,e,i,r){let n=Gt(e,i);if(n===!1)return null;let o=i?.[e.id],l=e.editorProps&&typeof e.editorProps=="object"?e.editorProps:{},h=a("span",{class:"zx-table__cell-shadow",ariaHidden:"true"});h.append(...t.childNodes);let c=a("div",{class:"zx-table__editor",dataset:{editor:n}});t.replaceChildren(h,c),t.dataset.editing="true";let u={column:e,type:n,td:t,host:c,control:null,component:null,read:()=>o,destroy(){this.component?.destroy(),this.host.remove()}};if(n==="custom"){u.custom=o,u.read=()=>ft(e,u.custom,i);let p={value:o,row:i,column:e,commit:y=>{u.custom=y,this.commitEdit()},cancel:()=>this.cancelEdit()},g=e.editor(i,p);return g&&typeof g.toElement=="function"?(typeof g.destroy=="function"&&(u.component=g),c.append(g.toElement())):g&&c.append(g),u.control=c.querySelector(za)??c,u}if(n==="number"){let p=new ct(null,{...l,value:o??null});return c.append(p.el),u.component=p,u.control=p.getInput(),u.read=()=>(p.set(p.getInput().value,{silent:!0}),ft(e,p.get(),i)),u}if(n==="select"){let p=Ca(e.options,i),g=p.find(A=>Object.is(A.value,o))??p.find(A=>String(A.value)===String(o??"")),y=new F(null,{...l,items:p,valueKey:"value",labelKey:"label",value:g?g.value:null});return c.append(y.el),u.component=y,u.control=y.refs.input,u.read=()=>ft(e,y.value,i),u}if(n==="date"){let p=new P(null,{...l,value:o??null});c.append(p.el),u.component=p;let g=p.refs.input;return u.control=g,u.read=()=>{let y=String(g.value??"").trim(),A=p.get();return y===""?ft(e,null,i):(p.set(y,{silent:!0}),p.get()===null&&p.set(A,{silent:!0}),ft(e,p.get(),i))},u}if(n==="checkbox"){let p=new H(null,{...l,checked:!!o});return c.append(p.el),u.component=p,u.control=p.el,u.read=()=>ft(e,p.get(),i),u}let d=n==="textarea",_=a(d?"textarea":"input",{...l,class:d?"zx-table__editor-input zx-table__editor-textarea":"zx-table__editor-input",...d?{}:{type:"text"},ariaLabel:l.ariaLabel??`${e.label} row ${r+1}`,value:Ta(e,o,i)});return c.append(_),u.control=_,u.read=()=>ft(e,_.value,i),u}_focusEditor(t){let e=this._edit?.cells.get(t),i=e?.control;!i||typeof i.focus!="function"||(i.focus(),e.type==="text"&&typeof i.select=="function"&&i.select())}_focusCell(t,e){let i=this._rowElements.get(t)?.[0];(i?kr(i,e):null)?.focus()}_teardownEdit(){let t=this._edit;if(!t)return;this._edit=null;let e=this._data.findIndex(r=>Object.is(this._idFor(r),t.id)),i=e<0?t.row:this._data[e];for(let r of t.cells.values())r.destroy(),delete r.td.dataset.editing,delete r.td.dataset.invalid,this._renderCellContent(r.td,r.column,i,e<0?0:e);t.cells.clear(),delete t.tr.dataset.editing,this._clearInvalid()}_abortEdit({focus:t=!0}={}){let e=this._edit;if(!e)return;let i=t&&this._editHasFocus(),r=this.getRow(e.id)??e.row,n=this._columns.find(o=>o.id===e.columnId)??null;this._teardownEdit(),i&&this._focusCell(e.id,e.columnId),this.emit("editcancel",{row:r,id:e.id,column:n,columnId:e.columnId})}_editHasFocus(){let t=document.activeElement;return!!(t&&this.el?.contains(t))}_markInvalid(t,e){this._clearInvalid();let i=this._edit?.cells.get(t);i&&(i.td.dataset.invalid="true",i.control?.setAttribute("aria-invalid","true"),this._editMessage&&(i.control?.setAttribute("aria-describedby",this._editMessage.id),this._editMessage.textContent=e))}_clearInvalid(){if(this._edit)for(let t of this._edit.cells.values())delete t.td.dataset.invalid,t.control?.removeAttribute("aria-invalid"),t.control?.removeAttribute("aria-describedby");this._editMessage&&(this._editMessage.textContent="")}_handleEditKeydown(t){let e=t.target?.nodeType===1?t.target:t.target?.parentElement;if(!e)return;if(this._edit&&we(e)){if(Ia(e))return;if(t.key==="Escape"){if(t.defaultPrevented)return;t.preventDefault(),this.cancelEdit();return}if(t.key==="Enter"){if(e.localName==="textarea"&&t.shiftKey)return;t.preventDefault(),this.commitEdit();return}t.key==="Tab"&&this._moveEdit(t);return}if(t.key!=="Enter"&&t.key!=="F2")return;let i=e.closest('td[data-editable="true"]');if(!i||!this._tbody.contains(i))return;let r=this._rowMeta.get(i.parentElement);r&&(t.preventDefault(),this.startEdit(r.id,String(i.dataset.column)))}_moveEdit(t){let e=this._edit;if(!e)return;let i=t.shiftKey?-1:1,r=this._data.findIndex(o=>Object.is(this._idFor(o),e.id)),n=this._nextEditableCell(r,e.columnId,i);if(n&&Object.is(n.id,e.id)&&e.cells.has(n.columnId)){t.preventDefault(),e.columnId=n.columnId,this._focusEditor(n.columnId);return}if(!n){this.commitEdit(),this._edit&&t.preventDefault();return}t.preventDefault(),this.commitEdit(),this._edit||this.startEdit(n.id,n.columnId)}_nextEditableCell(t,e,i){let r=this._columns.length;if(t<0||r===0)return null;let n=t,o=this._columns.findIndex(h=>h.id===e),l=this._data.length*r+r;for(let h=0;h<l;h+=1){if(o+=i,o>=r?(n+=1,o=0):o<0&&(n-=1,o=r-1),n<0||n>=this._data.length)return null;let c=this._data[n],u=this._columns[o];if(Gt(u,c)!==!1)return{id:this._idFor(c),columnId:u.id,index:n}}return null}_handleEditFocusIn(t){let i=(t.target?.nodeType===1?t.target:null)?.closest('td[data-editable="true"]');if(!i||!this._tbody.contains(i))return;let r=this._rowMeta.get(i.parentElement);r&&this._setRovingCell(i,r.id,String(i.dataset.column))}_handleDocumentPointerDown(t){if(!this._edit)return;let e=t.target?.nodeType===1?t.target:t.target?.parentElement;e&&we(e)||e&&this._tbody.contains(e)||this.commitEdit()}_offerRovingCell(t,e,i){if(this._rovingMatched)return;let r=this._rovingKey!==null&&Object.is(this._rovingKey.id,e)&&this._rovingKey.columnId===i;!r&&this._rovingCell||(r&&this._rovingCell&&(this._rovingCell.tabIndex=-1),t.tabIndex=0,this._rovingCell=t,this._rovingMatched=r)}_setRovingCell(t,e,i){this._rovingCell&&this._rovingCell!==t&&(this._rovingCell.tabIndex=-1),t.tabIndex=0,this._rovingCell=t,this._rovingMatched=!0,this._rovingKey={id:e,columnId:i}}_msgOr(t,e){let i=this.msg(t);return i===t?e:i}_toggleMultiSelection(t,e,i){let r=this._data.findIndex(n=>Object.is(this._idFor(n),this._selectionAnchorId));if(i&&r>=0){let n=Math.min(r,t.index),o=Math.max(r,t.index);for(let l=n;l<=o;l+=1){let h=this._idFor(this._data[l]);e?this._selected.add(h):this._selected.delete(h)}}else e?this._selected.add(t.id):this._selected.delete(t.id);this._selectionAnchorId=t.id,this._syncSelection(),this._emitSelectionChange()}_syncSelection(){for(let[t,e]of this._rowElements){let i=this._selected.has(t);for(let r of e){r.setAttribute("aria-selected",String(i));let n=r.querySelector(".zx-table__row-checkbox");n&&(n.checked=i)}}this._syncSelectAll()}_syncSelectAll(){if(!this._selectAll)return;let t=this._data.reduce((e,i)=>e+Number(this._selected.has(this._idFor(i))),0);this._selectAll.disabled=this._data.length===0,this._selectAll.checked=this._data.length>0&&t===this._data.length,this._selectAll.indeterminate=t>0&&t<this._data.length}_syncSortHeader(){if(this._headers)for(let[t,e]of this._headers)this._sort?.id===t?e.setAttribute("aria-sort",this._sort.dir==="asc"?"ascending":"descending"):e.removeAttribute("aria-sort")}_sortData(){if(!this._sort)return;let t=this._columns.find(i=>i.id===this._sort.id);if(!t)return;let e=typeof t.sortValue=="function"?t.sortValue:i=>i?.[t.id];this._data=wr(this._data,e,this._sort.dir)}_pruneSelection(){let t=new Set(this._data.map(i=>this._idFor(i))),e=this._selected.size;for(let i of this._selected)t.has(i)||this._selected.delete(i);return t.has(this._selectionAnchorId)||(this._selectionAnchorId=null),e!==this._selected.size}_idFor(t){return typeof this.options.rowId=="function"?this.options.rowId(t):t?.[this.options.rowId]}_emitSelectionChange(){let t=this.getSelection();this.emit("selectionchange",{rows:t,ids:t.map(e=>this._idFor(e))})}_emitDataChange(){this.emit("datachange",{rows:this.getData()})}};function Gt(s,t){if(!s||typeof s!="object")return!1;if(typeof s.editor=="function")return typeof s.editable=="function"&&s.editable(t)===!1?!1:"custom";let e=typeof s.editable=="function"?s.editable(t):s.editable;return e===!0?"text":typeof e=="string"&&Sa.has(e)?e:!1}function Ca(s,t){let e=typeof s=="function"?s(t):s;return Array.isArray(e)?e.map(i=>i!==null&&typeof i=="object"?{value:i.value,label:String(i.label??i.value??"")}:{value:i,label:String(i??"")}):e!==null&&typeof e=="object"?Object.entries(e).map(([i,r])=>({value:i,label:String(r??"")})):[]}function Ta(s,t,e){if(typeof s?.format=="function"){let i=s.format(t,e);return i==null?"":String(i)}return t==null?"":String(t)}function ft(s,t,e){return typeof s?.parse=="function"?s.parse(t,e):t}function Na(s,t){return Object.is(s,t)?!0:s instanceof Date&&t instanceof Date?s.getTime()===t.getTime():!1}function Da(s,t){let e={};for(let[i,r]of Object.entries(t??{}))Na(s?.[i],r)||(e[i]=r);return e}function Ea(s,t,e,i="Invalid value"){for(let r of t??[]){if(typeof r?.validate!="function"||!Object.prototype.hasOwnProperty.call(s??{},r.id))continue;let n=r.validate(s[r.id],e);if(typeof n=="string")return{columnId:r.id,message:n};if(n===!1)return{columnId:r.id,message:i}}return null}function Ma(s){return s==="cell"||s==="row"?s:s===!0?"cell":!1}function we(s){return!!s?.closest?.(".zx-table__editor")}function Ia(s){return s.closest("[popover]")?!0:s.getAttribute?.("aria-expanded")==="true"}function kr(s,t){for(let e of s.cells)if(e.dataset.column===t)return e;return null}function Oa(s,t){return!s||typeof s!="object"||!t.some(e=>e.id===s.id)?null:{id:s.id,dir:s.dir==="desc"?"desc":"asc"}}function Fa(s){if(typeof s!="string")return 0;let t=/^(\d*\.?\d+)fr$/.exec(s.trim());return t?Math.max(0,Number(t[1])):0}function Ar(s){if(!Array.isArray(s))throw new TypeError("Table data must be an array")}function La(s,t){return s.size===t.size&&[...s].every(e=>t.has(e))}var Y=Symbol("invalid attribute");function kt(s,t="string",e=console.warn){if(Sr(t),t==="boolean")return s!==null;if(s!==null){if(t==="string")return s;if(t==="number"){let i=Number(s);return Number.isFinite(i)?i:(e(`Ignoring invalid number attribute: ${JSON.stringify(s)}`),Y)}try{return JSON.parse(s)}catch{return e(`Ignoring invalid JSON attribute: ${JSON.stringify(s)}`),Y}}}function di(s,t="string",e=console.warn){if(Sr(t),t==="boolean")return s?"":null;if(s==null)return null;if(t==="number"){let i=Number(s);return Number.isFinite(i)?String(i):(e(`Ignoring invalid number property: ${String(s)}`),Y)}if(t==="json"){try{let i=JSON.stringify(s);if(i!==void 0)return i}catch{}return e("Ignoring property that cannot be serialized as JSON"),Y}return String(s)}function Sr(s){if(!["string","number","boolean","json"].includes(String(s)))throw new TypeError(`Unknown reflected attribute type: ${String(s)}`)}var Ra=Object.freeze(["change","input","submit","clear","open","close","cancel","invalid","query","loaded","rowclick","rowdblclick","sort","selectionchange","datachange"]),Va=U({checked:T({always:!0,set:(s,t)=>s.set(t,{silent:!0}),get:s=>s.get()}),value:w({default:!0}),label:w({default:null,rebuild:!0}),disabled:T({always:!0,set:Xt})}),Ba=U({checked:T({always:!0,set:(s,t)=>s.set(t,{silent:!0}),get:s=>s.get()}),value:w({option:null,default:"on"}),label:w({default:"",set:(s,t)=>s.setLabel(t)}),icon:T({rebuild:!0}),disabled:T({always:!0,set:Xt})}),Pa=U({items:tt({default:[],set:(s,t)=>s.setItems(t)}),value:w({default:null,set:(s,t)=>s.set(t,{silent:!0}),get:s=>s.value}),"value-key":w({property:"valueKey",default:"ID",rebuild:!0}),"label-key":w({property:"labelKey",default:"name",rebuild:!0}),placeholder:w({default:"",set:(s,t)=>{s.refs.input.placeholder=t}}),clearable:T({default:!1,rebuild:!0}),filter:w({default:!1,normalize:tl,rebuild:!0}),"search-keys":tt({property:"searchKeys",default:null,rebuild:!0}),"min-query":At({property:"minQuery",default:0,rebuild:!0}),debounce:At({default:200,rebuild:!0}),"list-height":At({property:"listHeight",default:280,rebuild:!0}),disabled:T({always:!0,set:Xt}),required:T({option:null,always:!0}),name:w({option:null,default:""})}),ja=U({items:tt({default:[],set:(s,t)=>s.setItems(t)}),value:tt({option:null,default:[],set:(s,t)=>s.setValues(t),get:s=>s.getValues()}),"value-key":w({property:"valueKey",default:"ID",rebuild:!0}),"label-key":w({property:"labelKey",default:"name",rebuild:!0}),"checked-key":w({property:"checkedKey",default:"on",rebuild:!0}),search:T({rebuild:!0}),height:At({default:280,rebuild:!0}),"default-checked":T({property:"defaultChecked",default:!1,rebuild:!0}),disabled:T({option:null,always:!0,set:Za}),name:w({option:null,default:""})}),Ha=U({format:w({default:"%d.%m.%Y",rebuild:!0}),time:T({always:!0,rebuild:!0}),value:w({option:null,default:null,normalize:rl,set:(s,t)=>s.set(t,{silent:!0}),get:(s,t)=>fi(s.get(),!!t.time),serialize:nl}),placeholder:w({default:null,rebuild:!0}),clearable:T({rebuild:!0}),disabled:T({always:!0,set:Xt}),required:T({option:null,always:!0}),name:w({option:null,default:""})}),qa=U({value:At({default:0,set:(s,t)=>s.set(t,{silent:!0}),get:s=>s.get()}),unit:w({default:"minutes",rebuild:!0}),seconds:T({always:!0,rebuild:!0}),signed:T({always:!0,rebuild:!0}),disabled:T({always:!0,set:Xt}),name:w({option:null,default:""})}),$a=U({value:w({default:"",set:(s,t)=>s.set(t,{silent:!0}),get:s=>s.get()}),placeholder:w({default:"",set:(s,t)=>{s.refs.input.placeholder=t}}),clearable:T({rebuild:!0}),debounce:At({default:250,rebuild:!0})}),Ka=U({title:w({default:"",set:(s,t)=>s.setTitle(t)}),open:T({default:!1,always:!0,set:(s,t)=>t?s.open():s.close(),get:s=>s.isOpen()})}),Ya=U({tabs:tt({default:[],normalize:il,rebuild:!0}),active:w({default:null,set:(s,t)=>{t!==null&&s.openTab(t)},get:s=>s.getActive()}),variant:w({default:"divided",rebuild:!0}),"keep-alive":T({property:"keepAlive",rebuild:!0})}),Ua=U({columns:tt({default:[],rebuild:!0}),data:tt({default:[],set:(s,t)=>s.setData(t),get:s=>s.getData()}),"row-id":w({property:"rowId",default:"ID",rebuild:!0}),sort:tt({default:null,rebuild:!0}),"sort-mode":w({property:"sortMode",default:"local",rebuild:!0}),selectable:w({default:!1,normalize:el,rebuild:!0}),"sticky-header":T({property:"stickyHeader",rebuild:!0}),height:w({default:null,normalize:Tr,rebuild:!0}),"empty-text":w({property:"emptyText",default:null,rebuild:!0}),zebra:T({rebuild:!0})}),Wa=U({title:w({default:"",set:(s,t)=>s.setTitle(t)}),size:w({default:"md",normalize:Tr,rebuild:!0}),buttons:tt({default:[],set:(s,t)=>s.setButtons(t)}),closable:T({rebuild:!0}),open:T({option:null,default:!1,always:!0,set:(s,t)=>t?s.open():s.close(),get:s=>s.isOpen()})}),Qa=Object.freeze([["toggle",H,{formAssociated:!0,attrs:Va}],["check-button",nt,{formAssociated:!0,attrs:Ba}],["select",F,{formAssociated:!0,attrs:Pa}],["checklist",G,{formAssociated:!0,attrs:ja}],["datebox",P,{formAssociated:!0,attrs:Ha}],["timebox",Z,{formAssociated:!0,attrs:qa}],["search",Wt,{formAssociated:!1,attrs:$a}],["groupbox",pt,{formAssociated:!1,attrs:Ka}],["tabbox",Qt,{formAssociated:!1,attrs:Ya}],["table",Jt,{formAssociated:!1,attrs:Ua}],["dialog",wt,{formAssociated:!1,attrs:Wa}]]);function Ga(s,{formAssociated:t=!1,attrs:e={}}={}){let i=Cr(e),r=Object.freeze(Object.keys(i)),n=s===pt||s===wt;class o extends HTMLElement{static formAssociated=!!t;static get observedAttributes(){return r}constructor(){super(),this._component=null,this._bridgeAbort=null,this._reflecting=new Set,this._propertyValues=new Map,this._defaults=null,this._contentNodes=null,this._disabledByForm=!1,this._applying=!1,this._internals=t&&typeof this.attachInternals=="function"?this.attachInternals():null}connectedCallback(){this._component||(this._upgradeProperties(i),n&&this._contentNodes===null&&(this._contentNodes=Array.from(this.childNodes)),t&&this._defaults===null&&this._captureDefaults(i),this._createComponent(s,i,n))}disconnectedCallback(){this._destroyComponent()}attributeChangedCallback(h,c,u){if(this._reflecting.has(h))return;let d=i[h];if(!d)return;let _=kt(u,d.type);if(_===Y)return;this._propertyValues.delete(d.property);let p=_===void 0?ke(d.default):_;this._applyValue(h,d,p)}formDisabledCallback(h){this._disabledByForm=!!h,this._syncEffectiveDisabled(i),this._syncFormState(s)}formResetCallback(){if(!this._defaults)return;let h=pi(s);!h||!this._defaults.has(h)||this._applyControlValue(i,h,ke(this._defaults.get(h)))}formStateRestoreCallback(h,c){if(typeof h!="string")return;let u=al(s,h);if(u===Y)return;let d=pi(s);d&&this._applyControlValue(i,d,u)}get component(){return this._component}get form(){return this._internals?.form??null}get labels(){return this._internals?.labels??null}get validity(){return this._internals?.validity??null}get validationMessage(){return this._internals?.validationMessage??""}get willValidate(){return this._internals?.willValidate??!1}checkValidity(){return this._internals?.checkValidity()??!0}reportValidity(){return this._internals?.reportValidity()??!0}_upgradeProperties(h){for(let c of Object.values(h)){let u=c.property;if(!Object.prototype.hasOwnProperty.call(this,u))continue;let d=this[u];delete this[u],this[u]=d}}_captureDefaults(h){this._defaults=new Map;let c=pi(s);if(c){let u=Object.values(h).find(d=>d.property===c);u&&this._defaults.set(c,ke(this._readProperty(u)))}}_createComponent(h,c,u){let d={};for(let[g,y]of Object.entries(c)){if(!(this._propertyValues.has(y.property)||this.hasAttribute(g)||y.always)||y.option===null)continue;let C=this._currentValue(g,y);C===Y||C===void 0||(d[y.option]=zr(y,C,this))}let _=null;u&&(_=document.createDocumentFragment(),_.append(...this._contentNodes),d.content=_);let p=new h(null,d);this._component=p,s===pt&&_&&p.setContent(_),this.append(p.el),this._bridgeEvents(p,s);for(let[g,y]of Object.entries(c)){if(y.option!==null||!y.set||!(this._propertyValues.has(y.property)||this.hasAttribute(g)||y.always))continue;let C=this._currentValue(g,y);C!==Y&&C!==void 0&&this._applyValue(g,y,C,!0)}this._syncEffectiveDisabled(c),this._syncFormState(s)}_bridgeEvents(h,c){this._bridgeAbort?.abort(),this._bridgeAbort=new AbortController;for(let u of Ra)h.on(u,d=>{if(this._applying)return;this._syncFormState(c);let _=new CustomEvent(`zx-${u}`,{detail:d.detail??{},bubbles:!0,composed:!0,cancelable:!0});this.dispatchEvent(_),_.defaultPrevented&&d.preventDefault()}),h.el.addEventListener(`zx-${u}`,d=>d.stopPropagation(),{signal:this._bridgeAbort.signal})}_destroyComponent(){this._bridgeAbort?.abort(),this._bridgeAbort=null,this._component&&(this._component.destroy(),this._component=null)}_rebuildComponent(h,c=n){this._component&&(c&&this._contentNodes&&document.createDocumentFragment().append(...this._contentNodes),this._destroyComponent(),this._createComponent(s,h,c))}_applyValue(h,c,u,d=!1){if(this._component){if(c.rebuild&&!d){this._rebuildComponent(i);return}if(!c.set){this._syncFormState(s);return}this._applying=!0;try{c.set(this._component,zr(c,u,this),this)}finally{this._applying=!1}h!=="disabled"&&this._syncEffectiveDisabled(i),this._syncFormState(s)}}_syncEffectiveDisabled(h){if(!(!this._component||!h.disabled?.set)){this._applying=!0;try{h.disabled.set(this._component,this.hasAttribute("disabled")||this._disabledByForm,this)}finally{this._applying=!1}}}_syncFormState(h){if(!this._internals||!this._component)return;let{formValue:c,state:u,empty:d}=ol(h,this._component,this);if(this._internals.setFormValue(c,u),(h===F||h===P)&&this.hasAttribute("required")&&d){let _=h===P?"Please enter a date.":"Please select a value.";this._internals.setValidity({valueMissing:!0},_,this._component.refs.input)}else this._internals.setValidity({})}_applyControlValue(h,c,u){let d=Object.entries(h).find(([,_])=>_.property===c);d&&this._applyValue(d[0],d[1],u)}_currentValue(h,c){if(this._propertyValues.has(c.property))return this._propertyValues.get(c.property);let u=kt(this.getAttribute(h),c.type);return u===void 0?c.default:u}_readProperty(h){if(this._component&&h.get)return h.get(this._component,this);if(this._propertyValues.has(h.property))return this._propertyValues.get(h.property);let c=kt(this.getAttribute(h.attribute),h.type);return c===Y||c===void 0?ke(h.default):c}_writeProperty(h,c){this._propertyValues.set(h.property,c);let u=h.serialize?h.serialize(c,this):di(c,h.type);if(u!==Y){this._reflecting.add(h.attribute);try{u===null?this.removeAttribute(h.attribute):this.setAttribute(h.attribute,u)}finally{this._reflecting.delete(h.attribute)}}this._applyValue(h.attribute,h,c)}}for(let l of Object.values(i))Object.prototype.hasOwnProperty.call(o.prototype,l.property)||Object.defineProperty(o.prototype,l.property,{configurable:!0,enumerable:!0,get(){return this._readProperty(l)},set(h){this._writeProperty(l,h)}});return o}function Ja(s="zx"){if(typeof customElements>"u")throw new Error("Custom elements are not available in this environment");let t=String(s).trim();for(let[e,i,r]of Qa){let n=`${t}-${e}`;customElements.get(n)||customElements.define(n,Ga(i,r))}}function Cr(s){let t={};for(let[e,i]of Object.entries(s)){let r=typeof i=="string"?{type:i}:{...i},n=r.property??Xa(e);t[e]=Object.freeze({type:r.type??"string",option:Object.prototype.hasOwnProperty.call(r,"option")?r.option:n,property:n,default:r.default,always:!!r.always,rebuild:!!r.rebuild,normalize:r.normalize,serialize:r.serialize,set:r.set,get:r.get,attribute:e})}return Object.freeze(t)}function U(s){return Cr(s)}function w(s={}){return{type:"string",...s}}function At(s={}){return{type:"number",...s}}function T(s={}){return{type:"boolean",default:!1,always:!0,...s}}function tt(s={}){return{type:"json",...s}}function Xa(s){return s.replace(/-([a-z])/g,(t,e)=>e.toUpperCase())}function zr(s,t,e){return s.normalize?s.normalize(t,e):t}function Xt(s,t){t?s.disable():s.enable()}function Za(s,t){s.el.setAttribute("aria-disabled",String(t)),s.refs.search&&(s.refs.search.disabled=t);for(let e of s.refs.list?.querySelectorAll("input")??[])e.disabled=t}function tl(s){return s===""||s==="true"?"local":s==="false"?!1:s}function el(s){return s===""||s==="true"?"single":s==="false"?!1:s}function Tr(s){if(typeof s!="string"||s.trim()==="")return s;let t=Number(s);return Number.isFinite(t)?t:s}function il(s){return Array.isArray(s)?s.map(t=>!t||typeof t!="object"||sl(t.content)||typeof t.content=="function"?t:{...t,content:document.createTextNode(String(t.content??""))}):s}function sl(s){return!!(s&&typeof s=="object"&&typeof s.nodeType=="number")}function rl(s){return typeof s!="string"?s:/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$/.test(s)?V(s,"%Y-%m-%dT%H:%M"):/^\d{4}-\d{2}-\d{2}$/.test(s)?V(s,"%Y-%m-%d"):s}function nl(s,t){return s instanceof Date?fi(s,!!t.time):di(s,"string")}function fi(s,t){return!(s instanceof Date)||Number.isNaN(s.getTime())?"":v(s,t?"%Y-%m-%dT%H:%M":"%Y-%m-%d")}function pi(s){return s===H||s===nt?"checked":[F,G,P,Z].includes(s)?"value":null}function ol(s,t,e){if(s===H||s===nt){let r=t.get(),n=s===H?!0:"on";return e._propertyValues.has("value")?n=e._propertyValues.get("value"):e.hasAttribute("value")&&(n=e.getAttribute("value")),{formValue:r?String(n):null,state:String(r),empty:!r}}if(s===F){let r=t.value;return{formValue:r===null?null:String(r),state:JSON.stringify(r),empty:r===null||r===""}}if(s===G){let r=JSON.stringify(t.getValues());return{formValue:r,state:r,empty:r==="[]"}}if(s===P){let r=fi(t.get(),!!e.time);return{formValue:r||null,state:r,empty:r===""}}let i=String(t.get());return{formValue:i,state:i,empty:!1}}function al(s,t){return s===H||s===nt?t==="true":s===F||s===G?kt(t,"json"):s===Z?kt(t,"number"):t}function ke(s){return Array.isArray(s)?s.slice():s instanceof Date?new Date(s.getTime()):s}var ll=Object.freeze({label:"",icon:null,kind:"default",size:"md",disabled:!1});function W(s={}){let t={...ll,...s},e=a("button",{class:"zx-btn",type:"button",disabled:!!t.disabled,title:t.title,dataset:{kind:cl(t.kind),size:ul(t.size)}});return t.icon&&e.append(m(t.icon,{size:16})),t.label!==""&&e.append(a("span",{class:"zx-btn__label"},String(t.label))),!t.label&&t.title&&e.setAttribute("aria-label",t.title),typeof t.onclick=="function"&&(e.onclick=t.onclick),e}function hl(s){let t=a("div",{class:"zx-btn-group",role:"group"});return t.append(...s),t}function cl(s){return["primary","danger","ghost"].includes(String(s))?s:"default"}function ul(s){return s==="sm"?"sm":"md"}var dl=Object.freeze(["neutral","accent","success","warning","danger","info"]),pl=Object.freeze(["soft","solid","outline"]),fl=Object.freeze({label:"",icon:null,kind:"neutral",variant:"soft",size:"md",dot:!1});function _l(s={}){let t={...fl,...s},e=a("span",{class:"zx-badge",title:t.title,dataset:{kind:gl(t.kind),variant:bl(t.variant),size:yl(t.size)}});return t.dot?e.append(a("span",{class:"zx-badge__dot",ariaHidden:"true"})):t.icon&&e.append(m(t.icon,{size:12,class:"zx-badge__icon"})),t.label!==""&&t.label!=null?e.append(a("span",{class:"zx-badge__label"},String(t.label))):t.title&&(e.setAttribute("role","img"),e.setAttribute("aria-label",t.title)),e}function ml(s){let t=a("span",{class:"zx-badge-group"});return t.append(...s),t}function gl(s){return dl.includes(s)?s:"neutral"}function bl(s){return pl.includes(s)?s:"soft"}function yl(s){return s==="sm"?"sm":"md"}var xl=Object.freeze({md:40,sm:28}),vl=Object.freeze({icon:"folder-open",title:"",description:"",actions:[],size:"md",align:"center"});function wl(s={}){let t={...vl,...s},e=Al(t.size),i=a("div",{class:"zx-empty-state",dataset:{size:e,align:Sl(t.align)}});t.icon&&i.append(a("div",{class:"zx-empty-state__icon",ariaHidden:"true"},m(t.icon,{size:xl[e]}))),t.title&&i.append(a("p",{class:"zx-empty-state__title"},String(t.title))),t.description&&i.append(a("p",{class:"zx-empty-state__description"},String(t.description)));let r=kl(t.actions);return r.length>0&&i.append(a("div",{class:"zx-empty-state__actions"},r)),i}function kl(s){if(!Array.isArray(s))throw new TypeError("emptyState actions must be an array");return s.map(t=>{if(N(t))return t;if(!t||typeof t!="object"||Array.isArray(t))throw new TypeError("emptyState actions must be Elements or button descriptors");return W(t)})}function Al(s){return s==="sm"?"sm":"md"}function Sl(s){return s==="start"?"start":"center"}var zl=Object.freeze({size:"md",label:"",showLabel:!1,kind:"accent"}),Cl=Object.freeze({sm:!0,md:!0,lg:!0});function _i(s={}){let t={...zl,...s},e=String(t.label??""),i=a("span",{class:"zx-spinner",dataset:{size:Cl[t.size]?t.size:"md",kind:t.kind==="current"?"current":"accent"}},a("span",{class:"zx-spinner__ring",ariaHidden:"true"}));return e?(i.setAttribute("role","status"),i.append(a("span",{class:"zx-spinner__label",dataset:{visible:t.showLabel?"true":null}},e))):i.setAttribute("aria-hidden","true"),i}var mi=class extends f{static cssName="progress-bar";static defaults={value:0,max:100,label:"",helperText:"",status:"active",indeterminate:!1,size:"md",hideLabel:!1,showValue:!0,formatValue:null};render(){this._value=0,this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el);let t=this.el??a("div");this.el=t,this._max=Math.max(1,Number(this.options.max)||100),this._status=Nr(this.options.status),this._indeterminate=!!this.options.indeterminate,this._labelId=b("zx-progress-label");let e=a("div",{ref:"head",class:"zx-progress-bar__head"},a("span",{ref:"label",class:"zx-progress-bar__label",id:this._labelId},String(this.options.label??"")),a("span",{ref:"value",class:"zx-progress-bar__value"})),i=a("div",{ref:"track",class:"zx-progress-bar__track",role:"progressbar",ariaValuemin:"0",ariaValuemax:String(this._max),ariaLabelledby:this._labelId},a("div",{ref:"fill",class:"zx-progress-bar__fill"}));return t.replaceChildren(e,i,a("p",{ref:"helper",class:"zx-progress-bar__helper"},String(this.options.helperText??""))),t.dataset.size=this.options.size==="sm"?"sm":"md",t.toggleAttribute("data-hide-label",!!this.options.hideLabel),this.set(this.options.value,{silent:!0}),t}get value(){return this._value}set value(t){this.set(t)}get(){return this._value}set(t,{silent:e=!1}={}){let i=Number(t),r=R(Number.isFinite(i)?i:0,0,this._max),n=r!==this._value,o=n&&r>=this._max;return this._value=r,this._sync(),!e&&n&&this.emit("change",{value:r,percent:this.percent()}),!e&&o&&this.emit("complete",{value:r}),this}percent(){return this._value/this._max*100}setMax(t){return this._max=Math.max(1,Number(t)||1),this.refs.track.setAttribute("aria-valuemax",String(this._max)),this.set(this._value,{silent:!0})}setStatus(t,e){return this._status=Nr(t),e!==void 0&&this.setHelperText(e),this._sync(),this}setLabel(t){return this.refs.label.textContent=String(t??""),this}setHelperText(t){return this.refs.helper.textContent=String(t??""),this}setIndeterminate(t=!0){return this._indeterminate=!!t,this._sync(),this}_sync(){let{track:t,fill:e,value:i}=this.refs;if(this.el.dataset.status=this._status,this.el.toggleAttribute("data-indeterminate",this._indeterminate),this._indeterminate){t.removeAttribute("aria-valuenow"),t.removeAttribute("aria-valuetext"),e.style.removeProperty("--zx-progress-fill"),i.textContent="";return}let r=this._format();t.setAttribute("aria-valuenow",String(this._value)),t.setAttribute("aria-valuetext",r),e.style.setProperty("--zx-progress-fill",`${this.percent()}%`),i.replaceChildren(...this._readout(r))}_format(){let t=this.options.formatValue;return typeof t=="function"?String(t(this._value,this._max)):`${Math.round(this.percent())}%`}_readout(t){if(!this.options.showValue)return[];let e=[];return this._status!=="active"&&e.push(m(this._status==="success"?"success":"error",{size:14})),e.push(a("span",{class:"zx-progress-bar__percent"},t)),e}destroy(){let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}};function Nr(s){return s==="success"||s==="error"?s:"active"}var Tl=new Set(["inactive","active","success","error"]),gi=class extends f{static cssName="inline-loading";static defaults={status:"active",description:"",size:"sm",live:!0};render(){this._status="inactive",this._description="",this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el);let t=this.el??a("span");return this.el=t,t.replaceChildren(a("span",{ref:"indicator",class:"zx-inline-loading__indicator"}),a("span",{ref:"description",class:"zx-inline-loading__description"})),t.dataset.size=this.options.size==="md"?"md":"sm",this.options.live!==!1&&(t.setAttribute("role","status"),t.setAttribute("aria-live","polite")),this.set(this.options.status,this.options.description,{silent:!0}),t}get(){return this._status}getDescription(){return this._description}set(t,e,{silent:i=!1}={}){let r=Tl.has(t)?t:"inactive";e!==void 0&&(this._description=String(e??""));let n=r!==this._status;return this._status=r,this._sync(),n&&!i&&this.emit("statuschange",{status:this._status,description:this._description}),this}setDescription(t){return this._description=String(t??""),this.refs.description.textContent=this._description,this}_sync(){this.el.dataset.status=this._status,this.refs.description.textContent=this._description,this.refs.indicator.replaceChildren(...this._indicator())}_indicator(){let t=this.el.dataset.size==="md"?18:16;return this._status==="active"?[_i({size:"sm",kind:"current"})]:this._status==="success"?[m("success",{size:t})]:this._status==="error"?[m("error",{size:t})]:[]}destroy(){let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}};function yi(s={}){let t={width:"100%",height:"1rem",radius:"sm",...s};return a("span",{class:"zx-skeleton",ariaHidden:"true",dataset:{radius:El.has(t.radius)?t.radius:"sm"},style:{"inline-size":bi(t.width),"block-size":bi(t.height)}})}function Nl(s={}){let t={lines:3,width:"100%",heading:!1,lastLineWidth:"60%",...s},e=R(Math.trunc(Number(t.lines)||0),1,20),i=a("div",{class:"zx-skeleton-text",ariaHidden:"true",style:{"inline-size":bi(t.width)}});for(let r=0;r<e;r+=1){let n=t.heading&&r===0,o=r===e-1&&e>1;i.append(yi({width:o?t.lastLineWidth:"100%",height:n?"1.5rem":"0.75rem"}))}return i}function Dl(s={}){let t={rows:5,columns:4,header:!0,...s},e=R(Math.trunc(Number(t.rows)||0),1,50),i=R(Math.trunc(Number(t.columns)||0),1,20),r=a("div",{class:"zx-skeleton-table",ariaHidden:"true",style:{"--zx-skeleton-columns":String(i)}});t.header!==!1&&r.append(Dr(i,"header"));for(let n=0;n<e;n+=1)r.append(Dr(i,"body"));return r}var El=new Set(["sm","md","full"]);function Dr(s,t){let e=a("div",{class:"zx-skeleton-table__row",dataset:{kind:t}});for(let i=0;i<s;i+=1)e.append(a("span",{class:"zx-skeleton-table__cell"},yi({width:Ml(i,s),height:"0.75rem"})));return e}function Ml(s,t){return s===t-1?"55%":s%2===0?"80%":"65%"}function bi(s){return typeof s=="number"?`${s}px`:String(s??"")}function Il(s={},...t){return a("div",{class:["zx-stack",s.class??""],dataset:{direction:s.direction==="row"?"row":null,align:Er.has(s.align)?s.align:null,justify:Ll.has(s.justify)?s.justify:null,wrap:s.wrap?"true":null,inline:s.inline?"true":null},style:Mr("--zx-stack-gap",s.gap)},t)}function Ol(s={},...t){let e=Number(s.columns),i={...Mr("--zx-grid-gap",s.gap),"--zx-grid-min":Vl(s.min??"16rem")};return Number.isFinite(e)&&e>=1&&(i["--zx-grid-columns"]=String(Math.trunc(e))),a("div",{class:["zx-grid",s.class??""],dataset:{columns:Number.isFinite(e)&&e>=1?"true":null,align:Er.has(s.align)?s.align:null},style:i},t)}function Fl(s={},...t){return a("div",{class:["zx-aspect",s.class??""],style:{"--zx-aspect-ratio":String(s.ratio??"16 / 9"),"--zx-aspect-fit":Rl.has(s.fit)?s.fit:"cover"}},t)}var Er=new Set(["start","center","end","stretch","baseline"]),Ll=new Set(["start","center","end","between","around"]),Rl=new Set(["cover","contain","fill"]);function Mr(s,t){if(t==null||t==="")return{};let e=Number(t);return Number.isInteger(e)&&e>=1&&e<=8?{[s]:`var(--zx-space-${e})`}:{[s]:String(t)}}function Vl(s){return typeof s=="number"?`${s}px`:String(s)}function Bl(s,t={}){let e=O(s);if(!e)throw new TypeError("truncate() target could not be resolved");let i=R(Math.trunc(Number(t.lines)||1),1,10),r=t.title!==!1,n=e.classList.contains("zx-truncate"),o=e.getAttribute("title"),l=!1,h=null;e.classList.add("zx-truncate"),i>1&&(e.dataset.lines=String(i),e.style.setProperty("--zx-truncate-lines",String(i)));let c=()=>(l=Ir(e),r&&(l?e.setAttribute("title",e.textContent?.trim()??""):o===null?e.removeAttribute("title"):e.setAttribute("title",o)),l);return c(),typeof ResizeObserver=="function"&&(h=new ResizeObserver(c),h.observe(e)),{update:c,isTruncated:()=>l,destroy:()=>{h?.disconnect(),h=null,n||e.classList.remove("zx-truncate"),delete e.dataset.lines,e.style.removeProperty("--zx-truncate-lines"),r&&(o===null?e.removeAttribute("title"):e.setAttribute("title",o))}}}function Ir(s){return s.scrollWidth-s.clientWidth>1||s.scrollHeight-s.clientHeight>1}var Pl=Object.freeze({text:"",label:"",title:"Copy",feedback:"Copied",feedbackDuration:2e3,size:"md",kind:"ghost"});function xi(s={}){let t={...Pl,...s},e=!t.label,i=a("button",{class:["zx-copy-button",e?"zx-icon-btn":"zx-btn"],type:"button",dataset:{size:t.size==="sm"?"sm":"md",kind:e?null:t.kind},title:e?String(t.title):null,ariaLabel:e?String(t.title):null}),r=a("span",{class:"zx-copy-button__icon",ariaHidden:"true"},m("copy",{size:t.size==="sm"?12:14})),n=a("span",{class:"zx-copy-button__status",role:"status"});i.append(r),e||i.append(a("span",{class:"zx-copy-button__label"},String(t.label))),i.append(n);let o=0;return i.addEventListener("click",async()=>{let l=typeof t.text=="function"?String(t.text()):String(t.text??""),h=await ui(l);t.oncopy?.(l,h),h&&(clearTimeout(o),i.dataset.copied="true",r.replaceChildren(m("check",{size:t.size==="sm"?12:14})),n.textContent=String(t.feedback),o=setTimeout(()=>{i.isConnected&&(delete i.dataset.copied,r.replaceChildren(m("copy",{size:t.size==="sm"?12:14})),n.textContent="")},Math.max(0,Number(t.feedbackDuration)||0)))}),i}var vi=class extends f{static cssName="copy-input";static defaults={value:"",label:"",hideLabel:!1,feedback:"Copied",buttonTitle:"Copy",size:"md"};render(){this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el);let t=this.el??a("div");this.el=t;let e=b("zx-copy-input"),i=a("input",{ref:"input",class:"zx-copy-input__field",type:"text",id:e,readOnly:!0,value:String(this.options.value??"")}),r=xi({text:()=>this.get(),title:String(this.options.buttonTitle),feedback:String(this.options.feedback),size:this.options.size==="sm"?"sm":"md",oncopy:(n,o)=>this.emit("copy",{value:n,copied:o})});return t.replaceChildren(a("label",{ref:"label",class:"zx-copy-input__label",for:e},String(this.options.label??"")),a("div",{class:"zx-copy-input__box"},i,r)),t.dataset.size=this.options.size==="sm"?"sm":"md",t.toggleAttribute("data-hide-label",!!this.options.hideLabel),this.listen(i,"focus",()=>i.select()),t}get(){return this.refs.input.value}set(t){return this.refs.input.value=String(t??""),this}focus(){return this.refs.input.focus(),this.refs.input.select(),this}destroy(){let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}};var Fr=Symbol("zxDropdownPointerDismiss"),Lr=Symbol("zxDropdownEscapeDismiss"),et=class extends f{static cssName="dropdown";static defaults={content:null,placement:"bottom-start",offset:4,matchWidth:!1,openOn:"click",closeOnSelect:!1};#t;#e=null;#i=new Map;#s=!1;constructor(t,e={}){let i=O(t);if(!i)throw new TypeError("Dropdown anchor could not be resolved");super(null,e),this.#t=i,this.#r("aria-expanded"),this.#r("aria-controls"),this.#t.setAttribute("aria-expanded","false"),this.#t.setAttribute("aria-controls",this.el.id),this.setContent(this.options.content),this.options.openOn==="click"&&this.listen(this.#t,"click",()=>this.toggle()),this.listen(this.el,"click",()=>{this.options.closeOnSelect&&this.close()})}render(){let t=a("div",{id:b("zx-dropdown"),popover:"manual"});return t.dataset.state="closed",document.body.append(t),t}open(){return this.isOpen()||this.#s?this:(this.#e=j(this.#t,this.el,{placement:this.options.placement,offset:Number(this.options.offset),matchWidth:!!this.options.matchWidth}),this.el.dataset.state="open",this.el.dataset.zxOverlayOrder=String(Hl()),this.#t.setAttribute("aria-expanded","true"),ql(),this.emit("open"),this)}close(){return this.isOpen()?(this.#e?.destroy(),this.#e=null,this.el.dataset.state="closed",delete this.el.dataset.zxOverlayOrder,this.#t.setAttribute("aria-expanded","false"),this.emit("close"),$l(),this):this}toggle(){return this.isOpen()?this.close():this.open()}isOpen(){return this.#e!==null}setContent(t){return jl(this.el,t),this.#e?.update(),this}getPanel(){return this.el}destroy(){if(!this.#s){this.#s=!0,this.close();for(let[t,e]of this.#i)Kl(this.#t,t,e);super.destroy()}}[Fr](t){if(!this.isOpen())return;let e=t.composedPath();e.includes(this.el)||e.includes(this.#t)||this.close()}[Lr](t){if(t.key!=="Escape"||!this.isOpen())return;t.preventDefault();let e=this.el.contains(document.activeElement);this.close(),e&&this.#t instanceof HTMLElement&&this.#t.focus()}#r(t){this.#i.set(t,this.#t.getAttribute(t))}},Zt=class extends f{constructor(){super(null),this.listen(document,"pointerdown",t=>{let e=Or();e instanceof et&&e[Fr](t)}),this.listen(document,"keydown",t=>{if(t.key!=="Escape")return;let e=Or();e instanceof et&&e[Lr](t)})}render(){let t=a("span",{hidden:!0,"data-zx-dropdown-dismiss-manager":""});return document.body.append(t),t}};function jl(s,t){if(s.replaceChildren(),t!=null)if(typeof t=="string"||typeof t=="number")s.append(document.createTextNode(String(t)));else if(typeof t.toElement=="function"){let e=t.toElement();e&&s.append(e)}else typeof t.nodeType=="number"&&s.append(t)}function Or(){let s=null,t=-1;for(let e of document.querySelectorAll("[data-zx-overlay-order]")){let i=Number(e.getAttribute("data-zx-overlay-order"))||0;i>t&&(t=i,s=e)}return s?f.from(s):null}function Hl(){let s=Array.from(document.querySelectorAll("[data-zx-overlay-order]"),t=>Number(t.getAttribute("data-zx-overlay-order"))||0);return Math.max(0,...s)+1}function ql(){let s=document.querySelector("[data-zx-dropdown-dismiss-manager]"),t=s?f.from(s):null;return t instanceof Zt?t:new Zt}function $l(){if(document.querySelector('.zx-dropdown[data-state="open"]'))return;let s=document.querySelector("[data-zx-dropdown-dismiss-manager]"),t=s?f.from(s):null;t instanceof Zt&&t.destroy()}function Kl(s,t,e){e===null?s.removeAttribute(t):s.setAttribute(t,e)}var Ae='[role="menuitem"]',it=class extends f{static cssName="menu-button";static defaults={label:"",icon:null,kind:"default",items:[],placement:"bottom-start"};#t;#e;#i;#s;#r=[];#n=null;#a=!1;#o=!1;constructor(t=null,e={}){let i=t===null?null:O(t);if(t!==null&&(!i||i.tagName!=="BUTTON"))throw new TypeError("MenuButton target must resolve to a button");let r=i?{attributes:Array.from(i.attributes,o=>[o.name,o.value]),children:Array.from(i.childNodes)}:null,n=Object.hasOwn(e,"label");super(t,e),this.#a=i===null,this.#n=r,this.el.classList.add("zx-btn"),this.el.setAttribute("type","button"),this.el.setAttribute("data-kind",String(this.options.kind)),this.el.setAttribute("data-size","md"),this.#t=new et(this.el,{openOn:"manual",placement:this.options.placement,content:null}),this.#e=this.#t.getPanel(),this.#e.classList.add("zx-menu-button__menu"),this.#e.setAttribute("role","menu"),this.el.setAttribute("aria-haspopup","menu"),i&&n&&this.setLabel(this.options.label),this.setItems(this.options.items),this.#i=ut(this.#e,Ae),this.#s=K(()=>this.#u(),o=>o.focus()),this.#t.on("open",()=>this.emit("open")),this.#t.on("close",()=>this.emit("close")),this.listen(this.el,"click",()=>{this.isOpen()?this.close():(this.open(),this.#i.focusFirst())}),this.listen(this.el,"keydown",o=>this.#l(o)),this.listen(this.#e,"click",o=>{let l=o.target.closest?.(Ae);l&&this.#e.contains(l)&&this.#h(l)}),this.listen(this.#e,"keydown",o=>this.#c(o))}render(){return this.el?this.el:a("button",{class:"zx-btn",type:"button","data-kind":this.options.kind,"data-size":"md"},Rr(this.options.label,this.options.icon))}setItems(t){return this.#r=Array.isArray(t)?t.slice():[],this.#e.replaceChildren(),this.#r.forEach((e,i)=>{if(e==="-"){this.#e.append(a("div",{class:"zx-menu-button__separator",role:"separator"}));return}let r=[];e.icon&&r.push(a("span",{class:"zx-menu-button__icon"},m(e.icon))),r.push(a("span",{class:"zx-menu-button__label"},e.label)),this.#e.append(a("button",{class:"zx-menu-button__item",type:"button",role:"menuitem",tabindex:"-1","data-menu-item":String(i),"data-danger":e.danger?"true":null,ariaDisabled:e.disabled?"true":null},r))}),this}open(){return this.#t.open(),this}close(){return this.#t.close(),this}isOpen(){return this.#t.isOpen()}setLabel(t){return this.el.replaceChildren(...Rr(t,this.options.icon)),this}destroy(){if(!this.#o&&(this.#o=!0,this.#i.destroy(),this.#t.destroy(),super.destroy(),!this.#a&&this.#n)){for(let t of Array.from(this.el.attributes))this.el.removeAttribute(t.name);for(let[t,e]of this.#n.attributes)this.el.setAttribute(t,e);this.el.replaceChildren(...this.#n.children)}}#l(t){["ArrowDown","ArrowUp","Enter"," "].includes(t.key)&&(t.preventDefault(),this.open(),t.key==="ArrowUp"?this.#i.focusLast():this.#i.focusFirst())}#c(t){if(t.key==="Escape"){t.preventDefault(),this.close(),this.el.focus();return}if(t.key==="Tab"){this.close();return}if(t.key==="Enter"||t.key===" "){let e=t.target.closest?.(Ae);if(!e||!this.#e.contains(e))return;t.preventDefault(),this.#h(e);return}this.#s(t)}#h(t){let e=Number(t.getAttribute("data-menu-item")),i=this.#r[e];if(!(!i||i==="-"||i.disabled)){this.emit("select",{value:i.value,item:i});try{i.onselect?.(i.value,i,this)}finally{this.close()}}}#u(){return Array.from(this.#e.querySelectorAll(Ae))}};function Rr(s,t){let e=[];return t&&e.push(a("span",{class:"zx-btn__icon"},m(t))),e.push(a("span",{class:"zx-btn__label"},String(s??""))),e}var Yl=["button","a[href]","input","select","textarea","[tabindex]"],Ul=Yl.flatMap(s=>[`.zx-toolbar > ${s}`,`.zx-toolbar > [role="group"] > ${s}`]).join(","),wi=class extends f{static cssName="toolbar";static defaults={items:[],align:"start",label:"Toolbar",overflow:!0,overflowLabel:"More",dense:!1};#t;#e=null;#i=null;#s=!1;#r=-1;#n=-1;#a=0;#o=!1;constructor(t=null,e={}){if(super(t,e),this.options.overflow){this.#e=new it(null,{icon:"dots",label:"",kind:"ghost",placement:"bottom-end"});let i=this.#e.toElement();i.classList.add("zx-toolbar__overflow"),i.setAttribute("aria-label",String(this.options.overflowLabel)),i.setAttribute("title",String(this.options.overflowLabel)),this.options.dense&&i.setAttribute("data-size","sm"),i.hidden=!0}this.#t=ut(this.el,Ul,{orientation:"horizontal"}),this.listen(this.el,"click",i=>this.#c(i)),this.setItems(this._initialItems),this.#e&&typeof ResizeObserver=="function"&&(this.#i=new ResizeObserver(()=>this.#u()),this.#i.observe(this.el))}render(){this._records=[],this._named=new Map,this._createdRoot=!this.el;let t=this.el??a("div");this.el=t,this._snapshot=this._createdRoot?null:S(t);let e=this.options.items;return this._initialItems=Array.isArray(e)&&e.length===0?Array.from(t.children):e,t.setAttribute("role","toolbar"),t.setAttribute("aria-label",String(this.options.label)),t.dataset.align=Ql(this.options.align),t.dataset.overflow=this.options.overflow?"true":"false",this.options.dense&&(t.dataset.dense="true"),t}setItems(t){for(let i of this._records)i.type==="element"&&(i.element.hidden=i.userHidden);this._records=Wl(t).map(i=>this.#l(i)),this._named=new Map;for(let i of this._records)i.name!==null&&!this._named.has(i.name)&&this._named.set(i.name,i);let e=this._records.map(i=>i.element);if(this.#e){this.#e.setItems([]);let i=this.#e.toElement();i.hidden=!0,e.push(i)}return this.el.replaceChildren(...e),this.#r=-1,this.#n=-1,this.#d(),this}getItem(t){return this._named.get(String(t))?.element??null}enable(t){return this.#h(t,!1)}disable(t){return this.#h(t,!0)}setActive(t,e=!0){let i=this._named.get(String(t));return i&&i.element.setAttribute("aria-pressed",e?"true":"false"),this}destroy(){if(!this.#o){this.#o=!0,this.#i?.disconnect(),this.#i=null,this.#a!==0&&cancelAnimationFrame(this.#a),this.#a=0,this.#t.destroy(),this.#e?.destroy(),this.#e=null;for(let t of this._records)t.type==="element"&&(t.element.hidden=t.userHidden);super.destroy(),this._createdRoot||z(this.el,this._snapshot)}}#l(t){if(t.type==="separator")return{type:"separator",element:a("span",{class:"zx-toolbar__separator",role:"separator",ariaOrientation:"vertical",dataset:{separator:"true"}}),name:null,label:"",icon:null,onclick:null,userHidden:!1};if(t.type==="element"){let l=t.element;return{type:"element",element:l,name:l.dataset?.name??null,label:Br(l),icon:null,onclick:null,userHidden:!!l.hidden}}let{name:e=null,active:i,onclick:r,...n}=t.descriptor,o=W({size:this.options.dense?"sm":"md",...n});return i!==void 0&&o.setAttribute("aria-pressed",i?"true":"false"),e!==null&&(o.dataset.name=String(e)),{type:"descriptor",element:o,name:e===null?null:String(e),label:String(n.label??n.title??""),icon:n.icon??null,onclick:typeof r=="function"?r:null,userHidden:!1}}#c(t){let e=t.target;if(!e)return;let i=this._records.find(r=>r.type==="descriptor"&&r.element.contains(e));i&&(this.emit("action",{name:i.name,item:i.element}),i.onclick?.(t))}#h(t,e){let i=this._named.get(String(t));if(!i)return this;let r=i.element;return"disabled"in r?r.disabled=e:e?r.setAttribute("aria-disabled","true"):r.removeAttribute("aria-disabled"),this.#p(),this}#u(){if(!(this.#a!==0||this.#o)){if(typeof requestAnimationFrame!="function"){this.#d();return}this.#a=requestAnimationFrame(()=>{this.#a=0,this.#d()})}}#d(){if(this.#s||this.#o||!this.#e)return;let t=this.el;if(typeof getComputedStyle!="function"||!t.isConnected)return;let e=getComputedStyle(t),i=parseFloat(e.columnGap)||0,r=(parseFloat(e.paddingInlineStart)||0)+(parseFloat(e.paddingInlineEnd)||0),n=t.clientWidth-r,o=t.clientHeight;if(!(!(n>0)||n===this.#r&&o===this.#n)){this.#s=!0;try{let l=this.#e.toElement(),h=this._records.filter(g=>!g.userHidden);for(let g of h)g.element.hidden=!1;l.hidden=!1;let c=h.map(g=>g.element.getBoundingClientRect().width),u=c.reduce((g,y)=>g+y,0)+i*Math.max(0,c.length-1),d=l.getBoundingClientRect().width,_=[];if(u>n){let g=n-d-i,y=0,A=!1;for(h.forEach((C,Fe)=>{let L=y+c[Fe]+(y>0?i:0);if(!A&&L<=g){y=L;return}A=!0,C.element.hidden=!0,_.push(C)});h.length>_.length;){let C=h[h.length-_.length-1];if(C.type!=="separator")break;C.element.hidden=!0,_.unshift(C)}}let p=Vr(_);this.#e.setItems(p),l.hidden=p.length===0,this.#r=n,this.#n=t.clientHeight}finally{this.#s=!1}}}#p(){if(!this.#e)return;let t=this._records.filter(e=>!e.userHidden&&e.element.hidden);this.#e.setItems(Vr(t))}};function Wl(s){if(s!=null&&!Array.isArray(s))throw new TypeError("Toolbar items must be an array");let t=[];for(let e of s??[])if(e!=null){if(e==="-"){t.length>0&&t[t.length-1].type!=="separator"&&t.push({type:"separator"});continue}if(N(e)){t.push({type:"element",element:e});continue}if(typeof e!="object"||Array.isArray(e))throw new TypeError('Toolbar items must be Elements, item descriptors, or "-"');t.push({type:"descriptor",descriptor:{...e}})}for(;t.length>0&&t[t.length-1].type==="separator";)t.pop();return t}function Vr(s){let t=[];for(let e of s){if(e.type==="separator"){t.length>0&&t[t.length-1]!=="-"&&t.push("-");continue}let i=e.element;t.push({label:e.label||Br(i)||"\u2026",icon:e.icon??void 0,value:e.name,disabled:!!i.disabled||i.getAttribute("aria-disabled")==="true",onselect:()=>i.click()})}for(;t.length>0&&t[t.length-1]==="-";)t.pop();return t}function Br(s){return(s.getAttribute("aria-label")??s.getAttribute("title")??s.textContent??"").trim()}function Ql(s){return["end","between"].includes(s)?s:"start"}var ki=class extends f{static cssName="panel";static defaults={title:"",content:null,open:!0,collapsible:!0,buttons:[],footer:null,footerButtons:[]};constructor(t,e={}){super(t,e)}render(){let t=!this.el,e=this.el??a("section");this.el=e,this._createdRoot=t,this._original=t?null:Gl(e),this._cleaned=!1,this._open=!!this.options.open,this._collapsible=!!this.options.collapsible,this._hasFooterContent=!1;let i=t?[]:Array.from(e.childNodes),r=b("zx-panel-body"),n=a("span",{class:"zx-panel__title",ref:"title"}),o=[];this._collapsible&&o.push(a("span",{class:"zx-panel__chevron",ariaHidden:"true"},m("chevron-right",{size:16}))),o.push(n);let l=this._collapsible?a("button",{class:"zx-panel__toggle",ref:"toggle",type:"button",ariaControls:r,ariaExpanded:String(this._open)},o):a("div",{class:"zx-panel__toggle",ref:"toggle"},o),h=a("div",{class:"zx-panel__header",ref:"header"},l,a("div",{class:"zx-panel__buttons",ref:"buttons",role:"group",ariaLabel:"Panel actions"})),c=a("div",{class:"zx-panel__content",ref:"content"}),u=a("div",{class:"zx-panel__body",ref:"body",id:r},c),d=a("div",{class:"zx-panel__footer",ref:"footer",hidden:!0},a("div",{class:"zx-panel__footer-content",ref:"footerContent"}),a("div",{class:"zx-panel__footer-buttons",ref:"footerButtons",role:"group",ariaLabel:"Panel footer actions"}));return e.replaceChildren(h,u,d),this.setTitle(this.options.title),this.options.content!==null?this.setContent(this.options.content):c.append(...i),this.setButtons(this.options.buttons),this.setFooter(this.options.footer),this.setFooterButtons(this.options.footerButtons),this._syncOpenState(),this._collapsible&&this.listen(l,"click",()=>this.toggle()),e}setTitle(t){return this.refs.title.textContent=String(t??""),this}setContent(t){return Pr(this.refs.content,t,"Panel content"),this}setButtons(t){return this.refs.buttons.replaceChildren(...this._buildButtons(t,"Panel buttons")),this}setFooter(t){return Pr(this.refs.footerContent,t,"Panel footer"),this._hasFooterContent=t!==null,this._syncFooter(),this}setFooterButtons(t){return this.refs.footerButtons.replaceChildren(...this._buildButtons(t,"Panel footer buttons")),this._syncFooter(),this}open(){return this._open?this:(this._open=!0,this._syncOpenState(),this.emit("open"),this)}close(){return this._open?(this._open=!1,this._syncOpenState(),this.emit("close"),this):this}toggle(){return this.isOpen()?this.close():this.open()}isOpen(){return this._open}destroy(){this._cleaned||(this._cleaned=!0,super.destroy(),!this._createdRoot&&this._original&&Jl(this.el,this._original))}_syncOpenState(){this.el.setAttribute("data-state",this._open?"open":"closed"),this.refs.body.hidden=!this._open,this._collapsible&&this.refs.toggle.setAttribute("aria-expanded",String(this._open))}_syncFooter(){this.refs.footer.hidden=!this._hasFooterContent&&this.refs.footerButtons.childElementCount===0}_buildButtons(t,e){if(!Array.isArray(t))throw new TypeError(`${e} must be an array`);return t.map(i=>{if(N(i))return i;if(!i||typeof i!="object"||Array.isArray(i))throw new TypeError(`${e} must be Elements or button descriptors`);let r={...i},n=r.onclick;delete r.onclick;let o=W(r);return typeof n=="function"&&this.listen(o,"click",n),o})}};function Gl(s){return{attributes:Array.from(s.attributes,t=>[t.name,t.value]),children:Array.from(s.childNodes)}}function Jl(s,t){for(let e of Array.from(s.attributes))s.removeAttribute(e.name);for(let[e,i]of t.attributes)s.setAttribute(e,i);s.replaceChildren(...t.children)}function Pr(s,t,e){if(s.replaceChildren(),t===null)return;if(typeof t=="string"){s.append(document.createTextNode(t));return}let i=t instanceof f?t.toElement():t;if(i&&typeof i.nodeType=="number"){s.append(i);return}throw new TypeError(`${e} must be a string, Node, Component, or null`)}var Xl=Object.freeze(["default","settings","accounts","billing","calendar","campaigns","clocking","collection","contacts","contracts","enhancements","inventory","links","mailinglists","messages","notes","opportunities","pricelists","procurement","projects","tasks","tickets","pwd","system","usermgmt","usersettings","users","groups"]),Ai=class extends f{static cssName="master-panel";static defaults={title:"",content:null,buttons:[],module:null,footer:null};constructor(t,e={}){super(t,e)}render(){let t=!this.el,e=this.el??a("section");this.el=e,this._createdRoot=t,this._original=t?null:Zl(e),this._cleaned=!1;let i=t?[]:Array.from(e.childNodes),r=a("header",{class:"zx-master-panel__header"},a("h1",{class:"zx-master-panel__title",ref:"title"}),a("div",{class:"zx-master-panel__buttons",ref:"buttons",role:"group",ariaLabel:"Panel actions"})),n=a("div",{class:"zx-master-panel__content",ref:"content"}),o=a("footer",{class:"zx-master-panel__footer",ref:"footer",hidden:!0});e.replaceChildren(r,n,o);let l=eh(this.options.module);return e.dataset.module=l,e.style.setProperty("--zx-master-panel-accent",`var(--zx-module-${l})`),this.setTitle(this.options.title),this.options.content!==null?this.setContent(this.options.content):n.append(...i),this.setButtons(this.options.buttons),this.setFooter(this.options.footer),e}setTitle(t){return this.refs.title.textContent=String(t??""),this}setContent(t){return jr(this.refs.content,t,"MasterPanel content"),this}setButtons(t){if(!Array.isArray(t))throw new TypeError("MasterPanel buttons must be an array");let e=t.map(i=>{if(N(i))return i;if(!i||typeof i!="object"||Array.isArray(i))throw new TypeError("MasterPanel buttons must be Elements or button descriptors");let r={...i},n=r.onclick;delete r.onclick;let o=W(r);return typeof n=="function"&&this.listen(o,"click",n),o});return this.refs.buttons.replaceChildren(...e),this}setFooter(t){return jr(this.refs.footer,t,"MasterPanel footer"),this.refs.footer.hidden=t===null,this}destroy(){this._cleaned||(this._cleaned=!0,super.destroy(),!this._createdRoot&&this._original&&th(this.el,this._original))}};function Zl(s){return{attributes:Array.from(s.attributes,t=>[t.name,t.value]),children:Array.from(s.childNodes)}}function th(s,t){for(let e of Array.from(s.attributes))s.removeAttribute(e.name);for(let[e,i]of t.attributes)s.setAttribute(e,i);s.replaceChildren(...t.children)}function jr(s,t,e){if(s.replaceChildren(),t===null)return;if(typeof t=="string"){s.append(document.createTextNode(t));return}let i=t instanceof f?t.toElement():t;if(i&&typeof i.nodeType=="number"){s.append(i);return}throw new TypeError(`${e} must be a string, Node, Component, or null`)}function eh(s){let t=String(s??"default").toLowerCase();return Xl.includes(t)?t:"default"}var ih=16,sh=64,rh="split-view",zi=class extends f{static cssName="split-view";static defaults={orientation:"horizontal",start:null,end:null,size:"38%",min:160,max:null,collapsible:!1,collapsed:!1,snap:0,storageKey:null,disabled:!1,label:"Resize panes"};#t=null;#e=null;constructor(t=null,e={}){super(t,e);let i=this.options.storageKey;if(i!=null&&i!==""){this.#e=ci(rh);let o=this.#e.get(String(i));typeof o=="number"&&Number.isFinite(o)&&o>=0&&this.setSize(o)}let r=this.options.collapsed;r==="start"||r==="end"?this.#n(r,!1):r===!0&&this.options.collapsible&&this.#n(this.options.collapsible==="end"?"end":"start",!1);let n=this.refs.divider;this.listen(n,"pointerdown",o=>this.#a(o)),this.listen(n,"pointermove",o=>this.#o(o)),this.listen(n,"pointerup",o=>this.#h(o)),this.listen(n,"pointercancel",o=>this.#h(o)),this.listen(n,"keydown",o=>this.#d(o)),this.listen(n,"dblclick",()=>this.#p()),typeof ResizeObserver=="function"&&(this.#t=new ResizeObserver(()=>this.#m()),this.#t.observe(this.el)),this.#r()}render(){let t=this.options;this._orientation=t.orientation==="vertical"?"vertical":"horizontal";let e=mt(t.size,Number.NaN);this._size=Number.isFinite(e)?Math.max(0,e):null,this._collapsed=null,this._disabled=!!t.disabled,this._destroyed=!1,this._dragging=!1,this._frame=0,this._pointerId=null,this._startClient=0,this._startSize=0,this._pointerClient=0,this._moved=!1,this._lastTotal=-1,this._createdRoot=!this.el;let i=this.el??a("div");this.el=i,this._snapshot=this._createdRoot?null:S(i);let r=this._createdRoot||t.start!=null||t.end!=null?[]:Array.from(i.children),n=b("zx-split-start"),o=a("div",{class:"zx-split-view__pane",id:n,ref:"start",dataset:{pane:"start"}}),l=a("div",{class:"zx-split-view__divider",ref:"divider",role:"separator",tabindex:this._disabled?-1:0,ariaOrientation:this._orientation==="vertical"?"horizontal":"vertical",ariaLabel:String(t.label??"Resize panes"),ariaControls:n}),h=a("div",{class:"zx-split-view__pane",ref:"end",dataset:{pane:"end"}});return i.replaceChildren(o,l,h),i.dataset.orientation=this._orientation,this._disabled&&l.setAttribute("aria-disabled","true"),i.style.setProperty("--zx-split-size",Se(t.size)),t.start!=null?ze(o,t.start,"SplitView start"):r[0]&&o.append(r[0]),t.end!=null?ze(h,t.end,"SplitView end"):r[1]&&h.append(...r.slice(1)),i}setSize(t){let{total:e,divider:i,min:r,max:n}=this.#i(),o=mt(t,e>0?e:Number.NaN);return Number.isFinite(o)?(this.#s(_t({size:o,min:r,max:n,total:e,divider:i})),this):(this._size=null,this.el.style.setProperty("--zx-split-size",Se(t)),this.#r(),this)}getSize(){if(this._collapsed==="start")return 0;let{total:t,divider:e}=this.#i();if(this._collapsed==="end")return Math.max(0,t-e);if(this._size!==null)return this._size;let i=Hr(this.refs.start,this._orientation);if(i>0)return i;let r=mt(this.options.size,t);return Number.isFinite(r)?Math.max(0,r):0}getRatio(){let{total:t}=this.#i();return t>0?this.getSize()/t:0}setStart(t){return ze(this.refs.start,t,"SplitView start"),this}setEnd(t){return ze(this.refs.end,t,"SplitView end"),this}collapse(t){let e=this.options.collapsible==="end"?"end":"start";return this.#n(t==="end"?"end":t==="start"?"start":e,!0)}expand(){return this._collapsed===null?this:(this._collapsed=null,delete this.el.dataset.collapsed,this.#r(),this.emit("expand"),this)}isCollapsed(){return this._collapsed??!1}enable(){return this._disabled=!1,this.refs.divider.removeAttribute("aria-disabled"),this.refs.divider.setAttribute("tabindex","0"),this}disable(){return this._disabled=!0,this.#h(null),this.refs.divider.setAttribute("aria-disabled","true"),this.refs.divider.setAttribute("tabindex","-1"),this}isDisabled(){return this._disabled}destroy(){this._destroyed||(this._destroyed=!0,this._frame!==0&&(cancelAnimationFrame(this._frame),this._frame=0),this.#u(),this.#t?.disconnect(),this.#t=null,super.destroy(),!this._createdRoot&&this._snapshot&&z(this.el,this._snapshot))}#i(){let t=this.el,e=this._orientation==="vertical"?t.clientHeight:t.clientWidth,i=this.options.max==null?null:Number(this.options.max);return{total:Number.isFinite(e)&&e>0?e:0,divider:Hr(this.refs.divider,this._orientation),min:Math.max(0,Number(this.options.min)||0),max:Number.isFinite(i)?i:null}}#s(t){this._size=t,this.el.style.setProperty("--zx-split-size",`${t}px`),this.#r()}#r(){let{total:t,divider:e,min:i,max:r}=this.#i(),n=Ce({min:i,max:r,total:t,divider:e}),o=this.refs.divider;o.setAttribute("aria-valuemin",String(Math.round(n.min))),o.setAttribute("aria-valuemax",String(Math.round(n.max))),o.setAttribute("aria-valuenow",String(Math.round(this.getSize())))}#n(t,e){return this._collapsed===t?this:(this._collapsed=t,this.el.dataset.collapsed=t,this.#r(),e&&this.emit("collapse",{pane:t}),this)}#a(t){if(!(this._disabled||this._dragging||t.button!==0)){this._dragging=!0,this._pointerId=t.pointerId,this._startClient=Si(t,this._orientation),this._pointerClient=this._startClient,this._startSize=this.getSize(),this._moved=!1,this.el.dataset.dragging="true";try{this.refs.divider.setPointerCapture(t.pointerId)}catch{}}}#o(t){!this._dragging||t.pointerId!==this._pointerId||(this._pointerClient=Si(t,this._orientation),this._pointerClient!==this._startClient&&(this._moved=!0),this._frame===0&&(this._frame=requestAnimationFrame(()=>{this._frame=0,this.#l(!1)})))}#l(t){if(!this._dragging||this._destroyed)return;let{total:e,divider:i,min:r,max:n}=this.#i();if(e<=0)return;this._collapsed!==null&&this.expand();let o=_t({size:this._startSize+(this._pointerClient-this._startClient),min:r,max:n,total:e,divider:i});t&&(o=_t({size:qr(o,this.#c(e,i),Number(this.options.snap)),min:r,max:n,total:e,divider:i})),o!==this._size&&(this.#s(o),this.emit("resize",{size:o,ratio:o/e}))}#c(t,e){let{min:i,max:r}=this.#i(),n=Ce({min:i,max:r,total:t,divider:e}),o=[n.min,n.max],l=mt(this.options.size,t);return Number.isFinite(l)&&o.unshift(l),o}#h(t){if(!this._dragging||t&&t.pointerId!==this._pointerId)return;this._frame!==0&&(cancelAnimationFrame(this._frame),this._frame=0),t&&(this._pointerClient=Si(t,this._orientation));let e=this._moved;e&&this.#l(!0),this._dragging=!1,this._moved=!1,this.#u(),delete this.el.dataset.dragging,e&&(this.#f(),this.#_())}#u(){let t=this._pointerId;if(this._pointerId=null,t!==null)try{this.refs.divider.releasePointerCapture(t)}catch{}}#d(t){if(this._disabled)return;let e=t.key;if(e==="Enter"||e===" "){if(!this.options.collapsible)return;t.preventDefault(),this._collapsed===null?this.collapse(this.options.collapsible):this.expand();return}let i=this._orientation==="horizontal",r=i?"ArrowLeft":"ArrowUp",n=i?"ArrowRight":"ArrowDown";if(e!==r&&e!==n&&e!=="Home"&&e!=="End")return;t.preventDefault(),this._collapsed!==null&&this.expand();let{total:o,divider:l,min:h,max:c}=this.#i();if(o<=0)return;let u=Ce({min:h,max:c,total:o,divider:l}),d=t.shiftKey?sh:ih,_=u.min;e==="End"?_=u.max:e!=="Home"&&(_=this.getSize()+(e===n?d:-d));let p=_t({size:_,min:h,max:c,total:o,divider:l});p!==this._size&&(this.#s(p),this.emit("resize",{size:p,ratio:p/o}),this.#f(),this.#_())}#p(){if(this._disabled)return;this._collapsed!==null&&this.expand();let t=mt(this.options.size,Number.NaN);Number.isFinite(t)?this.setSize(t):(this._size=null,this.el.style.setProperty("--zx-split-size",Se(this.options.size)),this._lastTotal=-1,this.#m());let{total:e}=this.#i(),i=this.getSize();this.emit("resize",{size:i,ratio:e>0?i/e:0}),this.#f(),this.#_()}#m(){if(this._destroyed||this._dragging)return;let{total:t,divider:e,min:i,max:r}=this.#i();if(t<=0||t===this._lastTotal)return;if(this._lastTotal=t,this._size===null){let o=mt(this.options.size,t);if(Number.isFinite(o)){let l=_t({size:o,min:i,max:r,total:t,divider:e});this.el.style.setProperty("--zx-split-size",Math.abs(l-o)>.5?`${l}px`:Se(this.options.size))}this.#r();return}let n=_t({size:this._size,min:i,max:r,total:t,divider:e});if(n===this._size){this.#r();return}this.#s(n),this.emit("resize",{size:n,ratio:n/t})}#f(){let t=this.options.storageKey;!this.#e||t==null||t===""||(this._size===null?this.#e.remove(String(t)):this.#e.set(String(t),Math.round(this._size)))}#_(){let{total:t}=this.#i(),e=this.getSize();this.emit("resizeend",{size:e,ratio:t>0?e/t:0})}};function _t({size:s,min:t=0,max:e=null,total:i=0,divider:r=0}){let n=Number(s),o=Ce({min:t,max:e,total:i,divider:r});return Math.max(0,(Number(i)||0)-Math.max(0,Number(r)||0))>0?Number.isFinite(n)?Math.min(o.max,Math.max(o.min,n)):o.min:Number.isFinite(n)?Math.max(0,n):o.min}function mt(s,t){if(typeof s=="number")return Number.isFinite(s)?s:Number.NaN;if(typeof s!="string")return Number.NaN;let e=/^([+-]?(?:\d+\.?\d*|\.\d+))(px|%)?$/i.exec(s.trim());if(!e)return Number.NaN;let i=Number(e[1]);if(!Number.isFinite(i))return Number.NaN;if((e[2]??"").toLowerCase()!=="%")return i;let r=Number(t);return Number.isFinite(r)?i/100*r:Number.NaN}function qr(s,t,e){let i=Number(s),r=Number(e);if(!Number.isFinite(i)||!Number.isFinite(r)||r<=0)return i;let n=Array.isArray(t)?t:t==null?[]:[t],o=i,l=Number.POSITIVE_INFINITY;for(let h of n){let c=Number(h);if(!Number.isFinite(c))continue;let u=Math.abs(c-i);u<=r&&u<l&&(l=u,o=c)}return o}function Ce({min:s=0,max:t=null,total:e=0,divider:i=0}){let r=Math.max(0,(Number(e)||0)-Math.max(0,Number(i)||0)),n=t==null||!Number.isFinite(Number(t))?r:Math.min(r,Math.max(0,Number(t)));return{min:Math.min(Math.max(0,Number(s)||0),n),max:n}}function Hr(s,t){let e=s.getBoundingClientRect(),i=t==="vertical"?e.height:e.width;return Number.isFinite(i)&&i>0?i:0}function Si(s,t){return t==="vertical"?s.clientY:s.clientX}function Se(s){return typeof s=="number"&&Number.isFinite(s)?`${s}px`:String(s)}function ze(s,t,e){if(s.replaceChildren(),t==null)return;if(typeof t=="string"||typeof t=="number"){s.append(document.createTextNode(String(t)));return}let i=t instanceof f?t.toElement():t;if(i&&typeof i.nodeType=="number"){s.append(i);return}throw new TypeError(`${e} must be a string, Node, Component, or null`)}var Ci=class extends f{static cssName="navigation-bar";static defaults={title:"",items:[],active:null,actions:[]};constructor(t,e={}){super(t,e),this._overflow=new it(this.refs.moreTrigger,{label:"More",icon:"dots",kind:"ghost",items:[],placement:"bottom-end"}),this._overflow.on("select",i=>{let r=this._find(String(i.detail.value));!r||r.definition.disabled||(this.setActive(r.definition.name),r.definition.onselect?.(r.definition.name,r.definition,this),r.definition.href&&globalThis.location?.assign(r.definition.href))}),this._syncOverflow()}render(){let t=!this.el,e=this.el??a("section");this.el=e,this._createdRoot=t,this._original=t?null:oh(e),this._cleaned=!1,this._items=[],this._activeName=null,this._tabMode=!1,this._overflow=null;let i=a("header",{class:"zx-navigation-bar__bar"},a("div",{class:"zx-navigation-bar__brand",ref:"title"}),a("nav",{class:"zx-navigation-bar__navigation",ariaLabel:"Primary navigation"},a("div",{class:"zx-navigation-bar__items",ref:"items"}),a("div",{class:"zx-navigation-bar__more",ref:"more"},a("button",{class:"zx-navigation-bar__more-trigger",ref:"moreTrigger"}))),a("div",{class:"zx-navigation-bar__actions",ref:"actions",role:"group",ariaLabel:"Application actions"})),r=a("div",{class:"zx-navigation-bar__panels",ref:"panels",hidden:!0});return e.replaceChildren(i,r),this.setTitle(this.options.title),this.setItems(this.options.items),this.setActions(this.options.actions),this.listen(this.refs.items,"keydown",n=>this._onTabKeydown(n)),e}setTitle(t){return this.refs.title.textContent=String(t??""),this}setItems(t){if(!Array.isArray(t))throw new TypeError("NavigationBar items must be an array");let e=this._activeName,i=new Set,r=t.map(c=>{if(!c||typeof c!="object"||Array.isArray(c))throw new TypeError("Navigation item must be an object");if(typeof c.name!="string"||c.name==="")throw new TypeError("Navigation item name must be a non-empty string");if(i.has(c.name))throw new RangeError(`Navigation item already exists: ${c.name}`);if(i.add(c.name),Object.hasOwn(c,"content")&&!nh(c.content))throw new TypeError(`Navigation panel content for ${c.name} is invalid`);let u={name:c.name,title:String(c.title??""),badge:c.badge==null?null:String(c.badge),href:c.href==null?void 0:String(c.href),disabled:!!c.disabled,onselect:typeof c.onselect=="function"?c.onselect:void 0};return Object.hasOwn(c,"content")&&(u.content=c.content),u}),n=r.some(c=>Object.hasOwn(c,"content"));if(n&&r.some(c=>!Object.hasOwn(c,"content")))throw new TypeError("NavigationBar panel items must all define content");this._items=[],this._activeName=null,this._tabMode=n,this.refs.items.replaceChildren(),this.refs.panels.replaceChildren(),this.refs.panels.hidden=!this._tabMode,this._tabMode?(this.refs.items.setAttribute("role","tablist"),this.refs.items.setAttribute("aria-orientation","horizontal")):(this.refs.items.removeAttribute("role"),this.refs.items.removeAttribute("aria-orientation"));for(let c of r)this._appendItem(c);let o=e??this.options.active,l=o===null?null:this._find(o),h=l&&!l.definition.disabled?l:this._enabledItems()[0];return h&&this._applyActive(h),this._syncOverflow(),this}setActive(t){let e=this._find(t);return!e||e.definition.disabled||t===this._activeName?this:(this._applyActive(e),this.emit("change",{name:e.definition.name}),this)}setBadge(t,e){let i=this._require(t);return i.definition.badge=e===null?null:String(e),i.badge.textContent=i.definition.badge??"",i.badge.hidden=i.definition.badge===null,this._syncOverflow(),this}setActions(t){if(!Array.isArray(t))throw new TypeError("NavigationBar actions must be an array");let e=t.map(i=>{if(N(i))return i;if(!i||typeof i!="object"||Array.isArray(i))throw new TypeError("NavigationBar actions must be Elements or button descriptors");let r={...i},n=r.onclick;delete r.onclick;let o=W(r);return typeof n=="function"&&this.listen(o,"click",n),o});return this.refs.actions.replaceChildren(...e),this}destroy(){this._cleaned||(this._cleaned=!0,this._overflow?.destroy(),super.destroy(),!this._createdRoot&&this._original&&ah(this.el,this._original))}_appendItem(t){let e=b("zx-navigation-item"),i=b("zx-navigation-panel"),r=a("span",{class:"zx-navigation-bar__badge",hidden:t.badge===null},t.badge??""),n={class:"zx-navigation-bar__item",id:e,ariaDisabled:t.disabled?"true":null},o;this._tabMode?o=a("button",{...n,type:"button",role:"tab",tabindex:"-1",ariaControls:i,ariaSelected:"false"},a("span",{class:"zx-navigation-bar__label"},t.title),r):t.href?o=a("a",{...n,href:t.href},a("span",{class:"zx-navigation-bar__label"},t.title),r):o=a("button",{...n,type:"button"},a("span",{class:"zx-navigation-bar__label"},t.title),r);let l=null;this._tabMode&&(l=a("div",{class:"zx-navigation-bar__panel",id:i,role:"tabpanel",tabindex:"0",ariaLabelledby:e,hidden:!0}),this.refs.panels.append(l));let h={definition:t,item:o,badge:r,panel:l,built:!1};this._items.push(h),this.refs.items.append(o),this.listen(o,"click",c=>{if(h.definition.disabled){c.preventDefault();return}this.setActive(h.definition.name),h.definition.onselect?.(h.definition.name,h.definition,this)})}_applyActive(t){this._tabMode&&this._ensurePanel(t);for(let e of this._items){let i=e===t;this._tabMode?(e.item.setAttribute("aria-selected",String(i)),e.item.tabIndex=i?0:-1,e.panel&&(e.panel.hidden=!i)):i?e.item.setAttribute("aria-current","page"):e.item.removeAttribute("aria-current")}this._activeName=t.definition.name}_ensurePanel(t){if(!t.panel||t.built)return;let e=t.definition.content,i=typeof e=="function"?e():e,r=i instanceof f?i.toElement():i;if(!r||typeof r.nodeType!="number")throw new TypeError(`Navigation panel factory for ${t.definition.name} must return a Node or Component`);t.panel.append(r),t.built=!0}_onTabKeydown(t){if(!this._tabMode)return;let e=t.target.closest?.('[role="tab"]');if(!e||!this.refs.items.contains(e))return;let i=this._items.find(n=>n.item===e);if(!i)return;let r=this._enabledItems();if(t.key==="ArrowLeft"||t.key==="ArrowRight"){t.preventDefault();let n=t.key==="ArrowRight"?1:-1,o=r.indexOf(i),l=r[(o+n+r.length)%r.length];l&&this._focusTab(l);return}if(t.key==="Home"||t.key==="End"){t.preventDefault();let n=t.key==="Home"?r[0]:r[r.length-1];n&&this._focusTab(n);return}(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),this.setActive(i.definition.name))}_syncOverflow(){this._overflow&&(this.refs.more.dataset.empty=this._items.length===0?"true":"false",this._overflow.setItems(this._items.map(t=>({label:t.definition.badge===null?t.definition.title:`${t.definition.title} (${t.definition.badge})`,value:t.definition.name,disabled:t.definition.disabled}))))}_focusTab(t){for(let e of this._items)e.item.tabIndex=e===t?0:-1;t.item.focus()}_enabledItems(){return this._items.filter(t=>!t.definition.disabled)}_find(t){return this._items.find(e=>e.definition.name===t)??null}_require(t){let e=this._find(t);if(!e)throw new RangeError(`Unknown navigation item: ${t}`);return e}};function nh(s){return typeof s=="function"||s instanceof f?!0:!!(s&&typeof s=="object"&&typeof s.nodeType=="number")}function oh(s){return{attributes:Array.from(s.attributes,t=>[t.name,t.value]),children:Array.from(s.childNodes)}}function ah(s,t){for(let e of Array.from(s.attributes))s.removeAttribute(e.name);for(let[e,i]of t.attributes)s.setAttribute(e,i);s.replaceChildren(...t.children)}function Kr(s){if(!Array.isArray(s))throw new TypeError("Stepper steps must be an array");let t=new Set;return s.map(e=>{if(!e||typeof e!="object"||Array.isArray(e))throw new TypeError("Step definition must be an object");if(typeof e.name!="string"||e.name==="")throw new TypeError("Step name must be a non-empty string");if(t.has(e.name))throw new RangeError(`Step already exists: ${e.name}`);return t.add(e.name),{name:e.name,title:String(e.title??""),description:e.description==null?null:String(e.description),optional:!!e.optional,disabled:!!e.disabled}})}function Te(s,t){return t===null?-1:s.findIndex(e=>e.name===t)}function Ne(s,t,e){let i=e<0?-1:1,r=t<0?i>0?0:s.length-1:t+i;for(;r>=0&&r<s.length;){if(!s[r].disabled)return r;r+=i}return-1}function Yr(s,t,e){return t<0||e<=t?[]:s.slice(t,e).map(i=>i.name)}function Ur(s,t,e={}){let{activeIndex:i=-1,completed:r,errored:n}=e;return $r(n,s.name)?"error":t===i?"active":$r(r,s.name)?"complete":"upcoming"}function $r(s,t){return s?s instanceof Set?s.has(t):s.includes(t):!1}var lh=new Set(["horizontal","vertical"]),hh=new Set(["completed","all",!1]),Ti=class extends f{static cssName="stepper";static defaults={steps:[],active:null,orientation:"horizontal",clickable:"completed",showNumbers:!0,counter:!1};constructor(t,e={}){super(t,e)}render(){if(this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el),this._destroyed=!1,this._steps=[],this._records=[],this._activeIndex=-1,this._completed=new Set,this._errored=new Set,!lh.has(this.options.orientation))throw new RangeError(`Unknown stepper orientation: ${this.options.orientation}`);if(!hh.has(this.options.clickable))throw new RangeError(`Unknown stepper clickable mode: ${this.options.clickable}`);let t=this.el??a("div");this.el=t,t.dataset.orientation=this.options.orientation;let e=a("p",{class:"zx-stepper__counter",ref:"counter",ariaLive:"polite",hidden:!0}),i=a("ol",{class:"zx-stepper__list",ref:"list"});return t.replaceChildren(...this.options.counter?[e,i]:[i]),this.setSteps(this.options.steps),this.listen(i,"click",r=>{let n=r.target.closest?.(".zx-stepper__control");if(!n||!i.contains(n)||n.tagName!=="BUTTON")return;let o=n.dataset.step;typeof o=="string"&&this.goTo(o)}),t}setSteps(t){let e=this.getActive(),i=Kr(t),r=new Set(i.map(l=>l.name));this._steps=i,this._completed=new Set([...this._completed].filter(l=>r.has(l))),this._errored=new Set([...this._errored].filter(l=>r.has(l)));let n=e??(this.options.active===null?null:String(this.options.active)),o=n===null?-1:Te(i,n);return o>=0&&i[o].disabled&&(o=-1),o<0&&(o=Ne(i,-1,1)),this._activeIndex=o,this._records=i.map(l=>this._createRecord(l)),this.refs.list.replaceChildren(...this._records.map(l=>l.item)),this._sync(),this}goTo(t){let e=Te(this._steps,t);if(e<0)throw new RangeError(`Unknown step: ${t}`);return this._activate(e)}next(){return this._activate(Ne(this._steps,this._activeIndex,1))}previous(){return this._activate(Ne(this._steps,this._activeIndex,-1))}getActive(){return this._activeIndex<0?null:this._steps[this._activeIndex].name}getIndex(){return this._activeIndex}complete(t){return this._require(t),this._completed.add(t),this._sync(),this}uncomplete(t){return this._require(t),this._completed.delete(t),this._sync(),this}setError(t,e=!0){return this._require(t),e?this._errored.add(t):this._errored.delete(t),this._sync(),this}setDisabled(t,e=!0){return this._require(t).disabled=!!e,this._sync(),this}getState(){return{active:this.getActive(),index:this._activeIndex,completed:this._steps.filter(t=>this._completed.has(t.name)).map(t=>t.name),errored:this._steps.filter(t=>this._errored.has(t.name)).map(t=>t.name)}}destroy(){if(this._destroyed)return;this._destroyed=!0;let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}_activate(t){if(t<0||t>=this._steps.length||t===this._activeIndex)return this;let e=this._steps[t];if(e.disabled)return this;let i=this._activeIndex;if(this.emit("change",{name:e.name,previous:i<0?null:this._steps[i].name,index:t}).defaultPrevented)return this;for(let n of Yr(this._steps,i,t))this._completed.add(n);return this._activeIndex=t,this._sync(),this}_createRecord(t){let e=a("span",{class:"zx-stepper__marker",ariaHidden:"true"}),i=a("span",{class:"zx-stepper__status"}),r=[a("span",{class:"zx-stepper__title"},t.title)];t.description&&r.push(a("span",{class:"zx-stepper__description"},t.description)),t.optional&&r.push(a("span",{class:"zx-stepper__optional"},this._message("stepper.optional","Optional")));let n=[e,a("span",{class:"zx-stepper__text"},r),i],o=this.options.clickable===!1?a("span",{class:"zx-stepper__control"},n):a("button",{class:"zx-stepper__control",type:"button",dataset:{step:t.name}},n);return{step:t,item:a("li",{class:"zx-stepper__step"},o),control:o,marker:e,status:i}}_sync(){this._records.forEach((t,e)=>{let i=this._stateFor(t.step,e);t.item.dataset.state=i,e===this._activeIndex?t.item.setAttribute("aria-current","step"):t.item.removeAttribute("aria-current"),t.item.toggleAttribute("data-disabled",t.step.disabled),t.marker.replaceChildren(...this._markerContent(i,e)),t.status.textContent=this._statusText(i),t.control.tagName==="BUTTON"&&(t.control.disabled=!this._isClickable(t.step))}),this._syncCounter()}_stateFor(t,e){return Ur(t,e,{activeIndex:this._activeIndex,completed:this._completed,errored:this._errored})}_markerContent(t,e){return t==="complete"?[m("check",{size:12})]:t==="error"?[m("warning",{size:12})]:this.options.showNumbers?[String(e+1)]:[]}_statusText(t){return t==="complete"?this._message("stepper.completed","Completed"):t==="error"?this._message("stepper.error","Error"):t==="active"?this._message("stepper.current","Current step"):""}_isClickable(t){return t.disabled?!1:this.options.clickable==="all"?!0:this.options.clickable==="completed"?this._completed.has(t.name):!1}_syncCounter(){if(!this.options.counter)return;let t=this.refs.counter;t.hidden=this._activeIndex<0,t.textContent=this._activeIndex<0?"":this._message("stepper.counter","Step %1 of %2",this._activeIndex+1,this._steps.length)}_require(t){let e=Te(this._steps,t);if(e<0)throw new RangeError(`Unknown step: ${t}`);return this._steps[e]}_message(t,e,...i){let r=this.msg(t,...i);return r===t?I(e,i):r}};var ch=new Set(["chevron","slash"]),Ni=class extends f{static cssName="breadcrumb";static defaults={items:[],maxVisible:0,separator:"chevron",rootIcon:null};constructor(t,e={}){super(t,e)}render(){if(this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el),this._destroyed=!1,this._items=[],this._overflow=null,!ch.has(this.options.separator))throw new RangeError(`Unknown breadcrumb separator: ${this.options.separator}`);let t=this.el??a("nav");this.el=t,t.tagName!=="NAV"&&t.setAttribute("role","navigation"),t.setAttribute("aria-label",this._message("breadcrumb.label","Breadcrumb"));let e=a("ol",{class:"zx-breadcrumb__list",ref:"list"});return t.replaceChildren(e),this.setItems(this.options.items),this.listen(e,"click",i=>{let r=i.target.closest?.("[data-crumb]");!r||!e.contains(r)||this._select(r.dataset.crumb)}),t}setItems(t){if(!Array.isArray(t))throw new TypeError("Breadcrumb items must be an array");let e=new Set;return this._items=t.map(i=>{if(!i||typeof i!="object"||Array.isArray(i))throw new TypeError("Breadcrumb item must be an object");if(typeof i.name!="string"||i.name==="")throw new TypeError("Breadcrumb item name must be a non-empty string");if(e.has(i.name))throw new RangeError(`Breadcrumb item already exists: ${i.name}`);return e.add(i.name),{name:i.name,label:String(i.label??""),icon:i.icon?String(i.icon):null,href:i.href==null?null:String(i.href)}}),this._build(),this}getItems(){return this._items.map(t=>({...t}))}push(t){return this.setItems([...this._items,t])}pop(){if(this._items.length===0)return null;let t=this._items[this._items.length-1];return this.setItems(this._items.slice(0,-1)),t}truncateTo(t){let e=this._items.findIndex(i=>i.name===t);if(e<0)throw new RangeError(`Unknown breadcrumb item: ${t}`);return this.setItems(this._items.slice(0,e+1))}destroy(){if(this._destroyed)return;this._destroyed=!0,this._overflow?.destroy(),this._overflow=null;let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}_build(){let{head:t,hidden:e,tail:i}=this._split(),r=this._items[this._items.length-1]??null,n=[];for(let o of t)n.push(this._renderItem(o,o===r));e.length>0&&n.push(this._renderOverflow(e));for(let o of i)n.push(this._renderItem(o,o===r));this.refs.list.replaceChildren(...n.map((o,l)=>a("li",{class:"zx-breadcrumb__item"},l===0?o:[this._renderSeparator(),o]))),e.length===0&&this._overflow?.toElement().remove()}_split(){let t=this._items,e=Math.trunc(Number(this.options.maxVisible)||0);if(e<=0||t.length<=e)return{head:t,hidden:[],tail:[]};let i=Math.max(2,e);if(t.length<=i)return{head:t,hidden:[],tail:[]};let r=i-1;return{head:t.slice(0,1),hidden:t.slice(1,t.length-r),tail:t.slice(t.length-r)}}_renderItem(t,e){let i=[],r=t.icon??(t===this._items[0]?this.options.rootIcon:null);return r&&i.push(a("span",{class:"zx-breadcrumb__icon",ariaHidden:"true"},m(String(r),{size:13}))),i.push(a("span",{class:"zx-breadcrumb__label"},t.label)),e?a("span",{class:"zx-breadcrumb__current",ariaCurrent:"page"},i):t.href!==null?a("a",{class:"zx-breadcrumb__link",href:t.href,dataset:{crumb:t.name}},i):a("button",{class:"zx-breadcrumb__link",type:"button",dataset:{crumb:t.name}},i)}_renderOverflow(t){if(!this._overflow){this._overflow=new it(null,{label:"",icon:"dots",kind:"ghost",placement:"bottom-start"});let e=this._overflow.toElement();e.classList.add("zx-breadcrumb__more"),e.setAttribute("aria-label",this._message("breadcrumb.more","Show hidden levels")),this._overflow.on("select",i=>this._select(String(i.detail.value)))}return this._overflow.setItems(t.map(e=>({label:e.label,value:e.name,icon:e.icon??void 0}))),this._overflow.toElement()}_renderSeparator(){return a("span",{class:"zx-breadcrumb__separator",ariaHidden:"true"},this.options.separator==="slash"?"/":m("chevron-right",{size:11}))}_select(t){let e=this._items.findIndex(i=>i.name===t);e<0||this.emit("select",{name:this._items[e].name,item:{...this._items[e]},index:e})}_message(t,e,...i){let r=this.msg(t,...i);return r===t?I(e,i):r}};var Ee="\u2026",uh=new Set(["pages","loadmore"]);function Wr({page:s=1,pages:t=1,siblings:e=1,boundaries:i=1}={}){let r=gt(t);if(r<=0)return[];let n=Mi(gt(s)||1,1,r),o=Math.max(0,gt(e)),l=Math.max(0,gt(i)),h=l*2+o*2+3;if(r<=h)return De(1,r);let c=De(1,Math.min(l,r)),u=De(Math.max(r-l+1,l+1),r),d=Math.max(Math.min(n-o,r-l-o*2-1),l+2),_=Math.min(Math.max(n+o,l+o*2+2),u.length>0?u[0]-2:r-1);return[...c,...d>l+2?[Ee]:l+1<r-l?[l+1]:[],...De(d,_),..._<r-l-1?[Ee]:r-l>l?[r-l]:[],...u]}var Ei=class extends f{static cssName="pagination";static defaults={page:1,pageSize:25,total:0,pageSizes:[25,50,100],siblings:1,boundaries:1,showPageSize:!0,showSummary:!0,mode:"pages",disabled:!1};constructor(t,e={}){super(t,e)}render(){if(this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el),this._destroyed=!1,this._pageSize=Di(this.options.pageSize,25),this._total=Math.max(0,gt(this.options.total)),this._page=Math.max(1,gt(this.options.page)||1),this._disabled=!!this.options.disabled,this._sizeKey="",this._pageSizes=(Array.isArray(this.options.pageSizes)?this.options.pageSizes:[]).map(i=>Di(i,0)).filter(i=>i>0),!uh.has(this.options.mode))throw new RangeError(`Unknown pagination mode: ${this.options.mode}`);this._page=Mi(this._page,1,this._pageCount());let t=this.el??a("nav");this.el=t,t.tagName!=="NAV"&&t.setAttribute("role","navigation"),t.setAttribute("aria-label",this._message("pagination.label","Pagination")),t.dataset.mode=this.options.mode;let e=[];return this.options.showSummary&&e.push(a("span",{class:"zx-pagination__summary",ref:"summary",ariaLive:"polite"})),e.push(a("span",{class:"zx-pagination__spacer"})),this.options.showPageSize&&e.push(this._renderPageSize()),e.push(this.options.mode==="pages"?this._renderPages():this._renderLoadMore()),t.replaceChildren(...e),this._sync(),this._wire(),t}setPage(t){return this.setState({page:t})}setTotal(t){return this.setState({total:t},{silent:!0})}setPageSize(t){return this.setState({pageSize:t,page:1})}setState(t={},{silent:e=!1}={}){if(!t||typeof t!="object"||Array.isArray(t))throw new TypeError("Pagination state must be an object");let i=this._page,r=this._pageSize;if(Object.hasOwn(t,"total")&&(this._total=Math.max(0,gt(t.total))),Object.hasOwn(t,"pageSize")&&(this._pageSize=Di(t.pageSize,this._pageSize)),Object.hasOwn(t,"page")){let n=Math.trunc(Number(t.page));Number.isFinite(n)&&(this._page=n)}return this._page=Mi(this._page,1,this._pageCount()),this._sync(),!e&&(this._page!==i||this._pageSize!==r)&&this.emit("change",this.getState()),this}getState(){let t=this._pageCount();return{page:this._page,pageSize:this._pageSize,total:this._total,pages:t,offset:(this._page-1)*this._pageSize}}enable(){return this._disabled=!1,this._sync(),this}disable(){return this._disabled=!0,this._sync(),this}destroy(){if(this._destroyed)return;this._destroyed=!0;let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}_pageCount(){return this._total<=0?1:Math.ceil(this._total/this._pageSize)}_renderPageSize(){let t=this._message("pagination.pageSize","Rows per page");return a("label",{class:"zx-pagination__size"},a("span",{class:"zx-pagination__size-label"},t),a("select",{class:"zx-pagination__select",ref:"select",ariaLabel:t}))}_renderPages(){return a("div",{class:"zx-pagination__controls"},this._navButton("prev","chevron-left",this._message("pagination.previous","Previous page")),a("div",{class:"zx-pagination__pages",ref:"pages"}),this._navButton("next","chevron-right",this._message("pagination.next","Next page")))}_navButton(t,e,i){return a("button",{class:"zx-btn zx-pagination__nav",type:"button",ref:t,ariaLabel:i,dataset:{kind:"default",size:"sm"}},m(e,{size:14}))}_renderLoadMore(){return a("button",{class:"zx-btn zx-pagination__more",type:"button",ref:"more",dataset:{kind:"default",size:"md"}},a("span",{class:"zx-btn__label"},this._message("pagination.loadMore","Load more")))}_wire(){if(this.refs.select&&this.listen(this.refs.select,"change",()=>{this.setPageSize(Number(this.refs.select.value))}),this.options.mode==="pages"){this.listen(this.refs.prev,"click",()=>this.setPage(this._page-1)),this.listen(this.refs.next,"click",()=>this.setPage(this._page+1)),this.listen(this.refs.pages,"click",t=>{let e=t.target.closest?.("[data-page]");!e||!this.refs.pages.contains(e)||this.setPage(Number(e.dataset.page))});return}this.listen(this.refs.more,"click",()=>this.setPage(this._page+1))}_sync(){let t=this._pageCount();if(this.el.dataset.disabled=this._disabled?"true":"false",this.refs.summary&&(this.refs.summary.textContent=this._summary()),this.refs.select&&this._syncPageSize(),this.options.mode==="pages"){this.refs.prev.disabled=this._disabled||this._page<=1,this.refs.next.disabled=this._disabled||this._page>=t,this._syncPages(t);return}this.refs.more.disabled=this._disabled||this._page>=t}_summary(){if(this._total<=0)return this._message("pagination.empty","0 of 0");let t=(this._page-1)*this._pageSize,e=Math.min(t+this._pageSize,this._total);return this.options.mode==="loadmore"?this._message("pagination.loaded","%1 of %2",te(e),te(this._total)):this._message("pagination.summary","%1\u2013%2 of %3",te(t+1),te(e),te(this._total))}_syncPageSize(){let t=this.refs.select,e=[...new Set([...this._pageSizes,this._pageSize])].sort((r,n)=>r-n),i=e.join(",");i!==this._sizeKey&&(this._sizeKey=i,t.replaceChildren(...e.map(r=>a("option",{value:String(r)},String(r))))),t.value=String(this._pageSize),t.disabled=this._disabled}_syncPages(t){let e=this.refs.pages,i=this.el.ownerDocument?.activeElement??null,r=i&&e.contains(i)?i.dataset.page??null:null,n=Wr({page:this._page,pages:t,siblings:this.options.siblings,boundaries:this.options.boundaries});if(e.replaceChildren(...n.map(l=>l===Ee?a("span",{class:"zx-pagination__ellipsis",ariaHidden:"true"},Ee):a("button",{class:"zx-btn zx-pagination__page",type:"button",disabled:this._disabled,ariaCurrent:l===this._page?"page":null,ariaLabel:this._message("pagination.page","Page %1",l),dataset:{kind:"default",size:"sm",page:String(l)}},String(l)))),r===null)return;let o=e.querySelector(`[data-page="${r}"]`);o&&!o.disabled&&o.focus()}_message(t,e,...i){let r=this.msg(t,...i);return r===t?I(e,i):r}};function gt(s){let t=Math.trunc(Number(s));return Number.isFinite(t)&&t>0?t:0}function Di(s,t){let e=Math.trunc(Number(s));return Number.isFinite(e)&&e>0?e:t}function Mi(s,t,e){return Math.min(Math.max(s,t),e)}function De(s,t){return t<s?[]:Array.from({length:t-s+1},(e,i)=>s+i)}function te(s){return s.toLocaleString()}var Oi=class{#t;#e=[];#i=[];#s;constructor(t=5,e=()=>{}){if(!Number.isInteger(t)||t<1)throw new RangeError("Queue limit must be positive");if(typeof e!="function")throw new TypeError("Activation callback must be a function");this.#t=t,this.#s=e}enqueue(t){return this.#e.length<this.#t?(this.#e.push(t),this.#s(t),"active"):(this.#i.push(t),"pending")}remove(t){let e=this.#i.indexOf(t);if(e!==-1)return this.#i.splice(e,1),"pending";let i=this.#e.indexOf(t);if(i===-1)return null;if(this.#e.splice(i,1),this.#i.length>0){let r=this.#i.shift();this.#e.push(r),this.#s(r)}return"active"}isActive(t){return this.#e.includes(t)}clear(){let t={active:this.#e.slice(),pending:this.#i.slice()};return this.#e.length=0,this.#i.length=0,t}get activeCount(){return this.#e.length}get pendingCount(){return this.#i.length}},Fi=class s extends f{static cssName="message";static defaults={kind:"info",timeout:4e3,closable:!0,maxVisible:5};static#t=null;render(){let t=!this.el,e=this.el??a("div");return this._createdRoot=t,this._original=t?null:bh(e),this._entries=new Set,this._queue=new Oi(fh(this.options.maxVisible),i=>{this._activate(i)}),e.replaceChildren(),e.setAttribute("role","status"),e.setAttribute("aria-live","polite"),e}show(t,e={}){let i={kind:dh(e.kind??this.options.kind),timeout:ph(e.timeout??this.options.timeout),closable:e.closable??!!this.options.closable},r=this._createEntry(t,i);return this._entries.add(r),this._queue.enqueue(r),{close:()=>this._close(r)}}static info(t,e={}){return this.show(t,{...e,kind:"info"})}static success(t,e={}){return this.show(t,{...e,kind:"success"})}static warning(t,e={}){return this.show(t,{...e,kind:"warning"})}static error(t,e={}){return this.show(t,{...e,kind:"error"})}static show(t,e={}){return this.#e().show(t,e)}static progress(t){return this.#e()._progress(t)}destroy(){if(!this._cleaned){this._cleaned=!0;for(let t of this._entries)Ii(t),t.node.remove();this._queue.clear(),this._entries.clear(),super.destroy(),!this._createdRoot&&this._original&&yh(this.el,this._original)}}_progress(t){let e={pct:0,text:String(t)},i=this._createEntry(e.text,{kind:"info",timeout:0,closable:!1},e);this._entries.add(i),this._queue.enqueue(i);let r=!1;return{update:(n,o)=>{r||i.closed||(e.pct=mh(n),o!==void 0&&(e.text=String(o)),Me(i,e))},done:()=>{r||i.closed||(r=!0,e.pct=100,Me(i,e),i.remaining=600,this._queue.isActive(i)&&this._schedule(i))},fail:n=>{r||i.closed||(r=!0,n!==void 0&&(e.text=String(n)),i.kind="error",i.node.dataset.kind="error",i.node.setAttribute("role","alert"),i.iconHost.replaceChildren(m("error",{size:18})),Me(i,e),i.remaining=4e3,this._queue.isActive(i)&&this._schedule(i))}}}_createEntry(t,e,i=null){let r=a("span",{class:"zx-message__icon",ariaHidden:"true"},m(e.kind,{size:18})),n=a("div",{class:"zx-message__content"});_h(t)?n.append(t):n.append(document.createTextNode(String(t)));let o=a("div",{class:"zx-message__toast",role:e.kind==="error"?"alert":"status",dataset:{kind:e.kind,state:"queued"}},r,n),l={node:o,content:n,iconHost:r,kind:e.kind,timeout:e.timeout,remaining:e.timeout,startedAt:0,timer:null,exitTimer:null,closed:!1,progressBar:null,progressFill:null};if(i){o.dataset.progress="";let h=a("span",{class:"zx-message__progress-fill"}),c=a("div",{class:"zx-message__progress",role:"progressbar",ariaValueMin:"0",ariaValueMax:"100",ariaValueNow:"0",ariaLabel:i.text},h);n.append(c),l.progressBar=c,l.progressFill=h,Me(l,i)}if(e.closable){let h=a("button",{class:"zx-icon-btn zx-message__close",type:"button",ariaLabel:"Close message",title:"Close"},m("x",{size:14}));o.append(h),this.listen(h,"click",()=>this._close(l))}return this.listen(o,"mouseenter",()=>this._pause(l)),this.listen(o,"mouseleave",()=>this._resume(l)),l}_activate(t){t.closed||(t.node.dataset.state="open",this.el.append(t.node),this._schedule(t))}_schedule(t){t.closed||t.remaining<=0||(t.startedAt=Date.now(),t.timer=setTimeout(()=>this._close(t),t.remaining))}_pause(t){t.closed||t.timer===null||(clearTimeout(t.timer),t.timer=null,t.remaining=Math.max(0,t.remaining-(Date.now()-t.startedAt)))}_resume(t){if(!(t.closed||t.timer!==null)){if(t.remaining<=0){this._close(t);return}this._schedule(t)}}_close(t){if(t.closed)return;if(t.closed=!0,Ii(t),!this._queue.isActive(t)){this._queue.remove(t),t.node.remove(),this._entries.delete(t);return}if(t.node.dataset.state="closing",!gh()){this._finish(t);return}let e=i=>{i.target===t.node&&this._finish(t)};this.listen(t.node,"animationend",e,{once:!0}),t.exitTimer=setTimeout(()=>this._finish(t),260)}_finish(t){this._entries.has(t)&&(Ii(t),t.node.remove(),this._entries.delete(t),this._queue.remove(t))}static#e(){if(this.#t)return this.#t;let t=a("div",{class:"zx-message-region",popover:"manual",role:"status",ariaLive:"polite"});return document.body.append(t),this.#t=new s(t),typeof t.showPopover=="function"&&t.showPopover(),this.#t}};function dh(s){return s==="danger"?"error":["success","warning","error"].includes(String(s))?s:"info"}function ph(s){let t=Number(s);return Number.isFinite(t)?Math.max(0,t):4e3}function fh(s){let t=Number(s);return Number.isInteger(t)&&t>0?t:5}function _h(s){return!!(s&&typeof s=="object"&&typeof s.nodeType=="number")}function mh(s){let t=Number(s);return Number.isFinite(t)?Math.min(100,Math.max(0,t)):0}function Me(s,t){s.content.firstChild.textContent=t.text,s.progressBar?.setAttribute("aria-valuenow",String(t.pct)),s.progressBar?.setAttribute("aria-label",t.text),s.progressFill&&(s.progressFill.style.inlineSize=`${t.pct}%`)}function Ii(s){s.timer!==null&&clearTimeout(s.timer),s.exitTimer!==null&&clearTimeout(s.exitTimer),s.timer=null,s.exitTimer=null}function gh(){return typeof matchMedia!="function"||matchMedia("(prefers-reduced-motion: no-preference)").matches}function bh(s){return{attributes:Array.from(s.attributes,t=>[t.name,t.value]),children:Array.from(s.childNodes)}}function yh(s,t){for(let e of Array.from(s.attributes))s.removeAttribute(e.name);for(let[e,i]of t.attributes)s.setAttribute(e,i);s.replaceChildren(...t.children)}var xh=new Set(["top","bottom","top-start","top-end","bottom-start","bottom-end"]),vh=new Set(["hover","focus","both","manual"]),ee=class extends f{static cssName="tooltip";static defaults={content:"",placement:"top",offset:6,delay:400,hideDelay:80,maxWidth:260,trigger:"both",disabled:!1};#t;#e;#i=null;#s=null;#r=0;#n=0;#a=!1;#o=!1;#l=!1;constructor(t,e={}){let i=O(t);if(!i)throw new TypeError("Tooltip anchor could not be resolved");super(null,e),this.#t=i,this.#e=this.options.content,this.#o=!!this.options.disabled,this.#s=i.getAttribute("aria-describedby"),this.el.style.setProperty("--zx-tooltip-max-inline-size",zh(this.options.maxWidth));let r=vh.has(this.options.trigger)?this.options.trigger:"both";r!=="manual"&&((r==="hover"||r==="both")&&(this.listen(this.#t,"pointerenter",n=>{n.pointerType!=="touch"&&this.#c(Number(this.options.delay))}),this.listen(this.#t,"pointerleave",()=>this.#h(Number(this.options.hideDelay)))),(r==="focus"||r==="both")&&(this.listen(this.#t,"focusin",()=>{this.#a||!Ch(this.#t)||this.#c(0)}),this.listen(this.#t,"focusout",()=>this.#h(Number(this.options.hideDelay)))),this.listen(document,"keydown",n=>{n.key!=="Escape"||!this.isOpen()||(n.preventDefault(),this.hide())}),this.listen(document,"pointerdown",()=>{this.#a=!0,this.#u(),this.hide()},{capture:!0}),this.listen(document,"pointerup",()=>{this.#a=!1},{capture:!0}),this.listen(document,"pointercancel",()=>{this.#a=!1},{capture:!0}),this.listen(document,"focusin",n=>{!this.isOpen()||n.composedPath().includes(this.#t)||this.hide()}))}render(){let t=a("div",{id:b("zx-tooltip"),role:"tooltip",popover:"manual"});return t.dataset.state="closed",document.body.append(t),t}show(){if(this.#l||this.#o||this.isOpen())return this;this.#u();let t=Qr(this.#e);return t===null?this:(this.el.replaceChildren(t),this.#i=j(this.#t,this.el,{placement:xh.has(this.options.placement)?this.options.placement:"top",offset:Number(this.options.offset),flip:!0}),this.el.dataset.state="open",this.#t.setAttribute("aria-describedby",Sh(this.#s,this.el.id)),this.emit("open"),this)}hide(){return this.#u(),this.isOpen()?(this.#i?.destroy(),this.#i=null,this.el.dataset.state="closed",this.el.replaceChildren(),this.#d(),this.emit("close"),this):this}toggle(){return this.isOpen()?this.hide():this.show()}isOpen(){return this.#i!==null}setContent(t){if(this.#e=t,!this.isOpen())return this;let e=Qr(t);return e===null?this.hide():(this.el.replaceChildren(e),this.#i?.update(),this)}enable(){return this.#o=!1,this}disable(){return this.#o=!0,this.hide()}isDisabled(){return this.#o}getAnchor(){return this.#t}destroy(){this.#l||(this.#l=!0,this.hide(),this.#d(),super.destroy())}#c(t){if(this.#u(),this.#l||this.#o||this.isOpen())return;let e=Number.isFinite(t)?Math.max(0,t):0;if(e===0){this.show();return}this.#r=setTimeout(()=>{this.#r=0,this.show()},e)}#h(t){if(this.#u(),!this.isOpen())return;let e=Number.isFinite(t)?Math.max(0,t):0;if(e===0){this.hide();return}this.#n=setTimeout(()=>{this.#n=0,this.hide()},e)}#u(){this.#r!==0&&clearTimeout(this.#r),this.#n!==0&&clearTimeout(this.#n),this.#r=0,this.#n=0}#d(){this.#s===null?this.#t.removeAttribute("aria-describedby"):this.#t.setAttribute("aria-describedby",this.#s)}};function wh(s,t=""){return new ee(s,Ah(t)?t:{content:t})}function kh(s,t){return new ee(s,{content:String(t??"")})}function Ah(s){return s===null||typeof s!="object"||Array.isArray(s)||typeof s.nodeType=="number"?!1:typeof s.toElement!="function"}function Qr(s){let t=typeof s=="function"?s():s;if(t==null)return null;if(typeof t=="object"&&typeof t.nodeType=="number")return t;if(typeof t=="object"&&typeof t.toElement=="function")return t.toElement();let e=String(t);return e===""?null:document.createTextNode(e)}function Sh(s,t){let e=String(s??"").split(/\s+/).filter(Boolean);return e.includes(t)||e.push(t),e.join(" ")}function zh(s){return typeof s=="number"&&Number.isFinite(s)?`${s}px`:String(s)}function Ch(s){try{return s.matches(":focus-visible")}catch{return!0}}var Ie='[role="menuitem"]',Li=class extends f{static defaults={items:[],selector:null};#t;#e;#i;#s;#r;#n=[];#a=null;#o=null;#l=!1;constructor(t,e={}){let i=O(t);if(!i)throw new TypeError("ContextMenu target could not be resolved");super(null,e),this.#t=i,document.body.append(this.el),this.#e=new et(this.el,{openOn:"manual",placement:"bottom-start"}),this.#i=this.#e.getPanel(),this.#i.classList.add("zx-context-menu"),this.#i.setAttribute("role","menu"),Array.isArray(this.options.items)&&this.setItems(this.options.items),this.#s=ut(this.#i,Ie),this.#r=K(()=>this.#_(),r=>r.focus()),this.#e.on("close",()=>{this.#a=null;let r=this.#o;this.#o=null,r instanceof HTMLElement&&r.isConnected&&r.focus(),this.emit("close")}),this.listen(this.#t,"contextmenu",r=>this.#u(r)),this.listen(this.#t,"keydown",r=>this.#d(r)),this.listen(this.#i,"click",r=>{let n=r.target.closest?.(Ie);n&&this.#i.contains(n)&&this.#f(n)}),this.listen(this.#i,"keydown",r=>this.#m(r))}render(){return a("span",{class:"zx-context-menu__anchor",ariaHidden:"true"})}setItems(t){return this.#n=Array.isArray(t)?t.slice():[],this.#i.replaceChildren(),this.#n.forEach((e,i)=>{if(e==="-"){this.#i.append(a("div",{class:"zx-context-menu__separator",role:"separator"}));return}let r=[];e.icon&&r.push(a("span",{class:"zx-context-menu__icon"},m(e.icon))),r.push(a("span",{class:"zx-context-menu__label"},String(e.label??""))),this.#i.append(a("button",{class:"zx-context-menu__item",type:"button",role:"menuitem",tabindex:"-1","data-menu-item":String(i),"data-danger":e.danger?"true":null,ariaDisabled:e.disabled?"true":null},r))}),this}openAt(t,e,i=null){return this.#c(i)?(this.#h(t,e,i),this):this}openAtElement(t){let e=t.getBoundingClientRect();return this.openAt(e.left,e.bottom,t)}close(){return this.#e.close(),this}isOpen(){return this.#e.isOpen()}getContext(){return this.#a}destroy(){this.#l||(this.#l=!0,this.#s.destroy(),this.#e.destroy(),super.destroy())}#c(t){let e=this.options.items;if(typeof e=="function"){let i=e(t);if(!Array.isArray(i)||i.length===0)return!1;this.setItems(i)}return this.#n.length>0}#h(t,e,i){let r=this.el;r.style.left=`${t}px`,r.style.top=`${e}px`,this.#a=i,this.#o=document.activeElement,this.#e.open(),this.#s.focusFirst(),this.emit("open",{context:i})}#u(t){let e=t,i=this.#p(e.target);!i||!this.#c(i)||(t.preventDefault(),this.#h(e.clientX,e.clientY,i))}#d(t){let e=t;if(e.key!=="ContextMenu"&&!(e.key==="F10"&&e.shiftKey))return;let i=this.#p(e.target);if(!i||!this.#c(i))return;t.preventDefault();let r=i.getBoundingClientRect();this.#h(r.left,r.bottom,i)}#p(t){if(!this.options.selector)return this.#t;let e=t?.closest?.(String(this.options.selector));return e&&this.#t.contains(e)?e:null}#m(t){let e=t;if(e.key==="Escape"||e.key==="Tab"){t.preventDefault(),this.close();return}if(e.key==="Enter"||e.key===" "){let i=e.target.closest?.(Ie);if(!i||!this.#i.contains(i))return;t.preventDefault(),this.#f(i);return}this.#r(e)}#f(t){let e=Number(t.getAttribute("data-menu-item")),i=this.#n[e];if(!i||i==="-"||i.disabled)return;let r=this.#a;this.emit("select",{value:i.value,item:i,context:r});try{i.onselect?.(i.value,i,this)}finally{this.close()}}#_(){return Array.from(this.#i.querySelectorAll(Ie))}};var Ri=class extends f{static cssName="permission";static defaults={value:!0,groups:[],groupsValueKey:"ID",groupsLabelKey:"name"};render(){this._mode="public",this._groupValue=null,this._groupSelect=null,this._createdRoot=!1,this._originalChildren=[],this._root=null,this._originalState=null,this._createdRoot=this.el===null;let t=this.el??a("div");this.el=t,this._root=t,this._createdRoot||(this._originalChildren=Array.from(t.childNodes),this._originalState=t.getAttribute("data-state"));let e=b("zx-permission"),i=a("div",{class:"zx-permission__choices",role:"radiogroup",ariaLabel:this._message("permission.label","Permission")}),r=this._choice(e,"private",this._message("permission.private","Private")),n=this._choice(e,"public",this._message("permission.public","Public")),o=this._choice(e,"group",this._message("permission.group","Group")),l=a("div",{ref:"groupHost",class:"zx-permission__groups"});i.append(r.label,n.label,o.label,l),t.replaceChildren(i),this.refs.private=r.input,this.refs.public=n.input,this.refs.group=o.input,this._groupSelect=new F(l,{items:Array.isArray(this.options.groups)?this.options.groups:[],valueKey:this.options.groupsValueKey,labelKey:this.options.groupsLabelKey,placeholder:this._message("permission.group","Group")}),this._groupSelect.refs.input.setAttribute("aria-label",this._message("permission.group","Group"));for(let h of[r.input,n.input,o.input])this.listen(h,"change",()=>{h.checked&&(h.value==="group"?this._selectGroupMode():this.set(h.value))});return this.listen(l,"zx-change",h=>{if(h.stopPropagation(),this._mode!=="group")return;let c=this.get();this._groupValue=h.detail.value;let u=this.get();Object.is(c,u)||this.emit("change",{value:u})}),this.set(this.options.value,{silent:!0}),t}get(){return this._mode==="private"?"private":this._mode==="public"?"public":this._groupValue}set(t,{silent:e=!1}={}){let i=this.get();t===!0||t==="public"?this._mode="public":t===!1||t==="private"?this._mode="private":(this._mode="group",this._groupValue=t,this._groupSelect?.set(t,{silent:!0})),this._sync();let r=this.get();return!e&&!Object.is(i,r)&&this.emit("change",{value:r}),this}destroy(){this._groupSelect?.destroy(),this._groupSelect=null,!this._createdRoot&&this.el&&(this.el.replaceChildren(...this._originalChildren),this._originalState===null?this.el.removeAttribute("data-state"):this.el.setAttribute("data-state",this._originalState)),super.destroy()}_selectGroupMode(){let t=this.get();if(this._mode="group",this._groupValue==null){let i=Array.isArray(this.options.groups)?this.options.groups[0]:null;this._groupValue=i==null?null:Th(i,this.options.groupsValueKey)}this._groupSelect?.set(this._groupValue,{silent:!0}),this._sync();let e=this.get();Object.is(t,e)||this.emit("change",{value:e})}_sync(){this.refs.private.checked=this._mode==="private",this.refs.public.checked=this._mode==="public",this.refs.group.checked=this._mode==="group",this._mode==="group"?this._groupSelect?.enable():this._groupSelect?.disable(),this._root?.setAttribute("data-state",this._mode)}_choice(t,e,i){let r=a("input",{type:"radio",name:t,value:e});return{label:a("label",{class:"zx-permission__choice"},r,a("span",{},i)),input:r}}_message(t,e){let i=this.msg(t);return i===t?e:i}};function Th(s,t){return typeof t=="function"?t(s):s===null||typeof s!="object"?s:s[t]}function Oe({valueKey:s="ID",labelKey:t="name",childrenKey:e="children"}={}){return{value:i=>typeof s=="function"?s(i):i?.[s],label:i=>String((typeof t=="function"?t(i):i?.[t])??""),children:i=>{let r=i?.[e];return Array.isArray(r)?r:null}}}function E(s,t){if(s?.hasChildren===!0)return!0;let e=t.children(s);return Array.isArray(e)&&e.length>0}function St(s,t,e,{level:i=1,parent:r=null}={}){s.forEach((n,o)=>{e(n,{level:i,parent:r,index:o,siblings:s});let l=t.children(n);l&&St(l,t,e,{level:i+1,parent:n})})}function Gr(s,t,e){let i=null;return St(s,e,r=>{i===null&&Object.is(e.value(r),t)&&(i=r)}),i}function ie(s,t,e){for(let i of s){if(Object.is(e.value(i),t))return[i];let r=e.children(i);if(!r)continue;let n=ie(r,t,e);if(n.length>0)return[i,...n]}return[]}function Jr(s,t){let e=[],i=t.children(s);return i&&St(i,t,r=>e.push(r)),e}function Xr(s,t,e){let i=[],r=(n,o,l)=>{n.forEach((h,c)=>{let u=t.value(h);if(i.push({node:h,id:u,level:o,parent:l,posinset:c+1,setsize:n.length}),!e.has(u))return;let d=t.children(h);d&&d.length>0&&r(d,o+1,h)})};return r(s,1,null),i}function Vi(s,t,e,i){let r=[];for(let n of s){let o=t.children(n)??[],l=Vi(o,t,e,i);(e(n)||l.length>0)&&r.push(l.length>0||o.length>0?{...n,[i]:l}:n)}return r}var Bi=class extends f{static cssName="tree";static defaults={items:[],valueKey:"ID",labelKey:"name",childrenKey:"children",expanded:[],selection:"single",selected:[],checkboxes:!1,checked:[],icons:!0,renderLabel:null,load:null,filter:"",label:"Tree",emptyText:"Nothing to show",height:null};render(){this._items=[],this._rows=[],this._expanded=new Set,this._selected=new Set,this._checked=new Set,this._loading=new Map,this._focusId=null,this._filter="",this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el);let t=this.el??a("div");this.el=t,this._readers=Oe(this.options),this._childrenKey=this.options.childrenKey??"children",t.setAttribute("role","tree"),t.setAttribute("aria-label",String(this.options.label??"Tree")),t.tabIndex=0,this.options.selection==="multi"&&t.setAttribute("aria-multiselectable","true"),this.options.height!==null&&(t.style.blockSize=typeof this.options.height=="number"?`${this.options.height}px`:String(this.options.height),t.style.overflowY="auto"),this._items=Pi(this.options.items);for(let i of se(this.options.expanded))this._expanded.add(i);for(let i of se(this.options.selected))this._selected.add(i);let[e]=this._selected;if(e!==void 0){this._focusId=e;for(let i of this.getPath(e).slice(0,-1))this._expanded.add(this._readers.value(i))}for(let i of se(this.options.checked))this._applyCheck(i,!0,{silent:!0});return this._handleTypeahead=K(()=>this._rotatedRows().map(i=>this._readers.label(i.node)),(i,r)=>this._focusNodeId(this._rotatedRows()[r]?.id)),this.listen(t,"keydown",i=>this._onKeydown(i)),this.listen(t,"click",i=>this._onClick(i)),this.listen(t,"dblclick",i=>this._onDoubleClick(i)),this.listen(t,"focus",()=>{this._rows.length>0&&!this._rowElement(this._focusId)&&this._focusRow(0)}),String(this.options.filter??"")!==""?this.setFilter(this.options.filter):this._renderRows(),t}setItems(t){return this._items=Pi(t),this._renderRows(),this}getItems(){return this._items}getNode(t){return Gr(this._items,t,this._readers)}getPath(t){return ie(this._items,t,this._readers)}setFilter(t){if(this._filter=String(t??""),this._filter!=="")for(let e of this._visibleItems())St([e],this._readers,i=>this._expanded.add(this._readers.value(i)));return this._renderRows(),this}async expand(t){let e=this.getNode(t);if(!e||!E(e,this._readers))return this;let i=this._readers.children(e),r=!!this.options.load&&(!i||i.length===0);return this._expanded.has(t)&&!r?this:await this._ensureChildren(e,t)?(this._expanded.add(t),this._renderRows(),this.emit("expand",{node:e,id:t}),this):this}collapse(t){if(!this._expanded.delete(t))return this;let e=this.getNode(t);return this._renderRows(),e&&this.emit("collapse",{node:e,id:t}),this}async toggle(t){return this._expanded.has(t)?this.collapse(t):this.expand(t)}expandAll(){return St(this._items,this._readers,t=>{E(t,this._readers)&&this._expanded.add(this._readers.value(t))}),this._renderRows(),this}collapseAll(){return this._expanded.clear(),this._renderRows(),this}reveal(t){let e=this.getPath(t);for(let i of e.slice(0,-1))this._expanded.add(this._readers.value(i));return this._renderRows(),this}select(t,{silent:e=!1,additive:i=!1}={}){if(this.options.selection===!1)return this;let r=this.getNode(t);return r?(this.options.selection==="multi"&&i?this._selected.has(t)?this._selected.delete(t):this._selected.add(t):(this._selected.clear(),this._selected.add(t)),this._syncRows(),e||this.emit("select",{node:r,id:t,ids:this.getSelection()}),this):this}getSelection(){return[...this._selected]}setSelection(t,{silent:e=!0}={}){let i=se(t);if(this._selected=new Set(this.options.selection==="multi"?i:i.slice(0,1)),this._syncRows(),!e){let[r]=this._selected;this.emit("select",{node:this.getNode(r)??null,id:r,ids:this.getSelection()})}return this}clearSelection(){return this._selected.clear(),this._syncRows(),this}getChecked({leavesOnly:t=!1}={}){return t?[...this._checked].filter(e=>{let i=this.getNode(e);return i!==null&&!E(i,this._readers)}):[...this._checked]}setChecked(t,{silent:e=!0}={}){this._checked.clear();for(let i of se(t))this._applyCheck(i,!0,{silent:!0});return this._syncRows(),e||this.emit("check",{ids:this.getChecked(),node:null}),this}check(t,e,{silent:i=!1}={}){let r=this._applyCheck(t,e,{silent:!0});return this._syncRows(),!i&&r&&this.emit("check",{ids:this.getChecked(),node:r}),this}focusNode(t){this.reveal(t);let e=this._rows.findIndex(i=>Object.is(i.id,t));return e>=0&&this._focusRow(e),this}_visibleItems(){if(this._filter==="")return this._items;let t=this._filter.trim().toLocaleLowerCase();return t===""?this._items:Vi(this._items,this._readers,e=>this._readers.label(e).toLocaleLowerCase().includes(t),this._childrenKey)}_renderRows(){let t=this._visibleItems();if(this._rows=Xr(t,this._readers,this._expanded),this._rows.length===0){this.el.replaceChildren(a("div",{class:"zx-tree__empty"},this._message("tree.empty",this.options.emptyText)));return}this.el.replaceChildren(...this._rows.map(e=>this._renderRow(e))),this._syncRows()}_renderRow(t){let e=E(t.node,this._readers),i=e&&this._expanded.has(t.id),r=a("div",{class:"zx-tree__row",role:"treeitem",id:b("zx-tree-item"),tabIndex:-1,ariaLevel:String(t.level),ariaSetSize:String(t.setsize),ariaPosInSet:String(t.posinset),dataset:{level:String(t.level)}});r.style.setProperty("--zx-tree-level",String(t.level-1));let n=a("span",{class:"zx-tree__twisty",ariaHidden:"true"},e?m("chevron-right",{size:12}):null);if(n.dataset.action="twisty",r.append(n),this.options.checkboxes){let l=a("input",{class:"zx-tree__checkbox",type:"checkbox",tabIndex:-1,ariaHidden:"true"});l.dataset.action="checkbox",r.append(l)}this.options.icons&&r.append(a("span",{class:"zx-tree__icon",ariaHidden:"true"},m(e?i?"folder-open":"folder":"file",{size:14})));let o=this.options.renderLabel?this.options.renderLabel(t.node):this._readers.label(t.node);return r.append(a("span",{class:"zx-tree__label"},o)),t.node.badge!=null&&r.append(a("span",{class:"zx-tree__badge"},String(t.node.badge))),r}_syncRows(){let t=this.el.querySelectorAll(".zx-tree__row"),e=this._rows.findIndex(i=>Object.is(i.id,this._focusId));e<0&&(e=0),t.forEach((i,r)=>{let n=this._rows[r];if(!n)return;let o=E(n.node,this._readers),l=o&&this._expanded.has(n.id);o?i.setAttribute("aria-expanded",String(l)):i.removeAttribute("aria-expanded"),this.options.selection!==!1&&i.setAttribute("aria-selected",String(this._selected.has(n.id))),i.toggleAttribute("data-branch",o),i.toggleAttribute("data-loading",this._loading.has(n.id)),i.tabIndex=r===e?0:-1;let h=i.querySelector(".zx-tree__checkbox");if(h){let u=this._checkState(this.getNode(n.id)??n.node);h.checked=u==="checked",h.indeterminate=u==="partial",i.setAttribute("aria-checked",u==="partial"?"mixed":String(h.checked))}let c=i.querySelector(".zx-tree__icon");c&&this.options.icons&&c.replaceChildren(m(o?l?"folder-open":"folder":"file",{size:14}))}),this._focusId=this._rows[e]?.id??null,this.el.tabIndex=this._rows.length===0?0:-1}_onClick(t){let e=t.target.closest(".zx-tree__row");if(!e)return;let i=this._rowIndex(e);if(i<0)return;let r=this._rows[i];this._focusRow(i);let n=t.target.closest("[data-action]");if(n?.dataset.action==="twisty"){E(r.node,this._readers)&&this.toggle(r.id).then(()=>this._focusNodeId(r.id));return}let o=this.getNode(r.id)??r.node;if(n?.dataset.action==="checkbox"){this.check(r.id,this._checkState(o)!=="checked");return}if(this.options.checkboxes&&this.options.selection===!1){this.check(r.id,this._checkState(o)!=="checked");return}this.select(r.id,{additive:t.ctrlKey||t.metaKey})}_onDoubleClick(t){let e=t.target.closest(".zx-tree__row");if(!e)return;let i=this._rows[this._rowIndex(e)];i&&(E(i.node,this._readers)?this.toggle(i.id).then(()=>this._focusNodeId(i.id)):this.emit("activate",{node:i.node,id:i.id}))}_onKeydown(t){let e=this._rows.findIndex(o=>Object.is(o.id,this._focusId));if(e<0||this._rows.length===0)return;let i=this._rows[e],r=E(i.node,this._readers),n=r&&this._expanded.has(i.id);switch(t.key){case"ArrowDown":t.preventDefault(),this._focusRow(Math.min(this._rows.length-1,e+1));return;case"ArrowUp":t.preventDefault(),this._focusRow(Math.max(0,e-1));return;case"ArrowRight":t.preventDefault(),r&&!n?this.expand(i.id).then(()=>this._focusNodeId(i.id)):n&&this._focusRow(Math.min(this._rows.length-1,e+1));return;case"ArrowLeft":{t.preventDefault(),n?(this.collapse(i.id),this._focusNodeId(i.id)):i.parent&&this._focusNodeId(this._readers.value(i.parent));return}case"Home":t.preventDefault(),this._focusRow(0);return;case"End":t.preventDefault(),this._focusRow(this._rows.length-1);return;case"Enter":t.preventDefault(),this.options.selection!==!1&&this.select(i.id),this.emit("activate",{node:i.node,id:i.id});return;case" ":t.preventDefault(),this.options.checkboxes?this.check(i.id,this._checkState(this.getNode(i.id)??i.node)!=="checked"):this.options.selection!==!1&&this.select(i.id,{additive:this.options.selection==="multi"});return;case"*":t.preventDefault(),this._expandSiblings(i);return;default:this._handleTypeahead(t)}}_expandSiblings(t){let e=t.parent?this._readers.children(t.parent)??[]:this._visibleItems(),i=this._focusId;for(let r of e)E(r,this._readers)&&this._expanded.add(this._readers.value(r));this._renderRows(),this._focusNodeId(i)}async _ensureChildren(t,e){let i=this._readers.children(t);if(!this.options.load||i&&i.length>0)return!0;if(this._loading.has(e))return await this._loading.get(e),Array.isArray(this._readers.children(t));let r=(async()=>{try{let o=await this.options.load(t);return t[this._childrenKey]=Array.isArray(o)?o:[],t[this._childrenKey].length===0&&(t.hasChildren=!1),!0}catch(o){return this.emit("error",{error:o,node:t,id:e}),!1}finally{this._loading.delete(e)}})();this._loading.set(e,r),this._syncRows();let n=await r;return this._syncRows(),n}_applyCheck(t,e,{silent:i}){let r=this.getNode(t);if(!r)return null;let n=[t,...Jr(r,this._readers).map(o=>this._readers.value(o))];for(let o of n)e?this._checked.add(o):this._checked.delete(o);return i||this._syncRows(),r}_checkState(t){let e=this._readers.children(t);if(!e||e.length===0)return this._checked.has(this._readers.value(t))?"checked":"unchecked";let i=e.map(r=>this._checkState(r));return i.every(r=>r==="checked")?"checked":i.every(r=>r==="unchecked")?"unchecked":"partial"}_rotatedRows(){let t=this._rows.findIndex(e=>Object.is(e.id,this._focusId));return t<0?this._rows:[...this._rows.slice(t+1),...this._rows.slice(0,t+1)]}_rowIndex(t){return[...this.el.querySelectorAll(".zx-tree__row")].indexOf(t)}_rowElement(t){let e=this._rows.findIndex(i=>Object.is(i.id,t));return e<0?null:this.el.querySelectorAll(".zx-tree__row")[e]??null}_focusRow(t){let e=this._rows[t];if(!e)return;this._focusId=e.id,this._syncRows();let i=this._rowElement(e.id);i?.focus(),i?.scrollIntoView({block:"nearest"})}_focusNodeId(t){if(t===void 0)return;let e=this._rows.findIndex(i=>Object.is(i.id,t));e>=0&&this._focusRow(e)}_message(t,e){let i=this.msg(t);return i===t?e:i}destroy(){let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}};function Pi(s){return Array.isArray(s)?s.map(t=>{if(t===null||typeof t!="object")return t;let e={...t};for(let[i,r]of Object.entries(e))Array.isArray(r)&&(e[i]=Pi(r));return e}):[]}function se(s){return Array.isArray(s)?s:[]}var ji=class extends f{static cssName="finder";static defaults={items:[],valueKey:"ID",labelKey:"name",childrenKey:"children",path:[],load:null,preview:null,rootLabel:"",columnWidth:220,height:320,icons:!0,renderItem:null,emptyText:"Empty"};render(){this._items=[],this._path=[],this._columns=[],this._activeColumn=0,this._loading=new Map,this._pathSequence=0,this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el);let t=this.el??a("div");return this.el=t,this._readers=Oe(this.options),this._childrenKey=this.options.childrenKey??"children",t.style.setProperty("--zx-finder-column",`${Number(this.options.columnWidth)||220}px`),this.options.height!==null&&(t.style.blockSize=typeof this.options.height=="number"?`${this.options.height}px`:String(this.options.height)),this._items=Array.isArray(this.options.items)?this.options.items.slice():[],this._handleTypeahead=K(()=>this._columnNodes(this._activeColumn).map(e=>this._readers.label(e)),(e,i)=>this._selectAt(this._activeColumn,i,{focus:!0})),this.listen(t,"click",e=>this._onClick(e)),this.listen(t,"dblclick",e=>this._onDoubleClick(e)),this.listen(t,"keydown",e=>this._onKeydown(e)),this._render({}),this.setPath(this.options.path,{silent:!0}),t}getPath(){return this._path.slice()}getNodes(){let t=this._items,e=[];for(let i of this._path){let r=t.find(n=>Object.is(this._readers.value(n),i));if(!r)break;e.push(r),t=this._readers.children(r)??[]}return e}getSelection(){let t=this.getNodes();return t.length>0?t[t.length-1]:null}async setPath(t,{silent:e=!1,focus:i=!1}={}){let r=this._pathSequence+1;this._pathSequence=r;let n=Array.isArray(t)?t.slice():[],o=[],l=this._items;for(let h of n){let c=l.find(u=>Object.is(this._readers.value(u),h));if(!c||(o.push(h),!E(c,this._readers)))break;if(await this._ensureChildren(c),r!==this._pathSequence)return this;l=this._readers.children(c)??[]}return this._path=o,this._activeColumn=Math.max(0,o.length-1),this._render({focus:i}),e||this._emitChange(),this}async reveal(t,{silent:e=!1}={}){let i=ie(this._items,t,this._readers);return i.length===0?this:this.setPath(i.map(r=>this._readers.value(r)),{silent:e})}setItems(t){return this._items=Array.isArray(t)?t.slice():[],this._path=[],this._render({}),this}focus(){return(this._activeRow(this._activeColumn)??this._rowAt(this._activeColumn,0))?.focus(),this}_render({focus:t=!1}){let e=this.getNodes(),i=[{nodes:this._items,selectedId:this._path[0],owner:null}];e.forEach((l,h)=>{if(!E(l,this._readers))return;let c=this._readers.children(l)??[];i.push({nodes:c,selectedId:this._path[h+1],owner:l})}),this._columns=i,this._activeColumn=Math.min(this._activeColumn,i.length-1);let r=i.map((l,h)=>this._renderColumn(l,h)),n=e[e.length-1]??null;if(this.options.preview&&n&&!E(n,this._readers)){let l=this.options.preview(n);l&&r.push(a("div",{class:"zx-finder__preview"},l))}this.el.replaceChildren(...r),this._syncTabStop(),this.el.lastElementChild?.scrollIntoView({block:"nearest",inline:"nearest"}),t&&this.focus()}_renderColumn(t,e){let i=t.owner?this._readers.label(t.owner):String(this.options.rootLabel||this._message("finder.root","Root")),r=a("div",{class:"zx-finder__list",role:"listbox",ariaLabel:i,dataset:{column:String(e)}});if(t.nodes.length===0){let n=t.owner!==null&&this._loading.has(this._readers.value(t.owner));r.append(a("div",{class:"zx-finder__empty"},n?this._message("finder.loading","Loading\u2026"):this._message("finder.empty",this.options.emptyText)))}for(let n of t.nodes){let o=this._readers.value(n),l=E(n,this._readers),h=t.selectedId!==void 0&&Object.is(o,t.selectedId),c=a("div",{class:"zx-finder__row",id:b("zx-finder-row"),role:"option",tabIndex:-1,ariaSelected:String(h)});this.options.icons&&c.append(a("span",{class:"zx-finder__icon",ariaHidden:"true"},m(l?"folder":"file",{size:14}))),c.append(a("span",{class:"zx-finder__label"},this.options.renderItem?this.options.renderItem(n):this._readers.label(n))),l&&c.append(a("span",{class:"zx-finder__chevron",ariaHidden:"true"},m("chevron-right",{size:11}))),c.toggleAttribute("data-branch",l),r.append(c)}return a("div",{class:"zx-finder__column"},r)}_syncTabStop(){let t=this.el.querySelectorAll(".zx-finder__row");t.forEach(i=>{i.tabIndex=-1});let e=this._activeRow(this._activeColumn)??this._rowAt(this._activeColumn,0)??t[0];e&&(e.tabIndex=0)}_onClick(t){let e=t.target.closest(".zx-finder__row");if(!e)return;let{column:i,index:r}=this._locate(e);i<0||this._selectAt(i,r,{focus:!0})}_onDoubleClick(t){let e=t.target.closest(".zx-finder__row");if(!e)return;let{column:i,index:r}=this._locate(e),n=this._columnNodes(i)[r];n&&(E(n,this._readers)?this._enter(i,r):this.emit("activate",{node:n,id:this._readers.value(n)}))}_onKeydown(t){if(t.target.closest(".zx-finder__preview"))return;let e=this._activeColumn,i=this._columnNodes(e);if(i.length===0&&!["ArrowLeft"].includes(t.key))return;let r=Math.max(0,i.findIndex(n=>Object.is(this._readers.value(n),this._columns[e]?.selectedId)));switch(t.key){case"ArrowDown":t.preventDefault(),this._selectAt(e,Math.min(i.length-1,r+1),{focus:!0});return;case"ArrowUp":t.preventDefault(),this._selectAt(e,Math.max(0,r-1),{focus:!0});return;case"Home":t.preventDefault(),this._selectAt(e,0,{focus:!0});return;case"End":t.preventDefault(),this._selectAt(e,i.length-1,{focus:!0});return;case"ArrowRight":{t.preventDefault();let n=i[r];if(!n||!E(n,this._readers))return;this._enter(e,r);return}case"ArrowLeft":if(t.preventDefault(),e===0)return;this._path=this._path.slice(0,e),this._activeColumn=e-1,this._render({focus:!0}),this._emitChange();return;case"Enter":{t.preventDefault();let n=i[r];if(!n)return;E(n,this._readers)?this._enter(e,r):this.emit("activate",{node:n,id:this._readers.value(n)});return}default:this._handleTypeahead(t)}}async _selectAt(t,e,{focus:i=!1}={}){let r=this._columnNodes(t)[e];if(!r)return;let n=this._readers.value(r);if(this._path.length===t+1&&Object.is(this._path[t],n)){this._activeColumn=t,this._syncTabStop(),i&&this.focus();return}this._path=[...this._path.slice(0,t),n],this._activeColumn=t,E(r,this._readers)&&await this._ensureChildren(r),this._render({focus:i}),this._emitChange()}async _enter(t,e){if(await this._selectAt(t,e),this._columnNodes(t+1).length===0){this._activeColumn=t,this._syncTabStop(),this.focus();return}this._activeColumn=t+1,this._path.length<=t+1?await this._selectAt(t+1,0,{focus:!0}):(this._syncTabStop(),this.focus())}async _ensureChildren(t){let e=this._readers.children(t);if(!this.options.load||e&&e.length>0)return;let i=this._readers.value(t),r=this._loading.get(i);if(r)return r;let n=(async()=>{try{let o=await this.options.load(t);t[this._childrenKey]=Array.isArray(o)?o:[],t[this._childrenKey].length===0&&(t.hasChildren=!1)}catch(o){t[this._childrenKey]=[],this.emit("error",{error:o,node:t,id:i})}finally{this._loading.delete(i)}})();return this._loading.set(i,n),n}_columnNodes(t){return this._columns[t]?.nodes??[]}_locate(t){let e=t.closest(".zx-finder__list");return e?{column:Number(e.dataset.column),index:[...e.querySelectorAll(".zx-finder__row")].indexOf(t)}:{column:-1,index:-1}}_rowAt(t,e){return this.el.querySelector(`.zx-finder__list[data-column="${t}"]`)?.querySelectorAll(".zx-finder__row")[e]??null}_activeRow(t){return this.el.querySelector(`.zx-finder__list[data-column="${t}"]`)?.querySelector('[aria-selected="true"]')??null}_emitChange(){let t=this.getNodes();this.emit("change",{path:this.getPath(),nodes:t,node:t.length>0?t[t.length-1]:null})}_message(t,e){let i=this.msg(t);return i===t?e:i}destroy(){this._pathSequence+=1;let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}};function Zr(s){return String(s??"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLocaleLowerCase()}function Nh(s,t){let e=Zr(t).trim().split(/\s+/).filter(Boolean);if(e.length===0)return!0;let i=Zr(s.flat(1/0).join(" "));return e.every(r=>i.includes(r))}function qi(s){return s!=null&&!(typeof s=="string"&&s.trim()==="")}function tn(s,t){if(typeof t.get=="function")return Hi(t.get(s));let e=t.fields??t.field??t.id;return(Array.isArray(e)?e:[e]).flatMap(r=>Hi(typeof r=="function"?r(s):r==null?void 0:s?.[r]))}function en(s,t){let e=[],i=new Map;for(let r of s)for(let n of tn(r,t)){let o=sn(n);o.value==null||o.value===""||i.has(o.value)||(i.set(o.value,!0),e.push(o))}return e}function bt(s,t,e){return s.filter(i=>t.every(r=>{let n=e?.[r.id];if(!qi(n))return!0;if(r.type==="custom")return typeof r.predicate!="function"||!!r.predicate(i,n);let o=tn(i,r);return r.type==="text"?Nh(o,n):r.type==="select"?o.some(l=>Dh(sn(l).value,n)):!0}))}function Hi(s){return Array.isArray(s)?s.flat(1/0):[s]}function sn(s){if(s&&typeof s=="object"&&!(s instanceof Date)){if(Object.prototype.hasOwnProperty.call(s,"value"))return{value:s.value,label:String(s.label??s.value??"")};if(Object.prototype.hasOwnProperty.call(s,"field"))return{value:s.field,label:String(s.label??s.field??"")}}return{value:s,label:String(s??"")}}function Dh(s,t){return Object.is(s,t)?!0:s==null||t==null?!1:String(s)===String(t)}var Yi=class extends f{static cssName="data-filter";static defaults={filters:[],data:[],autoApply:!0,clearLabel:null};constructor(t,e={}){super(t,e)}render(){let t=this.el??a("div");this._originalChildren=this.el?Array.from(this.el.childNodes):null,this._filters=Array.isArray(this.options.filters)?this.options.filters.map(i=>({...i})):[],this._data=Array.isArray(this.options.data)?[...this.options.data]:[],this._state={},this._entries=new Map,this._customOrigins=new Map,this._restored=!1;let e=new Set;for(let i of this._filters){if($i(i),e.has(i.id))throw new RangeError(`Duplicate filter id: ${i.id}`);e.add(i.id),i.type==="custom"&&!this._customOrigins.has(i.element)&&this._customOrigins.set(i.element,{parent:i.element.parentNode,nextSibling:i.element.nextSibling}),this._state[i.id]=i.type==="custom"?Ki(i.element):""}this._filtered=bt(this._data,this._filters,this._state),this._controls=a("div",{class:"zx-data-filter__controls"}),this._badge=a("span",{class:"zx-data-filter__badge",ariaLive:"polite",hidden:!0},"0"),this._clearButton=a("button",{class:"zx-data-filter__clear",type:"button",hidden:!0},this.options.clearLabel==null?this.msg("dataFilter.clear"):String(this.options.clearLabel)),t.replaceChildren(this._controls,this._badge,this._clearButton),this.listen(this._clearButton,"click",()=>this.clear());for(let i of this._filters)this._appendFilter(i);return this._syncActiveState(),t}setData(t){Ih(t),this._data=[...t];for(let e of this._filters){if(e.type!=="select")continue;let i=this._entries.get(e.id);i&&this._populateSelect(e,i)}return this._syncActiveState(),this.options.autoApply?this.apply():this._filtered=bt(this._data,this._filters,this._state),this}apply(){this._filtered=bt(this._data,this._filters,this._state);let t=[...this._filtered];return this.emit("filter",{rows:t,state:this.getState()}),t}clear(){for(let t of this._filters)this._state[t.id]="";return this._syncControls(),this._syncActiveState(),this.apply(),this}getState(){return{...this._state}}setState(t){if(!t||typeof t!="object"||Array.isArray(t))throw new TypeError("DataFilter state must be an object");for(let e of this._filters)this._state[e.id]=Object.prototype.hasOwnProperty.call(t,e.id)?t[e.id]:"";return this._syncControls(),this._syncActiveState(),this.options.autoApply?this.apply():this._filtered=bt(this._data,this._filters,this._state),this}addFilter(t){$i(t);let e={...t};return this._filters.push(e),this._state[e.id]=e.type==="custom"?Ki(e.element):"",this._appendFilter(e),this._filtered=bt(this._data,this._filters,this._state),this._syncActiveState(),this}destroy(){this._restored||(this._originalChildren&&this.el.replaceChildren(...this._originalChildren),Oh(this._customOrigins),this._restored=!0),super.destroy()}_appendFilter(t){if($i(t),this._entries.has(t.id))throw new RangeError(`Duplicate filter id: ${t.id}`);let e,i={element:null,options:[]};if(t.type==="select")e=a("select",{ariaLabel:t.label}),i.element=e,this._populateSelect(t,i),this.listen(e,"change",()=>{let n=Number(e.value)-1;this._state[t.id]=n>=0?i.options[n]?.value??"":"",this._controlChanged()});else if(t.type==="text")e=a("input",{type:"search",placeholder:t.placeholder??"",ariaLabel:t.label,autocomplete:"off"}),i.element=e,this.listen(e,"input",()=>{this._state[t.id]=e.value,this._controlChanged()});else{e=t.element,this._customOrigins.has(e)||this._customOrigins.set(e,{parent:e.parentNode,nextSibling:e.nextSibling}),i.element=e;let n=e.matches?.('input:not([type="checkbox"]):not([type="radio"]), textarea')?"input":"change";this.listen(e,n,()=>{this._state[t.id]=Ki(e),this._controlChanged()})}this._entries.set(t.id,i);let r=a("label",{class:"zx-data-filter__field"},a("span",{class:"zx-data-filter__label"},t.label),e);this._controls.append(r)}_populateSelect(t,e){let i=this._state[t.id];e.options=Array.isArray(t.options)?t.options.map(Eh):en(this._data,t);let r=a("option",{value:""},t.emptyLabel??this.msg("dataFilter.all")),n=document.createDocumentFragment();n.append(r),e.options.forEach((l,h)=>{n.append(a("option",{value:String(h+1)},l.label))}),e.element.replaceChildren(n);let o=e.options.findIndex(l=>rn(l.value,i));e.element.value=o>=0?String(o+1):"",o<0&&(this._state[t.id]="")}_controlChanged(){this._syncActiveState(),this.options.autoApply?this.apply():this._filtered=bt(this._data,this._filters,this._state)}_syncControls(){for(let t of this._filters){let e=this._entries.get(t.id);if(!e)continue;let i=this._state[t.id];if(t.type==="select"){let r=e.options.findIndex(n=>rn(n.value,i));e.element.value=r>=0?String(r+1):"",r<0&&(this._state[t.id]="")}else Mh(e.element,i)}}_syncActiveState(){let t=this._filters.reduce((e,i)=>e+Number(qi(this._state[i.id])),0);this._badge.textContent=String(t),this._badge.hidden=t===0,this._clearButton.hidden=t===0}};function $i(s){if(!s||typeof s!="object")throw new TypeError("Filter definition must be an object");if(!["select","text","custom"].includes(s.type))throw new TypeError(`Unknown filter type: ${s.type}`);if(typeof s.id!="string"||!s.id)throw new TypeError("Filter definition requires an id");if(s.type==="custom"){if(!s.element||s.element.nodeType!==1)throw new TypeError("Custom filter requires an Element");if(typeof s.predicate!="function")throw new TypeError("Custom filter requires a predicate")}}function Eh(s){return s&&typeof s=="object"&&Object.prototype.hasOwnProperty.call(s,"value")?{value:s.value,label:String(s.label??s.value??"")}:{value:s,label:String(s??"")}}function Ki(s){return"checked"in s&&["checkbox","radio"].includes(s.type)?s.checked:"value"in s?s.value:s.getAttribute("data-value")??""}function Mh(s,t){"checked"in s&&["checkbox","radio"].includes(s.type)?s.checked=!!t:"value"in s?s.value=t==null?"":String(t):t==null||t===""?s.removeAttribute("data-value"):s.setAttribute("data-value",String(t))}function rn(s,t){return Object.is(s,t)?!0:s==null||t==null?!1:String(s)===String(t)}function Ih(s){if(!Array.isArray(s))throw new TypeError("DataFilter data must be an array")}function Oh(s){let t=[...s];for(let e=t.length;t.length>0&&e>=0;e-=1){let i=0;for(let r=t.length-1;r>=0;r-=1){let[n,o]=t[r];if(!o.parent)n.remove();else{if(o.nextSibling&&o.nextSibling.parentNode!==o.parent)continue;o.parent.insertBefore(n,o.nextSibling)}t.splice(r,1),i+=1}if(i===0)break}for(let[e,i]of t)i.parent?i.parent.append(e):e.remove()}var zt=class extends f{static cssName="fieldset";static defaults={title:"",columns:1,fields:{}};render(){let t=this.el??a("fieldset");this._fields=new Map,this._ownedFields=new Set,this._origins=new Map,this._fieldIdAttributes=new Map,this._ownedNodes=[],this._columnAttribute=t.getAttribute("data-columns");let e=[1,2,3].includes(Number(this.options.columns))?Number(this.options.columns):1;if(t.dataset.columns=String(e),this.options.title){let r=a("legend",{class:"zx-fieldset__legend"},String(this.options.title));this._ownedNodes.push(r),t.append(r)}this._grid=a("div",{class:"zx-fieldset__grid"}),this._ownedNodes.push(this._grid),t.append(this._grid);let i=this.options.fields&&typeof this.options.fields=="object"?this.options.fields:{};for(let[r,n]of Object.entries(i))this.addField(r,n);return t}addField(t,e){let i=String(t);if(this._fields.has(i))throw new Error(`Field "${i}" already exists`);let r,n=!1;if(e instanceof x)r=e;else if(N(e)||e instanceof f){let o=e;r=new x(null,{id:i,type:"custom",label:i,value:Lh(o),disabled:Rh(o),adapter:()=>Fh(o)}),n=!0}else{let o=e&&typeof e=="object"?e:{};r=new x(null,{...o,id:o.id??i}),n=!0}return n?this._ownedFields.add(r):this._origins.set(r,{parent:r.el.parentNode,next:r.el.nextSibling}),this._fields.set(i,r),this._fieldIdAttributes.set(r,r.el.getAttribute("data-field-id")),r.el.dataset.fieldId=i,this._grid.append(r.el),r}getField(t){return this._fields.get(String(t))??null}hasField(t){return this._fields.has(String(t))}getFields(){return Object.fromEntries(this._fields)}getValues(){let t={};for(let[e,i]of this._fields)t[e]=i.getValue();return t}setValues(t,{silent:e=!1}={}){if(!t||typeof t!="object")return this;for(let[i,r]of Object.entries(t))this._fields.get(i)?.setValue(r,{silent:e});return this}getValue(t){return this._fields.get(String(t))?.getValue()??null}setValue(t,e){return this._fields.get(String(t))?.setValue(e),this}reset(){for(let t of this._fields.values())t.reset();return this}clear(){for(let t of[...this._fields.values()])this._releaseField(t);return this._fields.clear(),this}focus(t){return this._fields.get(String(t))?.focus(),this}setHighlights(t={},e="danger"){let i=0;for(let[r,n]of this._fields){let o=t?.[r];o?(n.setHighlight(String(o),e),i+=1):n.clearHighlight()}return i}clearHighlights(){for(let t of this._fields.values())t.clearHighlight();return this}_releaseField(t){let e=this._fieldIdAttributes.get(t);if(e==null?t.el.removeAttribute("data-field-id"):t.el.setAttribute("data-field-id",e),this._fieldIdAttributes.delete(t),this._ownedFields.has(t)){t.destroy(),this._ownedFields.delete(t);return}let i=this._origins.get(t);i?.parent?i.parent.insertBefore(t.el,i.next?.parentNode===i.parent?i.next:null):t.el.remove(),this._origins.delete(t)}destroy(){this.clear();for(let t of this._ownedNodes??[])t.remove();this._columnAttribute===null?this.el.removeAttribute("data-columns"):this.el.setAttribute("data-columns",this._columnAttribute),super.destroy()}};function Fh(s){let t=N(s)?s:s.toElement(),e=t.parentNode,i=t.nextSibling,r=new Map(["id","aria-labelledby","aria-describedby","aria-disabled","aria-invalid"].map(l=>[l,t.getAttribute(l)])),n="disabled"in t?t.disabled:void 0,o="value"in t?t.value:void 0;return{el:t,get:()=>typeof s.getValue=="function"?s.getValue():typeof s.getValues=="function"?s.getValues():"value"in t?t.value:null,set:(l,h)=>{typeof s.setValue=="function"?s.setValue(l,h):typeof s.setValues=="function"&&l&&typeof l=="object"?s.setValues(l,h):"value"in t&&(t.value=l??"")},focus:()=>{typeof s.focus=="function"?s.focus():typeof t.focus=="function"&&t.focus()},setDisabled:l=>{typeof s.setDisabled=="function"?s.setDisabled(l):"disabled"in t?t.disabled=l:t.setAttribute("aria-disabled",String(l))},destroy:()=>{for(let[l,h]of r)h===null?t.removeAttribute(l):t.setAttribute(l,h);n!==void 0&&(t.disabled=n),o!==void 0&&(t.value=o),e?e.insertBefore(t,i?.parentNode===e?i:null):t.remove()}}}function Lh(s){let t=N(s)?s:s.toElement();return typeof s.getValue=="function"?s.getValue():typeof s.getValues=="function"?s.getValues():"value"in t?t.value:null}function Rh(s){let t=N(s)?s:s.toElement();return"disabled"in t?!!t.disabled:t.getAttribute("aria-disabled")==="true"}var Wi=class extends f{static cssName="form";static defaults={fieldsets:[],actions:[],novalidate:!0,msg:{"form.required":"This field is required.","form.int":"Enter a whole number.","form.float":"Enter a valid number."}};render(){let t=this.el??a("form");this._fieldsets=[],this._ownedFieldsets=new Set,this._origins=new Map,this._ownedNodes=[],this._novalidateAttribute=t.getAttribute("novalidate"),t.toggleAttribute("novalidate",!!this.options.novalidate),this._body=a("div",{class:"zx-form__body"}),this._actions=a("div",{class:"zx-form__actions"}),this._ownedNodes.push(this._body,this._actions),t.append(this._body,this._actions),this.listen(t,"submit",i=>{i.preventDefault(),this.submit()}),this.listen(t,"reset",i=>{i.preventDefault(),this.reset()}),this.listen(this._actions,"click",i=>this._handleAction(i));let e=Array.isArray(this.options.fieldsets)?this.options.fieldsets:[];for(let i of e)this.addFieldset(i);return this.setActions(Array.isArray(this.options.actions)?this.options.actions:[]),t}addFieldset(t){let e=!(t instanceof zt),i=e?new zt(null,t??{}):t;return this._fieldsets.includes(i)||(e?this._ownedFieldsets.add(i):this._origins.set(i,{parent:i.el.parentNode,next:i.el.nextSibling}),this._fieldsets.push(i),this._body.append(i.el),this.listen(i.el,"zx-change",r=>{let n=r.target,o=n instanceof Element?n.dataset.fieldId:null;o&&this.emit("change",{id:o,value:i.getValue(o)})})),i}setActions(t){return this._actionDescriptors=Array.isArray(t)?t.map(e=>({...e})):[],this._actions.replaceChildren(...this._actionDescriptors.map((e,i)=>{let r=String(e.label??e.id??"Action");return a("button",{class:"zx-btn",type:["submit","reset"].includes(e.type)?e.type:"button",disabled:!!e.disabled,title:e.title,ariaLabel:!r&&e.title?e.title:void 0,dataset:{actionIndex:i,kind:["primary","danger","ghost"].includes(e.kind)?e.kind:"default",size:e.size==="sm"?"sm":"md"}},e.icon?m(e.icon,{size:16}):null,r?a("span",{class:"zx-btn__label"},r):null)})),this._actions.hidden=this._actionDescriptors.length===0,this}getValues(){return Object.assign({},...this._fieldsets.map(t=>t.getValues()))}setValues(t,{silent:e=!1}={}){for(let i of this._fieldsets)i.setValues(t,{silent:e});return this}getField(t){for(let e of this._fieldsets){let i=e.getField(t);if(i)return i}return null}setValue(t,e){return this.getField(t)?.setValue(e),this}getValue(t){return this.getField(t)?.getValue()??null}reset(){for(let t of this._fieldsets)t.reset().clearHighlights();return this}setHighlights(t,e="danger"){return this._fieldsets.reduce((i,r)=>i+r.setHighlights(t,e),0)}clearHighlights(){for(let t of this._fieldsets)t.clearHighlights();return this}submit(){let t={},e=null;for(let r of this._fieldsets)for(let[n,o]of Object.entries(r.getFields())){let l=o.getValue(),h="";if(o.options.required&&Ui(l))h=this.msg("form.required");else if(!Ui(l)&&o.options.type==="int"){let c=Ve(l);c.valid?o.setValue(c.value,{silent:!0}):h=this.msg("form.int")}else if(!Ui(l)&&o.options.type==="float"){let c=Be(l);c.valid?o.setValue(c.value,{silent:!0}):h=this.msg("form.float")}h?(t[n]=h,o.setHighlight(h,"danger"),e??=o):o.clearHighlight()}return Object.keys(t).length?(this.emit("invalid",{errors:t}),e?.focus(),!1):!this.emit("submit",{values:this.getValues()}).defaultPrevented}_handleAction(t){let e=t.target instanceof Element?t.target.closest("[data-action-index]"):null;if(!e||!this._actions.contains(e))return;let i=this._actionDescriptors[Number(e.dataset.actionIndex)],r=i?.onClick??i?.onclick??i?.handler;typeof r=="function"&&r(t,this)}destroy(){for(let t of this._fieldsets??[])if(this._ownedFieldsets.has(t))t.destroy();else{let e=this._origins.get(t);e?.parent?e.parent.insertBefore(t.el,e.next?.parentNode===e.parent?e.next:null):t.el.remove()}this._fieldsets=[];for(let t of this._ownedNodes??[])t.remove();this._novalidateAttribute===null?this.el.removeAttribute("novalidate"):this.el.setAttribute("novalidate",this._novalidateAttribute),super.destroy()}};function Ui(s){return s==null||s===""||s===!1||Array.isArray(s)&&s.length===0}function Vh(){Gs(),ls(),Ps(),Ss(),Rs(),nr(),lr(),$s(),Hs(),or(),Ys(),Us(),tr(),Xs()}Vh();export{Ni as Breadcrumb,nt as CheckButton,G as Checklist,f as Component,Li as ContextMenu,vi as CopyInput,Yi as DataFilter,lt as DatePicker,Vt as DateRangeBox,Rt as DateRangePicker,si as DateTimeBox,P as Datebox,wt as Dialog,et as Dropdown,x as Field,Bt as FieldUpload,zt as Fieldset,ji as Finder,Wi as Form,pt as Groupbox,be as Http,gi as InlineLoading,Ai as MasterPanel,it as MenuButton,Fi as Message,Ut as Modal,Ot as MonthPicker,Pt as MultiValueEditor,Ci as NavigationBar,ct as NumberField,Ei as Pagination,ki as Panel,Ri as Permission,mi as ProgressBar,Ht as Rating,Wt as Search,F as Select,qt as Slider,zi as SplitView,Ti as Stepper,Qt as Tabbox,Jt as Table,$t as TagPicker,It as TimePicker,Z as Timebox,H as Toggle,wi as Toolbar,ee as Tooltip,Bi as TreeView,Yt as ValueList,k as addDays,st as addMonths,Fl as aspect,_l as badge,ml as badgeGroup,ri as breakpointOf,ni as breakpoints,W as button,hl as buttonGroup,R as clamp,He as clampDate,Lt as clampRange,_t as clampSize,ue as configureIcons,xi as copyButton,ui as copyToClipboard,nn as debounce,Tt as deepMerge,Os as defaultDateRangePresets,Ja as defineElements,kh as describe,ta as downloadBlob,wl as emptyState,Nt as escapeRegExp,_s as faFamilies,he as faIconClasses,ms as faNames,$e as faStyles,xo as focusTrap,qo as formatCurrency,v as formatDate,Ko as formatFileSize,ye as formatNumber,$o as formatPercent,Ls as formatRangeText,Yo as formatRelativeTime,Ge as getIconConfig,q as getLanguage,Mt as getWeekStart,Ol as grid,an as groupBy,a as h,pn as highlightMatch,dn as htmlEscape,m as icon,Bn as iconNames,We as icons,N as isElement,M as isSameDay,Ir as isTruncated,ir as joinTime,ce as kitUrl,Rn as loadFontAwesome,Ye as loadFontAwesomeKit,Mo as matchBreakpoint,vt as normalizeRange,Io as onBreakpoint,Wr as paginationRange,V as parseDate,Ke as parseIconSpec,me as parseNumber,ii as parseRangeText,oi as parseResult,j as position,I as printf,Ft as rangeNights,Is as rangeStateOf,Vh as registerFieldAdapters,Vn as registerIcons,O as resolveElement,mt as resolveSize,ut as rovingTabindex,yn as setLanguage,bn as setTranslator,yi as skeleton,Dl as skeletonTable,Nl as skeletonText,ge as snapNumber,qr as snapSize,ln as sortBy,_i as spinner,er as splitTime,Il as stack,Js as stepPrecision,ci as storage,on as throttle,oe as toArray,Zo as toCsv,wh as tooltip,Q as translate,Bl as truncate,K as typeahead,b as uid,hn as uniqueBy,Ln as useBuiltinIcons,ys as useFontAwesome,Oo as zeyosService};
|
|
1
|
+
function on(s,t){let e=null;return function(...r){let n=this;e!==null&&clearTimeout(e),e=setTimeout(()=>{e=null,s.apply(n,r)},t)}}function an(s,t,{leading:e=!0,trailing:i=!0}={}){let r=Math.max(0,Number(t)||0),n=null,o=0,l=null,h=null,c=()=>{n=null,o=e?Date.now():0;let u=l,d=h;l=null,h=null,u!==null&&s.apply(d,u)};return function(...d){let _=Date.now();o===0&&!e&&(o=_);let p=r-(_-o);if(p<=0||p>r){n!==null&&(clearTimeout(n),n=null),o=_,l=null,h=null,s.apply(this,d);return}i&&(l=d,h=this,n===null&&(n=setTimeout(c,p)))}}var Qi=0;function b(s="zx"){return Qi+=1,`${s}-${Date.now().toString(36)}-${Qi.toString(36)}`}function Nt(s,t){let e=Tt(s)?Zi(s):{};if(!Tt(t))return oe(t);for(let[i,r]of Object.entries(t))Tt(r)&&Tt(e[i])?e[i]=Nt(e[i],r):e[i]=oe(r);return e}function C(s){return!!(s&&typeof s=="object"&&s.nodeType===1)}function R(s,t,e){return Math.min(e,Math.max(t,s))}function ae(s){if(s==null)return[];if(Array.isArray(s))return s.slice();let t=s;return typeof s!="string"&&typeof t?.[Symbol.iterator]=="function"||typeof s!="string"&&typeof t?.length=="number"?Array.from(t):[s]}function ln(s,t){let e=ne(t),i=new Map;for(let r of ae(s)){let n=String(e(r)),o=i.get(n);o===void 0?i.set(n,[r]):o.push(r)}return Object.fromEntries(i)}function hn(s,...t){let e=ae(s),i=t.map(un);return i.length===0?e:e.sort((r,n)=>{for(let o of i){let l=o(r,n);if(l!==0)return l}return 0})}function cn(s,t){let e=t==null?n=>n:ne(t),i=new Set,r=[];for(let n of ae(s)){let o=e(n);i.has(o)||(i.add(o),r.push(n))}return r}function Dt(s){return String(s).replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ne(s){if(typeof s=="function")return s;let t=String(s);return e=>e?.[t]}function un(s){let t,e=1;if(typeof s=="function")t=s;else if(s!==null&&typeof s=="object")t=ne(s.key),String(s.dir).toLowerCase()==="desc"&&(e=-1);else{let i=String(s);i.startsWith("-")?(e=-1,i=i.slice(1)):i.startsWith("+")&&(i=i.slice(1)),t=ne(i)}return(i,r)=>{let n=t(i),o=t(r),l=Ji(n),h=Ji(o);return l||h?l&&h?0:l?1:-1:e*dn(n,o)}}function Ji(s){return s==null||typeof s=="number"&&Number.isNaN(s)}function dn(s,t){return s instanceof Date||t instanceof Date?Re(Xi(s)-Xi(t)):typeof s=="boolean"||typeof t=="boolean"?Re(Number(s)-Number(t)):typeof s=="number"&&typeof t=="number"?Re(s-t):String(s).localeCompare(String(t),void 0,{numeric:!0})}function Xi(s){if(s instanceof Date)return s.getTime();let t=Number(s);return Number.isFinite(t)?t:0}function Re(s){return Number.isNaN(s)?0:s<0?-1:s>0?1:0}function Tt(s){if(s===null||typeof s!="object")return!1;let t=Object.getPrototypeOf(s);return t===Object.prototype||t===null}function Zi(s){let t={};for(let[e,i]of Object.entries(s))t[e]=oe(i);return t}function oe(s){return Tt(s)?Zi(s):Array.isArray(s)?s.map(oe):s}var Et=null;function a(s,t,...e){let i=document.createElement(s),r=t;_n(r)||(e.unshift(r),r={});for(let[n,o]of Object.entries(r))mn(i,n,o);return bn(i,e),i}a.scope=function(t,e){let i=Et;Et=t;try{return e()}finally{Et=i}};a.raw=function(t){let e=document.createElement("template");return e.innerHTML=String(t),e.content};function S(s){return{children:Array.from(s.childNodes),attributes:Array.from(s.attributes,t=>[t.name,t.value])}}function z(s,t){if(t){for(let e of Array.from(s.attributes))s.removeAttribute(e.name);for(let[e,i]of t.attributes)s.setAttribute(e,i);s.replaceChildren(...t.children)}}function pn(s){return String(s).replace(/[&<>"']/g,t=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[t])}function fn(s,t,e={}){let{className:i="zx-mark"}=e,r=s==null?"":String(s),n=t==null?"":String(t).trim(),o=document.createDocumentFragment();if(n===""||r==="")return o.append(document.createTextNode(r)),o;let l=new RegExp(Dt(n),"gi"),h=0;for(let c of r.matchAll(l)){c.index>h&&o.append(document.createTextNode(r.slice(h,c.index)));let u=document.createElement("mark");i&&(u.className=String(i)),u.append(document.createTextNode(c[0])),o.append(u),h=c.index+c[0].length}return h<r.length&&o.append(document.createTextNode(r.slice(h))),o}function O(s){if(s==null)return null;if(C(s))return s;if(typeof s=="string")return document.querySelector(s);if(typeof s.toElement=="function"){let t=s.toElement();return C(t)?t:null}return null}function _n(s){if(s===null||typeof s!="object"||Array.isArray(s))return!1;let t=s;return typeof t.nodeType=="number"?!1:typeof t.toElement!="function"}function mn(s,t,e){if(t==="ref"){Et&&typeof e=="string"&&(Et[e]=s);return}if(t==="class"){s.className=Array.isArray(e)?e.flat(1/0).filter(Boolean).join(" "):String(e??"");return}if(t==="style"){if(typeof e=="string")s.style.cssText=e;else if(e&&typeof e=="object")for(let[r,n]of Object.entries(e))r.startsWith("--")||r.includes("-")?s.style.setProperty(r,String(n)):s.style[r]=n;return}if(t==="dataset"&&e&&typeof e=="object"){for(let[r,n]of Object.entries(e))n==null?delete s.dataset[r]:s.dataset[r]=String(n);return}if(/^on[a-z]/.test(t)&&typeof e=="function"){s.addEventListener(t.slice(2),e);return}if(e==null)return;let i=gn(t);if(i!==null)s.setAttribute(i,String(e));else if(t in s)try{s[t]=e}catch{s.setAttribute(t,String(e))}else typeof e=="boolean"?e?s.setAttribute(t,""):s.removeAttribute(t):s.setAttribute(t,String(e))}function gn(s){return s.startsWith("aria-")?s:/^aria[A-Z]/.test(s)?"aria-"+s.slice(4).toLowerCase():null}function bn(s,t){let e=s;for(let i of t.flat(1/0)){if(i==null)continue;if(typeof i=="string"||typeof i=="number"){e.append(document.createTextNode(String(i)));continue}if(typeof i!="object")continue;let r=i;if(typeof r.nodeType=="number")e.append(i);else if(typeof r.toElement=="function"){let n=r.toElement();n&&e.append(n)}}}var Ve=null,ts="en";function yn(s){if(s!==null&&typeof s!="function")throw new TypeError("Translator must be a function or null");Ve=s}function xn(s){ts=String(s||"en")}function q(){return ts}function G(s,t){let e=Ve?Ve(s):s;return E(e==null?s:String(e),t)}function E(s,t){if(t==null)return String(s);let e=Array.isArray(t)?t:typeof t=="object"?null:[t],i=String(s).replace(/%(\d+)/g,(n,o)=>{let l=Number(o)-1,h;return e?h=e[l]:Object.prototype.hasOwnProperty.call(t,o)&&(h=t[o]),h==null?n:String(h)}),r=0;return i=i.replace(/%([A-Za-z_][\w.-]*)%/g,(n,o)=>{if(!e&&Object.prototype.hasOwnProperty.call(t,o)){let l=t[o];return l==null?n:String(l)}if(e&&r<e.length){let l=e[r];return r+=1,l==null?n:String(l)}return n}),i}var le=new WeakMap,f=class extends EventTarget{static defaults={};static cssName="";el;refs;options;#t=new AbortController;#e=!1;#i=!1;#s=!1;constructor(t,e={}){super();let i=this.constructor;this.#e=t===null;let r=O(t);if(t!==null&&!r)throw new TypeError("Component target could not be resolved");this.el=r,this.refs={};let n=vn(i,e),o=[];for(let[c,u]of Object.entries(n))/^on[a-z]/.test(c)&&typeof u=="function"&&(o.push([c.slice(2),u]),delete n[c]);n.msg&&typeof n.msg=="object"&&Object.freeze(n.msg),this.options=Object.freeze(n);for(let[c,u]of o)this.on(c,u);let l;try{l=a.scope(this.refs,()=>this.render())}catch(c){throw this.#t.abort(),c}if(this.#e){let c=C(l)?l:this.el;if(!C(c))throw this.#t.abort(),new TypeError("render() must return an Element (or assign this.el) when target is null");this.el=c}if(!C(this.el))throw this.#t.abort(),new TypeError("Component requires a root Element");let h=i.cssName;if(typeof h=="string"&&h){let c=`zx-${h}`;this.#s=!this.el.classList.contains(c),this.el.classList.add(c)}le.set(this.el,this)}render(){return this.el??null}on(t,e){return this.addEventListener(t,e,{signal:this.#t.signal}),this}off(t,e){return this.removeEventListener(t,e),this}once(t,e){return this.addEventListener(t,e,{once:!0,signal:this.#t.signal}),this}addEvent(t,e){return this.on(t,e)}emit(t,e={}){if(e===null||typeof e!="object"||Array.isArray(e))throw new TypeError("Event detail must be an object");let i=es(t,e,{cancelable:!0});return this.dispatchEvent(i),this.el&&this.el.dispatchEvent(es(`zx-${t}`,e,{bubbles:!0,composed:!0,cancelable:!0})),i}listen(t,e,i,r={}){let n=typeof r=="boolean"?{capture:r}:{...r};return t.addEventListener(e,i,{...n,signal:this.#t.signal}),this}toElement(){return this.el}msg(t,...e){let i=this.options.msg,r=this.options.lang??this.options.language??q(),n=i?.[r]?.[t];if(n!=null)return E(String(n),e);let o=i?.[t];return o!=null?E(String(o),e):G(t,e)}destroy(){if(this.#i)return;this.#i=!0,this.#t.abort(),le.get(this.el)===this&&le.delete(this.el);let t=this.constructor.cssName;this.#s&&typeof t=="string"&&this.el&&this.el.classList.remove(`zx-${t}`),this.#e&&this.el&&this.el.remove()}static from(t){return le.get(t)??null}};function vn(s,t){let e=[],i=s;for(;i&&i!==Function.prototype;)Object.prototype.hasOwnProperty.call(i,"defaults")&&e.unshift(i.defaults),i=Object.getPrototypeOf(i);let r={},n={},o=!1;for(let l of e)!l||typeof l!="object"||(Object.assign(r,l),l.msg&&typeof l.msg=="object"&&(o=!0,n=Nt(n,l.msg)));return Object.assign(r,t&&typeof t=="object"?t:{}),t?.msg&&typeof t.msg=="object"&&(o=!0,n=Nt(n,t.msg)),o&&(r.msg=n),r}function es(s,t,e){if(typeof CustomEvent=="function")return new CustomEvent(s,{...e,detail:t});let i=new Event(s,e);return Object.defineProperty(i,"detail",{configurable:!0,enumerable:!0,value:t}),i}var x=class s extends f{static cssName="field";static defaults={id:null,type:"text",label:"",description:"",value:void 0,placeholder:"",required:!1,disabled:!1,options:null,layout:"stack",props:{},msg:{"field.int":"Enter a whole number.","field.float":"Enter a valid number.","field.unknown":"Unknown field type: %1"}};static#t=new Map;static register(t,e){let i=String(t).trim().toLowerCase();if(!i)throw new TypeError("Field adapter type must not be empty");if(typeof e!="function")throw new TypeError("Field adapter must be a function");return s.#t.set(i,e),this}static has(t){return s.#t.has(String(t).trim().toLowerCase())}render(){let t=this.el??a("div");this.el=t;let e=String(this.options.type||"text").toLowerCase(),i=this.options.layout==="inline"?"inline":"stack";this._ownedComponents=new Set,this._ownedNodes=[],this._rootAttributes=Sn(t,["data-layout","data-field-type","data-disabled","data-state"]),t.dataset.layout=i,t.dataset.fieldType=e,this.controlId=this.options.id?String(this.options.id):b("zx-field");let r=`${this.controlId}-label`,n=`${this.controlId}-description`,o=`${this.controlId}-highlight`,l=a("label",{class:"zx-field__label",id:r,htmlFor:this.controlId},String(this.options.label??""),this.options.required?a("span",{class:"zx-field__required",ariaHidden:"true"}," *"):null),h=a("div",{class:"zx-field__control"}),c=a("div",{class:"zx-field__description",id:n},String(this.options.description??"")),u=a("div",{class:"zx-field__highlight",id:o,ariaLive:"polite",hidden:!0}),d=a("div",{class:"zx-field__body"},h,c,u);this._ownedNodes.push(l,d),t.append(l,d);let _=s.#t.get(e);if(_)try{this.adapter=kn(_(this,this.options))}catch(g){let y=g instanceof Error?g.message:String(g);console.warn(`[zx.Field] Adapter "${e}" failed: ${y}`),this.adapter=ss(y,this.controlId)}else{let g=this.msg("field.unknown",e);console.warn(`[zx.Field] ${g}`),this.adapter=ss(g,this.controlId)}let p=this.adapter.el;return p.id||(p.id=this.controlId),l.htmlFor=p.id,An(p)||p.setAttribute("aria-labelledby",r),this._baseDescribedBy=p.getAttribute("aria-describedby")??"",h.append(p),this._descriptionId=String(this.options.description??"")?n:"",this._highlightId=o,this._highlight=u,this._syncDescription(),this.initialValue=wn(e,this.options.value),this.adapter.set(this.initialValue,{silent:!0}),this.setDisabled(!!this.options.disabled),this.listen(p,"change",()=>{this.emit("change",{value:this.getValue()})}),t}getValue(){return this.adapter.get()}setValue(t,{silent:e=!1}={}){return this.adapter.set(t,{silent:e}),e||this.emit("change",{value:this.getValue()}),this}focus(){return this.adapter.focus(),this}reset(){return this.setValue(this.initialValue,{silent:!0}),this.clearHighlight(),this}setDisabled(t){let e=!!t;return this.adapter.setDisabled(e),this.el.dataset.disabled=String(e),this}setHighlight(t,e="danger"){if(!t)return this.clearHighlight();let i=["danger","warning","success"].includes(e)?e:"danger";return this.el.dataset.state=i,this._highlight.textContent=String(t??""),this._highlight.hidden=!t,i==="danger"&&t?(this._highlight.setAttribute("role","alert"),this.adapter.el.setAttribute("aria-invalid","true"),this.emit("invalid",{message:String(t)})):(this._highlight.removeAttribute("role"),this.adapter.el.removeAttribute("aria-invalid")),this._syncDescription(!!t),this}clearHighlight(){return delete this.el.dataset.state,this._highlight.textContent="",this._highlight.hidden=!0,this._highlight.removeAttribute("role"),this.adapter.el.removeAttribute("aria-invalid"),this._syncDescription(!1),this}getInput(){return this.adapter.el}own(t){if(!(t instanceof f))throw new TypeError("Field.own() requires a Component");return this._ownedComponents.add(t),t}_syncDescription(t=!1){let e=[this._baseDescribedBy,this._descriptionId,t?this._highlightId:""].flatMap(i=>i.split(/\s+/)).filter(Boolean);e.length?this.adapter.el.setAttribute("aria-describedby",[...new Set(e)].join(" ")):this.adapter.el.removeAttribute("aria-describedby")}destroy(){this.adapter?.destroy?.();for(let t of this._ownedComponents??[])t.destroy();this._ownedComponents?.clear();for(let t of this._ownedNodes??[])t.remove();zn(this.el,this._rootAttributes??new Map),super.destroy()}};function Be(s){if(typeof s=="number")return Number.isInteger(s)?{valid:!0,value:s}:{valid:!1,value:String(s)};let t=String(s??"").trim();if(t==="")return{valid:!0,value:""};let e=ns(t);return e!==null&&Number.isInteger(e)?{valid:!0,value:e}:{valid:!1,value:t}}function Pe(s){if(typeof s=="number")return Number.isFinite(s)?{valid:!0,value:s}:{valid:!1,value:String(s)};let t=String(s??"").trim();if(t==="")return{valid:!0,value:""};let e=ns(t);return e!==null?{valid:!0,value:e}:{valid:!1,value:t}}function ns(s){let t=s.replace(/[\s\u00a0]/g,"");if(!/^[+-]?[\d.,]+$/.test(t))return null;let e=/^[+-]/.test(t)?t[0]:"",i=e?t.slice(1):t;if(!/\d/.test(i))return null;let r=[...i.matchAll(/\./g)].map(h=>h.index),n=[...i.matchAll(/,/g)].map(h=>h.index),o;if(r.length&&n.length){let h=r.at(-1)>n.at(-1)?".":",",c=h==="."?",":".",u=i.lastIndexOf(h),d=i.slice(0,u),_=i.slice(u+1);if(!/^\d+$/.test(_)||!is(d,c))return null;o=d.split(c).join("")+"."+_}else if(n.length>1||r.length>1){let h=n.length?",":".";if(!is(i,h))return null;o=i.split(h).join("")}else n.length===1?o=i.replace(",","."):o=i;if(!/^(?:\d+(?:\.\d+)?|\.\d+)$/.test(o))return null;let l=Number(e+o);return Number.isFinite(l)?l:null}function is(s,t){let e=s.split(t);return e.length>0&&/^\d{1,3}$/.test(e[0])&&e.slice(1).every(i=>/^\d{3}$/.test(i))}function wn(s,t){return t!==void 0?t:s==="checkbox"?!1:""}function kn(s){if(!s||typeof s!="object")throw new TypeError("Adapter must return an object");if(!(s.el&&s.el.nodeType===1))throw new TypeError("Adapter must provide an Element");for(let t of["get","set","focus","setDisabled"])if(typeof s[t]!="function")throw new TypeError(`Adapter is missing ${t}()`);return s}function ss(s,t){let e=a("div",{class:"zx-field__error-control",id:t,role:"alert",tabIndex:-1},s);return{el:e,get:()=>null,set:()=>{},focus:()=>e.focus(),setDisabled:()=>{}}}function An(s){return["BUTTON","INPUT","METER","OUTPUT","PROGRESS","SELECT","TEXTAREA"].includes(s.tagName)}function Sn(s,t){return new Map(t.map(e=>[e,s.getAttribute(e)]))}function zn(s,t){for(let[e,i]of t)i===null?s.removeAttribute(e):s.setAttribute(e,i)}function Mt(s,t){let e={...s.props??{}};for(let i of Object.keys(e))(/^on[a-z]/i.test(i)||i==="content")&&delete e[i];return{...e,...t}}function he(s,t){return(e,i)=>{let r=a(s,Mt(i,{type:s==="input"?t:void 0,placeholder:i.placeholder,required:i.required,disabled:i.disabled}));return je(r)}}function je(s){return{el:s,get:()=>s.value,set:t=>{s.value=t==null?"":String(t)},focus:()=>s.focus(),setDisabled:t=>{s.disabled=t}}}function os(s){return(t,e)=>{let i=s==="int"?Be:Pe,r=a("input",Mt(e,{type:"text",inputMode:s==="int"?"numeric":"decimal",placeholder:e.placeholder,required:e.required,disabled:e.disabled}));return t.listen(r,"blur",()=>{let n=i(r.value);if(!n.valid){t.setHighlight(t.msg(`field.${s}`),"danger");return}n.value!==""&&(r.value=String(n.value)),t.clearHighlight()}),{...je(r),get:()=>i(r.value).value}}}var Cn=(s,t)=>{let e=a("input",Mt(t,{type:"checkbox",required:t.required,disabled:t.disabled}));return{el:e,get:()=>e.checked,set:i=>{e.checked=!!i},focus:()=>e.focus(),setDisabled:i=>{e.disabled=i}}},Tn=(s,t)=>{let e=a("select",Mt(t,{required:t.required,disabled:t.disabled}));for(let[i,r]of as(t.options))e.append(a("option",{value:i},r));return je(e)},Nn=(s,t)=>{let e=a("div",{class:"zx-field__option-list",role:"radiogroup"}),i=t.id?String(t.id):b("zx-option-list"),r=as(t.options).map(([n,o],l)=>{let h=a("input",{type:"radio",name:i,value:n,required:!!t.required&&l===0,disabled:t.disabled});return e.append(a("label",{class:"zx-field__option"},h,a("span",{},o))),h});return{el:e,get:()=>r.find(n=>n.checked)?.value??"",set:n=>{for(let o of r)o.checked=String(n??"")===o.value},focus:()=>(r.find(n=>n.checked)??r[0])?.focus(),setDisabled:n=>{for(let o of r)o.disabled=n;e.setAttribute("aria-disabled",String(n))}}},Dn=(s,t)=>{let e=a("div",Mt(t,{class:"zx-field__static"})),i=null;return{el:e,get:()=>e.textContent,set:n=>{rs(i),i=null,n&&typeof n=="object"&&typeof n.nodeType=="number"?(i={node:n,parent:n.parentNode,next:n.nextSibling},e.replaceChildren(n)):e.textContent=n==null?"":String(n)},focus:()=>{},setDisabled:n=>{e.setAttribute("aria-disabled",String(n))},destroy:()=>rs(i)}};function rs(s){s&&(s.parent?s.parent.insertBefore(s.node,s.next?.parentNode===s.parent?s.next:null):s.node.remove())}var En=(s,t)=>{if(typeof t.adapter!="function")throw new TypeError("Custom fields require options.adapter");return t.adapter(s,t)};function as(s){return Array.isArray(s)?s.map(t=>[String(t),String(t)]):s&&typeof s=="object"?Object.entries(s).map(([t,e])=>[t,String(e)]):[]}x.register("text",he("input","text"));x.register("password",he("input","password"));x.register("textarea",he("textarea","text"));x.register("checkbox",Cn);x.register("int",os("int"));x.register("float",os("float"));x.register("select",Tn);x.register("optionlist",Nn);x.register("hidden",he("input","hidden"));x.register("html",Dn);x.register("custom",En);function ot(s,t,e){let i=ls(t).split(/\s+/).filter(Boolean);return i.length===0?s.slice():s.filter(r=>{let n=Mn(r,e).map(ls);return i.every(o=>n.some(l=>l.includes(o)))})}function Mn(s,t){return s===null||typeof s!="object"?[s]:!Array.isArray(t)||t.length===0?[s]:t.map(e=>typeof e=="function"?e(s):s[e])}function ls(s){return String(s??"").normalize("NFD").replace(/\p{M}+/gu,"").toLocaleLowerCase()}var Q=class extends f{static cssName="checklist";static defaults={items:[],valueKey:"ID",labelKey:"name",checkedKey:"on",search:!0,height:280,defaultChecked:!1,load:null};render(){this._items=[],this._visibleItems=[],this._checked=new Set,this._query="",this._loadSequence=0,this._createdRoot=!1,this._active=!0,this._originalChildren=[],this._originalAttributes=new Map,this._createdRoot=this.el===null;let t=this.el??a("div");this.el=t,this._createdRoot||(this._originalChildren=Array.from(t.childNodes));for(let o of["role","aria-labelledby","data-state"])this._originalAttributes.set(o,t.getAttribute(o));let e=b("zx-checklist-label"),i=a("div",{class:"zx-checklist__label",id:e},this._message("checklist.label","Checklist")),r=a("input",{ref:"search",class:"zx-checklist__search",type:"search",autocomplete:"off",placeholder:this._message("checklist.search","Search"),ariaLabel:this._message("checklist.search","Search checklist"),hidden:!this.options.search}),n=a("div",{ref:"list",class:"zx-checklist__list"});return n.style.maxBlockSize=`${Math.max(0,Number(this.options.height)||0)}px`,t.replaceChildren(i,r,n),t.setAttribute("role","group"),t.setAttribute("aria-labelledby",e),this.listen(r,"input",()=>this.search(r.value)),this.listen(n,"change",o=>{let l=o.target;if(!l?.matches?.('input[type="checkbox"][data-index]'))return;let h=this._visibleItems[Number(l.dataset.index)];if(h===void 0)return;let c=this._itemValue(h);l.checked?this._checked.add(c):this._checked.delete(c),this.emit("change",{values:this.getValues()})}),this._replaceItems(this.options.items),typeof this.options.load=="function"&&queueMicrotask(()=>{this._active&&this.reload().catch(()=>{})}),t}setItems(t){return this._replaceItems(t),this}getValues(){return this._items.map(t=>this._itemValue(t)).filter(t=>this._checked.has(t))}setValues(t){let e=new Set(t==null?[]:Array.from(t)),i=new Set(this._items.map(r=>this._itemValue(r)).filter(r=>e.has(r)));return this._replaceChecked(i),this}checkAll(){return this._replaceChecked(new Set(this._items.map(t=>this._itemValue(t)))),this}uncheckAll(){return this._replaceChecked(new Set),this}search(t){this._query=String(t??"");let e=this.refs.search;return e.value!==this._query&&(e.value=this._query),this._visibleItems=ot(this._items,this._query,[this.options.labelKey]),this._renderItems(),this}async reload(){if(!this._active||typeof this.options.load!="function")return this;let t=++this._loadSequence;this.el.setAttribute("data-state","loading"),this.refs.list.setAttribute("aria-busy","true");try{let e=await this.options.load();if(t!==this._loadSequence)return this;this._replaceItems(e),this.emit("loaded",{items:this._items.slice()})}finally{t===this._loadSequence&&(this.el.removeAttribute("data-state"),this.refs.list.setAttribute("aria-busy","false"))}return this}destroy(){this._active=!1,this._loadSequence+=1;let t=this.el;if(!this._createdRoot&&t){t.replaceChildren(...this._originalChildren);for(let[e,i]of this._originalAttributes)i===null?t.removeAttribute(e):t.setAttribute(e,i)}super.destroy()}_replaceItems(t){this._items=Array.isArray(t)?t.slice():[],this._checked=new Set(this._items.filter(e=>!!this._initialChecked(e)).map(e=>this._itemValue(e))),this._visibleItems=ot(this._items,this._query,[this.options.labelKey]),this._renderItems()}_renderItems(){if(!this.refs.list)return;let t=this._visibleItems.map((e,i)=>{let r=b("zx-checklist-item"),n=a("input",{type:"checkbox",id:r,checked:this._checked.has(this._itemValue(e)),dataset:{index:i}});return a("label",{class:"zx-checklist__item",for:r},n,a("span",{},this._itemLabel(e)))});t.length===0&&t.push(a("div",{class:"zx-checklist__empty",role:"status"},this._message("checklist.empty","No matches"))),this.refs.list.replaceChildren(...t)}_replaceChecked(t){In(this._checked,t)||(this._checked=t,this._renderItems(),this.emit("change",{values:this.getValues()}))}_itemValue(t){return this._read(t,this.options.valueKey)}_itemLabel(t){return String(this._read(t,this.options.labelKey)??"")}_initialChecked(t){let e;return typeof this.options.checkedKey=="function"?e=this.options.checkedKey(t):t!==null&&typeof t=="object"&&(e=t[this.options.checkedKey]),e??this.options.defaultChecked}_read(t,e){return typeof e=="function"?e(t):t===null||typeof t!="object"?t:t[e]}_message(t,e){let i=this.msg(t);return i===t?e:i}};function In(s,t){return s.size===t.size&&Array.from(s).every(e=>t.has(e))}function hs(){x.register("checklist",(s,t)=>{let e=s.own(new Q(null,{...t.props??{}})),i=!1,r=!1,n=()=>{e.el.setAttribute("aria-disabled",String(i));for(let o of e.el.querySelectorAll("input, button, select, textarea"))o.disabled=i};return s.listen(e.el,"change",o=>o.stopImmediatePropagation()),e.on("change",o=>{r||s.emit("change",{value:o.detail.values})}),e.on("loaded",n),{el:e.el,get:()=>e.getValues(),set:o=>{r=!0;try{e.setValues(Array.isArray(o)?o:[])}finally{r=!1}n()},focus:()=>{(e.el.querySelector(".zx-checklist__search:not([hidden]):not([disabled])")??e.el.querySelector('input[type="checkbox"]:not([disabled])'))?.focus()},setDisabled:o=>{i=!!o,n()}}})}var cs=["January","February","March","April","May","June","July","August","September","October","November","December"],us=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],fs=/%[demYyHMSaAbBs]/g;function v(s,t){return!(s instanceof Date)||Number.isNaN(s.getTime())?"":String(t).replace(fs,e=>{switch(e){case"%d":return yt(s.getDate());case"%e":return String(s.getDate());case"%m":return yt(s.getMonth()+1);case"%Y":return String(s.getFullYear()).padStart(4,"0");case"%y":return yt(s.getFullYear()%100);case"%H":return yt(s.getHours());case"%M":return yt(s.getMinutes());case"%S":return yt(s.getSeconds());case"%a":return ds("weekday",s.getDay(),us[s.getDay()]);case"%A":return He("weekday",s.getDay(),us[s.getDay()]);case"%b":return ds("month",s.getMonth(),cs[s.getMonth()]);case"%B":return He("month",s.getMonth(),cs[s.getMonth()]);case"%s":return String(Math.floor(s.getTime()/1e3));default:return e}})}function V(s,t){let e=[],i="^",r=0;for(let g of String(t).matchAll(fs)){i+=ps(String(t).slice(r,g.index));let y=g[0],A=On(y);if(A===null)return null;i+=`(${A})`,e.push(y),r=g.index+y.length}i+=ps(String(t).slice(r))+"$";let n=new RegExp(i).exec(String(s));if(!n)return null;let o=Object.create(null);if(e.forEach((g,y)=>{o[g]=Number(n[y+1])}),o["%s"]!==void 0){let g=o["%s"]*1e3,y=new Date(g);return Number.isNaN(y.getTime())?null:y}let l=o["%Y"]??Fn(o["%y"])??1970,h=(o["%m"]??1)-1,c=o["%d"]??o["%e"]??1,u=o["%H"]??0,d=o["%M"]??0,_=o["%S"]??0,p=new Date(0);return p.setHours(0,0,0,0),p.setFullYear(l,h,c),p.setHours(u,d,_,0),Number.isNaN(p.getTime())||o["%Y"]!==void 0&&p.getFullYear()!==o["%Y"]||o["%y"]!==void 0&&p.getFullYear()%100!==o["%y"]||o["%m"]!==void 0&&p.getMonth()!==h||o["%d"]!==void 0&&p.getDate()!==c||o["%e"]!==void 0&&p.getDate()!==c||o["%H"]!==void 0&&p.getHours()!==u||o["%M"]!==void 0&&p.getMinutes()!==d||o["%S"]!==void 0&&p.getSeconds()!==_?null:p}function qe(s,t,e){let i=s.getTime(),r=t instanceof Date?t.getTime():-1/0,n=e instanceof Date?e.getTime():1/0;return new Date(Math.min(n,Math.max(r,i)))}function I(s,t){return s.getFullYear()===t.getFullYear()&&s.getMonth()===t.getMonth()&&s.getDate()===t.getDate()}function k(s,t){let e=new Date(s.getTime());return e.setDate(e.getDate()+t),e}function st(s,t){let e=new Date(s.getTime()),i=e.getDate();e.setDate(1),e.setMonth(e.getMonth()+t);let r=new Date(e.getFullYear(),e.getMonth()+1,0).getDate();return e.setDate(Math.min(i,r)),e}function It(s=q()){if(!s||s.toLowerCase()==="en")return 1;try{let t=new Intl.Locale(s),e=t.getWeekInfo?.()??t.weekInfo;if(e?.firstDay)return e.firstDay%7}catch{}return 1}function yt(s){return String(s).padStart(2,"0")}function He(s,t,e){let i=`date.${s}.${t}`,r=G(i);return r===i?e:r}function ds(s,t,e){let i=`date.${s}.short.${t}`,r=G(i);return r!==i?r:He(s,t,e).slice(0,3)}function On(s){return{"%d":"\\d{1,2}","%e":"\\d{1,2}","%m":"\\d{1,2}","%Y":"\\d{4}","%y":"\\d{2}","%H":"\\d{1,2}","%M":"\\d{1,2}","%S":"\\d{1,2}","%s":"-?\\d+"}[s]??null}function Fn(s){if(s!==void 0)return s>=69?1900+s:2e3+s}function ps(s){return s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var Ke=Object.freeze({solid:"fa-solid",regular:"fa-regular",light:"fa-light",thin:"fa-thin",duotone:"fa-duotone",brands:"fa-brands",kit:"fa-kit"}),ms=Object.freeze({classic:"",sharp:"fa-sharp","sharp-duotone":"fa-sharp-duotone"}),_s=Object.freeze({fa:null,fas:"solid",far:"regular",fal:"light",fat:"thin",fad:"duotone",fab:"brands",fak:"kit",solid:"solid",regular:"regular",light:"light",thin:"thin",duotone:"duotone",brands:"brands",kit:"kit",custom:"kit"}),gs=Object.freeze({x:"xmark",search:"magnifying-glass",calendar:"calendar-days",reload:"arrows-rotate",dots:"ellipsis",info:"circle-info",warning:"triangle-exclamation",error:"circle-exclamation",success:"circle-check",drag:"grip-vertical"}),$e=new Map;function Ye(s){let t=String(s).trim();if(/\s/.test(t)||t.startsWith("fa-"))return{provider:"fa",name:"",style:null,classes:t.split(/\s+/).filter(Boolean)};let e=t.indexOf(":");if(e>0){let i=t.slice(0,e).toLowerCase(),r=t.slice(e+1);if(i==="builtin"||i==="zx")return{provider:"builtin",name:r,style:null,classes:null};if(Object.hasOwn(_s,i))return{provider:"fa",name:r,style:_s[i],classes:null}}return{provider:null,name:t,style:null,classes:null}}function ce(s,t={}){let{style:e="solid",family:i="classic",fixedWidth:r=!1,translate:n=!0}=t,o=String(s).replace(/^fa-/,""),l=n?gs[o]??o:o,h=[],c=ms[i];return c&&h.push(c),h.push(Ke[e]??Ke.solid,`fa-${l}`),r&&h.push("fa-fw"),h}function ue(s){let t=String(s).trim();if(/^(https?:)?\/\//.test(t)||t.startsWith("/")||t.endsWith(".js"))return t;if(!/^[a-z0-9]+$/.test(t))throw new RangeError(`Invalid Font Awesome kit token: ${s}`);return`https://kit.fontawesome.com/${t}.js`}function Ue(s){let t=ue(s),e=$e.get(t);if(e)return e;let i=new Promise((r,n)=>{let o=new URL(t,document.baseURI).href,l=[...document.scripts].find(c=>c.src===o);if(l&&globalThis.FontAwesomeKitConfig){r();return}let h=l??document.createElement("script");h.addEventListener("load",()=>r(),{once:!0}),h.addEventListener("error",()=>{$e.delete(t),n(new Error(`Font Awesome kit failed to load: ${t}`))},{once:!0}),!l&&(h.src=t,h.async=!0,h.crossOrigin="anonymous",document.head.append(h))});return $e.set(t,i),i}var bs="http://www.w3.org/2000/svg",Ge=Object.freeze({"chevron-down":["0 0 512 512","M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"],"chevron-up":["0 0 512 512","M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z"],"chevron-left":["0 0 320 512","M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z"],"chevron-right":["0 0 320 512","M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"],check:["0 0 448 512","M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"],x:["0 0 384 512","M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"],plus:["0 0 448 512","M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z"],minus:["0 0 448 512","M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z"],search:["0 0 512 512","M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"],calendar:["0 0 448 512","M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192z"],clock:["0 0 512 512","M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"],trash:["0 0 448 512","M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM416 128H32L53.2 467c1.6 25.3 22.6 45 47.9 45H346.9c25.3 0 46.3-19.7 47.9-45L416 128z"],gear:["0 0 512 512","M481.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4L83.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C64.6 273.1 64 264.6 64 256s.6-17.1 1.7-25.4L22.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160z"],eye:["0 0 576 512","M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1-288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z"],lock:["0 0 448 512","M144 144v48H304V144c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192V144C80 64.5 144.5 0 224 0s144 64.5 144 144v48h16c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80z"],reload:["0 0 512 512","M386.3 160H336c-17.7 0-32 14.3-32 32s14.3 32 32 32H464c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32s-32 14.3-32 32v51.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0s-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3s163.8-62.5 226.3 0L386.3 160z"],list:["0 0 512 512","M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM16 232v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z"],filter:["0 0 512 512","M3.9 54.9C10.5 40.9 24.5 32 40 32H472c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L320 320.9V448c0 12.1-6.8 23.2-17.7 28.6s-23.8 4.3-33.5-3l-64-48c-8.1-6-12.8-15.5-12.8-25.6V320.9L9 97.3C-.7 85.4-2.8 68.8 3.9 54.9z"],dots:["0 0 448 512","M8 256a56 56 0 1 1 112 0A56 56 0 1 1 8 256zm160 0a56 56 0 1 1 112 0 56 56 0 1 1-112 0zm216-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z"],info:["0 0 512 512","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"],warning:["0 0 512 512","M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0-64 0 32 32 0 1 0 64 0z"],error:["0 0 512 512","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1-64 0z"],success:["0 0 512 512","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"],upload:["0 0 512 512","M288 109.3V352c0 17.7-14.3 32-32 32s-32-14.3-32-32V109.3l-73.4 73.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L288 109.3zM64 352H192c0 35.3 28.7 64 64 64s64-28.7 64-64H448c35.3 0 64 28.7 64 64v32c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V416c0-35.3 28.7-64 64-64z"],drag:["0 0 320 512","M40 352l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zm192 0l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 176l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zm192 0l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 0L88 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40L40 128C17.9 128 0 110.1 0 88L0 40C0 17.9 17.9 0 40 0zM232 0l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40z"],star:["0 0 576 512","M287.9 0c9.2 0 17.6 5.2 21.6 13.5l68.6 141.3 153.2 22.6c9 1.3 16.5 7.6 19.3 16.3s.5 18.1-5.9 24.5L433.6 328.4l26.2 155.6c1.5 9-2.2 18.1-9.7 23.5s-17.3 6-25.3 1.7l-137-73.2L151 509.1c-8.1 4.3-17.9 3.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1 218.2c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9 19.3-16.3l153.2-22.6L266.3 13.5C270.4 5.2 278.7 0 287.9 0z"],heart:["0 0 512 512","M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z"],tag:["0 0 448 512","M0 80V229.5c0 17 6.7 33.3 18.7 45.3l176 176c25 25 65.5 25 90.5 0L418.7 317.3c25-25 25-65.5 0-90.5l-176-176c-12-12-28.3-18.7-45.3-18.7H48C21.5 32 0 53.5 0 80zm112 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"],folder:["0 0 512 512","M64 480H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H298.5c-17 0-33.3-6.7-45.3-18.7L226.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64z"],"folder-open":["0 0 576 512","M88.7 223.8L0 375.8V96C0 60.7 28.7 32 64 32H181.5c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 28.3 18.7 45.3 18.7H416c35.3 0 64 28.7 64 64v32H144c-22.8 0-43.8 12.1-55.3 31.8zm27.6 16.1C122.1 230 132.6 224 144 224H544c11.5 0 22 6.1 27.7 16.1s5.7 22.2-.1 32.1l-112 192C453.9 474 443.4 480 432 480H32c-11.5 0-22-6.1-27.7-16.1s-5.7-22.2 .1-32.1l112-192z"],file:["0 0 384 512","M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128z"],copy:["0 0 448 512","M208 0L332.1 0c12.7 0 24.9 5.1 33.9 14.1l67.9 67.9c9 9 14.1 21.2 14.1 33.9L448 336c0 26.5-21.5 48-48 48l-192 0c-26.5 0-48-21.5-48-48l0-288c0-26.5 21.5-48 48-48zM48 128l80 0 0 64-64 0 0 256 192 0 0-32 64 0 0 48c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 176c0-26.5 21.5-48 48-48z"],square:["0 0 448 512","M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z"],code:["0 0 640 512","M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3L562.7 256l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z"],book:["0 0 448 512","M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V384c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zm0 384H352v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm16 48H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z"]}),Ln=Object.freeze({settings:"gear",clear:"x",checked:"check",question:"info",range:"filter",fields:"list"}),Qe=Object.create(null),X={provider:"builtin",style:"solid",family:"classic",fixedWidth:!1,kit:null};function Je(){return{...X}}function de(s={}){for(let t of["provider","style","family","fixedWidth","kit"])s[t]!==void 0&&(X[t]=s[t]);return Je()}function xs(s={}){return de({...s,provider:"fontawesome"})}function Rn(){return de({provider:"builtin"})}async function Vn(s){let t=typeof s=="string"?{kit:s}:{...s},{kit:e,activate:i=!0,...r}=t;if(!e)throw new TypeError("loadFontAwesome() needs a kit token or URL");return de({...r,kit:ue(e)}),await Ue(e),i?xs():Je()}function Bn(s){for(let[t,e]of Object.entries(s)){if(!Array.isArray(e)||e.length!==2)throw new TypeError(`Icon "${t}" must be a [viewBox, path] pair`);Qe[t]=[String(e[0]),String(e[1])]}}function Pn(){return[...new Set([...Object.keys(Ge),...Object.keys(Qe)])].sort()}function m(s,t={}){let e=Ye(s);if(e.classes)return We(e.classes,t);let i=Ln[e.name]??e.name;return e.provider==="builtin"?ys(i,t):e.provider==="fa"?We(ce(i,{style:e.style??t.style??X.style,family:t.family??X.family,fixedWidth:t.fixedWidth??X.fixedWidth}),t):X.provider==="fontawesome"?We(ce(i,{style:t.style??X.style,family:t.family??X.family,fixedWidth:t.fixedWidth??X.fixedWidth}),t):ys(i,t)}function ys(s,t){let e=Qe[s]??Ge[s];if(!e)throw new RangeError(`Unknown icon: ${s}`);let[i,r]=e,{size:n=16}=t,o=document.createElementNS(bs,"svg"),l=document.createElementNS(bs,"path");return o.setAttribute("class",ws("zx-icon",t.class)),o.setAttribute("viewBox",i),o.setAttribute("width",String(n)),o.setAttribute("height",String(n)),o.setAttribute("fill","currentColor"),o.setAttribute("focusable","false"),vs(o,t.label??null),l.setAttribute("d",r),o.append(l),o}function We(s,t){let{size:e=16}=t,i=document.createElement("i");return i.className=ws("zx-icon",...s,t.class),i.style.fontSize=typeof e=="number"?`${e}px`:String(e),vs(i,t.label??null),i}function vs(s,t){if(t===null){s.setAttribute("aria-hidden","true");return}s.setAttribute("role","img"),s.setAttribute("aria-label",t)}function ws(...s){return s.flat().filter(Boolean).join(" ")}var jn=5,Ot=class extends f{static cssName="time-picker";static defaults={value:null,seconds:!1,step:5,clock:!0};render(){let t=this.el??a("div");this.el=t;let e=ks(this.options.value);this._value=e,this._display=e??{h:0,m:0,s:0},this._inputs=[],this._clockOpen=!1,this._clockUnit="h",this._clock=null;let i=a("div",{class:"zx-time-picker__segments",role:"group",ariaLabel:"Time"});if(this._content=i,this._addSpin(i,"h","Hour",23),i.append(a("span",{class:"zx-time-picker__separator",ariaHidden:"true"},":")),this._addSpin(i,"m","Minute",59),this.options.seconds&&(i.append(a("span",{class:"zx-time-picker__separator",ariaHidden:"true"},":")),this._addSpin(i,"s","Second",59)),t.append(i),this.options.clock){let r=b("zx-time-picker-clock");i.append(a("button",{ref:"clockToggle",class:"zx-icon-btn zx-time-picker__clock-toggle",type:"button",ariaLabel:"Pick the time on a clock",ariaExpanded:"false",ariaControls:r},m("clock",{size:15}))),this._clock=this._buildClock(r),t.append(this._clock),this.listen(this.refs.clockToggle,"click",()=>this.toggleClock())}return this._writeInputs(),t}get(){return this._value?{...this._value}:null}set(t,{silent:e=!1}={}){let i=ks(t);return this._value=i,this._display=i??{h:0,m:0,s:0},this._writeInputs(),!e&&i&&this.emit("change",{time:{...i}}),this}openClock(t="h"){return this._clock?(this._clockOpen=!0,this._clockUnit=t==="m"?"m":"h",this._syncClock(),this):this}closeClock(){return this._clock?(this._clockOpen=!1,this._syncClock(),this):this}toggleClock(){return this._clockOpen?this.closeClock():this.openClock("h")}destroy(){this._content?.remove(),this._clock?.remove(),this._clock=null,super.destroy()}_addSpin(t,e,i,r){let n=a("input",{class:"zx-time-picker__spin",type:"text",role:"spinbutton",inputMode:"numeric",maxLength:2,autocomplete:"off",ariaLabel:i,ariaValueMin:"0",ariaValueMax:String(r),dataset:{segment:e}});this._inputs.push(n),t.append(n),this.listen(n,"focus",()=>n.select()),this.listen(n,"keydown",o=>this._onKeydown(o,e,r)),this.listen(n,"input",()=>this._onInput(n,e,r)),this.listen(n,"blur",()=>this._commitFromInputs())}_onKeydown(t,e,i){if(t.key!=="ArrowUp"&&t.key!=="ArrowDown")return;t.preventDefault();let r=t.key==="ArrowUp"?1:-1,n=e==="m"?Kn(this.options.step):1,o=xt(t.currentTarget.value,0,i),l=i+1,h=(o+r*n+l*n)%l;t.currentTarget.value=at(h),this._commitFromInputs()}_onInput(t,e,i){if(t.value=t.value.replace(/\D/g,"").slice(0,2),t.value.length<2)return;t.value=at(xt(t.value,0,i)),this._commitFromInputs();let r=this._inputs.indexOf(t);this._inputs[r+1]?.focus()}_commitFromInputs(){let t={h:0,m:0,s:0};for(let i of this._inputs){let r=i.dataset.segment,n=r==="h"?23:59;t[r]=xt(i.value,0,n)}let e=!this._value||!Yn(this._value,t);this._value=t,this._display=t,this._writeInputs(),e&&this.emit("change",{time:{...t}})}_writeInputs(){for(let t of this._inputs){let e=t.dataset.segment;t.value=at(this._display[e]),t.setAttribute("aria-valuenow",String(this._display[e])),t.setAttribute("aria-valuetext",t.value)}this._syncClock()}_buildClock(t){let e=a("div",{class:"zx-time-picker__clock",id:t,hidden:!0},a("div",{class:"zx-time-picker__clock-head"},a("button",{ref:"headHour",class:"zx-time-picker__clock-unit",type:"button",ariaLabel:"Select the hour",dataset:{unit:"h"}}),a("span",{class:"zx-time-picker__clock-colon",ariaHidden:"true"},":"),a("button",{ref:"headMinute",class:"zx-time-picker__clock-unit",type:"button",ariaLabel:"Select the minutes",dataset:{unit:"m"}})),a("div",{ref:"dial",class:"zx-time-picker__dial",role:"radiogroup"},a("span",{ref:"hand",class:"zx-time-picker__hand",ariaHidden:"true"}),a("span",{class:"zx-time-picker__pivot",ariaHidden:"true"})));return this.listen(this.refs.headHour,"click",()=>this.openClock("h")),this.listen(this.refs.headMinute,"click",()=>this.openClock("m")),this.listen(this.refs.dial,"click",i=>{let r=i.target.closest?.(".zx-time-picker__mark");r&&this._pick(Number(r.dataset.value))}),this.listen(this.refs.dial,"keydown",i=>this._onDialKeydown(i)),e}_pick(t){let e={...this._display,[this._clockUnit]:t},i=this._clockUnit==="h";this.set(e),i&&this.openClock("m")}_onDialKeydown(t){let e=[...this.refs.dial.querySelectorAll(".zx-time-picker__mark")],i=t.target.closest?.(".zx-time-picker__mark"),r=e.indexOf(i);if(r<0)return;let n={ArrowRight:1,ArrowDown:1,ArrowLeft:-1,ArrowUp:-1}[t.key],o=null;n!==void 0?o=(r+n+e.length)%e.length:t.key==="Home"?o=0:t.key==="End"&&(o=e.length-1),o!==null&&(t.preventDefault(),this._pick(Number(e[o].dataset.value)),this.refs.dial.querySelector(`[data-value="${e[o].dataset.value}"]`)?.focus())}_syncClock(){if(!this._clock)return;let t=this._clockUnit==="h";if(this._clock.hidden=!this._clockOpen,this.refs.clockToggle.setAttribute("aria-expanded",String(this._clockOpen)),this.refs.headHour.textContent=at(this._display.h),this.refs.headMinute.textContent=at(this._display.m),this.refs.headHour.setAttribute("aria-pressed",String(t)),this.refs.headMinute.setAttribute("aria-pressed",String(!t)),this.refs.dial.setAttribute("aria-label",t?"Hour":"Minutes"),!this._clockOpen)return;let e=t?this._display.h:this._display.m,i=t?Hn():qn(),r=this.refs.dial.querySelectorAll(".zx-time-picker__mark");if(r.length!==i.length||this.refs.dial.dataset.unit!==this._clockUnit){for(let l of r)l.remove();this.refs.dial.dataset.unit=this._clockUnit,this.refs.dial.append(...i.map(l=>this._buildMark(l,e)))}else i.forEach((l,h)=>this._syncMark(r[h],l,e));let n=t&&!$n(e)?"inner":"outer",o=t?e%12*30:e*6;this.refs.hand.dataset.ring=n,this.refs.hand.style.setProperty("--zx-clock-angle",`${o}deg`)}_buildMark(t,e){let i=a("button",{class:"zx-time-picker__mark",type:"button",role:"radio",dataset:{value:String(t.value),ring:t.ring}},t.label);return i.style.setProperty("--zx-clock-angle",`${t.angle}deg`),this._syncMark(i,t,e),i}_syncMark(t,e,i){let r=e.value===i;t.setAttribute("aria-checked",String(r)),t.tabIndex=r?0:-1}};function Hn(){let s=[];for(let t=1;t<=12;t+=1)s.push({value:t,label:String(t),angle:t%12*30,ring:"outer"});for(let t=0;t<12;t+=1){let e=t===0?0:12+t;s.push({value:e,label:at(e),angle:t*30,ring:"inner"})}return s}function qn(){let s=[];for(let t=0;t<60;t+=jn)s.push({value:t,label:at(t),angle:t*6,ring:"outer"});return s}function $n(s){return s>=1&&s<=12}function ks(s){return s instanceof Date&&!Number.isNaN(s.getTime())?{h:s.getHours(),m:s.getMinutes(),s:s.getSeconds()}:!s||typeof s!="object"?null:{h:xt(s.h,0,23),m:xt(s.m,0,59),s:xt(s.s,0,59)}}function xt(s,t,e){let i=Number.parseInt(String(s??""),10);return Number.isFinite(i)?Math.max(t,Math.min(e,i)):t}function Kn(s){let t=Math.round(Number(s));return Number.isFinite(t)&&t>0&&t<=59?t:5}function at(s){return String(s).padStart(2,"0")}function Yn(s,t){return s.h===t.h&&s.m===t.m&&s.s===t.s}var lt=class extends f{static cssName="date-picker";static defaults={value:null,min:null,max:null,weekStart:1,showWeekNumbers:!1,time:!1};render(){let t=this.el??a("div");this._min=$(pe(this.options.min)),this._max=$(pe(this.options.max)),this._value=this._normalizeValue(pe(this.options.value)),this._focused=$(this._value)??this._clampFocus($(new Date)),this._viewYear=this._focused.getFullYear(),this._viewMonth=this._focused.getMonth(),this._weekStart=Un(this.options.weekStart),this._quickOpen=!1,this._timePicker=null;let e=a("div",{class:"zx-date-picker__surface"},a("div",{class:"zx-date-picker__header"},a("button",{ref:"previous",class:"zx-date-picker__nav",type:"button",ariaLabel:"Previous month"},m("chevron-left")),a("button",{ref:"heading",class:"zx-date-picker__heading",type:"button",ariaExpanded:"false","aria-haspopup":"grid"}),a("button",{ref:"next",class:"zx-date-picker__nav",type:"button",ariaLabel:"Next month"},m("chevron-right"))),a("div",{ref:"quickPanel",class:"zx-date-picker__quick",hidden:!0},a("div",{class:"zx-date-picker__quick-header"},a("button",{ref:"quickPrevious",class:"zx-date-picker__nav",type:"button",ariaLabel:"Previous year"},m("chevron-left")),a("span",{ref:"quickYear",class:"zx-date-picker__quick-year",ariaLive:"polite"}),a("button",{ref:"quickNext",class:"zx-date-picker__nav",type:"button",ariaLabel:"Next year"},m("chevron-right"))),a("div",{ref:"quickGrid",class:"zx-date-picker__quick-grid",role:"grid"})),a("table",{ref:"grid",class:"zx-date-picker__grid",role:"grid",ariaLabel:"Calendar"},a("thead",{ref:"weekdays"}),a("tbody",{ref:"days"})));return this._content=e,t.append(e),this.listen(this.refs.previous,"click",()=>this._pageMonth(-1)),this.listen(this.refs.next,"click",()=>this._pageMonth(1)),this.listen(this.refs.heading,"click",()=>this._toggleQuickPick()),this.listen(this.refs.quickPrevious,"click",()=>this._stepQuickYear(-1)),this.listen(this.refs.quickNext,"click",()=>this._stepQuickYear(1)),this.listen(this.refs.quickGrid,"click",i=>this._onQuickClick(i)),this.listen(this.refs.quickGrid,"keydown",i=>this._onQuickKeydown(i)),this.listen(this.refs.days,"click",i=>this._onDayClick(i)),this.listen(this.refs.days,"keydown",i=>this._onDayKeydown(i)),this._renderWeekdays(),this._renderCalendar(),this.options.time&&(this._timePicker=new Ot(null,{value:this._value,seconds:!1}),this._timePicker.on("change",i=>{let r=i.detail.time,n=this._value??this._focused,o=new Date(n.getTime());o.setHours(r.h,r.m,r.s,0),this.set(o)}),e.append(this._timePicker.el)),t}get(){return Xe(this._value)}set(t,{silent:e=!1}={}){let i=this._normalizeValue(pe(t));return this._value=i,i&&(this._focused=$(i),this._viewYear=i.getFullYear(),this._viewMonth=i.getMonth()),this._timePicker?.set(i,{silent:!0}),this._renderCalendar(),e||this.emit("change",{date:Xe(this._value)}),this}focus(){return this._closeQuickPick(),this._buttonForDate(this._focused)?.focus(),this}destroy(){this._timePicker?.destroy(),this._timePicker=null,this._content?.remove(),super.destroy()}_normalizeValue(t){if(!t)return null;let e=new Date(t.getTime()),i=$(e);return this._min&&i<this._min&&As(e,this._min),this._max&&i>this._max&&As(e,this._max),e}_clampFocus(t){return this._min&&t<this._min?new Date(this._min.getTime()):this._max&&t>this._max?new Date(this._max.getTime()):t}_renderWeekdays(){let t=a("tr");this.options.showWeekNumbers&&t.append(a("th",{class:"zx-date-picker__week-heading",scope:"col",ariaLabel:"Week number"},"#"));let e=new Date(2023,0,1);for(let i=0;i<7;i+=1){let r=k(e,(this._weekStart+i)%7);t.append(a("th",{scope:"col",ariaLabel:v(r,"%A")},v(r,"%a")))}this.refs.weekdays.replaceChildren(t)}_renderCalendar(){if(!this.refs?.days)return;let t=new Date(this._viewYear,this._viewMonth,1),e=(t.getDay()-this._weekStart+7)%7,i=k(t,-e);this.refs.heading.textContent=v(t,"%B %Y"),this.refs.heading.setAttribute("aria-label",`Choose month and year, ${v(t,"%B %Y")}`);let r=[];for(let n=0;n<6;n+=1){let o=k(i,n*7),l=a("tr");this.options.showWeekNumbers&&l.append(a("th",{class:"zx-date-picker__week",scope:"row",ariaLabel:`Week ${Ss(o)}`},String(Ss(o))));for(let h=0;h<7;h+=1){let c=k(o,h),u=!!(this._value&&I(c,this._value)),d=!this._inRange(c),_=a("button",{class:"zx-date-picker__day",type:"button",role:"gridcell",tabindex:I(c,this._focused)?0:-1,ariaSelected:String(u),ariaDisabled:String(d),ariaCurrent:I(c,new Date)?"date":null,ariaLabel:`${v(c,"%e")} ${v(c,"%B %Y")}`,dataset:{date:v(c,"%Y-%m-%d"),otherMonth:c.getMonth()===this._viewMonth?null:"true"}},v(c,"%e"));l.append(a("td",{role:"presentation"},_))}r.push(l)}this.refs.days.replaceChildren(...r),this._quickOpen&&this._renderQuickPick()}_onDayClick(t){let e=t.target?.closest?.("[data-date]");if(!e||!this.refs.days.contains(e))return;let i=V(e.dataset.date,"%Y-%m-%d");i&&this._inRange(i)&&this._selectDate(i)}_onDayKeydown(t){let e=t.target?.closest?.("[data-date]");if(!e||!this.refs.days.contains(e))return;let i=V(e.dataset.date,"%Y-%m-%d");if(!i)return;let r=null;if(t.key==="ArrowLeft")r=k(i,-1);else if(t.key==="ArrowRight")r=k(i,1);else if(t.key==="ArrowUp")r=k(i,-7);else if(t.key==="ArrowDown")r=k(i,7);else if(t.key==="PageUp")r=st(i,t.shiftKey?-12:-1);else if(t.key==="PageDown")r=st(i,t.shiftKey?12:1);else if(t.key==="Home")r=k(i,-((i.getDay()-this._weekStart+7)%7));else if(t.key==="End")r=k(i,6-(i.getDay()-this._weekStart+7)%7);else if(t.key==="Enter"||t.key===" "){t.preventDefault(),this._inRange(i)&&this._selectDate(i);return}r&&(t.preventDefault(),this._moveFocus(r))}_moveFocus(t){let e=t.getFullYear()!==this._viewYear||t.getMonth()!==this._viewMonth;this._focused=$(t),this._viewYear=t.getFullYear(),this._viewMonth=t.getMonth(),this._renderCalendar(),e&&this._emitMonthChange(),this._buttonForDate(t)?.focus()}_selectDate(t){let e=new Date(t.getTime()),i=this._timePicker?.get();i?e.setHours(i.h,i.m,i.s,0):this._value&&e.setHours(this._value.getHours(),this._value.getMinutes(),this._value.getSeconds(),this._value.getMilliseconds());let r=e.getFullYear()!==this._viewYear||e.getMonth()!==this._viewMonth;this._value=e,this._focused=$(e),this._viewYear=e.getFullYear(),this._viewMonth=e.getMonth(),this._timePicker?.set(e,{silent:!0}),this._renderCalendar(),r&&this._emitMonthChange(),this.emit("change",{date:Xe(e)})}_pageMonth(t){this._closeQuickPick();let e=st(this._focused,t);this._focused=$(e),this._viewYear=e.getFullYear(),this._viewMonth=e.getMonth(),this._renderCalendar(),this._emitMonthChange()}_emitMonthChange(){this.emit("monthchange",{year:this._viewYear,month:this._viewMonth})}_toggleQuickPick(){if(this._quickOpen){this._closeQuickPick(),this.refs.heading.focus();return}this._quickOpen=!0,this.refs.quickPanel.hidden=!1,this.refs.heading.setAttribute("aria-expanded","true"),this._renderQuickPick(),this.refs.quickGrid.querySelector('[tabindex="0"]')?.focus()}_closeQuickPick(){this._quickOpen&&(this._quickOpen=!1,this.refs.quickPanel.hidden=!0,this.refs.heading.setAttribute("aria-expanded","false"))}_renderQuickPick(){this.refs.quickYear.textContent=String(this._viewYear);let t=[];for(let e=0;e<12;e+=1){let i=new Date(this._viewYear,e,1);t.push(a("button",{class:"zx-date-picker__quick-month",type:"button",role:"gridcell",tabindex:e===this._viewMonth?0:-1,ariaSelected:String(e===this._viewMonth),dataset:{month:e}},v(i,"%b")))}this.refs.quickGrid.replaceChildren(...t)}_stepQuickYear(t){this._viewYear+=t,this._renderQuickPick(),this._emitMonthChange(),this.refs.quickGrid.querySelector('[tabindex="0"]')?.focus()}_onQuickClick(t){let e=t.target?.closest?.("[data-month]");!e||!this.refs.quickGrid.contains(e)||this._chooseQuickMonth(Number(e.dataset.month))}_onQuickKeydown(t){let e=t.target?.closest?.("[data-month]");if(!e||!this.refs.quickGrid.contains(e))return;let i=Number(e.dataset.month),r=null;if(t.key==="ArrowLeft")r=i-1;else if(t.key==="ArrowRight")r=i+1;else if(t.key==="ArrowUp")r=i-3;else if(t.key==="ArrowDown")r=i+3;else if(t.key==="Home")r=0;else if(t.key==="End")r=11;else if(t.key==="Enter"||t.key===" "){t.preventDefault(),this._chooseQuickMonth(i);return}else if(t.key==="Escape"){t.preventDefault(),this._closeQuickPick(),this.refs.heading.focus();return}if(r===null)return;t.preventDefault(),r=Math.max(0,Math.min(11,r));let n=this.refs.quickGrid.querySelectorAll("[data-month]");for(let o of n)o.tabIndex=Number(o.dataset.month)===r?0:-1;n[r]?.focus()}_chooseQuickMonth(t){let e=new Date(this._viewYear,t,Math.min(this._focused.getDate(),new Date(this._viewYear,t+1,0).getDate()));this._focused=$(e),this._viewMonth=t,this._closeQuickPick(),this._renderCalendar(),this._emitMonthChange(),this.focus()}_inRange(t){let e=$(t);return!(this._min&&e<this._min)&&!(this._max&&e>this._max)}_buttonForDate(t){return this.refs.days.querySelector(`[data-date="${v(t,"%Y-%m-%d")}"]`)}};function pe(s){return s instanceof Date&&!Number.isNaN(s.getTime())?new Date(s.getTime()):null}function $(s){return s?new Date(s.getFullYear(),s.getMonth(),s.getDate()):null}function Xe(s){return s?new Date(s.getTime()):null}function As(s,t){s.setFullYear(t.getFullYear(),t.getMonth(),t.getDate())}function Un(s){let t=Number(s);return Number.isInteger(t)&&t>=0&&t<=6?t:It()}function Ss(s){let t=new Date(Date.UTC(s.getFullYear(),s.getMonth(),s.getDate())),e=t.getUTCDay()||7;t.setUTCDate(t.getUTCDate()+4-e);let i=new Date(Date.UTC(t.getUTCFullYear(),0,1));return Math.ceil(((t.getTime()-i.getTime())/864e5+1)/7)}var Ft=class extends lt{static cssName="month-picker";static defaults={value:null,min:null,max:null};render(){let t=this.el??a("div");this._min=_e(fe(this.options.min)),this._max=_e(fe(this.options.max)),this._value=this._normalizeMonth(fe(this.options.value));let e=this._value??_e(new Date);this._year=e.getFullYear(),this._focusedMonth=e.getMonth();let i=a("div",{class:"zx-month-picker__surface"},a("div",{class:"zx-month-picker__header"},a("button",{ref:"previousYear",class:"zx-month-picker__nav",type:"button",ariaLabel:"Previous year"},m("chevron-left")),a("span",{ref:"year",class:"zx-month-picker__year",ariaLive:"polite"}),a("button",{ref:"nextYear",class:"zx-month-picker__nav",type:"button",ariaLabel:"Next year"},m("chevron-right"))),a("div",{ref:"grid",class:"zx-month-picker__grid",role:"grid",ariaLabel:"Choose month"}));return this._content=i,t.append(i),this.listen(this.refs.previousYear,"click",()=>this._stepYear(-1)),this.listen(this.refs.nextYear,"click",()=>this._stepYear(1)),this.listen(this.refs.grid,"click",r=>this._onMonthClick(r)),this.listen(this.refs.grid,"keydown",r=>this._onMonthKeydown(r)),this._renderMonths(),t}get(){return this._value?new Date(this._value.getTime()):null}set(t,{silent:e=!1}={}){return this._value=this._normalizeMonth(fe(t)),this._value&&(this._year=this._value.getFullYear(),this._focusedMonth=this._value.getMonth()),this._renderMonths(),e||this.emit("change",{date:this.get()}),this}focus(){return this._button(this._focusedMonth)?.focus(),this}destroy(){this._content?.remove(),super.destroy()}_normalizeMonth(t){if(!t)return null;let e=_e(t);return this._min&&e<this._min&&(e=new Date(this._min.getTime())),this._max&&e>this._max&&(e=new Date(this._max.getTime())),e}_renderMonths(){if(!this.refs?.grid)return;this.refs.year.textContent=String(this._year);let t=[];for(let e=0;e<12;e+=1){let i=new Date(this._year,e,1),r=!!(this._value&&Wn(i,this._value));t.push(a("button",{class:"zx-month-picker__month",type:"button",role:"gridcell",tabindex:e===this._focusedMonth?0:-1,ariaSelected:String(r),ariaDisabled:String(!this._inRange(i)),ariaLabel:v(i,"%B %Y"),dataset:{month:e}},v(i,"%b")))}this.refs.grid.replaceChildren(...t)}_stepYear(t){this._year+=t,this._renderMonths()}_onMonthClick(t){let e=t.target?.closest?.("[data-month]");!e||!this.refs.grid.contains(e)||this._selectMonth(Number(e.dataset.month))}_onMonthKeydown(t){let e=t.target?.closest?.("[data-month]");if(!e||!this.refs.grid.contains(e))return;let i=Number(e.dataset.month),r=null;if(t.key==="ArrowLeft")r=-1;else if(t.key==="ArrowRight")r=1;else if(t.key==="ArrowUp")r=-3;else if(t.key==="ArrowDown")r=3;else if(t.key==="Home")r=-(i%3);else if(t.key==="End")r=2-i%3;else if(t.key==="PageUp"){t.preventDefault(),this._stepYear(-1),this.focus();return}else if(t.key==="PageDown"){t.preventDefault(),this._stepYear(1),this.focus();return}else if(t.key==="Enter"||t.key===" "){t.preventDefault(),this._selectMonth(i);return}if(r===null)return;t.preventDefault();let n=this._year*12+i+r;this._year=Math.floor(n/12),this._focusedMonth=(n%12+12)%12,this._renderMonths(),this.focus()}_selectMonth(t){let e=new Date(this._year,t,1);this._inRange(e)&&(this._focusedMonth=t,this._value=e,this._renderMonths(),this.emit("change",{date:this.get()}))}_inRange(t){return!(this._min&&t<this._min)&&!(this._max&&t>this._max)}_button(t){return this.refs.grid.querySelector(`[data-month="${t}"]`)}};function fe(s){return s instanceof Date&&!Number.isNaN(s.getTime())?new Date(s.getTime()):null}function _e(s){return s?new Date(s.getFullYear(),s.getMonth(),1):null}function Wn(s,t){return s.getFullYear()===t.getFullYear()&&s.getMonth()===t.getMonth()}function zs(){x.register("month",(s,t)=>{let e=s.own(new Ft(null,{...t.props??{},value:t.value})),i=!1,r=()=>{e.el.setAttribute("aria-disabled",String(i));for(let n of e.el.querySelectorAll("button"))n.disabled=i};return s.listen(e.el,"change",n=>n.stopImmediatePropagation()),e.on("change",n=>s.emit("change",{value:n.detail.date})),{el:e.el,get:()=>e.get(),set:n=>{e.set(n instanceof Date?n:null,{silent:!0}),r()},focus:()=>e.focus(),setDisabled:n=>{i=!!n,r()}}})}var Gn=new Set(["bottom-start","bottom-end","top-start","top-end","bottom","top"]);function j(s,t,e={}){if(!(s instanceof Element)||!(t instanceof HTMLElement))throw new TypeError("position() requires an Element anchor and HTMLElement floating element");let i=Gn.has(e.placement)?e.placement:"bottom-start",r=Number(e.offset??4),n=e.flip??!0,o=e.matchWidth??!1,l=s.getAttribute("style"),h=t.getAttribute("style"),c=t.getAttribute("popover"),u=!1,d=null,_=()=>{},p=()=>{};if(t.setAttribute("popover","manual"),typeof CSS<"u"&&CSS.supports?.("anchor-name: --zx-a")){let y=`--${b("zx-a")}`;s.style.setProperty("anchor-name",y),t.style.position="fixed",t.style.inset="auto",t.style.margin="0",t.style.setProperty("position-anchor",y),t.style.setProperty("position-area",Cs(i)),t.style.setProperty("inset-area",Cs(i)),t.style.setProperty("position-try-fallbacks",n?"flip-block, flip-inline, flip-block flip-inline":"none"),t.style.setProperty(i.startsWith("top")?"margin-block-end":"margin-block-start",`${r}px`),_=()=>{o&&(t.style.minWidth=`${s.getBoundingClientRect().width}px`)},typeof ResizeObserver=="function"&&(d=new ResizeObserver(_),d.observe(s))}else t.style.position="fixed",t.style.inset="auto",t.style.margin="0",_=()=>Qn(s,t,{placement:i,offset:r,flip:n,matchWidth:o}),window.addEventListener("scroll",_,{capture:!0,passive:!0}),window.addEventListener("resize",_,{passive:!0}),typeof ResizeObserver=="function"&&(d=new ResizeObserver(_),d.observe(s)),p=()=>{window.removeEventListener("scroll",_,!0),window.removeEventListener("resize",_)};return Jn(t),_(),{update(){u||_()},destroy(){u||(u=!0,d?.disconnect(),p(),Xn(t),Ze(s,"style",l),Ze(t,"style",h),Ze(t,"popover",c))}}}function Cs(s){return{"bottom-start":"block-end span-inline-end","bottom-end":"block-end span-inline-start","top-start":"block-start span-inline-end","top-end":"block-start span-inline-start",bottom:"block-end",top:"block-start"}[s]}function Qn(s,t,{placement:e,offset:i,flip:r,matchWidth:n}){let o=s.getBoundingClientRect();n&&(t.style.minWidth=`${o.width}px`);let l=t.getBoundingClientRect(),h=document.documentElement.clientWidth||window.innerWidth,c=document.documentElement.clientHeight||window.innerHeight,u=e,d=e.startsWith("bottom"),_=o.bottom+i,p=o.top-i-l.height;r&&(d&&_+l.height>c&&p>=0?u=e.replace("bottom","top"):!d&&p<0&&_+l.height<=c&&(u=e.replace("top","bottom")));let g;u.endsWith("-end")?g=o.right-l.width:u.endsWith("-start")?g=o.left:g=o.left+(o.width-l.width)/2;let y=u.startsWith("bottom")?_:p;t.style.left=`${Math.round(R(g,0,Math.max(0,h-l.width)))}px`,t.style.top=`${Math.round(R(y,0,Math.max(0,c-l.height)))}px`}function Jn(s){if(typeof s.showPopover=="function")try{s.showPopover()}catch{}}function Xn(s){if(typeof s.hidePopover=="function")try{s.hidePopover()}catch{}}function Ze(s,t,e){e===null?s.removeAttribute(t):s.setAttribute(t,e)}var Zn=6,Is=864e5;function vt(s,t){let e=B(ht(s)),i=B(ht(t));return e&&i&&e.getTime()>i.getTime()?{start:i,end:e}:{start:e,end:i}}function Lt(s,t){let e=vt(s,t);return!e.start||!e.end?0:Math.round((Ds(e.end)-Ds(e.start))/Is)}function Os(s,t,e){let i=B(ht(s));if(!i)return null;let r=vt(t,e);return!r.start&&!r.end?null:r.end?r.start?i.getTime()<r.start.getTime()||i.getTime()>r.end.getTime()?null:I(i,r.start)?"start":I(i,r.end)?"end":"middle":I(i,r.end)?"end":null:I(i,r.start)?"start":null}function Rt(s,t={}){let e=B(ht(t.min)),i=B(ht(t.max)),r=me(t.minNights)??0,n=me(t.maxNights),{start:o,end:l}=vt(s?.start,s?.end);return o&&(o=ei(o,e,i)),l&&(l=ei(l,e,i)),!o||!l?{start:o,end:l}:(n!==null&&Lt(o,l)>n&&(l=k(o,n)),r>0&&Lt(o,l)<r&&(l=k(o,r),i&&l.getTime()>i.getTime()&&(l=new Date(i.getTime()),o=k(l,-r),e&&o.getTime()<e.getTime()))?{start:null,end:null}:{start:o,end:l})}var Vt=class extends f{static cssName="date-range-picker";static defaults={start:null,end:null,min:null,max:null,months:2,weekStart:1,showWeekNumbers:!1,minNights:0,maxNights:null,presets:[],disabled:!1};render(){let t=this.el??a("div");this.el=t,this._rootAttributes=no(t,["role","aria-label","aria-disabled","data-months","data-presets"]),this._min=B(ht(this.options.min)),this._max=B(ht(this.options.max)),this._minNights=me(this.options.minNights)??0,this._maxNights=me(this.options.maxNights),this._weekStart=io(this.options.weekStart),this._monthCount=so(this.options.months),this._presets=eo(this.options.presets),this._disabled=!!this.options.disabled,this._hover=null,this._dayCells=[];let e=Rt({start:this.options.start,end:this.options.end},this._bounds());this._start=e.start,this._end=e.end,this._picking=!!(e.start&&!e.end),this._remember(),this._focused=rt(this._start)??this._clampFocus(B(new Date)),this._viewYear=this._focused.getFullYear(),this._viewMonth=this._focused.getMonth(),t.setAttribute("role","group"),t.setAttribute("aria-label",D("daterange.label","Date range")),t.dataset.months=String(this._monthCount),this._presets.length&&(t.dataset.presets="true");let i=a("div",{class:"zx-date-range-picker__surface"},this._presets.length?a("div",{ref:"presets",class:"zx-date-range-picker__presets",role:"group",ariaLabel:D("daterange.presets","Date range presets")},this._presets.map(n=>a("button",{class:"zx-date-range-picker__preset",type:"button",dataset:{preset:n.name}},n.label))):null,a("div",{ref:"calendars",class:"zx-date-range-picker__calendars"})),r=a("div",{ref:"status",class:"zx-date-range-picker__status",role:"status",ariaLive:"polite"});return this._nodes=[i,r],t.append(i,r),this.refs.presets&&this.listen(this.refs.presets,"click",n=>this._onPresetClick(n)),this.listen(this.refs.calendars,"click",n=>this._onCalendarClick(n)),this.listen(this.refs.calendars,"keydown",n=>this._onDayKeydown(n)),this.listen(this.refs.calendars,"mouseover",n=>this._onDayHover(n)),this.listen(this.refs.calendars,"mouseleave",()=>this._setHover(null)),this._renderCalendars(),this._announce(),t}get(){return{start:rt(this._start),end:rt(this._end)}}set(t={},{silent:e=!1}={}){let i=Rt({start:t?.start??null,end:t?.end??null},this._bounds());return this._start=i.start,this._end=i.end,this._picking=!!(i.start&&!i.end),this._remember(),this._hover=null,i.start?(this._focused=rt(i.start),this._setView(i.start)):this._paint(),this._announce(),e||this.emit("change",this.get()),this}clear({silent:t=!1}={}){return this.set({start:null,end:null},{silent:t})}focus(){return this._buttonForDate(this._focused)?.focus(),this}enable(){return this._disabled=!1,this._paint(),this._syncDisabled(),this}disable(){return this._disabled=!0,this._hover=null,this._paint(),this._syncDisabled(),this}destroy(){for(let t of this._nodes??[])t.remove();this._nodes=[],this._dayCells=[],oo(this.el,this._rootAttributes??new Map),super.destroy()}_bounds(){return{min:this._min,max:this._max,minNights:this._minNights,maxNights:this._maxNights}}_selectable(t){let e=B(t);if(!e||this._min&&e.getTime()<this._min.getTime()||this._max&&e.getTime()>this._max.getTime())return!1;if(!this._picking||!this._start||e.getTime()<=this._start.getTime())return!0;let i=Lt(this._start,e);return!(i<this._minNights||this._maxNights!==null&&i>this._maxNights)}_choose(t){let e=B(t);if(this._disabled||!e||!this._selectable(e))return;this._picking&&this._start&&e.getTime()>this._start.getTime()?(this._end=e,this._picking=!1,this._remember()):(this._start=e,this._end=null,this._picking=!0),this._focused=e,this._hover=null,this._paint(),this._announce(),this.emit("select",this.get()),this._picking||this.emit("change",this.get())}_remember(){let t=!!(this._start&&this._end);this._committedStart=t?rt(this._start):null,this._committedEnd=t?rt(this._end):null}_abandon(){return this._picking?(this._start=rt(this._committedStart),this._end=rt(this._committedEnd),this._picking=!1,this._hover=null,this._paint(),this._announce(),this.emit("select",this.get()),!0):!1}_clampFocus(t){return ei(t,this._min,this._max)}_visibleMonthCount(){let t=this.refs.calendars?.children??[],e=0;for(let i of t)i.getClientRects().length>0&&(e+=1);return e||this._monthCount}_setView(t){let e=t.getFullYear()!==this._viewYear||t.getMonth()!==this._viewMonth;if(this._viewYear=t.getFullYear(),this._viewMonth=t.getMonth(),!e){this._paint();return}this._renderCalendars(),this._emitMonthChange()}_ensureVisible(t){let e=this._visibleMonthCount(),i=Es(t)-(this._viewYear*12+this._viewMonth);if(i>=0&&i<e)return!1;let r=i<0?i:i-(e-1),n=new Date(this._viewYear,this._viewMonth+r,1);return this._viewYear=n.getFullYear(),this._viewMonth=n.getMonth(),!0}_pageView(t){if(this._disabled)return;let e=new Date(this._viewYear,this._viewMonth+t,1);this._viewYear=e.getFullYear(),this._viewMonth=e.getMonth(),this._focused=this._focusInView(this._focused),this._renderCalendars(),this._emitMonthChange()}_focusInView(t){let e=this._visibleMonthCount(),i=Es(t)-(this._viewYear*12+this._viewMonth);if(i>=0&&i<e)return t;let r=new Date(this._viewYear,this._viewMonth+1,0).getDate();return new Date(this._viewYear,this._viewMonth,Math.min(t.getDate(),r))}_moveFocus(t){let e=B(t);this._focused=e,this._ensureVisible(e)?(this._renderCalendars(),this._emitMonthChange()):this._paint(),this._buttonForDate(e)?.focus()}_emitMonthChange(){this.emit("monthchange",{year:this._viewYear,month:this._viewMonth})}_onPresetClick(t){let e=t.target?.closest?.("[data-preset]");if(!e||this._disabled)return;let i=this._presets.find(n=>n.name===e.dataset.preset);if(!i)return;let r=i.range();this.set({start:r?.start??null,end:r?.end??null},{silent:!0}),this.emit("select",this.get()),this.emit("change",this.get())}_onCalendarClick(t){let e=t.target,i=e?.closest?.("[data-nav]");if(i){this._pageView(i.dataset.nav==="next"?1:-1);return}let r=this._cellFor(e);r&&this._choose(r.date)}_onDayHover(t){let e=this._cellFor(t.target);this._setHover(e?e.date:null)}_setHover(t){if(this._disabled||!this._picking)return;let e=t?B(t):null;!e&&!this._hover||e&&this._hover&&I(e,this._hover)||(this._hover=e,this._paint())}_onDayKeydown(t){let e=this._cellFor(t.target);if(!e)return;let i=e.date,r=null;if(t.key==="ArrowLeft")r=k(i,-1);else if(t.key==="ArrowRight")r=k(i,1);else if(t.key==="ArrowUp")r=k(i,-7);else if(t.key==="ArrowDown")r=k(i,7);else if(t.key==="PageUp")r=st(i,t.shiftKey?-12:-1);else if(t.key==="PageDown")r=st(i,t.shiftKey?12:1);else if(t.key==="Home")r=k(i,-((i.getDay()-this._weekStart+7)%7));else if(t.key==="End")r=k(i,6-(i.getDay()-this._weekStart+7)%7);else if(t.key==="Enter"||t.key===" "){t.preventDefault(),this._choose(i);return}else if(t.key==="Escape"){if(!this._abandon())return;t.preventDefault(),t.stopPropagation();return}!r||this._disabled||(t.preventDefault(),this._moveFocus(r))}_renderCalendars(){if(!this.refs?.calendars)return;this._dayCells=[];let t=[];for(let e=0;e<this._monthCount;e+=1)t.push(this._renderMonth(new Date(this._viewYear,this._viewMonth+e,1)));this.refs.calendars.replaceChildren(...t),this._paint(),this._syncDisabled()}_renderMonth(t){let e=v(t,"%B %Y"),i=(t.getDay()-this._weekStart+7)%7,r=k(t,-i),n=[];for(let o=0;o<Zn;o+=1){let l=k(r,o*7),h=a("tr"),c=ro(l,t);this.options.showWeekNumbers&&h.append(a("th",{class:"zx-date-range-picker__week",scope:"row",ariaLabel:c?D("daterange.week","Week %1",[Ms(l)]):null},c?String(Ms(l)):""));for(let u=0;u<7;u+=1){let d=k(l,u),_=a("td",{role:"presentation"});if(d.getMonth()===t.getMonth()&&d.getFullYear()===t.getFullYear()){let p=a("button",{class:"zx-date-range-picker__day",type:"button",role:"gridcell",tabindex:-1,dataset:{date:v(d,"%Y-%m-%d")}},v(d,"%e"));_.append(p),this._dayCells.push({date:d,cell:_,button:p})}h.append(_)}n.push(h)}return a("div",{class:"zx-date-range-picker__month"},a("div",{class:"zx-date-range-picker__header"},a("button",{class:"zx-date-range-picker__nav",type:"button",dataset:{nav:"previous"},ariaLabel:D("daterange.previousMonth","Previous month")},m("chevron-left")),a("div",{class:"zx-date-range-picker__caption",ariaHidden:"true"},e),a("button",{class:"zx-date-range-picker__nav",type:"button",dataset:{nav:"next"},ariaLabel:D("daterange.nextMonth","Next month")},m("chevron-right"))),a("table",{class:"zx-date-range-picker__grid",role:"grid",ariaLabel:e},a("thead",{},this._weekdayRow()),a("tbody",{},...n)))}_weekdayRow(){let t=a("tr");this.options.showWeekNumbers&&t.append(a("th",{class:"zx-date-range-picker__week-heading",scope:"col",ariaLabel:D("daterange.weekNumber","Week number")},"#"));let e=new Date(2023,0,1);for(let i=0;i<7;i+=1){let r=k(e,(this._weekStart+i)%7);t.append(a("th",{scope:"col",ariaLabel:v(r,"%A")},v(r,"%a")))}return t}_paint(){let t=new Date,e=null;for(let i of this._dayCells)I(i.date,this._focused)&&(e=i);e||(e=this._dayCells[0]??null);for(let i of this._dayCells){let{date:r,cell:n,button:o}=i,l=this._dayState(r);ti(n,"range",l.range),ti(n,"rangeEdge",l.edge),ti(o,"range",l.range),o.tabIndex=i===e?0:-1,o.setAttribute("aria-selected",String(l.range!==null&&l.range!=="preview")),o.setAttribute("aria-disabled",String(!this._selectable(r))),o.setAttribute("aria-label",this._dayLabel(r,l.range)),I(r,t)?o.setAttribute("aria-current","date"):o.removeAttribute("aria-current")}}_dayState(t){if(this._start&&this._end){let i=Os(t,this._start,this._end);if(!i)return{range:null,edge:null};let r=I(this._start,this._end);return i==="start"?{range:i,edge:r?"both":"start"}:i==="end"?{range:i,edge:r?"both":"end"}:{range:i,edge:null}}if(!this._start)return{range:null,edge:null};let e=this._previewEnd();return I(t,this._start)?{range:"start",edge:e?"start":"both"}:e?t.getTime()>this._start.getTime()&&t.getTime()<=e.getTime()?{range:"preview",edge:I(t,e)?"end":null}:{range:null,edge:null}:{range:null,edge:null}}_previewEnd(){if(!this._picking||!this._start||this._disabled)return null;let t=this._hover??this._focused;if(!t)return null;let e=B(t);return e.getTime()<=this._start.getTime()?null:this._selectable(e)?e:null}_dayLabel(t,e){let i=v(t,"%A, %e %B %Y");return e==="start"?`${i}, ${D("daterange.day.start","range start")}`:e==="end"?`${i}, ${D("daterange.day.end","range end")}`:e==="middle"?`${i}, ${D("daterange.day.middle","in selected range")}`:i}_syncDisabled(){this.el.setAttribute("aria-disabled",String(this._disabled));for(let t of this.el.querySelectorAll("button"))t.disabled=this._disabled}_announce(){this.refs?.status&&(this.refs.status.textContent=this._selectionLabel())}_selectionLabel(){if(!this._start)return D("daterange.status.empty","No date range selected");if(!this._end)return D("daterange.status.start","%1 selected, choose an end date",[v(this._start,"%e %B %Y")]);let t=Lt(this._start,this._end),e=t===1?D("daterange.night","1 night"):D("daterange.nights","%1 nights",[t]);return`${to(this._start,this._end)}, ${e}`}_cellFor(t){let e=t?.closest?.("[data-date]");return e?this._dayCells.find(i=>i.button===e)??null:null}_buttonForDate(t){return this._dayCells.find(e=>I(e.date,t))?.button??null}};function Fs(){return[{name:"today",label:D("daterange.preset.today","Today"),range:()=>Ts(J())},{name:"yesterday",label:D("daterange.preset.yesterday","Yesterday"),range:()=>Ts(k(J(),-1))},{name:"last7",label:D("daterange.preset.last7","Last 7 days"),range:()=>({start:k(J(),-6),end:J()})},{name:"last30",label:D("daterange.preset.last30","Last 30 days"),range:()=>({start:k(J(),-29),end:J()})},{name:"thisMonth",label:D("daterange.preset.thisMonth","This month"),range:()=>Ns(J(),0)},{name:"lastMonth",label:D("daterange.preset.lastMonth","Last month"),range:()=>Ns(J(),-1)},{name:"thisQuarter",label:D("daterange.preset.thisQuarter","This quarter"),range:()=>{let s=J(),t=Math.floor(s.getMonth()/3)*3;return{start:new Date(s.getFullYear(),t,1),end:new Date(s.getFullYear(),t+3,0)}}},{name:"thisYear",label:D("daterange.preset.thisYear","This year"),range:()=>{let s=J();return{start:new Date(s.getFullYear(),0,1),end:new Date(s.getFullYear(),11,31)}}}]}function D(s,t,e){let i=G(s);return E(i===s?t:i,e)}function to(s,t){if(I(s,t))return v(s,"%e %B %Y");let e=v(t,"%e %B %Y");return s.getFullYear()!==t.getFullYear()?`${v(s,"%e %B %Y")} \u2013 ${e}`:s.getMonth()!==t.getMonth()?`${v(s,"%e %B")} \u2013 ${e}`:`${v(s,"%e")} \u2013 ${e}`}function eo(s){return s===!0?Fs():Array.isArray(s)?s.filter(t=>t&&typeof t.range=="function").map((t,e)=>({name:String(t.name??`preset-${e}`),label:String(t.label??t.name??""),range:t.range})):[]}function J(){return B(new Date)}function Ts(s){return{start:s,end:new Date(s.getTime())}}function Ns(s,t){return{start:new Date(s.getFullYear(),s.getMonth()+t,1),end:new Date(s.getFullYear(),s.getMonth()+t+1,0)}}function ht(s){return s instanceof Date&&!Number.isNaN(s.getTime())?new Date(s.getTime()):null}function B(s){return!s||Number.isNaN(s.getTime())?null:new Date(s.getFullYear(),s.getMonth(),s.getDate())}function rt(s){return s?new Date(s.getTime()):null}function ei(s,t,e){return t&&s.getTime()<t.getTime()?new Date(t.getTime()):e&&s.getTime()>e.getTime()?new Date(e.getTime()):new Date(s.getTime())}function Ds(s){return Date.UTC(s.getFullYear(),s.getMonth(),s.getDate())}function Es(s){return s.getFullYear()*12+s.getMonth()}function me(s){if(s==null||s==="")return null;let t=Number(s);return Number.isFinite(t)?Math.max(0,Math.trunc(t)):null}function io(s){let t=Number(s);return Number.isInteger(t)&&t>=0&&t<=6?t:It()}function so(s){let t=Number(s);return Number.isInteger(t)&&t>=1&&t<=4?t:2}function ro(s,t){for(let e=0;e<7;e+=1){let i=k(s,e);if(i.getMonth()===t.getMonth()&&i.getFullYear()===t.getFullYear())return!0}return!1}function Ms(s){let t=new Date(Date.UTC(s.getFullYear(),s.getMonth(),s.getDate())),e=t.getUTCDay()||7;t.setUTCDate(t.getUTCDate()+4-e);let i=new Date(Date.UTC(t.getUTCFullYear(),0,1));return Math.ceil(((t.getTime()-i.getTime())/Is+1)/7)}function ti(s,t,e){e==null?delete s.dataset[t]:s.dataset[t]=e}function no(s,t){return new Map(t.map(e=>[e,s.getAttribute(e)]))}function oo(s,t){for(let[e,i]of t)i===null?s.removeAttribute(e):s.setAttribute(e,i)}var ao={"%d":"DD","%e":"D","%m":"MM","%Y":"YYYY","%y":"YY"};function si(s,t,e){let i=String(s??"").trim();if(i==="")return{start:null,end:null};let r=String(e??" \u2013 "),n=r.trim(),o=n!==""&&String(t).includes(n)&&/^\s|\s$/.test(r),l=o?"\\s+":"\\s*",h=o?"(?:\\s+|$)":"\\s*",c=n===""?[i]:i.split(new RegExp(`${l}${Dt(n)}${h}`));if(c.length>2)return null;let u=V(c[0].trim(),t);if(!u)return null;if(c.length===1)return{start:u,end:new Date(u.getTime())};if(c[1].trim()==="")return{start:u,end:null};let d=V(c[1].trim(),t);return d?vt(u,d):null}function Rs(s,t,e){let i=s?.start??null,r=s?.end??null;return!i&&!r?"":r?i?`${v(i,t)}${e}${v(r,t)}`:v(r,t):v(i,t)}var Bt=class extends f{static cssName="date-range-box";static defaults={start:null,end:null,format:"%d.%m.%Y",separator:" \u2013 ",placeholder:null,clearable:!0,min:null,max:null,months:2,weekStart:1,showWeekNumbers:!1,minNights:0,maxNights:null,presets:[],disabled:!1};render(){let t=this.el??a("div");this.el=t,this._originalState=t.getAttribute("data-state"),this._originalAriaDisabled=t.getAttribute("aria-disabled"),this._format=String(this.options.format||"%d.%m.%Y"),this._separator=String(this.options.separator??" \u2013 "),this._disabled=!!this.options.disabled,this._open=!1,this._position=null,this._range=this._coerce({start:this.options.start,end:this.options.end});let e=b("zx-date-range-box-popover"),i=a("div",{class:"zx-date-range-box__content"},a("div",{ref:"control",class:"zx-date-range-box__control"},a("input",{ref:"input",class:"zx-date-range-box__input",type:"text",autocomplete:"off",placeholder:this.options.placeholder??this._placeholder(),"aria-haspopup":"grid",ariaControls:e,ariaExpanded:"false"}),a("button",{ref:"clear",class:"zx-icon-btn zx-date-range-box__clear",type:"button",ariaLabel:Ls("daterange.clear","Clear date range")},m("x",{size:13})),a("button",{ref:"toggle",class:"zx-date-range-box__toggle",type:"button",ariaLabel:Ls("daterange.choose","Choose date range"),"aria-haspopup":"grid",ariaControls:e,ariaExpanded:"false"},m("calendar"))),a("div",{ref:"popover",id:e,class:"zx-date-range-box__popover",popover:"manual",dataset:{state:"closed"}}));return this._content=i,t.append(i),this._picker=new Vt(null,{start:this._range.start,end:this._range.end,min:this.options.min,max:this.options.max,months:this.options.months,weekStart:this.options.weekStart,showWeekNumbers:this.options.showWeekNumbers,minNights:this.options.minNights,maxNights:this.options.maxNights,presets:this.options.presets}),this.refs.popover.append(this._picker.el),this._picker.on("select",r=>{this._range={start:r.detail.start,end:r.detail.end},this._setValid(),this._syncDisplay()}),this._picker.on("change",r=>{this._apply({start:r.detail.start,end:r.detail.end},{push:!1}),r.detail.start&&r.detail.end&&this._close(!0)}),this.listen(this.refs.input,"blur",()=>{this._open||this._commitText()}),this.listen(this.refs.input,"keydown",r=>this._onInputKeydown(r)),this.listen(this.refs.toggle,"click",()=>this._open?this.close():this.open()),this.listen(this.refs.toggle,"keydown",r=>{r.key==="ArrowDown"&&(r.preventDefault(),this.open())}),this.listen(this.refs.clear,"click",()=>{this.clear(),this.focus()}),this.listen(document,"keydown",r=>{!this._open||r.key!=="Escape"||(r.preventDefault(),this._close(!0))}),this.listen(document,"pointerdown",r=>{this._open&&!t.contains(r.target)&&this.close()}),this._syncDisplay(),this._syncDisabled(),t}get(t="date"){return t==="seconds"?{start:this._range.start?Math.floor(this._range.start.getTime()/1e3):null,end:this._range.end?Math.floor(this._range.end.getTime()/1e3):null}:{start:this._range.start?new Date(this._range.start.getTime()):null,end:this._range.end?new Date(this._range.end.getTime()):null}}set(t,{silent:e=!1}={}){return this._apply(this._coerce(t),{silent:e}),this}clear({silent:t=!1}={}){return this.set({start:null,end:null},{silent:t})}open(){return this._disabled||this._open?this:(this._picker.set(this._range,{silent:!0}),this._open=!0,this.refs.popover.dataset.state="open",this.refs.input.setAttribute("aria-expanded","true"),this.refs.toggle.setAttribute("aria-expanded","true"),this._position=j(this.refs.control,this.refs.popover,{placement:"bottom-start",flip:!0}),this._picker.focus(),this.emit("open"),this)}close(){return this._close(!1),this}enable(){return this._disabled=!1,this._syncDisabled(),this}disable(){return this._disabled=!0,this.close(),this._syncDisabled(),this}focus(){return this.refs.input.focus(),this}destroy(){this._position?.destroy(),this._position=null,this._open=!1,this._picker?.destroy(),this._picker=null,this._content?.remove(),ii(this.el,"data-state",this._originalState),ii(this.el,"aria-disabled",this._originalAriaDisabled),super.destroy()}_apply(t,{silent:e=!1,push:i=!0}={}){this._range=t,i&&this._picker?.set(this._range,{silent:!0}),this._setValid(),this._syncDisplay(),e||this.emit("change",this.get())}_onInputKeydown(t){t.key==="ArrowDown"?(t.preventDefault(),this.open()):t.key==="Enter"?(t.preventDefault(),this._commitText()):t.key==="Escape"&&this._open&&(t.preventDefault(),this._close(!0))}_commitText(){if(this._disabled)return;let t=this.refs.input.value.trim();if(t===""){this.set({start:null,end:null});return}let e=si(t,this._format,this._separator);if(!e){this.el.dataset.state="invalid",this.refs.input.setAttribute("aria-invalid","true"),this.emit("invalid",{text:t});return}this._apply(this._clamp(e))}_coerce(t){return t==null?{start:null,end:null}:typeof t=="string"?this._clamp(si(t,this._format,this._separator)??{start:null,end:null}):Array.isArray(t)?this._clamp({start:this._toDate(t[0]),end:this._toDate(t[1])}):typeof t!="object"?{start:null,end:null}:this._clamp({start:this._toDate(t.start),end:this._toDate(t.end)})}_toDate(t){return t instanceof Date?Number.isNaN(t.getTime())?null:new Date(t.getTime()):typeof t=="number"&&Number.isFinite(t)?new Date(t*1e3):typeof t=="string"&&t.trim()!==""?V(t.trim(),this._format):null}_clamp(t){return Rt(t,{min:this.options.min,max:this.options.max,minNights:this.options.minNights,maxNights:this.options.maxNights})}_placeholder(){let t=this._format.replace(/%[demYy]/g,e=>ao[e]??e);return`${t}${this._separator}${t}`}_syncDisplay(){this.refs.input.value=Rs(this._range,this._format,this._separator),this.refs.clear.hidden=!this.options.clearable||!(this._range.start||this._range.end)}_syncDisabled(){this.refs.input.disabled=this._disabled,this.refs.toggle.disabled=this._disabled,this.refs.clear.disabled=this._disabled,this.el.setAttribute("aria-disabled",String(this._disabled)),this._disabled?this._picker?.disable():this._picker?.enable()}_setValid(){this.el.dataset.state==="invalid"&&ii(this.el,"data-state",this._originalState),this.refs.input.removeAttribute("aria-invalid")}_close(t){this._open&&(this._position?.destroy(),this._position=null,this._open=!1,this.refs.popover.dataset.state="closed",this.refs.input.setAttribute("aria-expanded","false"),this.refs.toggle.setAttribute("aria-expanded","false"),t&&this.focus(),this.emit("close"))}};function Ls(s,t,e){let i=G(s);return E(i===s?t:i,e)}function ii(s,t,e){e===null?s.removeAttribute(t):s.setAttribute(t,e)}function Vs(){x.register("daterange",(s,t)=>{let e=s.own(new Bt(null,{...t.props??{},disabled:!!t.disabled,start:t.value?.start??null,end:t.value?.end??null}));return s.listen(e.el,"change",i=>i.stopImmediatePropagation()),e.on("change",i=>s.emit("change",{value:{start:i.detail.start,end:i.detail.end}})),{el:e.el,get:()=>e.get(),set:i=>e.set(i,{silent:!0}),focus:()=>e.focus(),setDisabled:i=>i?e.disable():e.enable()}})}var P=class extends f{static cssName="datebox";static defaults={value:null,format:"%d.%m.%Y",time:!1,min:null,max:null,placeholder:null,clearable:!0,disabled:!1};render(){let t=this.el??a("div");this.el=t,this._originalState=t.getAttribute("data-state"),this._originalAriaDisabled=t.getAttribute("aria-disabled"),this._format=lo(this.options.format,this.options.time),this._disabled=!!this.options.disabled,this._open=!1,this._position=null,this._min=Bs(this.options.min),this._max=Bs(this.options.max),this._value=this._normalizeValue(this.options.value);let e=b("zx-datebox-popover"),i=a("div",{class:"zx-datebox__content"},a("div",{ref:"control",class:"zx-datebox__control"},a("input",{ref:"input",class:"zx-datebox__input",type:"text",autocomplete:"off",placeholder:this.options.placeholder??ho(this._format),"aria-haspopup":"grid",ariaControls:e,ariaExpanded:"false"}),a("button",{ref:"clear",class:"zx-icon-btn zx-datebox__clear",type:"button",ariaLabel:"Clear date"},m("x",{size:13})),a("button",{ref:"toggle",class:"zx-datebox__toggle",type:"button",ariaLabel:"Choose date","aria-haspopup":"grid",ariaControls:e,ariaExpanded:"false"},m("calendar"))),a("div",{ref:"popover",id:e,class:"zx-datebox__popover",popover:"manual",dataset:{state:"closed"}}));return this._content=i,t.append(i),this._picker=new lt(null,{value:this._value,min:this._min,max:this._max,time:!!this.options.time}),this.refs.popover.append(this._picker.el),this._picker.on("change",r=>{this.set(r.detail.date),this.options.time||this._close(!0)}),this.listen(this.refs.input,"blur",()=>this._commitText()),this.listen(this.refs.input,"keydown",r=>this._onInputKeydown(r)),this.listen(this.refs.toggle,"click",()=>this._open?this.close():this.open()),this.listen(this.refs.toggle,"keydown",r=>{r.key==="ArrowDown"&&(r.preventDefault(),this.open())}),this.listen(this.refs.clear,"click",()=>{this.set(null),this.focus()}),this.listen(document,"keydown",r=>{!this._open||r.key!=="Escape"||(r.preventDefault(),this._close(!0))}),this.listen(document,"pointerdown",r=>{this._open&&!t.contains(r.target)&&this.close()}),this._syncDisplay(),this._syncDisabled(),t}get(t="date"){return this._value?t==="seconds"?Math.floor(this._value.getTime()/1e3):new Date(this._value.getTime()):null}set(t,{silent:e=!1}={}){return this._value=this._normalizeValue(t),this._picker?.set(this._value,{silent:!0}),this._setValid(),this._syncDisplay(),e||this.emit("change",{date:this._copyValue()}),this}open(){return this._disabled||this._open?this:(this._picker.set(this._value,{silent:!0}),this._open=!0,this.refs.popover.dataset.state="open",this.refs.input.setAttribute("aria-expanded","true"),this.refs.toggle.setAttribute("aria-expanded","true"),this._position=j(this.refs.control,this.refs.popover,{placement:"bottom-start",flip:!0}),this._picker.focus(),this.emit("open"),this)}close(){return this._close(!1),this}enable(){return this._disabled=!1,this._syncDisabled(),this}disable(){return this._disabled=!0,this.close(),this._syncDisabled(),this}focus(){return this.refs.input.focus(),this}destroy(){this._position?.destroy(),this._position=null,this._open=!1,this._picker?.destroy(),this._picker=null,this._content?.remove(),this._originalState===null?this.el.removeAttribute("data-state"):this.el.setAttribute("data-state",this._originalState),this._originalAriaDisabled===null?this.el.removeAttribute("aria-disabled"):this.el.setAttribute("aria-disabled",this._originalAriaDisabled),super.destroy()}_onInputKeydown(t){t.key==="ArrowDown"?(t.preventDefault(),this.open()):t.key==="Enter"?(t.preventDefault(),this._commitText()):t.key==="Escape"&&this._open&&(t.preventDefault(),this._close(!0))}_commitText(){if(this._disabled)return;let t=this.refs.input.value.trim();if(t===""){this.set(null);return}let e=V(t,this._format);if(!e){this.el.dataset.state="invalid",this.refs.input.setAttribute("aria-invalid","true"),this.emit("invalid",{text:t});return}this.set(e)}_normalizeValue(t){let e=null;return t instanceof Date&&!Number.isNaN(t.getTime())?e=new Date(t.getTime()):typeof t=="number"&&Number.isFinite(t)?e=new Date(t*1e3):typeof t=="string"&&(e=V(t,this._format)),!e||Number.isNaN(e.getTime())?null:qe(e,this._min,this._max)}_syncDisplay(){this.refs.input.value=this._value?v(this._value,this._format):"",this.refs.clear.hidden=!this.options.clearable||!this._value}_syncDisabled(){this.refs.input.disabled=this._disabled,this.refs.toggle.disabled=this._disabled,this.refs.clear.disabled=this._disabled,this.el.setAttribute("aria-disabled",String(this._disabled))}_setValid(){this.el.dataset.state==="invalid"&&(this._originalState===null?this.el.removeAttribute("data-state"):this.el.setAttribute("data-state",this._originalState)),this.refs.input.removeAttribute("aria-invalid")}_close(t){this._open&&(this._position?.destroy(),this._position=null,this._open=!1,this.refs.popover.dataset.state="closed",this.refs.input.setAttribute("aria-expanded","false"),this.refs.toggle.setAttribute("aria-expanded","false"),t&&this.focus(),this.emit("close"))}_copyValue(){return this._value?new Date(this._value.getTime()):null}},ri=function(t,e={}){return new P(t,{...e,time:!0})};function Bs(s){return s instanceof Date&&!Number.isNaN(s.getTime())?new Date(s.getTime()):null}function lo(s,t){let e=String(s||"%d.%m.%Y");return t&&!/%[HM]/.test(e)?`${e} %H:%M`:e}function ho(s){return s.replace(/%[demYyHMS]/g,t=>({"%d":"DD","%e":"D","%m":"MM","%Y":"YYYY","%y":"YY","%H":"HH","%M":"MM","%S":"SS"})[t]??t)}function js(){Ps("date",s=>new P(null,s)),Ps("datetime",s=>ri(null,s))}function Ps(s,t){x.register(s,(e,i)=>{let r=e.own(t({...i.props??{},value:i.value}));return e.listen(r.el,"change",n=>n.stopImmediatePropagation()),r.on("change",n=>e.emit("change",{value:n.detail.date})),{el:r.el,get:()=>r.get(),set:n=>r.set(n,{silent:!0}),focus:()=>r.focus(),setDisabled:n=>n?r.disable():r.enable()}})}var Pt=class extends f{static cssName="field-upload";static defaults={url:"",paramName:"upload",params:{},headers:{},multiple:!1,accept:null,maxSize:null,autoUpload:!0,preview:!0,http:null};render(){let t=this.el??a("div");this.el=t,this._ownedNodes=[],this._files=[],this._disabled=!1,this._running=!1,this._runId=0,this._xhr=null,this._transportController=null,this._previewUrl=null,this._initialState=t.getAttribute("data-state"),this._initialDisabled=t.getAttribute("data-disabled");let e=b("zx-upload");return this._input=a("input",{class:"zx-field-upload__input",id:e,type:"file",multiple:!!this.options.multiple,accept:this.options.accept??void 0,tabIndex:-1}),this._dropzone=a("button",{class:"zx-field-upload__dropzone",type:"button",ariaControls:e,ariaLabel:this.options.multiple?"Choose files or drop them here":"Choose a file or drop it here"},a("span",{class:"zx-field-upload__prompt"},this.options.multiple?"Drop files here or choose files":"Drop a file here or choose a file"),a("span",{class:"zx-field-upload__hint"},co(this.options))),this._preview=a("div",{class:"zx-field-upload__preview"}),this._progress=a("progress",{class:"zx-field-upload__progress",max:100,value:0,ariaLabel:"Upload progress"}),this._progressText=a("span",{class:"zx-field-upload__progress-text"},"0%"),this._abort=a("button",{class:"zx-btn zx-field-upload__abort",type:"button"},"Abort"),this._progressWrap=a("div",{class:"zx-field-upload__progress-wrap",hidden:!0},this._progress,this._progressText,this._abort),this._status=a("div",{class:"zx-field-upload__status",role:"status",ariaLive:"polite"}),this._ownedNodes.push(this._input,this._dropzone,this._preview,this._progressWrap,this._status),t.append(...this._ownedNodes),this.listen(this._dropzone,"click",()=>{!this._disabled&&!this._running&&this._input.click()}),this.listen(this._input,"change",()=>this._selectFiles(this._input.files)),this.listen(this._dropzone,"dragenter",i=>this._handleDragOver(i)),this.listen(this._dropzone,"dragover",i=>this._handleDragOver(i)),this.listen(this._dropzone,"dragleave",i=>{(!(i.relatedTarget instanceof Node)||!this._dropzone.contains(i.relatedTarget))&&this._setState("idle")}),this.listen(this._dropzone,"drop",i=>{i.preventDefault(),!(this._disabled||this._running)&&(this._setState("idle"),this._selectFiles(i.dataTransfer?.files??[]))}),this.listen(this._abort,"click",()=>this.abort()),this.setDisabled(!1),t}async upload(t=null){if(t!==null&&!this._setFiles(t)||this._disabled||this._running||this._files.length===0)return null;this._running=!0,this._runId+=1;let e=this._runId;this._setState("uploading"),this._progressWrap.hidden=!1,this._abort.hidden=!1,this._setProgress(0),this._status.textContent="Uploading\u2026";try{let i=this.options.http?await this._uploadInjected():await this._uploadXhr();return e!==this._runId?null:(this._running=!1,this._xhr=null,this._transportController=null,this._abort.hidden=!0,this._setProgress(100),this._setState("success"),this._status.textContent="Upload complete.",this.emit("success",{response:i}),i)}catch(i){if(e!==this._runId)return null;let r=i instanceof Error?i:new Error(String(i));return r.name==="AbortError"?(this._finishAbort(),null):(this._running=!1,this._xhr=null,this._transportController=null,this._abort.hidden=!0,this._setState("error"),this._status.textContent=r.message,this.emit("error",{error:r}),null)}}abort(){return this._running?(this._xhr?.abort(),this._transportController?.abort(),this._finishAbort(),this):this}clear(){return this._running&&this.abort(),this._files=[],this._input.value="",this._revokePreview(),this._preview.replaceChildren(),this._progress.value=0,this._progressText.textContent="0%",this._progressWrap.hidden=!0,this._status.textContent="",this._setState("idle"),this}setDisabled(t){return this._disabled=!!t,this._input.disabled=this._disabled,this._dropzone.disabled=this._disabled,this.el.dataset.disabled=String(this._disabled),this}_selectFiles(t){this._setFiles(t)&&(this._input.value="",this.options.autoUpload&&this.upload())}_setFiles(t){if(this._disabled||this._running)return!1;let e=Array.from(t??[]),i=this.options.multiple?e:e.slice(0,1);if(i.length===0)return!1;let r=i.find(o=>!po(o,this.options.accept));if(r)return this._selectionError(new Error(`${r.name} is not an accepted file type.`)),!1;let n=this.options.maxSize==null?null:i.find(o=>o.size>Number(this.options.maxSize));return n?(this._selectionError(new Error(`${n.name} exceeds the maximum file size.`)),!1):(this._files=i,this._renderPreview(),this._status.textContent=i.map(o=>o.name).join(", "),this._setState("selected"),this.emit("select",{files:this._files.slice()}),!0)}_handleDragOver(t){t.preventDefault(),!this._disabled&&!this._running&&this._setState("dragover")}_uploadInjected(){let t=this.options.http;this._transportController=new AbortController;let e={files:this._files.slice(),paramName:String(this.options.paramName),params:{...this.options.params},headers:{...this.options.headers},signal:this._transportController.signal,onProgress:i=>this._setProgress(i)};return typeof t.upload=="function"?t.upload(String(this.options.url),e):typeof t.request=="function"?t.request(String(this.options.url),{method:"POST",data:e.params,files:e.files,headers:e.headers,signal:e.signal,onProgress:e.onProgress,paramName:e.paramName}):Promise.reject(new TypeError("Injected upload transport requires upload() or request()"))}_uploadXhr(){return typeof XMLHttpRequest!="function"?Promise.reject(new Error("XMLHttpRequest is not available")):new Promise((t,e)=>{let i=new XMLHttpRequest;this._xhr=i,i.open("POST",String(this.options.url));for(let[r,n]of Object.entries(this.options.headers??{}))i.setRequestHeader(r,String(n));this.listen(i.upload,"progress",r=>{r.lengthComputable&&this._setProgress(r.loaded/r.total*100)}),this.listen(i,"load",()=>{if(i.status<200||i.status>=300){e(new Error(`Upload failed with HTTP ${i.status}`));return}t(_o(i.responseText))}),this.listen(i,"error",()=>e(new Error("Upload request failed"))),this.listen(i,"abort",()=>e(mo())),i.send(fo(this._files,String(this.options.paramName),this.options.params))})}_setProgress(t){let e=Math.max(0,Math.min(100,Number(t)||0));this._progress.value=e,this._progressText.textContent=`${Math.round(e)}%`,this.emit("progress",{percent:e})}_finishAbort(){this._running&&(this._runId+=1,this._running=!1,this._xhr=null,this._transportController=null,this._abort.hidden=!0,this._setState("idle"),this._status.textContent="Upload aborted.",this.emit("abort",{}))}_selectionError(t){this._setState("error"),this._status.textContent=t.message,this.emit("error",{error:t})}_renderPreview(){this._revokePreview(),this._preview.replaceChildren();let t=this._files[0];!this.options.preview||!t?.type?.startsWith("image/")||typeof URL>"u"||typeof URL.createObjectURL!="function"||(this._previewUrl=URL.createObjectURL(t),this._preview.append(a("img",{class:"zx-field-upload__image",src:this._previewUrl,alt:`Preview of ${t.name}`})))}_revokePreview(){this._previewUrl&&typeof URL<"u"&&typeof URL.revokeObjectURL=="function"&&URL.revokeObjectURL(this._previewUrl),this._previewUrl=null}_setState(t){t==="idle"?this.el.removeAttribute("data-state"):this.el.dataset.state=t}destroy(){this._running&&this.abort(),this._revokePreview();for(let t of this._ownedNodes??[])t.remove();this._initialState===null?this.el.removeAttribute("data-state"):this.el.setAttribute("data-state",this._initialState),this._initialDisabled===null?this.el.removeAttribute("data-disabled"):this.el.setAttribute("data-disabled",this._initialDisabled),super.destroy()}};function co(s){let t=[];return s.accept&&t.push(String(s.accept)),s.maxSize!=null&&t.push(`up to ${uo(Number(s.maxSize))}`),t.join(" \xB7 ")||"Choose from this device"}function uo(s){return s<1024?`${s} B`:s<1024*1024?`${Math.round(s/1024)} KB`:`${Math.round(s/(1024*1024))} MB`}function po(s,t){if(!t)return!0;let e=String(s.type??"").toLowerCase();return String(t).split(",").map(i=>i.trim().toLowerCase()).filter(Boolean).some(i=>i.startsWith(".")?s.name.toLowerCase().endsWith(i):i.endsWith("/*")?e.startsWith(i.slice(0,-1)):e===i)}function fo(s,t,e){let i=new FormData;for(let r of s)i.append(t,r);for(let[r,n]of Object.entries(e??{}))Hs(i,r,n);return i}function Hs(s,t,e){if(e==null)return;if(Array.isArray(e)){for(let r of e)Hs(s,t,r);return}typeof Blob=="function"&&e instanceof Blob?s.append(t,e):s.append(t,typeof e=="object"?JSON.stringify(e):String(e))}function _o(s){if(!s)return null;try{return JSON.parse(s)}catch{return s}}function mo(){if(typeof DOMException=="function")return new DOMException("Upload aborted","AbortError");let s=new Error("Upload aborted");return s.name="AbortError",s}function qs(){x.register("upload",(s,t)=>{let e=s.own(new Pt(null,{...t.props??{}}));return s.listen(e.el,"change",i=>i.stopImmediatePropagation()),e.on("select",()=>s.emit("change",{value:null})),{el:e.el,get:()=>null,set:()=>e.clear(),focus:()=>e.el.querySelector(".zx-field-upload__dropzone")?.focus(),setDisabled:i=>e.setDisabled(i)}})}var jt=class extends f{static cssName="multi-value-editor";static defaults={values:[],options:null,addLabel:"Add value"};render(){let t=this.el??a("div");return this._values=Array.isArray(this.options.values)?this.options.values.map(String):[],this._ownedNodes=[],this._rows=a("div",{class:"zx-multi-value-editor__rows"}),this._add=a("button",{class:"zx-btn zx-multi-value-editor__add",type:"button",dataset:{action:"add"}},String(this.options.addLabel??"Add value")),this._ownedNodes.push(this._rows,this._add),t.append(this._rows,this._add),this.listen(t,"click",e=>this._handleClick(e)),this.listen(this._rows,"change",e=>this._handleChange(e)),this._renderRows(),t}getValues(){return this._values.slice()}setValues(t,{silent:e=!1}={}){return this._values=Array.isArray(t)?t.map(String):[],this._renderRows(),e||this.emit("change",{values:this.getValues()}),this}_renderRows(t=-1){let e=$s(this.options.options),i=this.options.options!==null,r=this._values.map((n,o)=>{let l=i?a("select",{class:"zx-multi-value-editor__value",ariaLabel:`Value ${o+1}`,dataset:{index:o}},e.map(([h,c])=>a("option",{value:h,selected:h===n},c))):a("input",{class:"zx-multi-value-editor__value",type:"text",value:n,ariaLabel:`Value ${o+1}`,dataset:{index:o}});return a("div",{class:"zx-multi-value-editor__row",dataset:{row:o}},l,a("div",{class:"zx-multi-value-editor__controls"},a("button",{class:"zx-btn",type:"button",disabled:o===0,ariaLabel:`Move value ${o+1} up`,dataset:{action:"up",index:o}},"\u2191"),a("button",{class:"zx-btn",type:"button",disabled:o===this._values.length-1,ariaLabel:`Move value ${o+1} down`,dataset:{action:"down",index:o}},"\u2193"),a("button",{class:"zx-btn",type:"button",ariaLabel:`Remove value ${o+1}`,dataset:{action:"remove",index:o}},"\xD7")))});this._rows.replaceChildren(...r),t>=0&&r[t]?.querySelector(".zx-multi-value-editor__value")?.focus()}_handleClick(t){let e=t.target instanceof Element?t.target.closest("[data-action]"):null;if(!e||!this.el.contains(e))return;let i=e.dataset.action,r=Number(e.dataset.index);if(i==="add"){let n=$s(this.options.options);this._values.push(this.options.options===null?"":n[0]?.[0]??""),this._renderRows(this._values.length-1),this._emitChange()}else if(i==="remove"&&Number.isInteger(r))this._values.splice(r,1),this._renderRows(Math.min(r,this._values.length-1)),this._emitChange();else if((i==="up"||i==="down")&&Number.isInteger(r)){let n=r+(i==="up"?-1:1);if(n<0||n>=this._values.length)return;[this._values[r],this._values[n]]=[this._values[n],this._values[r]],this._renderRows(n),this._emitChange()}}_handleChange(t){let e=t.target instanceof Element?t.target.closest("[data-index]"):null;if(!e)return;let i=Number(e.dataset.index);!Number.isInteger(i)||i<0||i>=this._values.length||(this._values[i]=e.value,this._emitChange())}_emitChange(){this.emit("change",{values:this.getValues()})}destroy(){for(let t of this._ownedNodes??[])t.remove();super.destroy()}};function $s(s){return Array.isArray(s)?s.map(t=>[String(t),String(t)]):s&&typeof s=="object"?Object.entries(s).map(([t,e])=>[t,String(e)]):[]}function Ks(){x.register("multivalueeditor",(s,t)=>{let e=s.own(new jt(null,{...t.props??{},values:Array.isArray(t.value)?t.value:[]})),i=new WeakMap,r=!1,n=()=>{e.el.setAttribute("aria-disabled",String(r));for(let o of e.el.querySelectorAll("input, button, select, textarea"))r?(i.has(o)||i.set(o,!!o.disabled),o.disabled=!0):i.has(o)&&(o.disabled=i.get(o),i.delete(o))};return s.listen(e.el,"change",o=>o.stopImmediatePropagation()),e.on("change",o=>s.emit("change",{value:o.detail.values})),{el:e.el,get:()=>e.getValues(),set:o=>{e.setValues(Array.isArray(o)?o:[],{silent:!0}),n()},focus:()=>e.el.querySelector(".zx-multi-value-editor__value:not([disabled]), button:not([disabled])")?.focus(),setDisabled:o=>{r=!!o,n()}}})}var ct=class extends f{static cssName="number-field";static defaults={value:null,min:null,max:null,step:1,largeStep:10,precision:null,wrap:!1,placeholder:"",label:null,unit:null,disabled:!1,readonly:!1,required:!1,name:null,group:!1,locale:null};render(){this._value=null,this._disabled=!1,this._readonly=!1,this._editing=!1,this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el);let t=this.el??a("div");this.el=t;let e=go(this.options.step);this._step=e,this._precision=this.options.precision===null?bo(e):Math.max(0,Math.trunc(Number(this.options.precision)||0));let i=this._stepButton("down","minus"),r=this._stepButton("up","plus"),n=a("input",{ref:"input",class:"zx-number-field__input",type:"text",role:"spinbutton",inputMode:this._precision>0?"decimal":"numeric",autocomplete:"off",spellcheck:!1,placeholder:String(this.options.placeholder??""),ariaLabel:this.options.label??void 0,name:this.options.name??void 0,required:!!this.options.required}),o=[i,n];return this.options.unit!==null&&o.push(a("span",{ref:"unit",class:"zx-number-field__unit",ariaHidden:"true"},String(this.options.unit))),o.push(r),t.replaceChildren(...o),this._disabled=!!this.options.disabled,this._readonly=!!this.options.readonly,this.listen(n,"input",()=>this._onInput()),this.listen(n,"keydown",l=>this._onKeydown(l)),this.listen(n,"focus",()=>{this._editing=!0,this._syncInput()}),this.listen(n,"blur",()=>{this._commit(),this._editing=!1,this._syncInput()}),this.listen(i,"click",()=>this._stepBy(-1)),this.listen(r,"click",()=>this._stepBy(1)),this.listen(n,"wheel",l=>{document.activeElement!==n||this._disabled||this._readonly||(l.preventDefault(),this._stepBy(l.deltaY<0?1:-1))},{passive:!1}),this.set(this.options.value,{silent:!0}),this._syncDisabled(),t}get value(){return this._value}set value(t){this.set(t)}get(){return this._value}set(t,{silent:e=!1}={}){let i=this._coerce(t),r=i!==this._value;return this._value=i,this._syncInput(),r&&!e&&this.emit("change",{value:this._value}),this}stepUp(t=1){return this._stepBy(t)}stepDown(t=1){return this._stepBy(-t)}reset({silent:t=!1}={}){return this.set(this.options.value,{silent:t})}focus(){return this.refs.input.focus(),this}getInput(){return this.refs.input}enable(){return this._disabled=!1,this._syncDisabled(),this}disable(){return this._disabled=!0,this._syncDisabled(),this}setReadonly(t){return this._readonly=!!t,this._syncDisabled(),this}setRange(t,e){return this._min=t==null?null:Number(t),this._max=e==null?null:Number(e),this.set(this._value,{silent:!0})}_stepButton(t,e){return a("button",{ref:t,class:"zx-number-field__step",type:"button",tabIndex:-1,ariaHidden:"true",dataset:{step:t}},m(e,{size:13}))}get _rangeMin(){return this._min!==void 0?this._min:this.options.min===null||this.options.min===void 0?null:Number(this.options.min)}get _rangeMax(){return this._max!==void 0?this._max:this.options.max===null||this.options.max===void 0?null:Number(this.options.max)}_coerce(t){let e=ge(t,this.options.group?this._separators():null);return e===null?null:be(e,{min:this._rangeMin,max:this._rangeMax,step:this._step,precision:this._precision})}_stepBy(t){if(this._disabled||this._readonly)return this;let e=this._rangeMin,i=this._rangeMax,n=ge(this.refs.input.value)??this._value,o=n===null?e??0:n,l=n===null&&t>0&&e!==null?e-this._step*t:o,h=Ys(l+this._step*t,this._precision);return this.options.wrap&&e!==null&&i!==null&&(h>i?h=e:h<e&&(h=i)),this.set(h),this}_separators(){if(this._localeSeparators)return this._localeSeparators;let t=new Intl.NumberFormat(this.options.locale??void 0,{minimumFractionDigits:1}).formatToParts(1234.5);return this._localeSeparators={group:t.find(e=>e.type==="group")?.value??",",decimal:t.find(e=>e.type==="decimal")?.value??"."},this._localeSeparators}_onInput(){let t=ge(this.refs.input.value,this.options.group?this._separators():null);this._syncAria(t),this.emit("input",{value:t})}_onKeydown(t){if(this._disabled||this._readonly)return;let e=Math.max(1,Math.trunc(Number(this.options.largeStep)||1)),r={ArrowUp:()=>this._stepBy(1),ArrowDown:()=>this._stepBy(-1),PageUp:()=>this._stepBy(e),PageDown:()=>this._stepBy(-e),Home:()=>this._rangeMin===null?null:this.set(this._rangeMin),End:()=>this._rangeMax===null?null:this.set(this._rangeMax),Enter:()=>this._commit()}[t.key];r&&(t.key==="Home"&&this._rangeMin===null||t.key==="End"&&this._rangeMax===null||(t.preventDefault(),r()))}_commit(){this.set(this.refs.input.value)}_syncInput(){let t=this.refs.input,e=this._value===null?"":this._format(this._value,this._editing);t.value!==e&&(t.value=e),this._syncAria(this._value)}_syncAria(t){let e=this.refs.input,i=this._rangeMin,r=this._rangeMax;if(i===null?e.removeAttribute("aria-valuemin"):e.setAttribute("aria-valuemin",String(i)),r===null?e.removeAttribute("aria-valuemax"):e.setAttribute("aria-valuemax",String(r)),t===null)e.removeAttribute("aria-valuenow"),e.setAttribute("aria-valuetext",this._message("numberField.empty","Empty"));else{e.setAttribute("aria-valuenow",String(t));let n=this.options.unit===null?"":` ${this.options.unit}`;e.setAttribute("aria-valuetext",`${this._format(t,!1)}${n}`)}this.el.toggleAttribute("data-empty",t===null)}_format(t,e){return this.options.group?new Intl.NumberFormat(this.options.locale??void 0,{minimumFractionDigits:this._precision,maximumFractionDigits:this._precision,useGrouping:!e}).format(t):t.toFixed(this._precision)}_message(t,e){let i=this.msg(t);return i===t?e:i}_syncDisabled(){let t=this.refs.input;t.disabled=this._disabled,t.readOnly=this._readonly,this.refs.up.disabled=this._disabled||this._readonly,this.refs.down.disabled=this._disabled||this._readonly,this.el.toggleAttribute("data-disabled",this._disabled),this.el.toggleAttribute("data-readonly",this._readonly),this._disabled?this.el.setAttribute("aria-disabled","true"):this.el.removeAttribute("aria-disabled")}destroy(){let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}};function ge(s,t=null){if(typeof s=="number")return Number.isFinite(s)?s:null;if(s==null)return null;let e=String(s).trim();if(e==="")return null;let i;if(t)i=e.split(t.group).join("").replace(t.decimal,".").replace(/[^\d.\-+eE]/g,"");else{let n=e.replace(/[^\d,.\-+eE]/g,""),o=n.lastIndexOf(","),l=n.lastIndexOf(".");i=n,o>=0&&o>l?i=n.replace(/\./g,"").replace(",","."):o>=0&&(i=n.replace(/,/g,""))}if(!/\d/.test(i))return null;let r=Number(i);return Number.isFinite(r)?r:null}function be(s,{min:t,max:e,step:i,precision:r}){let n=s;if(i>0){let o=t??0;n=o+Math.round((s-o)/i)*i}return n=Ys(n,r),t!==null&&n<t?t:e!==null&&n>e?e:n}function go(s){let t=Number(s);return Number.isFinite(t)&&t>0?t:1}function bo(s){let t=String(s),e=t.match(/e-(\d+)/i);if(e)return Number(e[1]);let i=t.split(".")[1];return i?i.length:0}function Ys(s,t){return Number.isFinite(s)?Number(s.toFixed(Math.min(15,Math.max(0,t)))):s}function Us(){x.register("number",(s,t)=>{let e=s.own(new ct(null,{label:t.label?String(t.label):void 0,placeholder:t.placeholder,required:t.required,...t.props??{}})),i=!1;return s.listen(e.el,"change",r=>r.stopImmediatePropagation()),e.on("change",r=>{i||s.emit("change",{value:r.detail.value})}),{el:e.el,get:()=>e.get(),set:r=>{i=!0;try{e.set(r===""||r===null||r===void 0?null:r,{silent:!0})}finally{i=!1}},focus:()=>e.focus(),setDisabled:r=>r?e.disable():e.enable()}})}var qt=class extends f{static cssName="rating";static defaults={value:0,max:5,allowHalf:!1,clearable:!0,readonly:!1,disabled:!1,label:"Rating",icon:"star",labels:null,showValue:!1,count:null,size:"md"};render(){this._value=0,this._preview=null,this._disabled=!1,this._readonly=!1,this._radios=[],this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el);let t=this.el??a("div");this.el=t,this._max=Math.max(1,Math.trunc(Number(this.options.max)||5)),this._step=this.options.allowHalf?.5:1,this._disabled=!!this.options.disabled,this._readonly=!!this.options.readonly,this._name=b("zx-rating");let e=a("div",{ref:"symbols",class:"zx-rating__symbols",role:"radiogroup",ariaLabel:String(this.options.label??"Rating")});for(let i=1;i<=this._max;i+=1){let r=a("span",{class:"zx-rating__symbol"},a("span",{class:"zx-rating__glyph",ariaHidden:"true"},m(this.options.icon,{size:Ht[this.options.size]??Ht.md})),a("span",{class:"zx-rating__glyph",dataset:{part:"on"},ariaHidden:"true"},m(this.options.icon,{size:Ht[this.options.size]??Ht.md})));this.options.allowHalf?r.append(this._radio(i-.5,"half"),this._radio(i,"full")):r.append(this._radio(i,"full")),e.append(r)}return t.replaceChildren(e,a("span",{ref:"readout",class:"zx-rating__readout"})),t.dataset.size=Ht[this.options.size]?this.options.size:"md",this.listen(e,"keydown",i=>this._onKeydown(i)),this.listen(e,"pointerleave",()=>this._setPreview(null)),this.set(this.options.value,{silent:!0}),this._syncDisabled(),t}get value(){return this._value}set value(t){this.set(t)}get(){return this._value}set(t,{silent:e=!1}={}){let i=this._clamp(t),r=i!==this._value;return this._value=i,this._preview=null,this._sync(),r&&!e&&this.emit("change",{value:this._value}),this}clear({silent:t=!1}={}){return this.set(0,{silent:t})}reset({silent:t=!1}={}){return this.set(this.options.value,{silent:t})}setCount(t){return this._count=t,this._syncReadout(),this}focus(){return(this._radios.find(e=>e.tabIndex===0)??this._radios[0])?.focus(),this}enable(){return this._disabled=!1,this._syncDisabled(),this}disable(){return this._disabled=!0,this._syncDisabled(),this}setReadonly(t){return this._readonly=!!t,this._syncDisabled(),this}_radio(t,e){let i=a("button",{class:"zx-rating__radio",type:"button",role:"radio",tabIndex:-1,ariaChecked:"false",ariaLabel:this._stepLabel(t),dataset:{value:String(t),part:e}});return this.listen(i,"click",r=>{this._choose(t,r.detail>0)}),this.listen(i,"pointerenter",()=>this._setPreview(t)),this.listen(i,"focus",()=>this._setPreview(t)),this.listen(i,"blur",()=>this._setPreview(null)),this._radios.push(i),i}_stepLabel(t){let e=this.options.labels;if(Array.isArray(e)){let i=Math.round(t/this._step)-1;if(e[i]!=null)return String(e[i])}return this._message("rating.value","%1 of %2",[t,this._max])}_message(t,e,i){let r=this.msg(t,...i);return r===t?E(e,i):r}_choose(t,e){this._disabled||this._readonly||(e&&this.options.clearable&&t===this._value?this.set(0):this.set(t))}_onKeydown(t){if(this._disabled||this._readonly)return;let e=["ArrowRight","ArrowDown"],i=["ArrowLeft","ArrowUp"];if(e.includes(t.key))t.preventDefault(),this.set(this._value>=this._max?this._step:(this._value||0)+this._step);else if(i.includes(t.key))t.preventDefault(),this.set(this._value<=this._step?this._max:this._value-this._step);else if(t.key==="Home")t.preventDefault(),this.set(this._step);else if(t.key==="End")t.preventDefault(),this.set(this._max);else if((t.key==="Delete"||t.key==="Backspace")&&this.options.clearable)t.preventDefault(),this.set(0);else return;this.focus()}_setPreview(t){let e=this._disabled||this._readonly?null:t;e!==this._preview&&(this._preview=e,this._paint(),this.emit("hover",{value:this._preview}))}_clamp(t){let e=Number(t);if(!Number.isFinite(e)||e<=0)return 0;let i=Math.round(e/this._step)*this._step;return Math.min(this._max,Math.max(0,i))}_sync(){for(let e of this._radios){let i=Number(e.dataset.value);e.setAttribute("aria-checked",String(i===this._value))}let t=this._radios.find(e=>e.getAttribute("aria-checked")==="true");for(let e of this._radios)e.tabIndex=-1;(t??this._radios[0]).tabIndex=0,this._paint(),this._syncReadout()}_paint(){let t=this._preview??this._value;this.refs.symbols.querySelectorAll(".zx-rating__symbol").forEach((i,r)=>{let n=Math.min(1,Math.max(0,t-r));i.style.setProperty("--zx-rating-fill",`${n*100}%`),i.toggleAttribute("data-preview",this._preview!==null)}),this.el.dataset.value=String(t)}_syncReadout(){let t=this.refs.readout;if(!t)return;let e=this._count===void 0?this.options.count:this._count,i=[];this.options.showValue&&i.push(yo(this._value,this._step)),e!=null&&i.push(this._message("rating.count","%1 ratings",[e])),t.textContent=i.join(" \xB7 ")}_syncDisabled(){let t=this._disabled||this._readonly;for(let e of this._radios)e.disabled=this._disabled;this.refs.symbols.setAttribute("aria-readonly",String(this._readonly)),this.el.toggleAttribute("data-disabled",this._disabled),this.el.toggleAttribute("data-readonly",this._readonly),this.el.toggleAttribute("data-inert",t),this._disabled?this.el.setAttribute("aria-disabled","true"):this.el.removeAttribute("aria-disabled")}destroy(){let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}},Ht={sm:14,md:18,lg:24};function yo(s,t){return t<1?s.toFixed(1):String(s)}function Ws(){x.register("rating",(s,t)=>{let e=s.own(new qt(null,{label:t.label?String(t.label):void 0,...t.props??{}})),i=!1;return e.on("change",r=>{i||s.emit("change",{value:r.detail.value})}),{el:e.el,get:()=>e.get()||null,set:r=>{i=!0;try{e.set(Number(r)||0,{silent:!0})}finally{i=!1}},focus:()=>e.focus(),setDisabled:r=>r?e.disable():e.enable()}})}var xo=["a[href]","area[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","iframe","object","embed",'[contenteditable="true"]','[tabindex]:not([tabindex="-1"])'].join(",");function vo(s){let t=!1,e=null;function i(r){if(r.key!=="Tab")return;let n=Gs(s);if(n.length===0){r.preventDefault();return}let o=n[0],l=n[n.length-1];r.shiftKey&&(document.activeElement===o||!s.contains(document.activeElement))?(r.preventDefault(),l.focus()):!r.shiftKey&&(document.activeElement===l||!s.contains(document.activeElement))&&(r.preventDefault(),o.focus())}return{activate(){t||(t=!0,e=document.activeElement,document.addEventListener("keydown",i),Gs(s)[0]?.focus())},deactivate(){t&&(t=!1,document.removeEventListener("keydown",i),e?.isConnected&&typeof e.focus=="function"&&e.focus(),e=null)}}}function ut(s,t,{orientation:e="vertical",wrap:i=!0}={}){let r=new AbortController,n=new Map,o=!1;function l(){return Array.from(s.querySelectorAll(t)).filter(p=>(h(p),Qs(p)))}function h(p){n.has(p)||n.set(p,p.getAttribute("tabindex"))}function c(p=null){let g=l(),y=p&&g.includes(p)?p:g.find(A=>A.tabIndex===0)??g[0];for(let A of g){let T=A===y?0:-1;A.tabIndex!==T&&(A.tabIndex=T)}}function u(p){let g=l(),y=p.target?.closest?.(t)??null,A=g.indexOf(y);if(A<0)return;let T=e==="horizontal"?"ArrowLeft":"ArrowUp",Le=e==="horizontal"?"ArrowRight":"ArrowDown",L=null;p.key==="Home"?L=0:p.key==="End"?L=g.length-1:p.key===T?L=A-1:p.key===Le&&(L=A+1),!(L===null||g.length===0)&&(i?L=(L+g.length)%g.length:L=Math.max(0,Math.min(g.length-1,L)),p.preventDefault(),c(g[L]),g[L].focus())}function d(p){let g=p.target?.closest?.(t)??null;g&&s.contains(g)&&c(g)}s.addEventListener("keydown",u,{signal:r.signal}),s.addEventListener("focusin",d,{signal:r.signal});let _=typeof MutationObserver=="function"?new MutationObserver(()=>c()):null;return _?.observe(s,{childList:!0,subtree:!0,attributes:!0}),c(),{focusFirst(){let p=l()[0];p&&(c(p),p.focus())},focusLast(){let p=l(),g=p[p.length-1];g&&(c(g),g.focus())},destroy(){if(!o){o=!0,r.abort(),_?.disconnect();for(let[p,g]of n)g===null?p.removeAttribute("tabindex"):p.setAttribute("tabindex",g);n.clear()}}}}function K(s,t){let e="",i=null;return function(n){let o=typeof n=="string"?n:n.key;if(typeof n!="string"&&(n.ctrlKey||n.metaKey||n.altKey)||!o||o.length!==1||/\s/.test(o))return;i!==null&&clearTimeout(i),e+=o.toLocaleLowerCase(),e.split("").every(c=>c===e[0])&&(e=e[0]),i=setTimeout(()=>{e="",i=null},500);let l=s(),h=l.findIndex(c=>wo(c).startsWith(e));h>=0&&t(l[h],h)}}function Gs(s){return Array.from(s.querySelectorAll(xo)).filter(t=>Qs(t)&&t.getClientRects().length>0)}function Qs(s){return!(!(s instanceof HTMLElement)||s.hidden||s.getAttribute("aria-hidden")==="true"||s.matches(":disabled"))}function wo(s){if(typeof s=="string"||typeof s=="number")return String(s).trim().toLocaleLowerCase();if(s&&typeof s=="object"&&"textContent"in s)return String(s.textContent??"").trim().toLocaleLowerCase();if(s&&typeof s=="object"){let t=s,e=t.label??t.text??t.value;if(e!=null)return String(e).trim().toLocaleLowerCase()}return String(s??"").trim().toLocaleLowerCase()}var ko=["priority.lowest","priority.low","priority.normal","priority.high","priority.highest"],Ao=["Lowest","Low","Normal","High","Highest"],F=class s extends f{static cssName="select";static defaults={items:[],valueKey:"ID",labelKey:"name",renderItem:null,renderValue:null,value:null,disabled:!1,placeholder:"",clearable:!1,filter:!1,searchKeys:null,minQuery:0,debounce:200,listHeight:280,groupKey:null};render(){this._items=[],this._visibleItems=[],this._selected=null,this._optionEntries=[],this._activeIndex=-1,this._open=!1,this._disabled=!1,this._loading=!1,this._requestSequence=0,this._queryTimer=null,this._position=null,this._createdRoot=!1,this._root=null,this._originalChildren=[],this._originalAttributes=new Map,this._createdRoot=this.el===null;let t=this.el??a("div");this.el=t,this._root=t,this._createdRoot||(this._originalChildren=Array.from(t.childNodes)),this._rememberAttribute(t,"data-state"),this._rememberAttribute(t,"data-loading"),this._rememberAttribute(t,"aria-disabled");let e=b("zx-select-list"),i=a("input",{ref:"input",class:"zx-select__input",type:"text",role:"combobox",autocomplete:"off",spellcheck:!1,ariaExpanded:"false",ariaControls:e,ariaAutocomplete:this.options.filter?"list":"none",placeholder:String(this.options.placeholder??""),readOnly:!this.options.filter}),r=a("button",{ref:"clear",class:"zx-icon-btn zx-select__clear",type:"button",tabIndex:-1,ariaLabel:this._message("select.clear","Clear selection"),hidden:!0},m("x",{size:13})),n=a("span",{ref:"loading",class:"zx-select__loading",role:"status",ariaLabel:this._message("select.loading","Loading"),hidden:!0}),o=a("button",{ref:"toggle",class:"zx-select__toggle",type:"button",tabIndex:-1,ariaLabel:this._message("select.toggle","Toggle options")},m("chevron-down",{size:16})),l=a("div",{ref:"control",class:"zx-select__control"},i,r,n,o),h=a("div",{ref:"list",class:"zx-select__list",id:e,role:"listbox"});h.style.maxBlockSize=`${Math.max(0,Number(this.options.listHeight)||0)}px`;let c=a("div",{ref:"panel",class:"zx-select__panel",popover:"manual"},h);return t.replaceChildren(l,c),this._items=Array.isArray(this.options.items)?this.options.items.slice():[],this._visibleItems=this._items.slice(),this._disabled=!!this.options.disabled,this._handleTypeahead=K(()=>this._optionEntries.filter(u=>!u.clear).map(u=>u.element),(u,d)=>{this._open||this.open(),this._setActive(this._itemEntryIndex(d))}),this.listen(i,"click",()=>this.open()),this.listen(i,"input",()=>this._onInput()),this.listen(i,"keydown",u=>this._onKeydown(u)),this.listen(o,"click",()=>{this.focus(),this._open?this.close():this.open()}),this.listen(r,"click",()=>{this.set(null),this.focus()}),this.listen(c,"pointerdown",u=>u.preventDefault()),this.listen(c,"click",u=>this._onOptionClick(u)),this.listen(document,"pointerdown",u=>{this._open&&!t.contains(u.target)&&this.close()},{capture:!0}),this._renderOptions(),this.set(this.options.value,{silent:!0}),this._syncDisabled(),t}get value(){return this._selected===null?null:this._itemValue(this._selected)}set value(t){this.set(t)}get selected(){return this._selected}set(t,{silent:e=!1}={}){let i=this.value,r=t==null?null:this._findItem(t);this._selected=r,this._syncInputValue(),this._renderOptions();let n=this.value;return!e&&!Object.is(i,n)&&this.emit("change",{value:n,item:r}),this}setItems(t){let e=this.value;return this._items=Array.isArray(t)?t.slice():[],this._visibleItems=this._items.slice(),this._selected=e==null?null:this._items.find(i=>Object.is(this._itemValue(i),e))??null,this._syncInputValue(),this._renderOptions(),this._position?.update(),this}reset({silent:t=!1}={}){return this.set(this.options.value,{silent:t}),this}open(){return this._disabled||this._open?this:(this._open=!0,this.el.setAttribute("data-state","open"),this.refs.input.setAttribute("aria-expanded","true"),this._renderOptions(),this._position=j(this.refs.control,this.refs.panel,{placement:"bottom-start",flip:!0,matchWidth:!0}),this._setActive(this._selectedEntryIndex()),this._activeIndex<0&&this._optionEntries.length>0&&this._setActive(0),this.options.filter&&this._selected!==null&&this.refs.input.select(),typeof this.options.filter=="function"&&this._scheduleAsyncQuery(""),this.emit("open",{}),this)}close(){return this._open?(this._open=!1,this._cancelQuery(),this._setLoading(!1),this._position?.destroy(),this._position=null,this.el.setAttribute("data-state","closed"),this.refs.input.setAttribute("aria-expanded","false"),this.refs.input.removeAttribute("aria-activedescendant"),this._activeIndex=-1,this._visibleItems=this._items.slice(),this._syncInputValue(),this.emit("close",{}),this):this}enable(){return this._disabled=!1,this._syncDisabled(),this}disable(){return this.close(),this._disabled=!0,this._syncDisabled(),this}focus(){return this.refs.input.focus(),this}static priority(t,e={}){let i=e.value??null,r=new s(t,{...e,value:null,items:[],renderItem(n){return a("span",{class:"zx-select__priority"},a("span",{class:"zx-select__priority-icon",dataset:{level:n.level},ariaHidden:"true"}),a("span",{},String(n.name)))}});return r.setItems(ko.map((n,o)=>({ID:o,name:r._message(n,Ao[o]),level:o}))),r.set(i,{silent:!0}),r}destroy(){this._cancelQuery(),this._position?.destroy(),this._position=null;let t=this.el;if(!this._createdRoot&&t){t.replaceChildren(...this._originalChildren);for(let[e,i]of this._originalAttributes)i===null?t.removeAttribute(e):t.setAttribute(e,i)}super.destroy()}_onKeydown(t){if(!this._disabled){if(t.key==="ArrowDown"){t.preventDefault(),this._open?this._moveActive(1):this.open();return}if(t.key==="ArrowUp"){t.preventDefault(),this._open?this._moveActive(-1):(this.open(),this._setActive(this._optionEntries.length-1));return}if(t.key==="Home"&&this._open){t.preventDefault(),this._setActive(0);return}if(t.key==="End"&&this._open){t.preventDefault(),this._setActive(this._optionEntries.length-1);return}if(t.key==="Enter"&&this._open){t.preventDefault(),this._chooseEntry(this._optionEntries[this._activeIndex]);return}if(t.key==="Escape"&&this._open){t.preventDefault(),this.close();return}if(t.key==="Tab"&&this._open){this.close();return}!this.options.filter&&So(t)&&this._handleTypeahead(t)}}_onInput(){if(!this.options.filter)return;let t=this.refs.input.value;if(this._open||this.open(),this.options.filter==="local"){let e=this.options.searchKeys??[this.options.labelKey];this._visibleItems=ot(this._items,t,e),this._renderOptions(),this._setActive(this._optionEntries.length>0?0:-1),this._position?.update()}else typeof this.options.filter=="function"&&this._scheduleAsyncQuery(t)}_onOptionClick(t){let e=t.target?.closest?.('[role="option"]');!e||!this.refs.panel.contains(e)||this._chooseEntry(this._optionEntries[Number(e.getAttribute("data-index"))])}_chooseEntry(t){t&&(this.set(t.clear?null:t.item),this.close(),this.focus())}_moveActive(t){let e=this._optionEntries.length;e!==0&&this._setActive((this._activeIndex+t+e)%e)}_setActive(t){this._activeIndex=t>=0&&t<this._optionEntries.length?t:-1,this._optionEntries.forEach((i,r)=>{r===this._activeIndex?i.element.setAttribute("data-active","true"):i.element.removeAttribute("data-active")});let e=this._optionEntries[this._activeIndex]?.element;e?(this.refs.input.setAttribute("aria-activedescendant",e.id),e.scrollIntoView?.({block:"nearest"})):this.refs.input.removeAttribute("aria-activedescendant")}_renderOptions(){let t=this.refs.list;if(!t)return;t.replaceChildren(),this._optionEntries=[];let e=Symbol("initial-group");this.options.clearable&&this._appendOption(null,!0,this.options.placeholder||this._message("select.none","No selection"));for(let i of this._visibleItems){if(this.options.groupKey){let r=this._read(i,this.options.groupKey);Object.is(r,e)||(t.append(a("div",{class:"zx-select__group",role:"presentation"},String(r??""))),e=r)}this._appendOption(i,!1)}this._visibleItems.length===0&&!this._loading&&t.append(a("div",{class:"zx-select__empty",role:"status"},this._message("select.empty","No matches"))),this._setActive(-1)}_appendOption(t,e,i){let r=e?this._selected===null:this._selected!==null&&Object.is(this._itemValue(t),this.value),n=this._optionEntries.length,o=e?String(i??""):this._renderItem(t),l=a("div",{class:"zx-select__option",id:b("zx-select-option"),role:"option",ariaSelected:String(r),dataset:{index:n}},a("span",{class:"zx-select__option-content"},o));r&&l.append(m("check",{size:15})),this.refs.list.append(l),this._optionEntries.push({item:t,clear:e,element:l})}_renderItem(t){if(typeof this.options.renderItem=="function"){let e=this.options.renderItem(t);return e&&typeof e=="object"&&"nodeType"in e?e:String(e??"")}return this._itemLabel(t)}_scheduleAsyncQuery(t){this._queryTimer!==null&&clearTimeout(this._queryTimer),this._requestSequence+=1;let e=this._requestSequence;if(t.length<Math.max(0,Number(this.options.minQuery)||0)){this._setLoading(!1),this._visibleItems=[],this._renderOptions();return}this._setLoading(!0),this._renderOptions(),this._position?.update();let i=Math.max(0,Number(this.options.debounce)||0);this._queryTimer=setTimeout(()=>{this._queryTimer=null,this._runAsyncQuery(t,e)},i)}async _runAsyncQuery(t,e){if(!(e!==this._requestSequence||typeof this.options.filter!="function")){this.emit("query",{query:t});try{let i=await this.options.filter(t);if(e!==this._requestSequence||!this._open)return;this._items=Array.isArray(i)?i.slice():[],this._visibleItems=this._items.slice(),this._setLoading(!1),this._renderOptions(),this._setActive(this._optionEntries.length>0?0:-1),this._position?.update(),this.emit("loaded",{items:this._items.slice()})}catch{if(e!==this._requestSequence||!this._open)return;this._items=[],this._visibleItems=[],this._setLoading(!1),this._renderOptions(),this._position?.update()}}}_cancelQuery(){this._queryTimer!==null&&clearTimeout(this._queryTimer),this._queryTimer=null,this._requestSequence+=1}_setLoading(t){this._loading=t,this.refs.loading.hidden=!t,this.refs.input.setAttribute("aria-busy",String(t)),this.refs.list.setAttribute("aria-busy",String(t)),t?this._root?.setAttribute("data-loading","true"):this._root?.removeAttribute("data-loading")}_syncInputValue(){if(!this.refs.input)return;let t=this.refs.input;t.value=this._selected===null?"":typeof this.options.renderValue=="function"?String(this.options.renderValue(this._selected)??""):this._itemLabel(this._selected),this.refs.clear.hidden=!this.options.clearable||this._selected===null}_syncDisabled(){let t=this.refs.input,e=this.refs.clear,i=this.refs.toggle;t.disabled=this._disabled,e.disabled=this._disabled,i.disabled=this._disabled,this._root?.setAttribute("aria-disabled",String(this._disabled))}_findItem(t){let e=this._items.find(r=>r===t);if(e!==void 0)return e;let i=t!==null&&typeof t=="object"?this._itemValue(t):t;return this._items.find(r=>Object.is(this._itemValue(r),i))??null}_itemValue(t){return this._read(t,this.options.valueKey)}_itemLabel(t){let e=this._read(t,this.options.labelKey);return String(e??"")}_read(t,e){return typeof e=="function"?e(t):t===null||typeof t!="object"?t:t[e]}_selectedEntryIndex(){return this._selected===null?this.options.clearable?0:-1:this._optionEntries.findIndex(t=>!t.clear&&Object.is(this._itemValue(t.item),this.value))}_itemEntryIndex(t){return t+(this.options.clearable?1:0)}_rememberAttribute(t,e){this._originalAttributes.set(e,t.getAttribute(e))}_message(t,e){let i=this.msg(t);return i===t?e:i}};function So(s){return s.key.length===1&&!s.ctrlKey&&!s.metaKey&&!s.altKey}function Js(){x.register("zxselect",(s,t)=>{let e=s.own(new F(null,{...t.props??{},value:t.value}));return s.listen(e.el,"change",i=>i.stopImmediatePropagation()),e.on("change",i=>s.emit("change",{value:i.detail.value})),{el:e.el,get:()=>e.value,set:i=>e.set(i,{silent:!0}),focus:()=>e.focus(),setDisabled:i=>i?e.disable():e.enable()}})}var $t=class extends f{static cssName="slider";static defaults={value:0,min:0,max:100,step:1,label:"",hideLabel:!1,showValue:!0,showBounds:!1,showInput:!1,unit:"",marks:null,disabled:!1,readonly:!1,size:"md",formatValue:null};render(){this._value=0,this._readonly=!!this.options.readonly,this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el);let t=this.el??a("div");this.el=t,this._min=Number(this.options.min)||0,this._max=Number(this.options.max),(!Number.isFinite(this._max)||this._max<=this._min)&&(this._max=this._min+100),this._step=Math.abs(Number(this.options.step))||1,this._id=b("zx-slider");let e=a("input",{ref:"input",class:"zx-slider__input",type:"range",id:this._id,min:String(this._min),max:String(this._max),step:String(this._step),disabled:!!this.options.disabled}),i=a("div",{class:"zx-slider__track"},e,this._marks()),r=a("div",{class:"zx-slider__control"});return this.options.showBounds&&r.append(a("span",{class:"zx-slider__bound",ariaHidden:"true"},this._format(this._min))),r.append(i),this.options.showBounds&&r.append(a("span",{class:"zx-slider__bound",ariaHidden:"true"},this._format(this._max))),this.options.showInput&&r.append(this._numberBox()),t.replaceChildren(a("div",{class:"zx-slider__head"},a("label",{ref:"label",class:"zx-slider__label",for:this._id},String(this.options.label??"")),a("span",{ref:"output",class:"zx-slider__value",ariaHidden:"true"})),r),t.dataset.size=this.options.size==="sm"?"sm":"md",t.toggleAttribute("data-hide-label",!!this.options.hideLabel),this.listen(e,"input",()=>this._onInput()),this.listen(e,"change",()=>this._onCommit()),this.listen(e,"keydown",n=>{this._readonly&&zo.has(n.key)&&n.preventDefault()}),this.set(this.options.value,{silent:!0}),this._syncState(),t}get value(){return this._value}set value(t){this.set(t)}get(){return this._value}set(t,{silent:e=!1}={}){let i=this._snap(t),r=i!==this._value;return this._value=i,this._paint(),r&&!e&&this.emit("change",{value:i}),this}setRange(t,e,i){let r=Number(t),n=Number(e);if(!Number.isFinite(r)||!Number.isFinite(n)||n<=r)throw new RangeError("Slider range requires min < max");this._min=r,this._max=n,i!==void 0&&(this._step=Math.abs(Number(i))||1);let{input:o}=this.refs;o.min=String(this._min),o.max=String(this._max),o.step=String(this._step);for(let[l,h]of[...this.el.querySelectorAll(".zx-slider__bound")].entries())h.textContent=this._format(l===0?this._min:this._max);return this.set(this._value,{silent:!0})}focus(){return this.refs.input.focus(),this}enable(){return this.refs.input.disabled=!1,this.refs.number&&(this.refs.number.disabled=!1),this._syncState(),this}disable(){return this.refs.input.disabled=!0,this.refs.number&&(this.refs.number.disabled=!0),this._syncState(),this}setReadonly(t){return this._readonly=!!t,this.refs.number&&(this.refs.number.readOnly=this._readonly),this._syncState(),this}setLabel(t){return this.refs.label.textContent=String(t??""),this}_numberBox(){let t=a("input",{ref:"number",class:"zx-slider__number",type:"number",min:String(this._min),max:String(this._max),step:String(this._step),disabled:!!this.options.disabled,readOnly:this._readonly,ariaLabel:String(this.options.label??"Value")});return this.listen(t,"input",()=>{if(this._readonly)return;let e=Number(t.value);t.value===""||!Number.isFinite(e)||(this._value=this._snap(e),this.refs.input.value=String(this._value),this._paintTrack(),this.emit("input",{value:this._value}))}),this.listen(t,"change",()=>{if(this._readonly){t.value=String(this._value);return}this.set(t.value===""?this._min:Number(t.value))}),t}_marks(){let t=this.options.marks;if(!Array.isArray(t)||t.length===0)return null;let e=a("div",{class:"zx-slider__marks",ariaHidden:"true"});for(let i of t){let r=typeof i=="number"?i:Number(i?.value);if(!Number.isFinite(r))continue;let n=typeof i=="number"?this._format(r):String(i.label??this._format(r));e.append(a("span",{class:"zx-slider__mark",style:{"--zx-slider-mark":`${this._ratio(r)*100}%`}},n))}return e}_onInput(){if(this._readonly){this.refs.input.value=String(this._value);return}this._value=this._snap(this.refs.input.value),this._paintTrack(),this.refs.number&&(this.refs.number.value=String(this._value)),this.emit("input",{value:this._value})}_onCommit(){if(this._readonly){this.refs.input.value=String(this._value);return}this.emit("change",{value:this._value})}_paint(){this.refs.input.value=String(this._value),this.refs.number&&(this.refs.number.value=String(this._value)),this._paintTrack()}_paintTrack(){this.el.style.setProperty("--zx-slider-fill",`${this._ratio(this._value)*100}%`);let{output:t}=this.refs;t.textContent=this.options.showValue?this._format(this._value):""}_syncState(){let t=this.refs.input.disabled;this.el.toggleAttribute("data-disabled",t),this.el.toggleAttribute("data-readonly",this._readonly),this.refs.input.setAttribute("aria-readonly",String(this._readonly))}_snap(t){let e=Number(t);return Number.isFinite(e)?be(e,{min:this._min,max:this._max,step:this._step,precision:Xs(this._step)}):this._min}_ratio(t){return R((t-this._min)/(this._max-this._min),0,1)}_format(t){let e=this.options.formatValue;return typeof e=="function"?String(e(t)):`${Co(t)}${this.options.unit??""}`}destroy(){let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}},zo=new Set(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","PageUp","PageDown","Home","End"]);function Xs(s){let t=String(s),e=/e-(\d+)$/i.exec(t);return e?Number(e[1]):(t.split(".")[1]??"").length}function Co(s){return String(Number(s.toFixed(6)))}function Zs(){x.register("slider",(s,t)=>{let e=s.own(new $t(null,{label:t.label?String(t.label):void 0,hideLabel:!0,disabled:!!t.disabled,...t.props??{}})),i=!1;return e.on("change",r=>{i||s.emit("change",{value:r.detail.value})}),{el:e.el,get:()=>e.get(),set:r=>{i=!0;try{e.set(Number(r)||0,{silent:!0})}finally{i=!1}},focus:()=>e.focus(),setDisabled:r=>r?e.disable():e.enable()}})}var Kt=class extends f{static cssName="tag-picker";static defaults={items:[],values:[],valueKey:"ID",labelKey:"name",searchKeys:null,filter:"local",minQuery:0,debounce:200,allowCreate:!1,max:null,closeOnSelect:!1,placeholder:"",listHeight:260,disabled:!1,readonly:!1,renderItem:null,renderTag:null};render(){this._items=[],this._selected=[],this._visible=[],this._entries=[],this._activeIndex=-1,this._open=!1,this._disabled=!1,this._readonly=!1,this._loading=!1,this._requestSequence=0,this._queryTimer=null,this._position=null,this._activeId=null,this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el);let t=this.el??a("div");this.el=t;let e=b("zx-tag-picker-list"),i=a("span",{ref:"tags",class:"zx-tag-picker__tags"}),r=a("input",{ref:"input",class:"zx-tag-picker__input",type:"text",role:"combobox",autocomplete:"off",spellcheck:!1,ariaExpanded:"false",ariaControls:e,ariaAutocomplete:"list",ariaLabel:this._message("tagPicker.input","Add a value"),placeholder:String(this.options.placeholder??"")}),n=a("button",{ref:"toggle",class:"zx-tag-picker__toggle",type:"button",tabIndex:-1,ariaLabel:this._message("tagPicker.toggle","Toggle options")},m("chevron-down",{size:15})),o=a("div",{ref:"control",class:"zx-tag-picker__control"},i,r,n),l=a("div",{ref:"list",class:"zx-tag-picker__list",id:e,role:"listbox",ariaMultiSelectable:"true"});l.style.maxBlockSize=`${Math.max(0,Number(this.options.listHeight)||0)}px`;let h=a("div",{ref:"panel",class:"zx-tag-picker__panel",popover:"manual"},l);return t.replaceChildren(o,h),this._items=Array.isArray(this.options.items)?this.options.items.slice():[],this._visible=this._items.slice(),this._disabled=!!this.options.disabled,this._readonly=!!this.options.readonly,this.listen(o,"pointerdown",c=>{let u=c.target;u.closest(".zx-tag-picker__remove")||u.closest(".zx-tag-picker__toggle")||(c.target!==r&&(c.preventDefault(),this.focus()),this._open||this.open())}),this.listen(i,"click",c=>{let u=c.target.closest(".zx-tag-picker__remove");if(!u||this._disabled||this._readonly)return;c.stopPropagation();let d=[...i.children].indexOf(u.closest(".zx-tag-picker__tag")),_=this._selected[d];_!==void 0&&(this.removeValue(this._valueOf(_)),this.focus())}),this.listen(r,"input",()=>this._onInput()),this.listen(r,"keydown",c=>this._onKeydown(c)),this.listen(r,"blur",()=>this.el.removeAttribute("data-focus")),this.listen(r,"focus",()=>this.el.setAttribute("data-focus","")),this.listen(n,"click",()=>{this.focus(),this._open?this.close():this.open()}),this.listen(h,"pointerdown",c=>c.preventDefault()),this.listen(h,"click",c=>this._onOptionClick(c)),this.listen(document,"pointerdown",c=>{this._open&&!t.contains(c.target)&&this.close()},{capture:!0}),this.setValues(this.options.values,{silent:!0}),this._syncDisabled(),t}get values(){return this.getValues()}set values(t){this.setValues(t)}getValues(){return this._selected.map(t=>this._valueOf(t))}getItems(){return this._selected.slice()}setValues(t,{silent:e=!1}={}){let i=Array.isArray(t)?t:[],r=this.options.max===null||this.options.max===void 0?1/0:Number(this.options.max),n=[];for(let l of i){if(n.length>=r)break;let h=this._resolve(l);h!==null&&!n.some(c=>this._sameValue(c,h))&&n.push(h)}let o=!To(n,this._selected,l=>this._valueOf(l));return this._selected=n,this._renderTags(),this._renderOptions(),o&&!e&&this._emitChange(),this}addValue(t,{silent:e=!1}={}){if(this.isFull())return this;let i=this._resolve(t);return i===null?this:this._selected.some(r=>this._sameValue(r,i))?this:(this._selected.push(i),this._renderTags(),this._renderOptions(),e||(this.emit("add",{value:this._valueOf(i),item:i}),this._emitChange()),this)}removeValue(t,{silent:e=!1}={}){let i=this._valueOf(this._resolve(t)??t),r=this._selected.findIndex(o=>Object.is(this._valueOf(o),i));if(r<0)return this;let[n]=this._selected.splice(r,1);return this._renderTags(),this._renderOptions(),e||(this.emit("remove",{value:this._valueOf(n),item:n}),this._emitChange()),this}clear({silent:t=!1}={}){return this.setValues([],{silent:t})}reset({silent:t=!1}={}){return this.setValues(this.options.values,{silent:t})}setItems(t){return this._cancelQuery(),this._items=Array.isArray(t)?t.slice():[],typeof this.options.filter=="function"?this._visible=this._items.slice():this._applyLocalFilter(this.refs.input.value),this._renderOptions(),this._position?.update(),this}isFull(){let t=this.options.max;return t!=null&&this._selected.length>=Number(t)}open(){return this._disabled||this._readonly||this._open?this:(this._open=!0,this.el.setAttribute("data-state","open"),this.refs.input.setAttribute("aria-expanded","true"),this._renderOptions(),this._position=j(this.refs.control,this.refs.panel,{placement:"bottom-start",flip:!0,matchWidth:!0}),this._setActive(this._entries.length>0?0:-1),typeof this.options.filter=="function"&&this._scheduleAsyncQuery(this.refs.input.value),this.emit("open",{}),this)}close(){return this._open?(this._open=!1,this._cancelQuery(),this._position?.destroy(),this._position=null,this.el.setAttribute("data-state","closed"),this.refs.input.setAttribute("aria-expanded","false"),this.refs.input.removeAttribute("aria-activedescendant"),this._activeIndex=-1,this._activeId=null,this.refs.input.value="",this._syncInputWidth(),this._applyLocalFilter(""),this.emit("close",{}),this):this}focus(){return this.refs.input.focus(),this}enable(){return this._disabled=!1,this._renderTags(),this._syncDisabled(),this}disable(){return this.close(),this._disabled=!0,this._renderTags(),this._syncDisabled(),this}setReadonly(t){return t&&this.close(),this._readonly=!!t,this._renderTags(),this._syncDisabled(),this}destroy(){this._cancelQuery(),this._position?.destroy(),this._position=null;let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}_renderTags(){let t=this._selected.map(e=>{let i=this._labelOf(e),r=this.options.renderTag?this.options.renderTag(e):i,n=a("span",{class:"zx-tag-picker__tag"},a("span",{class:"zx-tag-picker__tag-label"},r));return!this._readonly&&!this._disabled&&n.append(a("button",{class:"zx-icon-btn zx-tag-picker__remove",type:"button",ariaLabel:this._message("tagPicker.remove","Remove %1",[i])},m("x",{size:11}))),n});this.refs.tags.replaceChildren(...t),this.el.toggleAttribute("data-empty",this._selected.length===0),this._syncPlaceholder()}_renderOptions(){let t=this.refs.list;this._entries=[];let e=[];for(let n of this._visible){let o=this._valueOf(n),l=this._isSelected(o),h=a("div",{class:"zx-tag-picker__option",id:b("zx-tag-picker-option"),role:"option",ariaSelected:String(l)},a("span",{class:"zx-tag-picker__check",ariaHidden:"true"},l?m("check",{size:13}):null),a("span",{class:"zx-tag-picker__option-label"},this.options.renderItem?this.options.renderItem(n):this._labelOf(n)));!l&&this.isFull()&&h.setAttribute("aria-disabled","true"),this._entries.push({item:n,element:h,create:!1}),e.push(h)}let i=this.refs.input.value.trim();if(this._canCreate(i)){let n=a("div",{class:"zx-tag-picker__option",id:b("zx-tag-picker-option"),role:"option",ariaSelected:"false",dataset:{create:"true"}},a("span",{class:"zx-tag-picker__check",ariaHidden:"true"},m("plus",{size:13})),a("span",{class:"zx-tag-picker__option-label"},this._message("tagPicker.create","Create \u201C%1\u201D",[i])));this._entries.push({item:null,element:n,create:!0}),e.push(n)}e.length===0&&e.push(a("div",{class:"zx-tag-picker__empty"},this._loading?this._message("tagPicker.loading","Loading\u2026"):this._message("tagPicker.empty","No matches"))),t.replaceChildren(...e);let r=this._entries.findIndex(n=>this._entryId(n)===this._activeId);this._setActive(r>=0?r:this._entries.length>0?0:-1)}_entryId(t){return t.create?"\0create":String(this._valueOf(t.item))}_syncPlaceholder(){let t=this.refs.input;t.placeholder=this._selected.length===0?String(this.options.placeholder??""):""}_onInput(){let t=this.refs.input.value;this._syncInputWidth(),this._open||this.open(),typeof this.options.filter=="function"?this._scheduleAsyncQuery(t):this._applyLocalFilter(t),this._renderOptions(),this._setActive(this._entries.length>0?0:-1),this._position?.update()}_onKeydown(t){if(this._disabled||this._readonly)return;let e=this.refs.input;switch(t.key){case"ArrowDown":t.preventDefault(),this._open?this._move(1):this.open();return;case"ArrowUp":t.preventDefault(),this._open&&this._move(-1);return;case"Home":this._open&&e.value===""&&(t.preventDefault(),this._setActive(0));return;case"End":this._open&&e.value===""&&(t.preventDefault(),this._setActive(this._entries.length-1));return;case"Enter":{if(!this._open||this._activeIndex<0)return;t.preventDefault(),this._commitEntry(this._entries[this._activeIndex]);return}case"Escape":this._open&&(t.preventDefault(),this.close());return;case"Backspace":e.value===""&&this._selected.length>0&&(t.preventDefault(),this.removeValue(this._valueOf(this._selected[this._selected.length-1])));return;case"Tab":this._open&&this.close();return;default:}}_onOptionClick(t){let e=t.target.closest(".zx-tag-picker__option");if(!e)return;let i=this._entries.find(r=>r.element===e);i&&this._commitEntry(i)}_commitEntry(t){if(!t)return;let e=this.refs.input;if(t.create){let i=e.value.trim(),r=this._createItem(i);this._items=this._items.concat([r]),this.addValue(r),this.emit("create",{value:this._valueOf(r),item:r})}else{let i=this._valueOf(t.item);if(this._isSelected(i))this.removeValue(i);else if(!this.isFull())this.addValue(t.item);else return}e.value="",this._syncInputWidth(),this._applyLocalFilter(""),this._renderOptions(),this.options.closeOnSelect?this.close():(this._setActive(this._entries.length>0?0:-1),this._position?.update()),this.focus()}_move(t){if(this._entries.length===0)return;let e=this._activeIndex<0?t>0?0:this._entries.length-1:Math.min(this._entries.length-1,Math.max(0,this._activeIndex+t));this._setActive(e)}_setActive(t){this._activeIndex=t,this._activeId=this._entries[t]?this._entryId(this._entries[t]):null;for(let[e,i]of this._entries.entries()){let r=e===t;i.element.toggleAttribute("data-active",r),r&&(this.refs.input.setAttribute("aria-activedescendant",i.element.id),i.element.scrollIntoView({block:"nearest"}))}t<0&&this.refs.input.removeAttribute("aria-activedescendant")}_applyLocalFilter(t){if(typeof this.options.filter=="function")return;let e=this.options.searchKeys??[this.options.labelKey];this._visible=ot(this._items,t,e)}_scheduleAsyncQuery(t){this._cancelQuery();let e=String(t??"");if(e.length<Number(this.options.minQuery??0)){this._visible=[],this._renderOptions();return}this._visible=[],this._setLoading(!0),this._renderOptions();let i=Math.max(0,Number(this.options.debounce)||0);this._queryTimer=setTimeout(()=>{this._queryTimer=null,this._runQuery(e)},i)}async _runQuery(t){let e=this._requestSequence+1;this._requestSequence=e,this._setLoading(!0),this.emit("query",{query:t});try{let i=await this.options.filter(t);if(e!==this._requestSequence)return;this._items=Array.isArray(i)?i.slice():[],this._visible=this._items.slice()}catch(i){if(e!==this._requestSequence)return;this._visible=[],this.emit("error",{error:i})}finally{e===this._requestSequence&&(this._setLoading(!1),this._renderOptions(),this._setActive(this._entries.length>0?0:-1),this._position?.update())}}_cancelQuery(){this._queryTimer!==null&&(clearTimeout(this._queryTimer),this._queryTimer=null),this._requestSequence+=1,this._setLoading(!1)}_setLoading(t){this._loading=t,this.el.toggleAttribute("data-loading",t)}_isSelected(t){return this._selected.some(e=>Object.is(this._valueOf(e),t))}_canCreate(t){if(!this.options.allowCreate||t===""||this.isFull())return!1;let e=i=>i.some(r=>tr(this._labelOf(r))===tr(t));return!e(this._items)&&!e(this._selected)}_createItem(t,e=t){return typeof this.options.valueKey!="string"||typeof this.options.labelKey!="string"?t:{[this.options.valueKey]:e,[this.options.labelKey]:t,created:!0}}_resolve(t){if(t==null)return null;let e=this._valueOf(t),i=this._items.find(n=>Object.is(this._valueOf(n),e));if(i!==void 0)return i;let r=this._selected.find(n=>Object.is(this._valueOf(n),e));return r!==void 0?r:typeof t=="object"?t:this._createItem(String(t),t)}_sameValue(t,e){return Object.is(this._valueOf(t),this._valueOf(e))}_valueOf(t){let e=this.options.valueKey;return typeof e=="function"?e(t):t!==null&&typeof t=="object"?t[e]:t}_labelOf(t){let e=this.options.labelKey;return String(typeof e=="function"?e(t):t!==null&&typeof t=="object"?t[e]??"":t??"")}_emitChange(){this.emit("change",{values:this.getValues(),items:this.getItems()})}_syncInputWidth(){let t=this.refs.input,e=t.value.length;t.style.inlineSize=e===0?"":`${Math.min(40,e+1)}ch`}_syncDisabled(){let t=this.refs.input;t.disabled=this._disabled,t.readOnly=this._readonly,this.refs.toggle.disabled=this._disabled||this._readonly,this.el.toggleAttribute("data-disabled",this._disabled),this.el.toggleAttribute("data-readonly",this._readonly),this._disabled?this.el.setAttribute("aria-disabled","true"):this.el.removeAttribute("aria-disabled")}_message(t,e,i=[]){let r=this.msg(t,...i);return r!==t?r:i.reduce((n,o,l)=>n.replaceAll(`%${l+1}`,String(o)),e)}};function tr(s){return String(s??"").trim().toLocaleLowerCase()}function To(s,t,e){return s.length!==t.length?!1:s.every((i,r)=>Object.is(e(i),e(t[r])))}function er(){x.register("tagpicker",(s,t)=>{let e=s.own(new Kt(null,{placeholder:t.placeholder,...t.props??{}})),i=!1;return s.listen(e.el,"change",r=>r.stopImmediatePropagation()),e.on("change",r=>{i||s.emit("change",{value:r.detail.values})}),{el:e.el,get:()=>e.getValues(),set:r=>{i=!0;try{e.setValues(Array.isArray(r)?r:[],{silent:!0})}finally{i=!1}},focus:()=>e.focus(),setDisabled:r=>r?e.disable():e.enable()}})}function ir(s,t="minutes"){let e=Math.round(Math.abs(rr(dt(s),t)));return{hours:Math.floor(e/3600),minutes:Math.floor(e/60)%60,seconds:e%60,negative:dt(s)<0}}function sr(s,t="minutes"){Yt(t);let e=Math.abs(Math.trunc(dt(s?.hours))),i=Math.abs(Math.trunc(dt(s?.minutes))),r=Math.abs(Math.trunc(dt(s?.seconds))),n=s?.negative?-1:1;return nr(n*(e*3600+i*60+r),t)}var Z=class extends f{static cssName="timebox";static defaults={value:0,unit:"minutes",seconds:!1,signed:!1,disabled:!1};render(){Yt(this.options.unit);let t=this.el??a("div");this.el=t,this._originalAriaDisabled=t.getAttribute("aria-disabled"),this._disabled=!!this.options.disabled,this._parts={hours:0,minutes:0,seconds:0,negative:!1},this._inputs=[];let e=a("div",{class:"zx-timebox__content",role:"group",ariaLabel:this.options.seconds?"Duration in hours, minutes, and seconds":"Duration in hours and minutes"});return this._content=e,this.options.signed&&(e.append(a("button",{ref:"sign",class:"zx-timebox__sign",type:"button",ariaLabel:"Toggle duration sign",ariaPressed:"false"},"+")),this.listen(this.refs.sign,"click",()=>{this._disabled||(this._parts.negative=!this._parts.negative,this._writeParts(),this._emitChange())})),this._addSegment(e,"hours","Hours",!1),e.append(a("span",{class:"zx-timebox__separator",ariaHidden:"true"},":")),this._addSegment(e,"minutes","Minutes",!0),this.options.seconds&&(e.append(a("span",{class:"zx-timebox__separator",ariaHidden:"true"},":")),this._addSegment(e,"seconds","Seconds",!0)),t.append(e),this.set(this.options.value,this.options.unit,{silent:!0}),this._syncDisabled(),t}get(t=this.options.unit){return sr(this._readParts(),t)}set(t,e=this.options.unit,i={}){e&&typeof e=="object"&&(i=e,e=this.options.unit),Yt(e);let r=dt(t);return!this.options.signed&&r<0&&(r=0),this.options.seconds||(r=nr(Math.round(rr(r,e)/60)*60,e)),this._parts=ir(r,e),this.options.signed||(this._parts.negative=!1),this._writeParts(),i.silent||this._emitChange(),this}enable(){return this._disabled=!1,this._syncDisabled(),this}disable(){return this._disabled=!0,this._syncDisabled(),this}destroy(){this._content?.remove(),this._originalAriaDisabled===null?this.el.removeAttribute("aria-disabled"):this.el.setAttribute("aria-disabled",this._originalAriaDisabled),super.destroy()}_addSegment(t,e,i,r){let n=a("input",{class:"zx-timebox__segment",type:"text",inputMode:"numeric",autocomplete:"off",ariaLabel:i,maxLength:r?2:null,dataset:{segment:e,bounded:String(r)}});this._inputs.push(n),t.append(n),this.listen(n,"focus",()=>n.select()),this.listen(n,"input",()=>{e==="hours"&&this.options.signed&&n.value.trim().startsWith("-")&&(this._parts.negative=!0);let o=n.value.replace(/\D/g,"");n.value=r?o.slice(0,2):o}),this.listen(n,"change",()=>this._commitSegments()),this.listen(n,"keydown",o=>{o.key==="Enter"&&(o.preventDefault(),this._commitSegments(),n.select())})}_readParts(){let t={...this._parts};for(let e of this._inputs){let i=e.dataset.segment,r=e.dataset.bounded==="true"?59:Number.MAX_SAFE_INTEGER;t[i]=Math.max(0,Math.min(r,Math.trunc(dt(e.value))))}return t}_commitSegments(){this._parts=this._readParts(),this._writeParts(),this._emitChange()}_writeParts(){for(let t of this._inputs){let e=t.dataset.segment;t.value=e==="hours"?String(this._parts[e]):No(this._parts[e])}this.refs.sign&&(this.refs.sign.textContent=this._parts.negative?"-":"+",this.refs.sign.setAttribute("aria-pressed",String(this._parts.negative)),this.refs.sign.dataset.state=this._parts.negative?"negative":"positive")}_syncDisabled(){for(let t of this._inputs)t.disabled=this._disabled;this.refs.sign&&(this.refs.sign.disabled=this._disabled),this.el.setAttribute("aria-disabled",String(this._disabled))}_emitChange(){this.emit("change",{value:this.get(this.options.unit)})}};function dt(s){let t=Number(s);return Number.isFinite(t)?t:0}function rr(s,t){return Yt(t),t==="hours"?s*3600:t==="minutes"?s*60:s}function nr(s,t){return Yt(t),t==="hours"?s/3600:t==="minutes"?s/60:s}function Yt(s){if(s!=="hours"&&s!=="minutes"&&s!=="seconds")throw new RangeError(`Unknown time unit: ${s}`)}function No(s){return String(s).padStart(2,"0")}function or(){x.register("time",(s,t)=>{let e=s.own(new Z(null,{...t.props??{},value:t.value}));return s.listen(e.el,"change",i=>i.stopImmediatePropagation()),e.on("change",i=>s.emit("change",{value:i.detail.value})),{el:e.el,get:()=>e.get(),set:i=>e.set(Number(i)||0,{silent:!0}),focus:()=>e.el.querySelector("input:not([disabled]), button:not([disabled])")?.focus(),setDisabled:i=>i?e.disable():e.enable()}})}var H=class extends f{static cssName="toggle";static defaults={checked:!1,value:!0,label:null,disabled:!1};render(){let t=!this.el,e=this.el??a("button");if(this.el=e,e.localName!=="button")throw new TypeError("Toggle target must be a button element");this._createdRoot=t,this._original=t?null:Do(e),this._checked=!!this.options.checked,this._disabled=!!this.options.disabled,e.type="button",e.setAttribute("role","switch");let i=[a("span",{class:"zx-toggle__track",ariaHidden:"true"},a("span",{class:"zx-toggle__thumb"}))];return this.options.label!==null&&i.push(a("span",{class:"zx-toggle__label"},String(this.options.label))),e.replaceChildren(...i),this._sync(),this.listen(e,"click",()=>this.toggle()),e}get(){return this._checked}set(t,{silent:e=!1}={}){let i=!!t;return i===this._checked?this:(this._checked=i,this._sync(),e||this.emit("change",{checked:this._checked,value:this.getValue()}),this)}toggle(){return this.set(!this._checked)}getValue(){return this._checked?this.options.value:!1}enable(){return this._disabled=!1,this.el.removeAttribute("disabled"),this}disable(){return this._disabled=!0,this.el.setAttribute("disabled",""),this}destroy(){this._cleaned||(this._cleaned=!0,super.destroy(),!this._createdRoot&&this._original&&Eo(this.el,this._original))}_sync(){this.el.setAttribute("aria-checked",String(this._checked)),this.el.toggleAttribute("disabled",this._disabled)}};function Do(s){return{attributes:Array.from(s.attributes,t=>[t.name,t.value]),children:Array.from(s.childNodes)}}function Eo(s,t){for(let e of Array.from(s.attributes))s.removeAttribute(e.name);for(let[e,i]of t.attributes)s.setAttribute(e,i);s.replaceChildren(...t.children)}function ar(){x.register("toggle",(s,t)=>{let e=s.own(new H(null,{...t.props??{},checked:!!t.value}));return s.listen(e.el,"change",i=>i.stopImmediatePropagation()),e.on("change",i=>s.emit("change",{value:i.detail.value})),{el:e.el,get:()=>e.getValue(),set:i=>e.set(!!i,{silent:!0}),focus:()=>e.el.focus(),setDisabled:i=>i?e.disable():e.enable()}})}var Ut=class extends f{static cssName="value-list";static defaults={values:[],placeholder:"",deletable:!0,sortable:!0,unique:!0,validate:null};render(){let t=this.el??a("div");this._ownedNodes=[],this._disabled=!1,this._dragIndex=-1,this._initialState=t.getAttribute("data-state"),this._initialDisabled=t.getAttribute("data-disabled"),this._values=lr(this.options.values,!!this.options.unique);let e=b("zx-value-list-instructions");return this._list=a("ul",{class:"zx-value-list__list",role:"listbox",ariaLabel:"Values",ariaOrientation:"horizontal"}),this._input=a("input",{class:"zx-value-list__input",type:"text",placeholder:String(this.options.placeholder??""),ariaLabel:"Add value",ariaDescribedby:e}),this._status=a("div",{class:"zx-value-list__status",role:"status",ariaLive:"polite"}),this._instructions=a("span",{class:"zx-value-list__instructions",id:e},"Press Enter to add. Focus a value and press Ctrl plus Left or Right to reorder."),this._ownedNodes.push(this._list,this._input,this._status,this._instructions),t.append(this._list,this._input,this._status,this._instructions),this.listen(this._input,"keydown",i=>this._handleInputKeydown(i)),this.listen(this._list,"keydown",i=>this._handleChipKeydown(i)),this.listen(this._list,"click",i=>this._handleChipClick(i)),this.listen(this._list,"dragstart",i=>this._handleDragStart(i)),this.listen(this._list,"dragover",i=>{this._dragIndex>=0&&!this._disabled&&i.preventDefault()}),this.listen(this._list,"drop",i=>this._handleDrop(i)),this.listen(this._list,"dragend",()=>this._finishDrag()),this.listen(t,"click",i=>{i.target===t&&!this._disabled&&this.focus()}),this._renderChips(),t}getValues(){return this._values.slice()}setValues(t,{silent:e=!1}={}){return this._values=lr(t,!!this.options.unique),this._renderChips(),e||this.emit("change",{values:this.getValues()}),this}addValue(t){if(this._disabled)return!1;let e=String(t??"").trim();if(!e)return!1;if(this.options.unique&&this._values.includes(e))return this._showError("This value already exists."),!1;if(typeof this.options.validate=="function"){let i=this.options.validate(e);if(i!==!0)return this._showError(typeof i=="string"?i:"This value is not valid."),!1}return this._status.textContent="",this._input.removeAttribute("aria-invalid"),this._values.push(e),this._renderChips(),this.emit("add",{value:e}),this.emit("change",{values:this.getValues()}),!0}removeValue(t){if(this._disabled||!this.options.deletable)return!1;let e=this._values.indexOf(String(t));return e<0?!1:(this._removeAt(e),!0)}focus(){return this._input.focus(),this}enable(){return this._disabled=!1,this._input.disabled=!1,this.el.dataset.disabled="false",this._renderChips(),this}disable(){return this._disabled=!0,this._input.disabled=!0,this.el.dataset.disabled="true",this._renderChips(),this}_renderChips(t=-1){let e=this._values.map((i,r)=>a("li",{class:"zx-value-list__chip",role:"option",tabIndex:this._disabled?-1:0,draggable:!!this.options.sortable&&!this._disabled,ariaSelected:"false",ariaDisabled:String(this._disabled),ariaLabel:this.options.deletable?`${i}. Press Delete to remove.`:i,dataset:{index:r}},a("span",{class:"zx-value-list__value"},i),this.options.deletable?a("span",{class:"zx-value-list__remove",dataset:{remove:""},ariaHidden:"true"},"\xD7"):null));this._list.replaceChildren(...e),t>=0&&e[Math.min(t,e.length-1)]?.focus()}_handleInputKeydown(t){this._disabled||(t.key==="Enter"?(t.preventDefault(),this.addValue(this._input.value)&&(this._input.value="")):t.key==="Backspace"&&this._input.value===""&&this._values.length&&this.options.deletable&&(t.preventDefault(),this._removeAt(this._values.length-1)))}_handleChipKeydown(t){if(this._disabled)return;let e=t.target instanceof Element?t.target.closest("[data-index]"):null;if(!e)return;let i=Number(e.dataset.index);if((t.key==="Delete"||t.key==="Backspace")&&this.options.deletable){t.preventDefault(),this._removeAt(i,Math.min(i,this._values.length-2));return}let r=t.key==="ArrowLeft"?-1:t.key==="ArrowRight"?1:0,n=t.key==="ArrowUp"?-1:t.key==="ArrowDown"?1:0,o=r||n;if(!o)return;t.preventDefault();let l=Math.max(0,Math.min(this._values.length-1,i+o));t.ctrlKey&&r&&this.options.sortable?this._move(i,l,!0):this._list.querySelector(`[data-index="${l}"]`)?.focus()}_handleChipClick(t){let e=t.target instanceof Element?t.target:null,i=e?.closest("[data-index]");!i||this._disabled||(e.closest("[data-remove]")&&this.options.deletable?this._removeAt(Number(i.dataset.index)):i.focus())}_handleDragStart(t){if(this._disabled||!this.options.sortable)return;let e=t.target instanceof Element?t.target.closest("[data-index]"):null;e&&(this._dragIndex=Number(e.dataset.index),this.el.dataset.state="dragging",t.dataTransfer?.setData("text/plain",String(this._dragIndex)),t.dataTransfer&&(t.dataTransfer.effectAllowed="move"))}_handleDrop(t){if(this._dragIndex<0||this._disabled)return;t.preventDefault();let e=t.target instanceof Element?t.target.closest("[data-index]"):null,i=e?Number(e.dataset.index):this._values.length-1;this._move(this._dragIndex,i,!0),this._finishDrag()}_finishDrag(){this._dragIndex=-1,this._initialState===null?this.el.removeAttribute("data-state"):this.el.setAttribute("data-state",this._initialState)}_move(t,e,i){if(t===e||t<0||e<0||t>=this._values.length||e>=this._values.length)return;let[r]=this._values.splice(t,1);this._values.splice(e,0,r),this._renderChips(i?e:-1),this.emit("change",{values:this.getValues()})}_removeAt(t,e=-1){let[i]=this._values.splice(t,1);i!==void 0&&(this._renderChips(e),e<0&&this._values.length===0&&this._input.focus(),this.emit("remove",{value:i}),this.emit("change",{values:this.getValues()}))}_showError(t){this._status.textContent=t,this._input.setAttribute("aria-invalid","true")}destroy(){for(let t of this._ownedNodes??[])t.remove();this._initialState===null?this.el.removeAttribute("data-state"):this.el.setAttribute("data-state",this._initialState),this._initialDisabled===null?this.el.removeAttribute("data-disabled"):this.el.setAttribute("data-disabled",this._initialDisabled),super.destroy()}};function lr(s,t){if(!Array.isArray(s))return[];let e=s.map(i=>String(i));return t?[...new Set(e)]:e}function hr(){x.register("valuelist",(s,t)=>{let e=s.own(new Ut(null,{...t.props??{},values:Array.isArray(t.value)?t.value:[]}));return s.listen(e.el,"change",i=>i.stopImmediatePropagation()),e.on("change",i=>s.emit("change",{value:i.detail.values})),{el:e.el,get:()=>e.getValues(),set:i=>e.setValues(Array.isArray(i)?i:[],{silent:!0}),focus:()=>e.focus(),setDisabled:i=>i?e.disable():e.enable()}})}var wt=Object.freeze({sm:480,md:768,lg:1024,xl:1280}),Mo=["xl","lg","md","sm"];function ni(s){let t=Number(s);if(!Number.isFinite(t))return"xs";for(let e of Mo)if(t>=wt[e])return e;return"xs"}function Io(s,t){if(s==="xs")return!0;let e=wt[s];if(e===void 0)throw new RangeError(`Unknown breakpoint "${s}"`);return Number(t)>=e}function oi(s,t={}){if(typeof s!="function")throw new TypeError("onBreakpoint requires a handler");if("target"in t&&!C(t.target)&&t.target!==globalThis)throw new TypeError("onBreakpoint target must be an Element or the window");let e=t.target??globalThis,i=C(e)?e:null,r=null,n=!1,o=null,l=()=>i?i.getBoundingClientRect().width:Number(globalThis.innerWidth)||0,h=()=>{if(n)return;let d=l();if(i&&d===0)return;let _=ni(d);_!==r&&(r=_,s(r,d))};h();let c=0,u=()=>{c||n||(c=requestAnimationFrame(()=>{c=0,h()}))};return i&&typeof ResizeObserver=="function"?(o=new ResizeObserver(u),o.observe(i)):globalThis.addEventListener?.("resize",h,{passive:!0}),{current:()=>r??ni(l()),destroy:()=>{n||(n=!0,c&&cancelAnimationFrame(c),o?.disconnect(),globalThis.removeEventListener?.("resize",h))}}}var ye=class{base;headers;onError;timeout;constructor({base:t="",headers:e={},onError:i=null,timeout:r=3e4}={}){this.base=String(t),this.headers=Object.freeze({...e}),this.onError=i,this.timeout=Number(r)}async request(t,e={}){let{method:i="GET",data:r=null,files:n=null,query:o=null,headers:l={}}=e,h=new AbortController,c=this.timeout>0?setTimeout(()=>h.abort(),this.timeout):null,u=new Headers(this.headers);for(let[p,g]of Object.entries(l))u.set(p,g);u.set("Accept",u.get("Accept")??"application/json");let d;n!==null?(d=Lo(r,n),u.delete("Content-Type")):r!==null&&i.toUpperCase()!=="GET"&&i.toUpperCase()!=="HEAD"&&(d=JSON.stringify(r),u.set("Content-Type",u.get("Content-Type")??"application/json"));let _=Fo(this.base+t,o);try{let p=await fetch(_,{method:i.toUpperCase(),headers:u,body:d,signal:h.signal}),g=await p.text(),y=null;if(g!=="")try{y=JSON.parse(g)}catch(A){let T=new Error("Invalid JSON response",{cause:A});throw T.response=p,T}if(!p.ok){try{ai(y)}catch(T){throw T.response=p,T}let A=new Error(`HTTP ${p.status} ${p.statusText}`.trim());throw A.response=p,A}return ai(y)}catch(p){let g=p instanceof Error?p:new Error(String(p));if(this.onError)try{this.onError(g,{path:t,options:e})}catch{}throw g}finally{c!==null&&clearTimeout(c)}}get(t,e=null){return this.request(t,{method:"GET",query:e})}post(t,e=null){return this.request(t,{method:"POST",data:e})}put(t,e=null){return this.request(t,{method:"PUT",data:e})}delete(t,e=null){return this.request(t,{method:"DELETE",data:e})}};function Oo(s,t="",e={}){let{apiBase:i="../remotecall/",...r}=e,n=`${i}${s}${t?`:${t}`:""}/`;return new ye({...r,base:n})}function ai(s){if(s&&typeof s=="object"){if(Object.prototype.hasOwnProperty.call(s,"error")&&s.error!=null){let t=typeof s.error=="string"?s.error:JSON.stringify(s.error);throw new Error(t||"Server error")}if(Object.prototype.hasOwnProperty.call(s,"result"))return s.result}return s}function Fo(s,t){if(t==null)return s;let e;if(typeof t=="string")e=t.replace(/^\?/,"");else if(t instanceof URLSearchParams)e=t.toString();else{let i=new URLSearchParams;for(let[r,n]of Object.entries(t))cr(i,r,n);e=i.toString()}return e?s+(s.includes("?")?"&":"?")+e:s}function cr(s,t,e){if(e!=null)if(Array.isArray(e))for(let i of e)cr(s,t,i);else s.append(t,typeof e=="object"?JSON.stringify(e):String(e))}function Lo(s,t){let e=new FormData;if(s&&typeof s=="object"&&!Array.isArray(s))for(let[r,n]of Object.entries(s))ur(e,r,n);else s!=null&&e.append("data",typeof s=="string"?s:JSON.stringify(s));let i=Ro(t)||Array.isArray(t)?Array.from(t):[t];for(let r of i)e.append("files",r);return e}function ur(s,t,e){if(e!=null)if(Array.isArray(e))for(let i of e)ur(s,t,i);else{let i=typeof Blob=="function"&&e instanceof Blob;s.append(t,typeof e=="object"&&!i?JSON.stringify(e):e)}}function Ro(s){return typeof FileList=="function"&&s instanceof FileList}var Vo=0,Bo=20,Po=3,jo=["B","KiB","MiB","GiB","TiB","PiB","EiB"],Ho=["B","kB","MB","GB","TB","PB","EB"],li=[{unit:"second",ms:1e3,limit:45},{unit:"minute",ms:6e4,limit:45},{unit:"hour",ms:36e5,limit:22},{unit:"day",ms:864e5,limit:6},{unit:"week",ms:6048e5,limit:4},{unit:"month",ms:26298e5,limit:11},{unit:"year",ms:315576e5,limit:1/0}],dr=new Map,pr=new Map;function xe(s,t={}){let e=ve(s);if(e===null)return"";let{locale:i=q(),decimals:r,minDecimals:n,maxDecimals:o,group:l=!0}=t;return hi(i,ci({decimals:r,minDecimals:n,maxDecimals:o,group:l}),e)}function qo(s,t,e={}){let i=ve(s);if(i===null)return"";let{locale:r=q(),decimals:n}=e,o=Go(t);if(o===null)return xe(i,{locale:r,decimals:n});let l=ci({decimals:n,group:!0});return hi(r,{...l,style:"currency",currency:o},i)}function $o(s,t={}){let e=ve(s);if(e===null)return"";let{locale:i=q(),decimals:r=0}=t;return hi(i,{...ci({decimals:r,group:!0}),style:"percent"},e)}function Ko(s,t={}){let e=ve(s);if(e===null)return"";let{locale:i=q(),decimals:r=1,standard:n="iec"}=t;if(e===0)return`${xe(0,{locale:i,decimals:0})} B`;let o=n==="si"?Ho:jo,l=n==="si"?1e3:1024,h=Math.abs(e),c=Math.min(o.length-1,Math.max(0,Math.floor(Math.log(h)/Math.log(l)))),u=h/l**c;Qo(u,c===0?0:r)>=l&&c<o.length-1&&(c+=1,u=h/l**c);let d=e<0?-u:u;return`${xe(d,{locale:i,minDecimals:0,maxDecimals:c===0?0:r})} ${o[c]}`}function Yo(s,t={}){let e=_r(s);if(e===null)return"";let{now:i=new Date,locale:r=q(),numeric:n="auto"}=t,o=_r(i);if(o===null)return"";let l=e.getTime()-o.getTime(),h=li.find(({ms:u,limit:d})=>Math.abs(l)/u<d)??li[li.length-1],c=Math.round(l/h.ms);return Wo(r,n).format(c,h.unit)}function hi(s,t,e){let i=`${s}\0${JSON.stringify(t)}`,r=dr.get(i);return r===void 0&&(r=Uo(s,t),dr.set(i,r)),r.format(e)}function Uo(s,t){try{return new Intl.NumberFormat(s,t)}catch{try{return new Intl.NumberFormat(void 0,t)}catch{return new Intl.NumberFormat}}}function Wo(s,t){let e=`${s}\0${t}`,i=pr.get(e);if(i===void 0){try{i=new Intl.RelativeTimeFormat(s,{numeric:t})}catch{i=new Intl.RelativeTimeFormat(void 0,{numeric:"auto"})}pr.set(e,i)}return i}function ci({decimals:s,minDecimals:t,maxDecimals:e,group:i=!0}){let r={useGrouping:i!==!1},n=fr(t??s),o=fr(e??s);return n!==null&&(r.minimumFractionDigits=n),o!==null?(r.maximumFractionDigits=o,n!==null&&n>o&&(r.minimumFractionDigits=o)):n!==null&&(r.maximumFractionDigits=Math.max(n,Po)),r}function fr(s){if(s==null)return null;let t=Number(s);return Number.isFinite(t)?Math.min(Bo,Math.max(Vo,Math.round(t))):null}function ve(s){if(s==null||s==="")return null;let t=typeof s=="number"?s:Number(s);return Number.isFinite(t)?t:null}function Go(s){if(typeof s!="string")return null;let t=s.trim().toUpperCase();return/^[A-Z]{3}$/.test(t)?t:null}function _r(s){if(s instanceof Date)return Number.isNaN(s.getTime())?null:s;if(typeof s=="number")return Number.isFinite(s)?new Date(s*1e3):null;if(typeof s=="string"){let t=s.trim();if(t==="")return null;let e=/^-?\d+$/.test(t)?new Date(Number(t)*1e3):new Date(t);return Number.isNaN(e.getTime())?null:e}return null}function Qo(s,t){let e=10**t;return Math.round(s*e)/e}var mr="zx:__probe__";function ui(s,t={}){let{area:e="local"}=t,i=`zx:${String(s??"")}:`,r=new Map,n=Jo(e),o=u=>{if(n!==null)try{return n.getItem(u)}catch{n=null}return r.has(u)?r.get(u):null},l=(u,d)=>{if(n!==null)try{n.setItem(u,d);return}catch{n=null}r.set(u,d)},h=u=>{if(n!==null)try{n.removeItem(u)}catch{n=null}r.delete(u)},c=()=>{if(n!==null)try{let u=[];for(let d=0;d<n.length;d+=1){let _=n.key(d);typeof _=="string"&&_.startsWith(i)&&u.push(_)}return u}catch{n=null}return[...r.keys()].filter(u=>u.startsWith(i))};return{get(u,d){let _=o(i+u);if(_==null)return d;try{return JSON.parse(_)}catch{return d}},set(u,d){let _;try{_=JSON.stringify(d)}catch{_=void 0}_===void 0?h(i+u):l(i+u,_)},remove(u){h(i+u)},keys(){return c().map(u=>u.slice(i.length))},clear(){for(let u of c())h(u)}}}function Jo(s){let t=s==="session"?"sessionStorage":"localStorage";try{let e=globalThis[t];return!e||typeof e.getItem!="function"?null:(e.setItem(mr,"1"),e.removeItem(mr),e)}catch{return null}}var Xo=["=","+","-","@"];function Zo(s,t,e={}){let{delimiter:i=",",header:r=!0,newline:n=`\r
|
|
2
|
+
`}=e,o=ia(t),l=[];r&&l.push(o.map(h=>br(h.label,i,gr(h.label))).join(i));for(let h of s??[]){let c=o.map(u=>{let d=typeof u.value=="function"?u.value(h):sa(h,u.id);return br(ra(d),i,gr(d))});l.push(c.join(i))}return l.join(n)}function ta(s,t,e={}){let{type:i="text/plain;charset=utf-8"}=e,r=na(t,i),n=URL.createObjectURL(r),o=document.createElement("a");o.href=n,o.download=String(s??"download"),o.rel="noopener",o.style.display="none",document.body.append(o),o.click(),o.remove(),setTimeout(()=>URL.revokeObjectURL(n),1e3)}async function di(s){let t=String(s??"");if(globalThis.navigator?.clipboard?.writeText)try{return await navigator.clipboard.writeText(t),!0}catch{}return ea(t)}function ea(s){if(typeof document>"u"||!document.body)return!1;let t=document.activeElement,e=document.createElement("textarea");e.value=s,e.setAttribute("readonly",""),e.setAttribute("aria-hidden","true"),e.style.cssText="position:fixed;inset-block-start:-1000px;opacity:0;pointer-events:none",document.body.append(e);let i=!1;try{e.select(),e.setSelectionRange(0,s.length),i=document.execCommand?.("copy")===!0}catch{i=!1}finally{e.remove(),t instanceof HTMLElement&&t.focus({preventScroll:!0})}return i}function ia(s){return(s??[]).map(t=>{if(typeof t=="string")return{id:t,label:t};let e=String(t?.id??"");return{id:e,label:String(t?.label??e),value:t?.value}})}function sa(s,t){return s?.[t]}function ra(s){if(s==null)return"";if(s instanceof Date)return Number.isNaN(s.getTime())?"":s.toISOString();if(typeof s=="number")return Number.isFinite(s)?String(s):"";if(typeof s=="boolean")return s?"true":"false";if(typeof s=="object")try{return JSON.stringify(s)}catch{return String(s)}return String(s)}function gr(s){return typeof s!="string"?!1:Xo.includes(s.charAt(0))}function br(s,t,e=!1){let i=e?` ${s}`:s;return i.includes(t)||i.includes('"')||i.includes(`
|
|
3
|
+
`)||i.includes("\r")?`"${i.replaceAll('"','""')}"`:i}function na(s,t){if(typeof Blob=="function"&&s instanceof Blob)return s;let e=typeof s=="string"&&/^text\/csv\b/i.test(t)?["\uFEFF",s]:[s];return new Blob(e,{type:t})}var nt=class extends f{static cssName="check-button";static defaults={label:"",checked:!1,icon:!0,disabled:!1};render(){let t=!this.el,e=this.el??a("button");if(this.el=e,e.localName!=="button")throw new TypeError("CheckButton target must be a button element");this._createdRoot=t,this._original=t?null:oa(e),this._checked=!!this.options.checked,this._disabled=!!this.options.disabled,this._labels=yr(this.options.label),e.type="button";let i=[];return this.options.icon&&i.push(a("span",{class:"zx-check-button__icon",ariaHidden:"true"},a("span",{class:"zx-check-button__off"},m("square",{size:15})),a("span",{class:"zx-check-button__on"},m("check",{size:15})))),i.push(a("span",{class:"zx-check-button__label",ref:"label"})),e.replaceChildren(...i),this._sync(),this.listen(e,"click",()=>this.toggle()),e}get(){return this._checked}set(t,{silent:e=!1}={}){let i=!!t;return i===this._checked?this:(this._checked=i,this._sync(),e||this.emit("change",{checked:this._checked}),this)}toggle(){return this.set(!this._checked)}setLabel(t){return this._labels=yr(t),this._sync(),this}enable(){return this._disabled=!1,this.el.removeAttribute("disabled"),this}disable(){return this._disabled=!0,this.el.setAttribute("disabled",""),this}destroy(){this._cleaned||(this._cleaned=!0,super.destroy(),!this._createdRoot&&this._original&&aa(this.el,this._original))}_sync(){this.el.setAttribute("aria-pressed",String(this._checked)),this.el.toggleAttribute("disabled",this._disabled),this.refs.label.textContent=this._checked?this._labels.on:this._labels.off}};function yr(s){return Array.isArray(s)?{on:String(s[0]??""),off:String(s[1]??"")}:{on:String(s??""),off:String(s??"")}}function oa(s){return{attributes:Array.from(s.attributes,t=>[t.name,t.value]),children:Array.from(s.childNodes)}}function aa(s,t){for(let e of Array.from(s.attributes))s.removeAttribute(e.name);for(let[e,i]of t.attributes)s.setAttribute(e,i);s.replaceChildren(...t.children)}var Wt=class extends f{static cssName="modal";static defaults={content:null,width:"auto",closable:!0,lightDismiss:!1,destroyOnClose:!1};#t;#e=!1;#i=!1;constructor(t=null,e={}){super(null,e),this.#s(this.options.width),xr(this.refs.content,this.options.content),this.listen(this.el,"cancel",i=>{let r=this.emit("cancel");(!this.options.closable||r.defaultPrevented)&&i.preventDefault()}),this.listen(this.el,"close",()=>{this.el.dataset.state="closed",delete this.el.dataset.zxOverlayOrder;let i=this.#e?this.#t:this.el.returnValue||void 0;this.#t=void 0,this.#e=!1,this.emit("close",{result:i}),this.options.destroyOnClose&&!this.#i&&this.destroy()}),this.listen(this.el,"click",i=>{!this.options.lightDismiss||i.target!==this.el||!la(this.el,i)||this.close()})}render(){let t=a("dialog",{class:"zx-modal"},a("div",{class:"zx-modal__content",ref:"content"}));return t.dataset.state="closed",document.body.append(t),t}open(){if(this.isOpen())return this;this.el.dataset.zxOverlayOrder=String(ha()),this.el.returnValue="";try{this.el.showModal()}catch(t){throw delete this.el.dataset.zxOverlayOrder,t}return this.el.dataset.state="open",this.emit("open"),this}close(t){return this.isOpen()?(this.#t=t,this.#e=!0,this.el.close(typeof t=="string"?t:""),this):this}setContent(t){return xr(this.refs.content,t),this}isOpen(){return this.el.open}destroy(){this.#i||(this.#i=!0,this.isOpen()&&this.el.close(),super.destroy())}#s(t){typeof t=="number"&&Number.isFinite(t)?this.el.style.inlineSize=`${Math.max(0,t)}px`:this.el.style.inlineSize=String(t??"auto")}};function xr(s,t){if(s.replaceChildren(),t!=null)if(typeof t=="string"||typeof t=="number")s.append(document.createTextNode(String(t)));else if(typeof t.toElement=="function"){let e=t.toElement();e&&s.append(e)}else typeof t.nodeType=="number"&&s.append(t)}function la(s,t){let e=s.getBoundingClientRect();return t.clientX<e.left||t.clientX>e.right||t.clientY<e.top||t.clientY>e.bottom}function ha(){let s=Array.from(document.querySelectorAll("[data-zx-overlay-order]"),t=>Number(t.getAttribute("data-zx-overlay-order"))||0);return Math.max(0,...s)+1}var ca=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[contenteditable="true"]','[tabindex]:not([tabindex="-1"])'].join(","),kt=class s extends Wt{static cssName="dialog";static defaults={title:"",size:"md",buttons:[],closable:!0};#t=new Map;#e=null;#i=[];#s="";#r=null;constructor(t=null,e={}){super(null,e),this.#a(this.options.size),this.#s=String(this.options.title??""),this.#o(this.#s),this.#i=we(this.options.buttons),this.#l(this.#i),this.refs.close.hidden=!this.options.closable,this.listen(this.refs.close,"click",()=>this.close()),this.listen(this.refs.footer,"click",i=>{let r=i.target.closest?.("[data-dialog-button]");if(!r||!this.refs.footer.contains(r))return;let n=this.#n[Number(r.dataset.dialogButton)];n&&this.#c(n)}),this.on("close",()=>this.#h())}#n=[];render(){let t=b("zx-dialog-title"),e=a("dialog",{class:"zx-modal zx-dialog",ariaLabelledby:t},a("header",{class:"zx-dialog__header"},a("h2",{class:"zx-dialog__title",id:t,ref:"title"}),a("button",{class:"zx-btn zx-dialog__close",ref:"close",type:"button","data-kind":"ghost",ariaLabel:"Close",title:"Close"},"\xD7")),a("div",{class:"zx-modal__content zx-dialog__body",ref:"content"}),a("footer",{class:"zx-dialog__footer",ref:"footer"}));return e.dataset.state="closed",document.body.append(e),e}open(){return this.isOpen()?this:(this.#r=document.activeElement instanceof Element?document.activeElement:null,super.open(),queueMicrotask(()=>{if(!this.isOpen())return;let e=this.el.querySelector("[autofocus]:not([disabled])")??this.el.querySelector(ca);e instanceof HTMLElement&&e.focus()}),this)}setTitle(t){return this.#s=String(t??""),this.#o(this.#s),this}setContent(t){return this.#t.clear(),this.#e=null,ua(this.refs.content,t),this}setButtons(t){return this.#i=we(t),this.#l(this.#i),this}addView(t,e){let i=String(t);this.#t.get(i)?.content.remove();let n=a("section",{class:"zx-dialog__view",hidden:!0,ariaHidden:"true"});vr(n,e?.content??null);let o={key:i,content:n,buttons:e&&Object.hasOwn(e,"buttons")?we(e.buttons??[]):null,title:e&&Object.hasOwn(e,"title")?String(e.title??""):null};return this.#t.set(i,o),this.#t.size===1||this.#e?.key===i?this.showView(i):this.refs.content.append(n),o}showView(t){let e=this.#t.get(String(t));if(!e)throw new RangeError(`Unknown dialog view: ${t}`);this.#e||this.refs.content.replaceChildren();for(let i of this.#t.values()){i.content.isConnected||this.refs.content.append(i.content);let r=i===e;i.content.hidden=!r,i.content.setAttribute("aria-hidden",String(!r))}return this.#e=e,this.#o(e.title??this.#s),this.#l(e.buttons??this.#i),e}getView(t){return this.#t.get(String(t))??null}static alert({title:t="",message:e="",okLabel:i="OK"}={}){return new Promise(r=>{let n=!1,o=()=>{n||(n=!0,l.close(),r())},l=new s(null,{title:t,content:e,buttons:[{label:i,kind:"primary",action:o,autofocus:!0}]});l.once("close",()=>{n||(n=!0,r()),l.destroy()}),l.open()})}static confirm({title:t="",message:e="",okLabel:i="OK",cancelLabel:r="Cancel",danger:n=!1}={}){return new Promise(o=>{let l=!1,h=u=>{l||(l=!0,c.close(u),o(u))},c=new s(null,{title:t,content:e,buttons:[{label:r,action:()=>h(!1)},{label:i,kind:n?"danger":"primary",action:()=>h(!0),autofocus:!0}]});c.once("close",()=>{l||(l=!0,o(!1)),c.destroy()}),c.open()})}static prompt({title:t="",message:e="",value:i="",placeholder:r=""}={}){return new Promise(n=>{let o=!1,l=a("input",{class:"zx-dialog__prompt-input",value:String(i),placeholder:String(r),autofocus:!0,ariaLabel:String(t||"Prompt value")}),h=a("div",{class:"zx-dialog__prompt"},a("div",{class:"zx-dialog__prompt-message"},e),l),c=d=>{o||(o=!0,u.close(d),n(d))},u=new s(null,{title:t,content:h,buttons:[{label:"Cancel",action:()=>c(null)},{label:"OK",kind:"primary",action:()=>c(l.value)}]});u.listen(l,"keydown",d=>{d.key==="Enter"&&(d.preventDefault(),c(l.value))}),u.once("close",()=>{o||(o=!0,n(null)),u.destroy()}),u.open()})}#a(t){let e={sm:400,md:600,lg:840},i=typeof t=="number"&&Number.isFinite(t)?t:e[t]??e.md;this.el.style.inlineSize=`${Math.max(0,i)}px`}#o(t){this.refs.title.textContent=t}#l(t){this.#n=we(t),this.refs.footer.replaceChildren(),this.refs.footer.hidden=this.#n.length===0,this.#n.forEach((e,i)=>{this.refs.footer.append(a("button",{class:"zx-btn",type:"button","data-kind":e.kind??"default","data-size":"md","data-dialog-button":String(i),autofocus:!!e.autofocus},a("span",{class:"zx-btn__label"},e.label)))})}#c(t){let e=t.action??"close";e==="close"?this.close():e==="cancel"?this.emit("cancel").defaultPrevented||this.close():typeof e=="function"&&e(this)}#h(){this.#r?.isConnected&&typeof this.#r.focus=="function"&&this.#r.focus(),this.#r=null}};function we(s){return Array.isArray(s)?s.map(t=>({...t,label:String(t.label??"")})):[]}function ua(s,t){s.replaceChildren(),vr(s,t)}function vr(s,t){if(t!=null)if(typeof t=="string"||typeof t=="number")s.append(document.createTextNode(String(t)));else if(typeof t.toElement=="function"){let e=t.toElement();e&&s.append(e)}else typeof t.nodeType=="number"&&s.append(t)}var pt=class extends f{static cssName="groupbox";static defaults={title:"",open:!0};constructor(t,e={}){let i=t,r=null;if(t!==null){let n=O(t);if(n&&n.localName!=="details"){let o=document.createElement("details"),l=Array.from(n.childNodes),h=n.parentNode,c=n.nextSibling;h&&h.insertBefore(o,n),o.append(...l),n.remove(),r={original:n,details:o,children:l,parent:h,next:c},i=o}}try{super(i,e)}catch(n){throw r&&wr(r),n}this._adoption=r}render(){let t=!this.el,e=this.el??a("details");if(e.localName!=="details")throw new TypeError("Groupbox requires a details element");this._createdRoot=t,this._original=t?null:da(e);let i=Array.from(e.childNodes).filter(o=>!(o.nodeType===1&&o.localName==="summary")),r=a("summary",{class:"zx-groupbox__summary",ref:"summary"},a("span",{class:"zx-groupbox__chevron",ariaHidden:"true"},m("chevron-right",{size:16})),a("span",{class:"zx-groupbox__title",ref:"title"},String(this.options.title))),n=a("div",{class:"zx-groupbox__content",ref:"content"},i);return e.replaceChildren(r,n),e.open=!!this.options.open,this._lastOpen=e.open,this.listen(e,"toggle",()=>{let o=e.open;o!==this._lastOpen&&(this._lastOpen=o,this.emit(o?"open":"close"))}),e}open(){return this.el.setAttribute("open",""),this}close(){return this.el.removeAttribute("open"),this}toggle(){return this.isOpen()?this.close():this.open()}isOpen(){return this.el.open}setTitle(t){return this.refs.title.textContent=String(t),this}setContent(t){let e=t instanceof f?t.toElement():t;if(this.refs.content.replaceChildren(),typeof e=="string")this.refs.content.append(document.createTextNode(e));else if(e&&typeof e.nodeType=="number")this.refs.content.append(e);else throw new TypeError("Groupbox content must be a string, Node, or Component");return this}destroy(){this._cleaned||(this._cleaned=!0,super.destroy(),this._adoption?wr(this._adoption):!this._createdRoot&&this._original&&pa(this.el,this._original))}};function da(s){return{attributes:Array.from(s.attributes,t=>[t.name,t.value]),children:Array.from(s.childNodes)}}function pa(s,t){for(let e of Array.from(s.attributes))s.removeAttribute(e.name);for(let[e,i]of t.attributes)s.setAttribute(e,i);s.replaceChildren(...t.children)}function wr(s){if(s.original.replaceChildren(...s.children),s.details.parentNode)s.details.replaceWith(s.original);else if(s.parent){let t=s.next?.parentNode===s.parent?s.next:null;s.parent.insertBefore(s.original,t)}}var Gt=class extends f{static cssName="search";static defaults={placeholder:"",value:"",clearable:!0,debounce:250};render(){let t=!this.el,e=this.el??a("form");this._createdRoot=t,this._original=t?null:fa(e),this._inputTimer=null,e.setAttribute("role","search");let i=a("input",{class:"zx-search__input",ref:"input",type:"search",placeholder:String(this.options.placeholder),value:String(this.options.value),ariaLabel:String(this.options.placeholder||"Search")}),r=this.options.clearable?a("button",{class:"zx-search__clear",ref:"clear",type:"button",ariaLabel:"Clear search",title:"Clear search"},m("x",{size:15})):null,n=a("button",{class:"zx-search__submit",ref:"submit",type:e.localName==="form"?"submit":"button",ariaLabel:"Submit search",title:"Search"},m("search",{size:16}));return e.replaceChildren(...[i,r,n].filter(Boolean)),this._syncClear(),this.listen(i,"input",()=>{this._syncClear(),this._scheduleInput()}),e.localName==="form"?this.listen(e,"submit",o=>{o.preventDefault(),this.emit("submit",{value:this.get()})}):(this.listen(i,"keydown",o=>{o.key==="Enter"&&(o.preventDefault(),this.emit("submit",{value:this.get()}))}),this.listen(n,"click",()=>this.emit("submit",{value:this.get()}))),r&&this.listen(r,"click",()=>this.clear()),e}get(){return this.refs.input.value}set(t,{silent:e=!1}={}){return this._inputTimer!==null&&(clearTimeout(this._inputTimer),this._inputTimer=null),this.refs.input.value=String(t),this._syncClear(),e||this._scheduleInput(),this}focus(){return this.refs.input.focus(),this}clear(){return this.set(""),this.emit("clear"),this.focus(),this}destroy(){this._cleaned||(this._cleaned=!0,this._inputTimer!==null&&clearTimeout(this._inputTimer),super.destroy(),!this._createdRoot&&this._original&&_a(this.el,this._original))}_scheduleInput(){this._inputTimer!==null&&clearTimeout(this._inputTimer);let t=Math.max(0,Number(this.options.debounce)||0);this._inputTimer=setTimeout(()=>{this._inputTimer=null,this.emit("input",{value:this.get()})},t)}_syncClear(){this.refs.clear&&(this.refs.clear.hidden=this.get()==="")}};function fa(s){return{attributes:Array.from(s.attributes,t=>[t.name,t.value]),children:Array.from(s.childNodes)}}function _a(s,t){for(let e of Array.from(s.attributes))s.removeAttribute(e.name);for(let[e,i]of t.attributes)s.setAttribute(e,i);s.replaceChildren(...t.children)}var ma=new Set(["divided","bracket","line","segmented"]),Qt=class extends f{static cssName="tabbox";static defaults={tabs:[],active:null,variant:"divided",keepAlive:!0};constructor(t,e={}){super(t,e)}render(){let t=!this.el,e=this.el??a("section");if(this.el=e,this._createdRoot=t,this._original=t?null:ba(e),this._cleaned=!1,this._tabs=[],this._active=null,this._keepAlive=!!this.options.keepAlive,this._initializing=!0,!ma.has(this.options.variant))throw new RangeError(`Unknown tabbox variant: ${this.options.variant}`);e.dataset.variant=this.options.variant;let i=a("div",{class:"zx-tabbox__tablist",ref:"tablist",role:"tablist",ariaOrientation:"horizontal"}),r=a("div",{class:"zx-tabbox__panels",ref:"panels"});if(e.replaceChildren(i,r),!Array.isArray(this.options.tabs))throw new TypeError("Tabbox tabs must be an array");for(let l of this.options.tabs)this.addTab(l);this._initializing=!1;let n=this.options.active===null?null:this._find(this.options.active),o=n&&!n.definition.disabled?n:this._enabledTabs()[0];return o&&this._applyActive(o),this.listen(i,"click",l=>{let h=l.target.closest?.('[role="tab"]');if(!h||!i.contains(h))return;let c=this._recordForTab(h);!c||c.definition.disabled||(this._setFocused(c),this.openTab(c.definition.name))}),this.listen(i,"keydown",l=>this._onKeydown(l)),e}addTab(t,e={}){if(!t||typeof t!="object"||Array.isArray(t))throw new TypeError("Tab definition must be an object");if(typeof t.name!="string"||t.name==="")throw new TypeError("Tab name must be a non-empty string");if(this._find(t.name))throw new RangeError(`Tab already exists: ${t.name}`);if(!ga(t.content))throw new TypeError("Tab content must be a Node, Component, or function");let i={name:t.name,title:String(t.title??""),content:t.content,icon:t.icon?String(t.icon):null,closable:!!t.closable,disabled:!!t.disabled},r=b("zx-tab"),n=b("zx-tabpanel"),o=a("span",{class:"zx-tabbox__title"},i.title),l=a("span",{class:"zx-tabbox__badge",hidden:!0}),h=[];i.icon&&h.push(a("span",{class:"zx-tabbox__icon",ariaHidden:"true"},m(i.icon,{size:16}))),h.push(o,l),i.closable&&h.push(a("span",{class:"zx-tabbox__close",ariaHidden:"true"},m("x",{size:14})));let c=a("button",{class:"zx-tabbox__tab",type:"button",id:r,role:"tab",tabindex:"-1",ariaControls:n,ariaSelected:"false",ariaDisabled:i.disabled?"true":null,dataset:{closable:i.closable?"true":null}},h),u=a("div",{class:"zx-tabbox__panel",id:n,role:"tabpanel",tabindex:"0",ariaLabelledby:r,hidden:!0}),d={definition:i,tab:c,title:o,badge:l,panel:u,built:!1},_=Number.isFinite(e.index)?Math.trunc(e.index):this._tabs.length,p=Math.max(0,Math.min(this._tabs.length,_)),g=this._tabs[p]??null;return this._tabs.splice(p,0,d),this.refs.tablist.insertBefore(c,g?.tab??null),this._keepAlive&&this.refs.panels.insertBefore(u,g?.panel??null),!this._initializing&&!this._active&&!i.disabled&&this._applyActive(d),this}removeTab(t){return this._removeTab(t,!1),this}openTab(t){let e=this._find(t);if(!e||e.definition.disabled||e===this._active)return this;let i=this._active?.definition.name??null;return this.emit("change",{name:e.definition.name,previous:i}).defaultPrevented?this:(this._applyActive(e),this)}show(t){return this.openTab(t)}getActive(){return this._active?.definition.name??null}setTitle(t,e){let i=this._require(t);return i.definition.title=String(e??""),i.title.textContent=i.definition.title,this}setBadge(t,e){let i=this._require(t);return i.badge.textContent=e===null?"":String(e),i.badge.hidden=e===null,this}enableTab(t){let e=this._require(t);return e.definition.disabled?(e.definition.disabled=!1,e.tab.removeAttribute("aria-disabled"),this._active||this._applyActive(e),this):this}disableTab(t){let e=this._require(t);if(e.definition.disabled)return this;if(e===this._active){let i=this._enabledTabs().find(r=>r!==e)??null;if(i){if(this.openTab(i.definition.name),this._active===e)return this}else e.tab.setAttribute("aria-selected","false"),e.tab.tabIndex=-1,e.panel.hidden=!0,this._keepAlive||e.panel.remove(),this._active=null}return e.definition.disabled=!0,e.tab.setAttribute("aria-disabled","true"),e.tab.tabIndex=-1,this}destroy(){this._cleaned||(this._cleaned=!0,super.destroy(),!this._createdRoot&&this._original&&ya(this.el,this._original))}_onKeydown(t){let e=t.target.closest?.('[role="tab"]');if(!e||!this.refs.tablist.contains(e))return;let i=this._recordForTab(e);if(!i)return;let r=this._enabledTabs();if(t.key==="ArrowLeft"||t.key==="ArrowRight"){t.preventDefault();let n=t.key==="ArrowRight"?1:-1,o=r.indexOf(i),l=r[(o+n+r.length)%r.length];l&&this._setFocused(l);return}if(t.key==="Home"||t.key==="End"){t.preventDefault();let n=t.key==="Home"?r[0]:r[r.length-1];n&&this._setFocused(n);return}if(t.key==="Enter"||t.key===" "){t.preventDefault(),this.openTab(i.definition.name);return}if(t.key==="Delete"&&i.definition.closable){t.preventDefault();let n=this._tabs.indexOf(i);if(!this._removeTab(i.definition.name,!0))return;let o=this._tabs[Math.min(n,this._tabs.length-1)]??this._tabs[n-1],l=o&&!o.definition.disabled?o:this._active;l&&this._setFocused(l)}}_removeTab(t,e){let i=this._find(t);if(!i)return!1;let r=this._tabs.indexOf(i),o=this._tabs.filter(h=>h!==i).filter(h=>!h.definition.disabled),l=o.find(h=>this._tabs.indexOf(h)>r)??o.at(-1)??null;return i===this._active&&l&&this.emit("change",{name:l.definition.name,previous:i.definition.name}).defaultPrevented?!1:(this._tabs.splice(r,1),i.tab.remove(),i.panel.remove(),i===this._active&&(this._active=null,l&&this._applyActive(l)),e&&this.emit("close",{name:i.definition.name}),!0)}_applyActive(t){this._ensureContent(t);let e=this._active;e&&e!==t&&(e.tab.setAttribute("aria-selected","false"),e.panel.hidden=!0,this._keepAlive||e.panel.remove()),this._active=t,t.tab.setAttribute("aria-selected","true"),t.panel.hidden=!1,t.panel.parentNode!==this.refs.panels&&this.refs.panels.append(t.panel),this._setFocused(t,!1)}_ensureContent(t){if(t.built)return;let e=typeof t.definition.content=="function"?t.definition.content():t.definition.content,i=e instanceof f?e.toElement():e;if(!i||typeof i.nodeType!="number")throw new TypeError(`Tab content factory for ${t.definition.name} must return a Node or Component`);t.panel.append(i),t.built=!0}_setFocused(t,e=!0){for(let i of this._tabs)i.tab.tabIndex=i===t?0:-1;e&&t.tab.focus()}_enabledTabs(){return this._tabs.filter(t=>!t.definition.disabled)}_find(t){return this._tabs.find(e=>e.definition.name===t)??null}_require(t){let e=this._find(t);if(!e)throw new RangeError(`Unknown tab: ${t}`);return e}_recordForTab(t){return this._tabs.find(e=>e.tab===t)??null}};function ga(s){return typeof s=="function"||s instanceof f?!0:!!(s&&typeof s=="object"&&typeof s.nodeType=="number")}function ba(s){return{attributes:Array.from(s.attributes,t=>[t.name,t.value]),children:Array.from(s.childNodes)}}function ya(s,t){for(let e of Array.from(s.attributes))s.removeAttribute(e.name);for(let[e,i]of t.attributes)s.setAttribute(e,i);s.replaceChildren(...t.children)}function xa(s,t){return String(s).localeCompare(String(t))}function va(s,t){return s-t}function wa(s,t){return s.getTime()-t.getTime()}function ka(s,t,e="asc"){let i=s==null,r=t==null;if(i||r)return i&&r?0:i?1:-1;let n;return s instanceof Date&&t instanceof Date?n=wa(s,t):typeof s=="number"&&typeof t=="number"?n=va(s,t):n=xa(s,t),e==="desc"?-n:n}function Aa(s,t="asc"){return(e,i)=>ka(s(e),s(i),t)}function kr(s,t,e="asc"){let i=Aa(t,e);return s.map((r,n)=>({row:r,index:n})).sort((r,n)=>i(r.row,n.row)||r.index-n.index).map(({row:r})=>r)}var Sa=new Set(["text","number","select","date","checkbox","textarea"]),za='input, textarea, select, button, [tabindex]:not([tabindex="-1"])',Xt=class extends f{static cssName="table";static defaults={columns:[],data:[],rowId:"ID",sort:null,sortMode:"local",selectable:!1,stickyHeader:!0,responsive:!1,growing:!1,height:null,emptyText:null,rowClass:null,zebra:!0,editMode:!1};constructor(t,e={}){super(t,e)}render(){let t=this.el??a("div");return this.el=t,this._originalChildren=this.el?Array.from(this.el.childNodes):null,this._columns=Array.isArray(this.options.columns)?this.options.columns.map(e=>({...e})):[],this._data=Array.isArray(this.options.data)?[...this.options.data]:[],this._selected=new Set,this._selectionAnchorId=null,this._sort=Oa(this.options.sort,this._columns),this._rowMeta=new WeakMap,this._rowElements=new Map,this._restored=!1,this._editMode=Ma(this.options.editMode),this._edit=null,this._editMessage=null,this._stacked=!1,this._width=null,this._growStep=Ra(this.options.growing),this._rendered=this._growStep??1/0,this._more=null,this._rovingKey=null,this._rovingCell=null,this._rovingMatched=!1,this._sort&&this.options.sortMode==="local"&&this._sortData(),this._table=a("table",{class:"zx-table__table"}),this._colgroup=a("colgroup",{class:"zx-table__columns"}),this._thead=a("thead",{class:"zx-table__head"}),this._tbody=a("tbody",{class:"zx-table__body"}),this._table.append(this._colgroup,this._thead,this._tbody),this._scroll=a("div",{class:"zx-table__scroll",dataset:{stickyHeader:String(!!this.options.stickyHeader),zebra:String(!!this.options.zebra)}},this._table),this.options.height!=null&&(this._scroll.style.blockSize=typeof this.options.height=="number"?`${this.options.height}px`:String(this.options.height)),this._editMode===!1?t.replaceChildren(this._scroll):(t.dataset.editMode=this._editMode,this._editMessage=a("div",{class:"zx-table__message",id:b("zx-table-message"),role:"status",ariaLive:"polite"}),t.replaceChildren(this._scroll,this._editMessage)),this._renderColumns(),this._renderHeader(),this._renderBody(),this._watchWidth(),this.listen(this._tbody,"click",e=>this._handleBodyClick(e)),this.listen(this._tbody,"dblclick",e=>this._handleBodyDoubleClick(e)),this._editMode!==!1&&(this.listen(this._tbody,"keydown",e=>this._handleEditKeydown(e)),this.listen(this._tbody,"focusin",e=>this._handleEditFocusIn(e)),this.listen(document,"pointerdown",e=>this._handleDocumentPointerDown(e),{capture:!0})),t}setLoading(t=!0){return t?this.el.dataset.loading="true":delete this.el.dataset.loading,this.el.setAttribute("aria-busy",String(!!t)),this}setData(t){this._rendered=this._growStep??1/0,this.setLoading(!1),Sr(t),this._data=[...t],this._sort&&this.options.sortMode==="local"&&this._sortData();let e=this._pruneSelection();return this._renderBody(),e&&this._emitSelectionChange(),this._emitDataChange(),this}addData(t){return Sr(t),this._data.push(...t),this._sort&&this.options.sortMode==="local"&&this._sortData(),this._renderBody(),this._emitDataChange(),this}updateRow(t,e){let i=this._data.findIndex(n=>Object.is(this._idFor(n),t));if(i<0)return this;let r=this._selected.delete(t);return this._data[i]=e,r&&this._selected.add(this._idFor(e)),this._sort&&this.options.sortMode==="local"&&this._sortData(),this._renderBody(),r&&!Object.is(t,this._idFor(e))&&this._emitSelectionChange(),this._emitDataChange(),this}removeRow(t){let e=this._data.findIndex(r=>Object.is(this._idFor(r),t));if(e<0)return this;this._data.splice(e,1);let i=this._selected.delete(t);return Object.is(this._selectionAnchorId,t)&&(this._selectionAnchorId=null),this._renderBody(),i&&this._emitSelectionChange(),this._emitDataChange(),this}getRow(t){return this._data.find(e=>Object.is(this._idFor(e),t))??null}getData(){return[...this._data]}empty(){let t=this._selected.size>0;return this._data=[],this._selected.clear(),this._selectionAnchorId=null,this._renderBody(),t&&this._emitSelectionChange(),this._emitDataChange(),this}setSort(t,e,i={}){if(this._abortEdit({focus:!1}),!this._columns.find(o=>o.id===t))throw new RangeError(`Unknown table column: ${t}`);let n=e??(this._sort?.id===t&&this._sort.dir==="asc"?"desc":"asc");if(n!=="asc"&&n!=="desc")throw new TypeError('Table sort direction must be "asc" or "desc"');return this._sort={id:t,dir:n},this.options.sortMode==="local"&&(this._sortData(),this._renderBody()),this._syncSortHeader(),i.silent||this.emit("sort",{id:t,dir:n}),this}getSelection(){return this._data.filter(t=>this._selected.has(this._idFor(t)))}setSelection(t){if(!Array.isArray(t))throw new TypeError("Table selection must be an array of row ids");let e=new Set(this._data.map(r=>this._idFor(r))),i=new Set;if(this.options.selectable!==!1){for(let r of t)if(e.has(r)&&i.add(r),this.options.selectable==="single"&&i.size>0)break}return La(this._selected,i)?this:(this._selected=i,this._syncSelection(),this._emitSelectionChange(),this)}clearSelection(){return this._selected.size===0?this:(this._selected.clear(),this._selectionAnchorId=null,this._syncSelection(),this._emitSelectionChange(),this)}startEdit(t,e){if(this._editMode===!1)return this;let i=this._columns.find(u=>u.id===e);if(!i)return this;let r=this._data.find(u=>Object.is(this._idFor(u),t));if(r===void 0||Jt(i,r)===!1)return this;if(this._edit){if(Object.is(this._edit.id,t)&&this._edit.cells.has(e))return this._edit.columnId=e,this._focusEditor(e),this;if(this.commitEdit(),this._edit)return this}let n=this._data.findIndex(u=>Object.is(this._idFor(u),t));if(n<0)return this;let o=this._data[n],l=this._rowElements.get(t)?.[0];if(!l)return this;let h=this._editMode==="row"?this._columns.filter(u=>Jt(u,o)!==!1):[i],c=new Map;for(let u of h){let d=Ar(l,u.id);if(!d)continue;let _=this._createEditor(d,u,o,n);_&&c.set(u.id,_)}return c.size===0?this:(this._edit={id:t,columnId:e,row:o,cells:c,tr:l},l.dataset.editing="true",this.emit("editstart",{row:o,id:t,column:i,columnId:e,value:o?.[e]}),this._focusEditor(e),this)}commitEdit(){let t=this._edit;if(!t)return this;let e=this.getRow(t.id)??t.row,i={};for(let[d,_]of t.cells)i[d]=_.read();let r=this._columns.filter(d=>t.cells.has(d.id)),n=Ea(i,r,e,this._msgOr("table.invalid","Invalid value"));if(n)return this._markInvalid(n.columnId,n.message),t.columnId=n.columnId,this.emit("editinvalid",{row:e,id:t.id,column:this._columns.find(d=>d.id===n.columnId)??null,columnId:n.columnId,value:i[n.columnId],message:n.message}),this._focusEditor(n.columnId),this;this._clearInvalid();let o=Da(e,i),l=t.columnId;if(this.emit("editcommit",{row:e,id:t.id,column:this._columns.find(d=>d.id===l)??null,columnId:l,value:i[l],previous:e?.[l],changes:o}).defaultPrevented)return this;let c=this._editHasFocus(),u={...e,...o};return this._teardownEdit(),Object.keys(o).length>0&&this.updateRow(t.id,u),c&&this._focusCell(this._idFor(u),l),this}cancelEdit(){return this._abortEdit({focus:!0}),this}isEditing(){return this._edit!==null}getEditing(){return this._edit?{id:this._edit.id,columnId:this._edit.columnId}:null}_visibleData(){return this._rendered===1/0?this._data:this._data.slice(0,this._rendered)}growBy(t){if(!this._growStep)return this;let e=Number(t)>0?Math.trunc(Number(t)):this._growStep,i=this._rendered;return this._rendered=Math.min(this._data.length,this._rendered+e),this._rendered===i?this:(this._renderBody(),this.emit("grow",{rendered:this._rendered,total:this._data.length}),this)}showAll(){return this.growBy(this._data.length)}getRenderedCount(){return Math.min(this._rendered,this._data.length)}_syncGrowing(){if(!this._growStep)return;let t=this._data.length-this.getRenderedCount();if(t<=0){this._more?.remove(),this._more=null;return}let e=this._message("table.more","Show %1 more",[t]);this._more||(this._more=a("button",{class:"zx-table__more",type:"button",onclick:()=>this.growBy()}),this.el.append(this._more)),this._more.textContent=e,this._more.setAttribute("aria-label",e)}_message(t,e,i){let r=this.msg(t,...i);return r===t?E(e,i):r}_watchWidth(){this._width?.destroy(),this._width=null;let t=this.options.responsive;!t||!(t in wt)||(this._width=oi((e,i)=>this._setStacked(i>0&&i<wt[t]),{target:this.el}))}_setStacked(t){this._stacked!==t&&(this._stacked=t,this.el.toggleAttribute("data-stacked",t),this._applyStackedRoles(t),this.emit("stackedchange",{stacked:t}))}_applyStackedRoles(t){let e=[[this._table,"table"],[this._thead,"rowgroup"],[this._tbody,"rowgroup"]];for(let[i,r]of e)i&&(t?i.setAttribute("role",r):i.removeAttribute("role"));for(let[i,r]of[["tr","row"],["td","cell"],["th","columnheader"]])for(let n of this._table.querySelectorAll(i))t?n.setAttribute("role",r):n.removeAttribute("role")}isStacked(){return!!this._stacked}destroy(){this._teardownEdit(),this._width?.destroy(),this._width=null,this.el&&delete this.el.dataset.editMode,!this._restored&&this._originalChildren&&(this.el.replaceChildren(...this._originalChildren),this._restored=!0),super.destroy()}_renderColumns(){let t=document.createDocumentFragment();this.options.selectable==="multi"&&t.append(a("col",{class:"zx-table__selection-column"}));let e=this._columns.map(r=>Fa(r.width)),i=e.reduce((r,n)=>r+n,0);this._table.dataset.layout=i>0?"fixed":"auto",this._columns.forEach((r,n)=>{let o=a("col");e[n]>0?o.style.width=`${e[n]/i*100}%`:r.width&&r.width!=="auto"&&(o.style.width=String(r.width)),t.append(o)}),this._colgroup.replaceChildren(t)}_renderHeader(){let t=a("tr",{class:"zx-table__header-row"});if(this._growStep&&t.setAttribute("aria-rowindex","1"),this.options.selectable==="multi"){this._selectAll=a("input",{class:"zx-table__checkbox zx-table__select-all",type:"checkbox",ariaLabel:"Select all rows"});let e=a("th",{class:"zx-table__selection-header",scope:"col"},this._selectAll);t.append(e),this.listen(this._selectAll,"click",()=>{if(this._selectAll.checked)for(let i of this._visibleData())this._selected.add(this._idFor(i));else for(let i of this._visibleData())this._selected.delete(this._idFor(i));this._selectionAnchorId=null,this._syncSelection(),this._emitSelectionChange()})}else this._selectAll=null;this._headers=new Map;for(let e of this._columns){let i=a("th",{scope:"col"});if(e.align&&(i.dataset.align=e.align),e.headerTitle&&(i.title=e.headerTitle),e.sortable){let r=a("button",{class:"zx-table__sort-button",type:"button"},a("span",{class:"zx-table__header-label"},e.label));this.listen(r,"click",()=>{let n=this._sort?.id===e.id&&this._sort.dir==="asc"?"desc":"asc";this.setSort(e.id,n)}),i.append(r)}else i.append(a("span",{class:"zx-table__header-label"},e.label));this._headers.set(e.id,i),t.append(i)}this._thead.replaceChildren(t),this._syncSortHeader()}_renderBody(){this._abortEdit({focus:!1});let t=document.createDocumentFragment();this._rowMeta=new WeakMap,this._rowElements=new Map,this._rovingCell=null,this._rovingMatched=!1,this._data.length===0?t.append(a("tr",{class:"zx-table__empty-row"},a("td",{class:"zx-table__empty",colspan:this._columns.length+(this.options.selectable==="multi"?1:0)},this._emptyContent()))):this._visibleData().forEach((e,i)=>t.append(this._createRow(e,i))),this._tbody.replaceChildren(t),this._growStep&&this._table.setAttribute("aria-rowcount",String(this._data.length+1)),this._syncSelectAll(),this._syncGrowing(),this._stacked&&this._applyStackedRoles(!0)}_emptyContent(){let t=this.options.emptyText;return t==null?this.msg("table.empty"):typeof t=="function"?t():t}_createRow(t,e){let i=this._idFor(t),r=a("tr",{dataset:{row:""}});this._growStep&&r.setAttribute("aria-rowindex",String(e+2));let n=typeof this.options.rowClass=="function"?this.options.rowClass(t):"";n&&r.classList.add(...String(n).split(/\s+/).filter(Boolean)),this.options.selectable!==!1&&r.setAttribute("aria-selected",String(this._selected.has(i))),this._rowMeta.set(r,{row:t,id:i,index:e});let o=this._rowElements.get(i)??[];if(o.push(r),this._rowElements.set(i,o),this.options.selectable==="multi"){let l=a("input",{class:"zx-table__checkbox zx-table__row-checkbox",type:"checkbox",checked:this._selected.has(i),ariaLabel:`Select row ${e+1}`});r.append(a("td",{class:"zx-table__selection-cell"},l))}return this._columns.forEach(l=>{let h=a("td");l.align&&(h.dataset.align=l.align),h.dataset.label=l.label,l.popin===!1&&(h.dataset.popin="false"),this._editMode!==!1&&(h.dataset.column=l.id,Jt(l,t)!==!1&&(h.dataset.editable="true",h.tabIndex=-1,this._offerRovingCell(h,i,l.id))),this._renderCellContent(h,l,t,e),r.append(h)}),r}_renderCellContent(t,e,i,r){let n=typeof e.render=="function"?e.render(i,r):i?.[e.id];n&&typeof n=="object"&&typeof n.nodeType=="number"?t.replaceChildren(n):n!=null?t.replaceChildren(document.createTextNode(String(n))):t.replaceChildren()}_handleBodyClick(t){let e=t.target?.nodeType===1?t.target:t.target?.parentElement;if(this._edit&&ke(e))return;let i=e?.closest("tr[data-row]");if(!i||!this._tbody.contains(i))return;let r=this._rowMeta.get(i);if(!r)return;this._edit&&this.commitEdit();let n=e.closest(".zx-table__row-checkbox");if(n&&this.options.selectable==="multi"){this._toggleMultiSelection(r,n.checked,t.shiftKey);return}this.emit("rowclick",{...r,event:t}),this.options.selectable==="single"&&!this._selected.has(r.id)&&(this._selected=new Set([r.id]),this._selectionAnchorId=r.id,this._syncSelection(),this._emitSelectionChange())}_handleBodyDoubleClick(t){let e=t.target?.nodeType===1?t.target:t.target?.parentElement;if(e?.closest(".zx-table__row-checkbox")||this._edit&&ke(e))return;let i=e?.closest("tr[data-row]");if(!i||!this._tbody.contains(i))return;let r=this._rowMeta.get(i);if(r){if(this._editMode!==!1){let n=e?.closest('td[data-editable="true"]');if(n&&this._tbody.contains(n)){this.startEdit(r.id,String(n.dataset.column));return}}this.emit("rowdblclick",{...r,event:t})}}_createEditor(t,e,i,r){let n=Jt(e,i);if(n===!1)return null;let o=i?.[e.id],l=e.editorProps&&typeof e.editorProps=="object"?e.editorProps:{},h=a("span",{class:"zx-table__cell-shadow",ariaHidden:"true"});h.append(...t.childNodes);let c=a("div",{class:"zx-table__editor",dataset:{editor:n}});t.replaceChildren(h,c),t.dataset.editing="true";let u={column:e,type:n,td:t,host:c,control:null,component:null,read:()=>o,destroy(){this.component?.destroy(),this.host.remove()}};if(n==="custom"){u.custom=o,u.read=()=>ft(e,u.custom,i);let p={value:o,row:i,column:e,commit:y=>{u.custom=y,this.commitEdit()},cancel:()=>this.cancelEdit()},g=e.editor(i,p);return g&&typeof g.toElement=="function"?(typeof g.destroy=="function"&&(u.component=g),c.append(g.toElement())):g&&c.append(g),u.control=c.querySelector(za)??c,u}if(n==="number"){let p=new ct(null,{...l,value:o??null});return c.append(p.el),u.component=p,u.control=p.getInput(),u.read=()=>(p.set(p.getInput().value,{silent:!0}),ft(e,p.get(),i)),u}if(n==="select"){let p=Ca(e.options,i),g=p.find(A=>Object.is(A.value,o))??p.find(A=>String(A.value)===String(o??"")),y=new F(null,{...l,items:p,valueKey:"value",labelKey:"label",value:g?g.value:null});return c.append(y.el),u.component=y,u.control=y.refs.input,u.read=()=>ft(e,y.value,i),u}if(n==="date"){let p=new P(null,{...l,value:o??null});c.append(p.el),u.component=p;let g=p.refs.input;return u.control=g,u.read=()=>{let y=String(g.value??"").trim(),A=p.get();return y===""?ft(e,null,i):(p.set(y,{silent:!0}),p.get()===null&&p.set(A,{silent:!0}),ft(e,p.get(),i))},u}if(n==="checkbox"){let p=new H(null,{...l,checked:!!o});return c.append(p.el),u.component=p,u.control=p.el,u.read=()=>ft(e,p.get(),i),u}let d=n==="textarea",_=a(d?"textarea":"input",{...l,class:d?"zx-table__editor-input zx-table__editor-textarea":"zx-table__editor-input",...d?{}:{type:"text"},ariaLabel:l.ariaLabel??`${e.label} row ${r+1}`,value:Ta(e,o,i)});return c.append(_),u.control=_,u.read=()=>ft(e,_.value,i),u}_focusEditor(t){let e=this._edit?.cells.get(t),i=e?.control;!i||typeof i.focus!="function"||(i.focus(),e.type==="text"&&typeof i.select=="function"&&i.select())}_focusCell(t,e){let i=this._rowElements.get(t)?.[0];(i?Ar(i,e):null)?.focus()}_teardownEdit(){let t=this._edit;if(!t)return;this._edit=null;let e=this._data.findIndex(r=>Object.is(this._idFor(r),t.id)),i=e<0?t.row:this._data[e];for(let r of t.cells.values())r.destroy(),delete r.td.dataset.editing,delete r.td.dataset.invalid,this._renderCellContent(r.td,r.column,i,e<0?0:e);t.cells.clear(),delete t.tr.dataset.editing,this._clearInvalid()}_abortEdit({focus:t=!0}={}){let e=this._edit;if(!e)return;let i=t&&this._editHasFocus(),r=this.getRow(e.id)??e.row,n=this._columns.find(o=>o.id===e.columnId)??null;this._teardownEdit(),i&&this._focusCell(e.id,e.columnId),this.emit("editcancel",{row:r,id:e.id,column:n,columnId:e.columnId})}_editHasFocus(){let t=document.activeElement;return!!(t&&this.el?.contains(t))}_markInvalid(t,e){this._clearInvalid();let i=this._edit?.cells.get(t);i&&(i.td.dataset.invalid="true",i.control?.setAttribute("aria-invalid","true"),this._editMessage&&(i.control?.setAttribute("aria-describedby",this._editMessage.id),this._editMessage.textContent=e))}_clearInvalid(){if(this._edit)for(let t of this._edit.cells.values())delete t.td.dataset.invalid,t.control?.removeAttribute("aria-invalid"),t.control?.removeAttribute("aria-describedby");this._editMessage&&(this._editMessage.textContent="")}_handleEditKeydown(t){let e=t.target?.nodeType===1?t.target:t.target?.parentElement;if(!e)return;if(this._edit&&ke(e)){if(Ia(e))return;if(t.key==="Escape"){if(t.defaultPrevented)return;t.preventDefault(),this.cancelEdit();return}if(t.key==="Enter"){if(e.localName==="textarea"&&t.shiftKey)return;t.preventDefault(),this.commitEdit();return}t.key==="Tab"&&this._moveEdit(t);return}if(t.key!=="Enter"&&t.key!=="F2")return;let i=e.closest('td[data-editable="true"]');if(!i||!this._tbody.contains(i))return;let r=this._rowMeta.get(i.parentElement);r&&(t.preventDefault(),this.startEdit(r.id,String(i.dataset.column)))}_moveEdit(t){let e=this._edit;if(!e)return;let i=t.shiftKey?-1:1,r=this._data.findIndex(o=>Object.is(this._idFor(o),e.id)),n=this._nextEditableCell(r,e.columnId,i);if(n&&Object.is(n.id,e.id)&&e.cells.has(n.columnId)){t.preventDefault(),e.columnId=n.columnId,this._focusEditor(n.columnId);return}if(!n){this.commitEdit(),this._edit&&t.preventDefault();return}t.preventDefault(),this.commitEdit(),this._edit||this.startEdit(n.id,n.columnId)}_nextEditableCell(t,e,i){let r=this._columns.length;if(t<0||r===0)return null;let n=t,o=this._columns.findIndex(h=>h.id===e),l=this._data.length*r+r;for(let h=0;h<l;h+=1){if(o+=i,o>=r?(n+=1,o=0):o<0&&(n-=1,o=r-1),n<0||n>=this._data.length)return null;let c=this._data[n],u=this._columns[o];if(Jt(u,c)!==!1)return{id:this._idFor(c),columnId:u.id,index:n}}return null}_handleEditFocusIn(t){let i=(t.target?.nodeType===1?t.target:null)?.closest('td[data-editable="true"]');if(!i||!this._tbody.contains(i))return;let r=this._rowMeta.get(i.parentElement);r&&this._setRovingCell(i,r.id,String(i.dataset.column))}_handleDocumentPointerDown(t){if(!this._edit)return;let e=t.target?.nodeType===1?t.target:t.target?.parentElement;e&&ke(e)||e&&this._tbody.contains(e)||this.commitEdit()}_offerRovingCell(t,e,i){if(this._rovingMatched)return;let r=this._rovingKey!==null&&Object.is(this._rovingKey.id,e)&&this._rovingKey.columnId===i;!r&&this._rovingCell||(r&&this._rovingCell&&(this._rovingCell.tabIndex=-1),t.tabIndex=0,this._rovingCell=t,this._rovingMatched=r)}_setRovingCell(t,e,i){this._rovingCell&&this._rovingCell!==t&&(this._rovingCell.tabIndex=-1),t.tabIndex=0,this._rovingCell=t,this._rovingMatched=!0,this._rovingKey={id:e,columnId:i}}_msgOr(t,e){let i=this.msg(t);return i===t?e:i}_toggleMultiSelection(t,e,i){let r=this._data.findIndex(n=>Object.is(this._idFor(n),this._selectionAnchorId));if(i&&r>=0){let n=Math.min(r,t.index),o=Math.max(r,t.index);for(let l=n;l<=o;l+=1){let h=this._idFor(this._data[l]);e?this._selected.add(h):this._selected.delete(h)}}else e?this._selected.add(t.id):this._selected.delete(t.id);this._selectionAnchorId=t.id,this._syncSelection(),this._emitSelectionChange()}_syncSelection(){for(let[t,e]of this._rowElements){let i=this._selected.has(t);for(let r of e){r.setAttribute("aria-selected",String(i));let n=r.querySelector(".zx-table__row-checkbox");n&&(n.checked=i)}}this._syncSelectAll()}_syncSelectAll(){if(!this._selectAll)return;let t=this._visibleData(),e=t.reduce((i,r)=>i+Number(this._selected.has(this._idFor(r))),0);this._selectAll.disabled=t.length===0,this._selectAll.checked=t.length>0&&e===t.length,this._selectAll.indeterminate=e>0&&e<t.length}_syncSortHeader(){if(this._headers)for(let[t,e]of this._headers)this._sort?.id===t?e.setAttribute("aria-sort",this._sort.dir==="asc"?"ascending":"descending"):e.removeAttribute("aria-sort")}_sortData(){if(!this._sort)return;let t=this._columns.find(i=>i.id===this._sort.id);if(!t)return;let e=typeof t.sortValue=="function"?t.sortValue:i=>i?.[t.id];this._data=kr(this._data,e,this._sort.dir)}_pruneSelection(){let t=new Set(this._data.map(i=>this._idFor(i))),e=this._selected.size;for(let i of this._selected)t.has(i)||this._selected.delete(i);return t.has(this._selectionAnchorId)||(this._selectionAnchorId=null),e!==this._selected.size}_idFor(t){return typeof this.options.rowId=="function"?this.options.rowId(t):t?.[this.options.rowId]}_emitSelectionChange(){let t=this.getSelection();this.emit("selectionchange",{rows:t,ids:t.map(e=>this._idFor(e))})}_emitDataChange(){this.emit("datachange",{rows:this.getData()})}};function Jt(s,t){if(!s||typeof s!="object")return!1;if(typeof s.editor=="function")return typeof s.editable=="function"&&s.editable(t)===!1?!1:"custom";let e=typeof s.editable=="function"?s.editable(t):s.editable;return e===!0?"text":typeof e=="string"&&Sa.has(e)?e:!1}function Ca(s,t){let e=typeof s=="function"?s(t):s;return Array.isArray(e)?e.map(i=>i!==null&&typeof i=="object"?{value:i.value,label:String(i.label??i.value??"")}:{value:i,label:String(i??"")}):e!==null&&typeof e=="object"?Object.entries(e).map(([i,r])=>({value:i,label:String(r??"")})):[]}function Ta(s,t,e){if(typeof s?.format=="function"){let i=s.format(t,e);return i==null?"":String(i)}return t==null?"":String(t)}function ft(s,t,e){return typeof s?.parse=="function"?s.parse(t,e):t}function Na(s,t){return Object.is(s,t)?!0:s instanceof Date&&t instanceof Date?s.getTime()===t.getTime():!1}function Da(s,t){let e={};for(let[i,r]of Object.entries(t??{}))Na(s?.[i],r)||(e[i]=r);return e}function Ea(s,t,e,i="Invalid value"){for(let r of t??[]){if(typeof r?.validate!="function"||!Object.prototype.hasOwnProperty.call(s??{},r.id))continue;let n=r.validate(s[r.id],e);if(typeof n=="string")return{columnId:r.id,message:n};if(n===!1)return{columnId:r.id,message:i}}return null}function Ma(s){return s==="cell"||s==="row"?s:s===!0?"cell":!1}function ke(s){return!!s?.closest?.(".zx-table__editor")}function Ia(s){return s.closest("[popover]")?!0:s.getAttribute?.("aria-expanded")==="true"}function Ar(s,t){for(let e of s.cells)if(e.dataset.column===t)return e;return null}function Oa(s,t){return!s||typeof s!="object"||!t.some(e=>e.id===s.id)?null:{id:s.id,dir:s.dir==="desc"?"desc":"asc"}}function Fa(s){if(typeof s!="string")return 0;let t=/^(\d*\.?\d+)fr$/.exec(s.trim());return t?Math.max(0,Number(t[1])):0}function Sr(s){if(!Array.isArray(s))throw new TypeError("Table data must be an array")}function La(s,t){return s.size===t.size&&[...s].every(e=>t.has(e))}function Ra(s){let t=Math.trunc(Number(s));return Number.isFinite(t)&&t>0?t:null}var Y=Symbol("invalid attribute");function At(s,t="string",e=console.warn){if(zr(t),t==="boolean")return s!==null;if(s!==null){if(t==="string")return s;if(t==="number"){let i=Number(s);return Number.isFinite(i)?i:(e(`Ignoring invalid number attribute: ${JSON.stringify(s)}`),Y)}try{return JSON.parse(s)}catch{return e(`Ignoring invalid JSON attribute: ${JSON.stringify(s)}`),Y}}}function pi(s,t="string",e=console.warn){if(zr(t),t==="boolean")return s?"":null;if(s==null)return null;if(t==="number"){let i=Number(s);return Number.isFinite(i)?String(i):(e(`Ignoring invalid number property: ${String(s)}`),Y)}if(t==="json"){try{let i=JSON.stringify(s);if(i!==void 0)return i}catch{}return e("Ignoring property that cannot be serialized as JSON"),Y}return String(s)}function zr(s){if(!["string","number","boolean","json"].includes(String(s)))throw new TypeError(`Unknown reflected attribute type: ${String(s)}`)}var Va=Object.freeze(["change","input","submit","clear","open","close","cancel","invalid","query","loaded","rowclick","rowdblclick","sort","selectionchange","datachange"]),Ba=U({checked:N({always:!0,set:(s,t)=>s.set(t,{silent:!0}),get:s=>s.get()}),value:w({default:!0}),label:w({default:null,rebuild:!0}),disabled:N({always:!0,set:Zt})}),Pa=U({checked:N({always:!0,set:(s,t)=>s.set(t,{silent:!0}),get:s=>s.get()}),value:w({option:null,default:"on"}),label:w({default:"",set:(s,t)=>s.setLabel(t)}),icon:N({rebuild:!0}),disabled:N({always:!0,set:Zt})}),ja=U({items:tt({default:[],set:(s,t)=>s.setItems(t)}),value:w({default:null,set:(s,t)=>s.set(t,{silent:!0}),get:s=>s.value}),"value-key":w({property:"valueKey",default:"ID",rebuild:!0}),"label-key":w({property:"labelKey",default:"name",rebuild:!0}),placeholder:w({default:"",set:(s,t)=>{s.refs.input.placeholder=t}}),clearable:N({default:!1,rebuild:!0}),filter:w({default:!1,normalize:el,rebuild:!0}),"search-keys":tt({property:"searchKeys",default:null,rebuild:!0}),"min-query":St({property:"minQuery",default:0,rebuild:!0}),debounce:St({default:200,rebuild:!0}),"list-height":St({property:"listHeight",default:280,rebuild:!0}),disabled:N({always:!0,set:Zt}),required:N({option:null,always:!0}),name:w({option:null,default:""})}),Ha=U({items:tt({default:[],set:(s,t)=>s.setItems(t)}),value:tt({option:null,default:[],set:(s,t)=>s.setValues(t),get:s=>s.getValues()}),"value-key":w({property:"valueKey",default:"ID",rebuild:!0}),"label-key":w({property:"labelKey",default:"name",rebuild:!0}),"checked-key":w({property:"checkedKey",default:"on",rebuild:!0}),search:N({rebuild:!0}),height:St({default:280,rebuild:!0}),"default-checked":N({property:"defaultChecked",default:!1,rebuild:!0}),disabled:N({option:null,always:!0,set:tl}),name:w({option:null,default:""})}),qa=U({format:w({default:"%d.%m.%Y",rebuild:!0}),time:N({always:!0,rebuild:!0}),value:w({option:null,default:null,normalize:nl,set:(s,t)=>s.set(t,{silent:!0}),get:(s,t)=>_i(s.get(),!!t.time),serialize:ol}),placeholder:w({default:null,rebuild:!0}),clearable:N({rebuild:!0}),disabled:N({always:!0,set:Zt}),required:N({option:null,always:!0}),name:w({option:null,default:""})}),$a=U({value:St({default:0,set:(s,t)=>s.set(t,{silent:!0}),get:s=>s.get()}),unit:w({default:"minutes",rebuild:!0}),seconds:N({always:!0,rebuild:!0}),signed:N({always:!0,rebuild:!0}),disabled:N({always:!0,set:Zt}),name:w({option:null,default:""})}),Ka=U({value:w({default:"",set:(s,t)=>s.set(t,{silent:!0}),get:s=>s.get()}),placeholder:w({default:"",set:(s,t)=>{s.refs.input.placeholder=t}}),clearable:N({rebuild:!0}),debounce:St({default:250,rebuild:!0})}),Ya=U({title:w({default:"",set:(s,t)=>s.setTitle(t)}),open:N({default:!1,always:!0,set:(s,t)=>t?s.open():s.close(),get:s=>s.isOpen()})}),Ua=U({tabs:tt({default:[],normalize:sl,rebuild:!0}),active:w({default:null,set:(s,t)=>{t!==null&&s.openTab(t)},get:s=>s.getActive()}),variant:w({default:"divided",rebuild:!0}),"keep-alive":N({property:"keepAlive",rebuild:!0})}),Wa=U({columns:tt({default:[],rebuild:!0}),data:tt({default:[],set:(s,t)=>s.setData(t),get:s=>s.getData()}),"row-id":w({property:"rowId",default:"ID",rebuild:!0}),sort:tt({default:null,rebuild:!0}),"sort-mode":w({property:"sortMode",default:"local",rebuild:!0}),selectable:w({default:!1,normalize:il,rebuild:!0}),"sticky-header":N({property:"stickyHeader",rebuild:!0}),height:w({default:null,normalize:Nr,rebuild:!0}),"empty-text":w({property:"emptyText",default:null,rebuild:!0}),zebra:N({rebuild:!0})}),Ga=U({title:w({default:"",set:(s,t)=>s.setTitle(t)}),size:w({default:"md",normalize:Nr,rebuild:!0}),buttons:tt({default:[],set:(s,t)=>s.setButtons(t)}),closable:N({rebuild:!0}),open:N({option:null,default:!1,always:!0,set:(s,t)=>t?s.open():s.close(),get:s=>s.isOpen()})}),Qa=Object.freeze([["toggle",H,{formAssociated:!0,attrs:Ba}],["check-button",nt,{formAssociated:!0,attrs:Pa}],["select",F,{formAssociated:!0,attrs:ja}],["checklist",Q,{formAssociated:!0,attrs:Ha}],["datebox",P,{formAssociated:!0,attrs:qa}],["timebox",Z,{formAssociated:!0,attrs:$a}],["search",Gt,{formAssociated:!1,attrs:Ka}],["groupbox",pt,{formAssociated:!1,attrs:Ya}],["tabbox",Qt,{formAssociated:!1,attrs:Ua}],["table",Xt,{formAssociated:!1,attrs:Wa}],["dialog",kt,{formAssociated:!1,attrs:Ga}]]);function Ja(s,{formAssociated:t=!1,attrs:e={}}={}){let i=Tr(e),r=Object.freeze(Object.keys(i)),n=s===pt||s===kt;class o extends HTMLElement{static formAssociated=!!t;static get observedAttributes(){return r}constructor(){super(),this._component=null,this._bridgeAbort=null,this._reflecting=new Set,this._propertyValues=new Map,this._defaults=null,this._contentNodes=null,this._disabledByForm=!1,this._applying=!1,this._internals=t&&typeof this.attachInternals=="function"?this.attachInternals():null}connectedCallback(){this._component||(this._upgradeProperties(i),n&&this._contentNodes===null&&(this._contentNodes=Array.from(this.childNodes)),t&&this._defaults===null&&this._captureDefaults(i),this._createComponent(s,i,n))}disconnectedCallback(){this._destroyComponent()}attributeChangedCallback(h,c,u){if(this._reflecting.has(h))return;let d=i[h];if(!d)return;let _=At(u,d.type);if(_===Y)return;this._propertyValues.delete(d.property);let p=_===void 0?Ae(d.default):_;this._applyValue(h,d,p)}formDisabledCallback(h){this._disabledByForm=!!h,this._syncEffectiveDisabled(i),this._syncFormState(s)}formResetCallback(){if(!this._defaults)return;let h=fi(s);!h||!this._defaults.has(h)||this._applyControlValue(i,h,Ae(this._defaults.get(h)))}formStateRestoreCallback(h,c){if(typeof h!="string")return;let u=ll(s,h);if(u===Y)return;let d=fi(s);d&&this._applyControlValue(i,d,u)}get component(){return this._component}get form(){return this._internals?.form??null}get labels(){return this._internals?.labels??null}get validity(){return this._internals?.validity??null}get validationMessage(){return this._internals?.validationMessage??""}get willValidate(){return this._internals?.willValidate??!1}checkValidity(){return this._internals?.checkValidity()??!0}reportValidity(){return this._internals?.reportValidity()??!0}_upgradeProperties(h){for(let c of Object.values(h)){let u=c.property;if(!Object.prototype.hasOwnProperty.call(this,u))continue;let d=this[u];delete this[u],this[u]=d}}_captureDefaults(h){this._defaults=new Map;let c=fi(s);if(c){let u=Object.values(h).find(d=>d.property===c);u&&this._defaults.set(c,Ae(this._readProperty(u)))}}_createComponent(h,c,u){let d={};for(let[g,y]of Object.entries(c)){if(!(this._propertyValues.has(y.property)||this.hasAttribute(g)||y.always)||y.option===null)continue;let T=this._currentValue(g,y);T===Y||T===void 0||(d[y.option]=Cr(y,T,this))}let _=null;u&&(_=document.createDocumentFragment(),_.append(...this._contentNodes),d.content=_);let p=new h(null,d);this._component=p,s===pt&&_&&p.setContent(_),this.append(p.el),this._bridgeEvents(p,s);for(let[g,y]of Object.entries(c)){if(y.option!==null||!y.set||!(this._propertyValues.has(y.property)||this.hasAttribute(g)||y.always))continue;let T=this._currentValue(g,y);T!==Y&&T!==void 0&&this._applyValue(g,y,T,!0)}this._syncEffectiveDisabled(c),this._syncFormState(s)}_bridgeEvents(h,c){this._bridgeAbort?.abort(),this._bridgeAbort=new AbortController;for(let u of Va)h.on(u,d=>{if(this._applying)return;this._syncFormState(c);let _=new CustomEvent(`zx-${u}`,{detail:d.detail??{},bubbles:!0,composed:!0,cancelable:!0});this.dispatchEvent(_),_.defaultPrevented&&d.preventDefault()}),h.el.addEventListener(`zx-${u}`,d=>d.stopPropagation(),{signal:this._bridgeAbort.signal})}_destroyComponent(){this._bridgeAbort?.abort(),this._bridgeAbort=null,this._component&&(this._component.destroy(),this._component=null)}_rebuildComponent(h,c=n){this._component&&(c&&this._contentNodes&&document.createDocumentFragment().append(...this._contentNodes),this._destroyComponent(),this._createComponent(s,h,c))}_applyValue(h,c,u,d=!1){if(this._component){if(c.rebuild&&!d){this._rebuildComponent(i);return}if(!c.set){this._syncFormState(s);return}this._applying=!0;try{c.set(this._component,Cr(c,u,this),this)}finally{this._applying=!1}h!=="disabled"&&this._syncEffectiveDisabled(i),this._syncFormState(s)}}_syncEffectiveDisabled(h){if(!(!this._component||!h.disabled?.set)){this._applying=!0;try{h.disabled.set(this._component,this.hasAttribute("disabled")||this._disabledByForm,this)}finally{this._applying=!1}}}_syncFormState(h){if(!this._internals||!this._component)return;let{formValue:c,state:u,empty:d}=al(h,this._component,this);if(this._internals.setFormValue(c,u),(h===F||h===P)&&this.hasAttribute("required")&&d){let _=h===P?"Please enter a date.":"Please select a value.";this._internals.setValidity({valueMissing:!0},_,this._component.refs.input)}else this._internals.setValidity({})}_applyControlValue(h,c,u){let d=Object.entries(h).find(([,_])=>_.property===c);d&&this._applyValue(d[0],d[1],u)}_currentValue(h,c){if(this._propertyValues.has(c.property))return this._propertyValues.get(c.property);let u=At(this.getAttribute(h),c.type);return u===void 0?c.default:u}_readProperty(h){if(this._component&&h.get)return h.get(this._component,this);if(this._propertyValues.has(h.property))return this._propertyValues.get(h.property);let c=At(this.getAttribute(h.attribute),h.type);return c===Y||c===void 0?Ae(h.default):c}_writeProperty(h,c){this._propertyValues.set(h.property,c);let u=h.serialize?h.serialize(c,this):pi(c,h.type);if(u!==Y){this._reflecting.add(h.attribute);try{u===null?this.removeAttribute(h.attribute):this.setAttribute(h.attribute,u)}finally{this._reflecting.delete(h.attribute)}}this._applyValue(h.attribute,h,c)}}for(let l of Object.values(i))Object.prototype.hasOwnProperty.call(o.prototype,l.property)||Object.defineProperty(o.prototype,l.property,{configurable:!0,enumerable:!0,get(){return this._readProperty(l)},set(h){this._writeProperty(l,h)}});return o}function Xa(s="zx"){if(typeof customElements>"u")throw new Error("Custom elements are not available in this environment");let t=String(s).trim();for(let[e,i,r]of Qa){let n=`${t}-${e}`;customElements.get(n)||customElements.define(n,Ja(i,r))}}function Tr(s){let t={};for(let[e,i]of Object.entries(s)){let r=typeof i=="string"?{type:i}:{...i},n=r.property??Za(e);t[e]=Object.freeze({type:r.type??"string",option:Object.prototype.hasOwnProperty.call(r,"option")?r.option:n,property:n,default:r.default,always:!!r.always,rebuild:!!r.rebuild,normalize:r.normalize,serialize:r.serialize,set:r.set,get:r.get,attribute:e})}return Object.freeze(t)}function U(s){return Tr(s)}function w(s={}){return{type:"string",...s}}function St(s={}){return{type:"number",...s}}function N(s={}){return{type:"boolean",default:!1,always:!0,...s}}function tt(s={}){return{type:"json",...s}}function Za(s){return s.replace(/-([a-z])/g,(t,e)=>e.toUpperCase())}function Cr(s,t,e){return s.normalize?s.normalize(t,e):t}function Zt(s,t){t?s.disable():s.enable()}function tl(s,t){s.el.setAttribute("aria-disabled",String(t)),s.refs.search&&(s.refs.search.disabled=t);for(let e of s.refs.list?.querySelectorAll("input")??[])e.disabled=t}function el(s){return s===""||s==="true"?"local":s==="false"?!1:s}function il(s){return s===""||s==="true"?"single":s==="false"?!1:s}function Nr(s){if(typeof s!="string"||s.trim()==="")return s;let t=Number(s);return Number.isFinite(t)?t:s}function sl(s){return Array.isArray(s)?s.map(t=>!t||typeof t!="object"||rl(t.content)||typeof t.content=="function"?t:{...t,content:document.createTextNode(String(t.content??""))}):s}function rl(s){return!!(s&&typeof s=="object"&&typeof s.nodeType=="number")}function nl(s){return typeof s!="string"?s:/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$/.test(s)?V(s,"%Y-%m-%dT%H:%M"):/^\d{4}-\d{2}-\d{2}$/.test(s)?V(s,"%Y-%m-%d"):s}function ol(s,t){return s instanceof Date?_i(s,!!t.time):pi(s,"string")}function _i(s,t){return!(s instanceof Date)||Number.isNaN(s.getTime())?"":v(s,t?"%Y-%m-%dT%H:%M":"%Y-%m-%d")}function fi(s){return s===H||s===nt?"checked":[F,Q,P,Z].includes(s)?"value":null}function al(s,t,e){if(s===H||s===nt){let r=t.get(),n=s===H?!0:"on";return e._propertyValues.has("value")?n=e._propertyValues.get("value"):e.hasAttribute("value")&&(n=e.getAttribute("value")),{formValue:r?String(n):null,state:String(r),empty:!r}}if(s===F){let r=t.value;return{formValue:r===null?null:String(r),state:JSON.stringify(r),empty:r===null||r===""}}if(s===Q){let r=JSON.stringify(t.getValues());return{formValue:r,state:r,empty:r==="[]"}}if(s===P){let r=_i(t.get(),!!e.time);return{formValue:r||null,state:r,empty:r===""}}let i=String(t.get());return{formValue:i,state:i,empty:!1}}function ll(s,t){return s===H||s===nt?t==="true":s===F||s===Q?At(t,"json"):s===Z?At(t,"number"):t}function Ae(s){return Array.isArray(s)?s.slice():s instanceof Date?new Date(s.getTime()):s}var hl=Object.freeze({label:"",icon:null,kind:"default",size:"md",disabled:!1});function W(s={}){let t={...hl,...s},e=a("button",{class:"zx-btn",type:"button",disabled:!!t.disabled,title:t.title,dataset:{kind:ul(t.kind),size:dl(t.size)}});return t.icon&&e.append(m(t.icon,{size:16})),t.label!==""&&e.append(a("span",{class:"zx-btn__label"},String(t.label))),!t.label&&t.title&&e.setAttribute("aria-label",t.title),typeof t.onclick=="function"&&(e.onclick=t.onclick),e}function cl(s){let t=a("div",{class:"zx-btn-group",role:"group"});return t.append(...s),t}function ul(s){return["primary","danger","ghost"].includes(String(s))?s:"default"}function dl(s){return s==="sm"?"sm":"md"}var pl=Object.freeze(["neutral","accent","success","warning","danger","info"]),fl=Object.freeze(["soft","solid","outline"]),_l=Object.freeze({label:"",icon:null,kind:"neutral",variant:"soft",size:"md",dot:!1});function ml(s={}){let t={..._l,...s},e=a("span",{class:"zx-badge",title:t.title,dataset:{kind:bl(t.kind),variant:yl(t.variant),size:xl(t.size)}});return t.dot?e.append(a("span",{class:"zx-badge__dot",ariaHidden:"true"})):t.icon&&e.append(m(t.icon,{size:12,class:"zx-badge__icon"})),t.label!==""&&t.label!=null?e.append(a("span",{class:"zx-badge__label"},String(t.label))):t.title&&(e.setAttribute("role","img"),e.setAttribute("aria-label",t.title)),e}function gl(s){let t=a("span",{class:"zx-badge-group"});return t.append(...s),t}function bl(s){return pl.includes(s)?s:"neutral"}function yl(s){return fl.includes(s)?s:"soft"}function xl(s){return s==="sm"?"sm":"md"}var vl=Object.freeze({md:40,sm:28}),wl=Object.freeze({icon:"folder-open",title:"",description:"",actions:[],size:"md",align:"center"});function kl(s={}){let t={...wl,...s},e=Sl(t.size),i=a("div",{class:"zx-empty-state",dataset:{size:e,align:zl(t.align)}});t.icon&&i.append(a("div",{class:"zx-empty-state__icon",ariaHidden:"true"},m(t.icon,{size:vl[e]}))),t.title&&i.append(a("p",{class:"zx-empty-state__title"},String(t.title))),t.description&&i.append(a("p",{class:"zx-empty-state__description"},String(t.description)));let r=Al(t.actions);return r.length>0&&i.append(a("div",{class:"zx-empty-state__actions"},r)),i}function Al(s){if(!Array.isArray(s))throw new TypeError("emptyState actions must be an array");return s.map(t=>{if(C(t))return t;if(!t||typeof t!="object"||Array.isArray(t))throw new TypeError("emptyState actions must be Elements or button descriptors");return W(t)})}function Sl(s){return s==="sm"?"sm":"md"}function zl(s){return s==="start"?"start":"center"}var Cl=Object.freeze({size:"md",label:"",showLabel:!1,kind:"accent"}),Tl=Object.freeze({sm:!0,md:!0,lg:!0});function mi(s={}){let t={...Cl,...s},e=String(t.label??""),i=a("span",{class:"zx-spinner",dataset:{size:Tl[t.size]?t.size:"md",kind:t.kind==="current"?"current":"accent"}},a("span",{class:"zx-spinner__ring",ariaHidden:"true"}));return e?(i.setAttribute("role","status"),i.append(a("span",{class:"zx-spinner__label",dataset:{visible:t.showLabel?"true":null}},e))):i.setAttribute("aria-hidden","true"),i}var gi=class extends f{static cssName="progress-bar";static defaults={value:0,max:100,label:"",helperText:"",status:"active",indeterminate:!1,size:"md",hideLabel:!1,showValue:!0,formatValue:null};render(){this._value=0,this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el);let t=this.el??a("div");this.el=t,this._max=Math.max(1,Number(this.options.max)||100),this._status=Dr(this.options.status),this._indeterminate=!!this.options.indeterminate,this._labelId=b("zx-progress-label");let e=a("div",{ref:"head",class:"zx-progress-bar__head"},a("span",{ref:"label",class:"zx-progress-bar__label",id:this._labelId},String(this.options.label??"")),a("span",{ref:"value",class:"zx-progress-bar__value"})),i=a("div",{ref:"track",class:"zx-progress-bar__track",role:"progressbar",ariaValuemin:"0",ariaValuemax:String(this._max),ariaLabelledby:this._labelId},a("div",{ref:"fill",class:"zx-progress-bar__fill"}));return t.replaceChildren(e,i,a("p",{ref:"helper",class:"zx-progress-bar__helper"},String(this.options.helperText??""))),t.dataset.size=this.options.size==="sm"?"sm":"md",t.toggleAttribute("data-hide-label",!!this.options.hideLabel),this.set(this.options.value,{silent:!0}),t}get value(){return this._value}set value(t){this.set(t)}get(){return this._value}set(t,{silent:e=!1}={}){let i=Number(t),r=R(Number.isFinite(i)?i:0,0,this._max),n=r!==this._value,o=n&&r>=this._max;return this._value=r,this._sync(),!e&&n&&this.emit("change",{value:r,percent:this.percent()}),!e&&o&&this.emit("complete",{value:r}),this}percent(){return this._value/this._max*100}setMax(t){return this._max=Math.max(1,Number(t)||1),this.refs.track.setAttribute("aria-valuemax",String(this._max)),this.set(this._value,{silent:!0})}setStatus(t,e){return this._status=Dr(t),e!==void 0&&this.setHelperText(e),this._sync(),this}setLabel(t){return this.refs.label.textContent=String(t??""),this}setHelperText(t){return this.refs.helper.textContent=String(t??""),this}setIndeterminate(t=!0){return this._indeterminate=!!t,this._sync(),this}_sync(){let{track:t,fill:e,value:i}=this.refs;if(this.el.dataset.status=this._status,this.el.toggleAttribute("data-indeterminate",this._indeterminate),this._indeterminate){t.removeAttribute("aria-valuenow"),t.removeAttribute("aria-valuetext"),e.style.removeProperty("--zx-progress-fill"),i.textContent="";return}let r=this._format();t.setAttribute("aria-valuenow",String(this._value)),t.setAttribute("aria-valuetext",r),e.style.setProperty("--zx-progress-fill",`${this.percent()}%`),i.replaceChildren(...this._readout(r))}_format(){let t=this.options.formatValue;return typeof t=="function"?String(t(this._value,this._max)):`${Math.round(this.percent())}%`}_readout(t){if(!this.options.showValue)return[];let e=[];return this._status!=="active"&&e.push(m(this._status==="success"?"success":"error",{size:14})),e.push(a("span",{class:"zx-progress-bar__percent"},t)),e}destroy(){let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}};function Dr(s){return s==="success"||s==="error"?s:"active"}var Nl=new Set(["inactive","active","success","error"]),bi=class extends f{static cssName="inline-loading";static defaults={status:"active",description:"",size:"sm",live:!0};render(){this._status="inactive",this._description="",this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el);let t=this.el??a("span");return this.el=t,t.replaceChildren(a("span",{ref:"indicator",class:"zx-inline-loading__indicator"}),a("span",{ref:"description",class:"zx-inline-loading__description"})),t.dataset.size=this.options.size==="md"?"md":"sm",this.options.live!==!1&&(t.setAttribute("role","status"),t.setAttribute("aria-live","polite")),this.set(this.options.status,this.options.description,{silent:!0}),t}get(){return this._status}getDescription(){return this._description}set(t,e,{silent:i=!1}={}){let r=Nl.has(t)?t:"inactive";e!==void 0&&(this._description=String(e??""));let n=r!==this._status;return this._status=r,this._sync(),n&&!i&&this.emit("statuschange",{status:this._status,description:this._description}),this}setDescription(t){return this._description=String(t??""),this.refs.description.textContent=this._description,this}_sync(){this.el.dataset.status=this._status,this.refs.description.textContent=this._description,this.refs.indicator.replaceChildren(...this._indicator())}_indicator(){let t=this.el.dataset.size==="md"?18:16;return this._status==="active"?[mi({size:"sm",kind:"current"})]:this._status==="success"?[m("success",{size:t})]:this._status==="error"?[m("error",{size:t})]:[]}destroy(){let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}};function xi(s={}){let t={width:"100%",height:"1rem",radius:"sm",...s};return a("span",{class:"zx-skeleton",ariaHidden:"true",dataset:{radius:Ml.has(t.radius)?t.radius:"sm"},style:{"inline-size":yi(t.width),"block-size":yi(t.height)}})}function Dl(s={}){let t={lines:3,width:"100%",heading:!1,lastLineWidth:"60%",...s},e=R(Math.trunc(Number(t.lines)||0),1,20),i=a("div",{class:"zx-skeleton-text",ariaHidden:"true",style:{"inline-size":yi(t.width)}});for(let r=0;r<e;r+=1){let n=t.heading&&r===0,o=r===e-1&&e>1;i.append(xi({width:o?t.lastLineWidth:"100%",height:n?"1.5rem":"0.75rem"}))}return i}function El(s={}){let t={rows:5,columns:4,header:!0,...s},e=R(Math.trunc(Number(t.rows)||0),1,50),i=R(Math.trunc(Number(t.columns)||0),1,20),r=a("div",{class:"zx-skeleton-table",ariaHidden:"true",style:{"--zx-skeleton-columns":String(i)}});t.header!==!1&&r.append(Er(i,"header"));for(let n=0;n<e;n+=1)r.append(Er(i,"body"));return r}var Ml=new Set(["sm","md","full"]);function Er(s,t){let e=a("div",{class:"zx-skeleton-table__row",dataset:{kind:t}});for(let i=0;i<s;i+=1)e.append(a("span",{class:"zx-skeleton-table__cell"},xi({width:Il(i,s),height:"0.75rem"})));return e}function Il(s,t){return s===t-1?"55%":s%2===0?"80%":"65%"}function yi(s){return typeof s=="number"?`${s}px`:String(s??"")}function Ol(s={},...t){return a("div",{class:["zx-stack",s.class??""],dataset:{direction:s.direction==="row"?"row":null,align:Mr.has(s.align)?s.align:null,justify:Rl.has(s.justify)?s.justify:null,wrap:s.wrap?"true":null,inline:s.inline?"true":null},style:Ir("--zx-stack-gap",s.gap)},t)}function Fl(s={},...t){let e=Number(s.columns),i={...Ir("--zx-grid-gap",s.gap),"--zx-grid-min":Bl(s.min??"16rem")};return Number.isFinite(e)&&e>=1&&(i["--zx-grid-columns"]=String(Math.trunc(e))),a("div",{class:["zx-grid",s.class??""],dataset:{columns:Number.isFinite(e)&&e>=1?"true":null,align:Mr.has(s.align)?s.align:null},style:i},t)}function Ll(s={},...t){return a("div",{class:["zx-aspect",s.class??""],style:{"--zx-aspect-ratio":String(s.ratio??"16 / 9"),"--zx-aspect-fit":Vl.has(s.fit)?s.fit:"cover"}},t)}var Mr=new Set(["start","center","end","stretch","baseline"]),Rl=new Set(["start","center","end","between","around"]),Vl=new Set(["cover","contain","fill"]);function Ir(s,t){if(t==null||t==="")return{};let e=Number(t);return Number.isInteger(e)&&e>=1&&e<=8?{[s]:`var(--zx-space-${e})`}:{[s]:String(t)}}function Bl(s){return typeof s=="number"?`${s}px`:String(s)}function Pl(s,t={}){let e=O(s);if(!e)throw new TypeError("truncate() target could not be resolved");let i=R(Math.trunc(Number(t.lines)||1),1,10),r=t.title!==!1,n=e.classList.contains("zx-truncate"),o=e.getAttribute("title"),l=!1,h=null;e.classList.add("zx-truncate"),i>1&&(e.dataset.lines=String(i),e.style.setProperty("--zx-truncate-lines",String(i)));let c=()=>(l=Or(e),r&&(l?e.setAttribute("title",e.textContent?.trim()??""):o===null?e.removeAttribute("title"):e.setAttribute("title",o)),l);return c(),typeof ResizeObserver=="function"&&(h=new ResizeObserver(c),h.observe(e)),{update:c,isTruncated:()=>l,destroy:()=>{h?.disconnect(),h=null,n||e.classList.remove("zx-truncate"),delete e.dataset.lines,e.style.removeProperty("--zx-truncate-lines"),r&&(o===null?e.removeAttribute("title"):e.setAttribute("title",o))}}}function Or(s){return s.scrollWidth-s.clientWidth>1||s.scrollHeight-s.clientHeight>1}var jl=Object.freeze({text:"",label:"",title:"Copy",feedback:"Copied",feedbackDuration:2e3,size:"md",kind:"ghost"});function vi(s={}){let t={...jl,...s},e=!t.label,i=a("button",{class:["zx-copy-button",e?"zx-icon-btn":"zx-btn"],type:"button",dataset:{size:t.size==="sm"?"sm":"md",kind:e?null:t.kind},title:e?String(t.title):null,ariaLabel:e?String(t.title):null}),r=a("span",{class:"zx-copy-button__icon",ariaHidden:"true"},m("copy",{size:t.size==="sm"?12:14})),n=a("span",{class:"zx-copy-button__status",role:"status"});i.append(r),e||i.append(a("span",{class:"zx-copy-button__label"},String(t.label))),i.append(n);let o=0;return i.addEventListener("click",async()=>{let l=typeof t.text=="function"?String(t.text()):String(t.text??""),h=await di(l);t.oncopy?.(l,h),h&&(clearTimeout(o),i.dataset.copied="true",r.replaceChildren(m("check",{size:t.size==="sm"?12:14})),n.textContent=String(t.feedback),o=setTimeout(()=>{i.isConnected&&(delete i.dataset.copied,r.replaceChildren(m("copy",{size:t.size==="sm"?12:14})),n.textContent="")},Math.max(0,Number(t.feedbackDuration)||0)))}),i}var wi=class extends f{static cssName="copy-input";static defaults={value:"",label:"",hideLabel:!1,feedback:"Copied",buttonTitle:"Copy",size:"md"};render(){this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el);let t=this.el??a("div");this.el=t;let e=b("zx-copy-input"),i=a("input",{ref:"input",class:"zx-copy-input__field",type:"text",id:e,readOnly:!0,value:String(this.options.value??"")}),r=vi({text:()=>this.get(),title:String(this.options.buttonTitle),feedback:String(this.options.feedback),size:this.options.size==="sm"?"sm":"md",oncopy:(n,o)=>this.emit("copy",{value:n,copied:o})});return t.replaceChildren(a("label",{ref:"label",class:"zx-copy-input__label",for:e},String(this.options.label??"")),a("div",{class:"zx-copy-input__box"},i,r)),t.dataset.size=this.options.size==="sm"?"sm":"md",t.toggleAttribute("data-hide-label",!!this.options.hideLabel),this.listen(i,"focus",()=>i.select()),t}get(){return this.refs.input.value}set(t){return this.refs.input.value=String(t??""),this}focus(){return this.refs.input.focus(),this.refs.input.select(),this}destroy(){let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}};var Lr=Symbol("zxDropdownPointerDismiss"),Rr=Symbol("zxDropdownEscapeDismiss"),et=class extends f{static cssName="dropdown";static defaults={content:null,placement:"bottom-start",offset:4,matchWidth:!1,openOn:"click",closeOnSelect:!1};#t;#e=null;#i=new Map;#s=!1;constructor(t,e={}){let i=O(t);if(!i)throw new TypeError("Dropdown anchor could not be resolved");super(null,e),this.#t=i,this.#r("aria-expanded"),this.#r("aria-controls"),this.#t.setAttribute("aria-expanded","false"),this.#t.setAttribute("aria-controls",this.el.id),this.setContent(this.options.content),this.options.openOn==="click"&&this.listen(this.#t,"click",()=>this.toggle()),this.listen(this.el,"click",()=>{this.options.closeOnSelect&&this.close()})}render(){let t=a("div",{id:b("zx-dropdown"),popover:"manual"});return t.dataset.state="closed",document.body.append(t),t}open(){return this.isOpen()||this.#s?this:(this.#e=j(this.#t,this.el,{placement:this.options.placement,offset:Number(this.options.offset),matchWidth:!!this.options.matchWidth}),this.el.dataset.state="open",this.el.dataset.zxOverlayOrder=String(ql()),this.#t.setAttribute("aria-expanded","true"),$l(),this.emit("open"),this)}close(){return this.isOpen()?(this.#e?.destroy(),this.#e=null,this.el.dataset.state="closed",delete this.el.dataset.zxOverlayOrder,this.#t.setAttribute("aria-expanded","false"),this.emit("close"),Kl(),this):this}toggle(){return this.isOpen()?this.close():this.open()}isOpen(){return this.#e!==null}setContent(t){return Hl(this.el,t),this.#e?.update(),this}getPanel(){return this.el}destroy(){if(!this.#s){this.#s=!0,this.close();for(let[t,e]of this.#i)Yl(this.#t,t,e);super.destroy()}}[Lr](t){if(!this.isOpen())return;let e=t.composedPath();e.includes(this.el)||e.includes(this.#t)||this.close()}[Rr](t){if(t.key!=="Escape"||!this.isOpen())return;t.preventDefault();let e=this.el.contains(document.activeElement);this.close(),e&&this.#t instanceof HTMLElement&&this.#t.focus()}#r(t){this.#i.set(t,this.#t.getAttribute(t))}},te=class extends f{constructor(){super(null),this.listen(document,"pointerdown",t=>{let e=Fr();e instanceof et&&e[Lr](t)}),this.listen(document,"keydown",t=>{if(t.key!=="Escape")return;let e=Fr();e instanceof et&&e[Rr](t)})}render(){let t=a("span",{hidden:!0,"data-zx-dropdown-dismiss-manager":""});return document.body.append(t),t}};function Hl(s,t){if(s.replaceChildren(),t!=null)if(typeof t=="string"||typeof t=="number")s.append(document.createTextNode(String(t)));else if(typeof t.toElement=="function"){let e=t.toElement();e&&s.append(e)}else typeof t.nodeType=="number"&&s.append(t)}function Fr(){let s=null,t=-1;for(let e of document.querySelectorAll("[data-zx-overlay-order]")){let i=Number(e.getAttribute("data-zx-overlay-order"))||0;i>t&&(t=i,s=e)}return s?f.from(s):null}function ql(){let s=Array.from(document.querySelectorAll("[data-zx-overlay-order]"),t=>Number(t.getAttribute("data-zx-overlay-order"))||0);return Math.max(0,...s)+1}function $l(){let s=document.querySelector("[data-zx-dropdown-dismiss-manager]"),t=s?f.from(s):null;return t instanceof te?t:new te}function Kl(){if(document.querySelector('.zx-dropdown[data-state="open"]'))return;let s=document.querySelector("[data-zx-dropdown-dismiss-manager]"),t=s?f.from(s):null;t instanceof te&&t.destroy()}function Yl(s,t,e){e===null?s.removeAttribute(t):s.setAttribute(t,e)}var Se='[role="menuitem"]',it=class extends f{static cssName="menu-button";static defaults={label:"",icon:null,kind:"default",items:[],placement:"bottom-start"};#t;#e;#i;#s;#r=[];#n=null;#a=!1;#o=!1;constructor(t=null,e={}){let i=t===null?null:O(t);if(t!==null&&(!i||i.tagName!=="BUTTON"))throw new TypeError("MenuButton target must resolve to a button");let r=i?{attributes:Array.from(i.attributes,o=>[o.name,o.value]),children:Array.from(i.childNodes)}:null,n=Object.hasOwn(e,"label");super(t,e),this.#a=i===null,this.#n=r,this.el.classList.add("zx-btn"),this.el.setAttribute("type","button"),this.el.setAttribute("data-kind",String(this.options.kind)),this.el.setAttribute("data-size","md"),this.#t=new et(this.el,{openOn:"manual",placement:this.options.placement,content:null}),this.#e=this.#t.getPanel(),this.#e.classList.add("zx-menu-button__menu"),this.#e.setAttribute("role","menu"),this.el.setAttribute("aria-haspopup","menu"),i&&n&&this.setLabel(this.options.label),this.setItems(this.options.items),this.#i=ut(this.#e,Se),this.#s=K(()=>this.#u(),o=>o.focus()),this.#t.on("open",()=>this.emit("open")),this.#t.on("close",()=>this.emit("close")),this.listen(this.el,"click",()=>{this.isOpen()?this.close():(this.open(),this.#i.focusFirst())}),this.listen(this.el,"keydown",o=>this.#l(o)),this.listen(this.#e,"click",o=>{let l=o.target.closest?.(Se);l&&this.#e.contains(l)&&this.#h(l)}),this.listen(this.#e,"keydown",o=>this.#c(o))}render(){return this.el?this.el:a("button",{class:"zx-btn",type:"button","data-kind":this.options.kind,"data-size":"md"},Vr(this.options.label,this.options.icon))}setItems(t){return this.#r=Array.isArray(t)?t.slice():[],this.#e.replaceChildren(),this.#r.forEach((e,i)=>{if(e==="-"){this.#e.append(a("div",{class:"zx-menu-button__separator",role:"separator"}));return}let r=[];e.icon&&r.push(a("span",{class:"zx-menu-button__icon"},m(e.icon))),r.push(a("span",{class:"zx-menu-button__label"},e.label)),this.#e.append(a("button",{class:"zx-menu-button__item",type:"button",role:"menuitem",tabindex:"-1","data-menu-item":String(i),"data-danger":e.danger?"true":null,ariaDisabled:e.disabled?"true":null},r))}),this}open(){return this.#t.open(),this}close(){return this.#t.close(),this}isOpen(){return this.#t.isOpen()}setLabel(t){return this.el.replaceChildren(...Vr(t,this.options.icon)),this}destroy(){if(!this.#o&&(this.#o=!0,this.#i.destroy(),this.#t.destroy(),super.destroy(),!this.#a&&this.#n)){for(let t of Array.from(this.el.attributes))this.el.removeAttribute(t.name);for(let[t,e]of this.#n.attributes)this.el.setAttribute(t,e);this.el.replaceChildren(...this.#n.children)}}#l(t){["ArrowDown","ArrowUp","Enter"," "].includes(t.key)&&(t.preventDefault(),this.open(),t.key==="ArrowUp"?this.#i.focusLast():this.#i.focusFirst())}#c(t){if(t.key==="Escape"){t.preventDefault(),this.close(),this.el.focus();return}if(t.key==="Tab"){this.close();return}if(t.key==="Enter"||t.key===" "){let e=t.target.closest?.(Se);if(!e||!this.#e.contains(e))return;t.preventDefault(),this.#h(e);return}this.#s(t)}#h(t){let e=Number(t.getAttribute("data-menu-item")),i=this.#r[e];if(!(!i||i==="-"||i.disabled)){this.emit("select",{value:i.value,item:i});try{i.onselect?.(i.value,i,this)}finally{this.close()}}}#u(){return Array.from(this.#e.querySelectorAll(Se))}};function Vr(s,t){let e=[];return t&&e.push(a("span",{class:"zx-btn__icon"},m(t))),e.push(a("span",{class:"zx-btn__label"},String(s??""))),e}var Ul=["button","a[href]","input","select","textarea","[tabindex]"],Wl=Ul.flatMap(s=>[`.zx-toolbar > ${s}`,`.zx-toolbar > [role="group"] > ${s}`]).join(","),ki=class extends f{static cssName="toolbar";static defaults={items:[],align:"start",label:"Toolbar",overflow:!0,overflowLabel:"More",dense:!1};#t;#e=null;#i=null;#s=!1;#r=-1;#n=-1;#a=0;#o=!1;constructor(t=null,e={}){if(super(t,e),this.options.overflow){this.#e=new it(null,{icon:"dots",label:"",kind:"ghost",placement:"bottom-end"});let i=this.#e.toElement();i.classList.add("zx-toolbar__overflow"),i.setAttribute("aria-label",String(this.options.overflowLabel)),i.setAttribute("title",String(this.options.overflowLabel)),this.options.dense&&i.setAttribute("data-size","sm"),i.hidden=!0}this.#t=ut(this.el,Wl,{orientation:"horizontal"}),this.listen(this.el,"click",i=>this.#c(i)),this.setItems(this._initialItems),this.#e&&typeof ResizeObserver=="function"&&(this.#i=new ResizeObserver(()=>this.#u()),this.#i.observe(this.el))}render(){this._records=[],this._named=new Map,this._createdRoot=!this.el;let t=this.el??a("div");this.el=t,this._snapshot=this._createdRoot?null:S(t);let e=this.options.items;return this._initialItems=Array.isArray(e)&&e.length===0?Array.from(t.children):e,t.setAttribute("role","toolbar"),t.setAttribute("aria-label",String(this.options.label)),t.dataset.align=Ql(this.options.align),t.dataset.overflow=this.options.overflow?"true":"false",this.options.dense&&(t.dataset.dense="true"),t}setItems(t){for(let i of this._records)i.type==="element"&&(i.element.hidden=i.userHidden);this._records=Gl(t).map(i=>this.#l(i)),this._named=new Map;for(let i of this._records)i.name!==null&&!this._named.has(i.name)&&this._named.set(i.name,i);let e=this._records.map(i=>i.element);if(this.#e){this.#e.setItems([]);let i=this.#e.toElement();i.hidden=!0,e.push(i)}return this.el.replaceChildren(...e),this.#r=-1,this.#n=-1,this.#d(),this}getItem(t){return this._named.get(String(t))?.element??null}enable(t){return this.#h(t,!1)}disable(t){return this.#h(t,!0)}setActive(t,e=!0){let i=this._named.get(String(t));return i&&i.element.setAttribute("aria-pressed",e?"true":"false"),this}destroy(){if(!this.#o){this.#o=!0,this.#i?.disconnect(),this.#i=null,this.#a!==0&&cancelAnimationFrame(this.#a),this.#a=0,this.#t.destroy(),this.#e?.destroy(),this.#e=null;for(let t of this._records)t.type==="element"&&(t.element.hidden=t.userHidden);super.destroy(),this._createdRoot||z(this.el,this._snapshot)}}#l(t){if(t.type==="separator")return{type:"separator",element:a("span",{class:"zx-toolbar__separator",role:"separator",ariaOrientation:"vertical",dataset:{separator:"true"}}),name:null,label:"",icon:null,onclick:null,userHidden:!1};if(t.type==="element"){let l=t.element;return{type:"element",element:l,name:l.dataset?.name??null,label:Pr(l),icon:null,onclick:null,userHidden:!!l.hidden}}let{name:e=null,active:i,onclick:r,...n}=t.descriptor,o=W({size:this.options.dense?"sm":"md",...n});return i!==void 0&&o.setAttribute("aria-pressed",i?"true":"false"),e!==null&&(o.dataset.name=String(e)),{type:"descriptor",element:o,name:e===null?null:String(e),label:String(n.label??n.title??""),icon:n.icon??null,onclick:typeof r=="function"?r:null,userHidden:!1}}#c(t){let e=t.target;if(!e)return;let i=this._records.find(r=>r.type==="descriptor"&&r.element.contains(e));i&&(this.emit("action",{name:i.name,item:i.element}),i.onclick?.(t))}#h(t,e){let i=this._named.get(String(t));if(!i)return this;let r=i.element;return"disabled"in r?r.disabled=e:e?r.setAttribute("aria-disabled","true"):r.removeAttribute("aria-disabled"),this.#p(),this}#u(){if(!(this.#a!==0||this.#o)){if(typeof requestAnimationFrame!="function"){this.#d();return}this.#a=requestAnimationFrame(()=>{this.#a=0,this.#d()})}}#d(){if(this.#s||this.#o||!this.#e)return;let t=this.el;if(typeof getComputedStyle!="function"||!t.isConnected)return;let e=getComputedStyle(t),i=parseFloat(e.columnGap)||0,r=(parseFloat(e.paddingInlineStart)||0)+(parseFloat(e.paddingInlineEnd)||0),n=t.clientWidth-r,o=t.clientHeight;if(!(!(n>0)||n===this.#r&&o===this.#n)){this.#s=!0;try{let l=this.#e.toElement(),h=this._records.filter(g=>!g.userHidden);for(let g of h)g.element.hidden=!1;l.hidden=!1;let c=h.map(g=>g.element.getBoundingClientRect().width),u=c.reduce((g,y)=>g+y,0)+i*Math.max(0,c.length-1),d=l.getBoundingClientRect().width,_=[];if(u>n){let g=n-d-i,y=0,A=!1;for(h.forEach((T,Le)=>{let L=y+c[Le]+(y>0?i:0);if(!A&&L<=g){y=L;return}A=!0,T.element.hidden=!0,_.push(T)});h.length>_.length;){let T=h[h.length-_.length-1];if(T.type!=="separator")break;T.element.hidden=!0,_.unshift(T)}}let p=Br(_);this.#e.setItems(p),l.hidden=p.length===0,this.#r=n,this.#n=t.clientHeight}finally{this.#s=!1}}}#p(){if(!this.#e)return;let t=this._records.filter(e=>!e.userHidden&&e.element.hidden);this.#e.setItems(Br(t))}};function Gl(s){if(s!=null&&!Array.isArray(s))throw new TypeError("Toolbar items must be an array");let t=[];for(let e of s??[])if(e!=null){if(e==="-"){t.length>0&&t[t.length-1].type!=="separator"&&t.push({type:"separator"});continue}if(C(e)){t.push({type:"element",element:e});continue}if(typeof e!="object"||Array.isArray(e))throw new TypeError('Toolbar items must be Elements, item descriptors, or "-"');t.push({type:"descriptor",descriptor:{...e}})}for(;t.length>0&&t[t.length-1].type==="separator";)t.pop();return t}function Br(s){let t=[];for(let e of s){if(e.type==="separator"){t.length>0&&t[t.length-1]!=="-"&&t.push("-");continue}let i=e.element;t.push({label:e.label||Pr(i)||"\u2026",icon:e.icon??void 0,value:e.name,disabled:!!i.disabled||i.getAttribute("aria-disabled")==="true",onselect:()=>i.click()})}for(;t.length>0&&t[t.length-1]==="-";)t.pop();return t}function Pr(s){return(s.getAttribute("aria-label")??s.getAttribute("title")??s.textContent??"").trim()}function Ql(s){return["end","between"].includes(s)?s:"start"}var Ai=class extends f{static cssName="panel";static defaults={title:"",content:null,open:!0,collapsible:!0,buttons:[],footer:null,footerButtons:[]};constructor(t,e={}){super(t,e)}render(){let t=!this.el,e=this.el??a("section");this.el=e,this._createdRoot=t,this._original=t?null:Jl(e),this._cleaned=!1,this._open=!!this.options.open,this._collapsible=!!this.options.collapsible,this._hasFooterContent=!1;let i=t?[]:Array.from(e.childNodes),r=b("zx-panel-body"),n=a("span",{class:"zx-panel__title",ref:"title"}),o=[];this._collapsible&&o.push(a("span",{class:"zx-panel__chevron",ariaHidden:"true"},m("chevron-right",{size:16}))),o.push(n);let l=this._collapsible?a("button",{class:"zx-panel__toggle",ref:"toggle",type:"button",ariaControls:r,ariaExpanded:String(this._open)},o):a("div",{class:"zx-panel__toggle",ref:"toggle"},o),h=a("div",{class:"zx-panel__header",ref:"header"},l,a("div",{class:"zx-panel__buttons",ref:"buttons",role:"group",ariaLabel:"Panel actions"})),c=a("div",{class:"zx-panel__content",ref:"content"}),u=a("div",{class:"zx-panel__body",ref:"body",id:r},c),d=a("div",{class:"zx-panel__footer",ref:"footer",hidden:!0},a("div",{class:"zx-panel__footer-content",ref:"footerContent"}),a("div",{class:"zx-panel__footer-buttons",ref:"footerButtons",role:"group",ariaLabel:"Panel footer actions"}));return e.replaceChildren(h,u,d),this.setTitle(this.options.title),this.options.content!==null?this.setContent(this.options.content):c.append(...i),this.setButtons(this.options.buttons),this.setFooter(this.options.footer),this.setFooterButtons(this.options.footerButtons),this._syncOpenState(),this._collapsible&&this.listen(l,"click",()=>this.toggle()),e}setTitle(t){return this.refs.title.textContent=String(t??""),this}setContent(t){return jr(this.refs.content,t,"Panel content"),this}setButtons(t){return this.refs.buttons.replaceChildren(...this._buildButtons(t,"Panel buttons")),this}setFooter(t){return jr(this.refs.footerContent,t,"Panel footer"),this._hasFooterContent=t!==null,this._syncFooter(),this}setFooterButtons(t){return this.refs.footerButtons.replaceChildren(...this._buildButtons(t,"Panel footer buttons")),this._syncFooter(),this}open(){return this._open?this:(this._open=!0,this._syncOpenState(),this.emit("open"),this)}close(){return this._open?(this._open=!1,this._syncOpenState(),this.emit("close"),this):this}toggle(){return this.isOpen()?this.close():this.open()}isOpen(){return this._open}destroy(){this._cleaned||(this._cleaned=!0,super.destroy(),!this._createdRoot&&this._original&&Xl(this.el,this._original))}_syncOpenState(){this.el.setAttribute("data-state",this._open?"open":"closed"),this.refs.body.hidden=!this._open,this._collapsible&&this.refs.toggle.setAttribute("aria-expanded",String(this._open))}_syncFooter(){this.refs.footer.hidden=!this._hasFooterContent&&this.refs.footerButtons.childElementCount===0}_buildButtons(t,e){if(!Array.isArray(t))throw new TypeError(`${e} must be an array`);return t.map(i=>{if(C(i))return i;if(!i||typeof i!="object"||Array.isArray(i))throw new TypeError(`${e} must be Elements or button descriptors`);let r={...i},n=r.onclick;delete r.onclick;let o=W(r);return typeof n=="function"&&this.listen(o,"click",n),o})}};function Jl(s){return{attributes:Array.from(s.attributes,t=>[t.name,t.value]),children:Array.from(s.childNodes)}}function Xl(s,t){for(let e of Array.from(s.attributes))s.removeAttribute(e.name);for(let[e,i]of t.attributes)s.setAttribute(e,i);s.replaceChildren(...t.children)}function jr(s,t,e){if(s.replaceChildren(),t===null)return;if(typeof t=="string"){s.append(document.createTextNode(t));return}let i=t instanceof f?t.toElement():t;if(i&&typeof i.nodeType=="number"){s.append(i);return}throw new TypeError(`${e} must be a string, Node, Component, or null`)}var Zl=Object.freeze(["default","settings","accounts","billing","calendar","campaigns","clocking","collection","contacts","contracts","enhancements","inventory","links","mailinglists","messages","notes","opportunities","pricelists","procurement","projects","tasks","tickets","pwd","system","usermgmt","usersettings","users","groups"]),Si=class extends f{static cssName="master-panel";static defaults={title:"",content:null,buttons:[],module:null,footer:null};constructor(t,e={}){super(t,e)}render(){let t=!this.el,e=this.el??a("section");this.el=e,this._createdRoot=t,this._original=t?null:th(e),this._cleaned=!1;let i=t?[]:Array.from(e.childNodes),r=a("header",{class:"zx-master-panel__header"},a("h1",{class:"zx-master-panel__title",ref:"title"}),a("div",{class:"zx-master-panel__buttons",ref:"buttons",role:"group",ariaLabel:"Panel actions"})),n=a("div",{class:"zx-master-panel__content",ref:"content"}),o=a("footer",{class:"zx-master-panel__footer",ref:"footer",hidden:!0});e.replaceChildren(r,n,o);let l=ih(this.options.module);return e.dataset.module=l,e.style.setProperty("--zx-master-panel-accent",`var(--zx-module-${l})`),this.setTitle(this.options.title),this.options.content!==null?this.setContent(this.options.content):n.append(...i),this.setButtons(this.options.buttons),this.setFooter(this.options.footer),e}setTitle(t){return this.refs.title.textContent=String(t??""),this}setContent(t){return Hr(this.refs.content,t,"MasterPanel content"),this}setButtons(t){if(!Array.isArray(t))throw new TypeError("MasterPanel buttons must be an array");let e=t.map(i=>{if(C(i))return i;if(!i||typeof i!="object"||Array.isArray(i))throw new TypeError("MasterPanel buttons must be Elements or button descriptors");let r={...i},n=r.onclick;delete r.onclick;let o=W(r);return typeof n=="function"&&this.listen(o,"click",n),o});return this.refs.buttons.replaceChildren(...e),this}setFooter(t){return Hr(this.refs.footer,t,"MasterPanel footer"),this.refs.footer.hidden=t===null,this}destroy(){this._cleaned||(this._cleaned=!0,super.destroy(),!this._createdRoot&&this._original&&eh(this.el,this._original))}};function th(s){return{attributes:Array.from(s.attributes,t=>[t.name,t.value]),children:Array.from(s.childNodes)}}function eh(s,t){for(let e of Array.from(s.attributes))s.removeAttribute(e.name);for(let[e,i]of t.attributes)s.setAttribute(e,i);s.replaceChildren(...t.children)}function Hr(s,t,e){if(s.replaceChildren(),t===null)return;if(typeof t=="string"){s.append(document.createTextNode(t));return}let i=t instanceof f?t.toElement():t;if(i&&typeof i.nodeType=="number"){s.append(i);return}throw new TypeError(`${e} must be a string, Node, Component, or null`)}function ih(s){let t=String(s??"default").toLowerCase();return Zl.includes(t)?t:"default"}var sh=16,rh=64,nh="split-view",Ci=class extends f{static cssName="split-view";static defaults={orientation:"horizontal",start:null,end:null,size:"38%",min:160,max:null,collapsible:!1,collapsed:!1,snap:0,storageKey:null,disabled:!1,label:"Resize panes"};#t=null;#e=null;constructor(t=null,e={}){super(t,e);let i=this.options.storageKey;if(i!=null&&i!==""){this.#e=ui(nh);let o=this.#e.get(String(i));typeof o=="number"&&Number.isFinite(o)&&o>=0&&this.setSize(o)}let r=this.options.collapsed;r==="start"||r==="end"?this.#n(r,!1):r===!0&&this.options.collapsible&&this.#n(this.options.collapsible==="end"?"end":"start",!1);let n=this.refs.divider;this.listen(n,"pointerdown",o=>this.#a(o)),this.listen(n,"pointermove",o=>this.#o(o)),this.listen(n,"pointerup",o=>this.#h(o)),this.listen(n,"pointercancel",o=>this.#h(o)),this.listen(n,"keydown",o=>this.#d(o)),this.listen(n,"dblclick",()=>this.#p()),typeof ResizeObserver=="function"&&(this.#t=new ResizeObserver(()=>this.#m()),this.#t.observe(this.el)),this.#r()}render(){let t=this.options;this._orientation=t.orientation==="vertical"?"vertical":"horizontal";let e=mt(t.size,Number.NaN);this._size=Number.isFinite(e)?Math.max(0,e):null,this._collapsed=null,this._disabled=!!t.disabled,this._destroyed=!1,this._dragging=!1,this._frame=0,this._pointerId=null,this._startClient=0,this._startSize=0,this._pointerClient=0,this._moved=!1,this._lastTotal=-1,this._createdRoot=!this.el;let i=this.el??a("div");this.el=i,this._snapshot=this._createdRoot?null:S(i);let r=this._createdRoot||t.start!=null||t.end!=null?[]:Array.from(i.children),n=b("zx-split-start"),o=a("div",{class:"zx-split-view__pane",id:n,ref:"start",dataset:{pane:"start"}}),l=a("div",{class:"zx-split-view__divider",ref:"divider",role:"separator",tabindex:this._disabled?-1:0,ariaOrientation:this._orientation==="vertical"?"horizontal":"vertical",ariaLabel:String(t.label??"Resize panes"),ariaControls:n}),h=a("div",{class:"zx-split-view__pane",ref:"end",dataset:{pane:"end"}});return i.replaceChildren(o,l,h),i.dataset.orientation=this._orientation,this._disabled&&l.setAttribute("aria-disabled","true"),i.style.setProperty("--zx-split-size",ze(t.size)),t.start!=null?Ce(o,t.start,"SplitView start"):r[0]&&o.append(r[0]),t.end!=null?Ce(h,t.end,"SplitView end"):r[1]&&h.append(...r.slice(1)),i}setSize(t){let{total:e,divider:i,min:r,max:n}=this.#i(),o=mt(t,e>0?e:Number.NaN);return Number.isFinite(o)?(this.#s(_t({size:o,min:r,max:n,total:e,divider:i})),this):(this._size=null,this.el.style.setProperty("--zx-split-size",ze(t)),this.#r(),this)}getSize(){if(this._collapsed==="start")return 0;let{total:t,divider:e}=this.#i();if(this._collapsed==="end")return Math.max(0,t-e);if(this._size!==null)return this._size;let i=qr(this.refs.start,this._orientation);if(i>0)return i;let r=mt(this.options.size,t);return Number.isFinite(r)?Math.max(0,r):0}getRatio(){let{total:t}=this.#i();return t>0?this.getSize()/t:0}setStart(t){return Ce(this.refs.start,t,"SplitView start"),this}setEnd(t){return Ce(this.refs.end,t,"SplitView end"),this}collapse(t){let e=this.options.collapsible==="end"?"end":"start";return this.#n(t==="end"?"end":t==="start"?"start":e,!0)}expand(){return this._collapsed===null?this:(this._collapsed=null,delete this.el.dataset.collapsed,this.#r(),this.emit("expand"),this)}isCollapsed(){return this._collapsed??!1}enable(){return this._disabled=!1,this.refs.divider.removeAttribute("aria-disabled"),this.refs.divider.setAttribute("tabindex","0"),this}disable(){return this._disabled=!0,this.#h(null),this.refs.divider.setAttribute("aria-disabled","true"),this.refs.divider.setAttribute("tabindex","-1"),this}isDisabled(){return this._disabled}destroy(){this._destroyed||(this._destroyed=!0,this._frame!==0&&(cancelAnimationFrame(this._frame),this._frame=0),this.#u(),this.#t?.disconnect(),this.#t=null,super.destroy(),!this._createdRoot&&this._snapshot&&z(this.el,this._snapshot))}#i(){let t=this.el,e=this._orientation==="vertical"?t.clientHeight:t.clientWidth,i=this.options.max==null?null:Number(this.options.max);return{total:Number.isFinite(e)&&e>0?e:0,divider:qr(this.refs.divider,this._orientation),min:Math.max(0,Number(this.options.min)||0),max:Number.isFinite(i)?i:null}}#s(t){this._size=t,this.el.style.setProperty("--zx-split-size",`${t}px`),this.#r()}#r(){let{total:t,divider:e,min:i,max:r}=this.#i(),n=Te({min:i,max:r,total:t,divider:e}),o=this.refs.divider;o.setAttribute("aria-valuemin",String(Math.round(n.min))),o.setAttribute("aria-valuemax",String(Math.round(n.max))),o.setAttribute("aria-valuenow",String(Math.round(this.getSize())))}#n(t,e){return this._collapsed===t?this:(this._collapsed=t,this.el.dataset.collapsed=t,this.#r(),e&&this.emit("collapse",{pane:t}),this)}#a(t){if(!(this._disabled||this._dragging||t.button!==0)){this._dragging=!0,this._pointerId=t.pointerId,this._startClient=zi(t,this._orientation),this._pointerClient=this._startClient,this._startSize=this.getSize(),this._moved=!1,this.el.dataset.dragging="true";try{this.refs.divider.setPointerCapture(t.pointerId)}catch{}}}#o(t){!this._dragging||t.pointerId!==this._pointerId||(this._pointerClient=zi(t,this._orientation),this._pointerClient!==this._startClient&&(this._moved=!0),this._frame===0&&(this._frame=requestAnimationFrame(()=>{this._frame=0,this.#l(!1)})))}#l(t){if(!this._dragging||this._destroyed)return;let{total:e,divider:i,min:r,max:n}=this.#i();if(e<=0)return;this._collapsed!==null&&this.expand();let o=_t({size:this._startSize+(this._pointerClient-this._startClient),min:r,max:n,total:e,divider:i});t&&(o=_t({size:$r(o,this.#c(e,i),Number(this.options.snap)),min:r,max:n,total:e,divider:i})),o!==this._size&&(this.#s(o),this.emit("resize",{size:o,ratio:o/e}))}#c(t,e){let{min:i,max:r}=this.#i(),n=Te({min:i,max:r,total:t,divider:e}),o=[n.min,n.max],l=mt(this.options.size,t);return Number.isFinite(l)&&o.unshift(l),o}#h(t){if(!this._dragging||t&&t.pointerId!==this._pointerId)return;this._frame!==0&&(cancelAnimationFrame(this._frame),this._frame=0),t&&(this._pointerClient=zi(t,this._orientation));let e=this._moved;e&&this.#l(!0),this._dragging=!1,this._moved=!1,this.#u(),delete this.el.dataset.dragging,e&&(this.#f(),this.#_())}#u(){let t=this._pointerId;if(this._pointerId=null,t!==null)try{this.refs.divider.releasePointerCapture(t)}catch{}}#d(t){if(this._disabled)return;let e=t.key;if(e==="Enter"||e===" "){if(!this.options.collapsible)return;t.preventDefault(),this._collapsed===null?this.collapse(this.options.collapsible):this.expand();return}let i=this._orientation==="horizontal",r=i?"ArrowLeft":"ArrowUp",n=i?"ArrowRight":"ArrowDown";if(e!==r&&e!==n&&e!=="Home"&&e!=="End")return;t.preventDefault(),this._collapsed!==null&&this.expand();let{total:o,divider:l,min:h,max:c}=this.#i();if(o<=0)return;let u=Te({min:h,max:c,total:o,divider:l}),d=t.shiftKey?rh:sh,_=u.min;e==="End"?_=u.max:e!=="Home"&&(_=this.getSize()+(e===n?d:-d));let p=_t({size:_,min:h,max:c,total:o,divider:l});p!==this._size&&(this.#s(p),this.emit("resize",{size:p,ratio:p/o}),this.#f(),this.#_())}#p(){if(this._disabled)return;this._collapsed!==null&&this.expand();let t=mt(this.options.size,Number.NaN);Number.isFinite(t)?this.setSize(t):(this._size=null,this.el.style.setProperty("--zx-split-size",ze(this.options.size)),this._lastTotal=-1,this.#m());let{total:e}=this.#i(),i=this.getSize();this.emit("resize",{size:i,ratio:e>0?i/e:0}),this.#f(),this.#_()}#m(){if(this._destroyed||this._dragging)return;let{total:t,divider:e,min:i,max:r}=this.#i();if(t<=0||t===this._lastTotal)return;if(this._lastTotal=t,this._size===null){let o=mt(this.options.size,t);if(Number.isFinite(o)){let l=_t({size:o,min:i,max:r,total:t,divider:e});this.el.style.setProperty("--zx-split-size",Math.abs(l-o)>.5?`${l}px`:ze(this.options.size))}this.#r();return}let n=_t({size:this._size,min:i,max:r,total:t,divider:e});if(n===this._size){this.#r();return}this.#s(n),this.emit("resize",{size:n,ratio:n/t})}#f(){let t=this.options.storageKey;!this.#e||t==null||t===""||(this._size===null?this.#e.remove(String(t)):this.#e.set(String(t),Math.round(this._size)))}#_(){let{total:t}=this.#i(),e=this.getSize();this.emit("resizeend",{size:e,ratio:t>0?e/t:0})}};function _t({size:s,min:t=0,max:e=null,total:i=0,divider:r=0}){let n=Number(s),o=Te({min:t,max:e,total:i,divider:r});return Math.max(0,(Number(i)||0)-Math.max(0,Number(r)||0))>0?Number.isFinite(n)?Math.min(o.max,Math.max(o.min,n)):o.min:Number.isFinite(n)?Math.max(0,n):o.min}function mt(s,t){if(typeof s=="number")return Number.isFinite(s)?s:Number.NaN;if(typeof s!="string")return Number.NaN;let e=/^([+-]?(?:\d+\.?\d*|\.\d+))(px|%)?$/i.exec(s.trim());if(!e)return Number.NaN;let i=Number(e[1]);if(!Number.isFinite(i))return Number.NaN;if((e[2]??"").toLowerCase()!=="%")return i;let r=Number(t);return Number.isFinite(r)?i/100*r:Number.NaN}function $r(s,t,e){let i=Number(s),r=Number(e);if(!Number.isFinite(i)||!Number.isFinite(r)||r<=0)return i;let n=Array.isArray(t)?t:t==null?[]:[t],o=i,l=Number.POSITIVE_INFINITY;for(let h of n){let c=Number(h);if(!Number.isFinite(c))continue;let u=Math.abs(c-i);u<=r&&u<l&&(l=u,o=c)}return o}function Te({min:s=0,max:t=null,total:e=0,divider:i=0}){let r=Math.max(0,(Number(e)||0)-Math.max(0,Number(i)||0)),n=t==null||!Number.isFinite(Number(t))?r:Math.min(r,Math.max(0,Number(t)));return{min:Math.min(Math.max(0,Number(s)||0),n),max:n}}function qr(s,t){let e=s.getBoundingClientRect(),i=t==="vertical"?e.height:e.width;return Number.isFinite(i)&&i>0?i:0}function zi(s,t){return t==="vertical"?s.clientY:s.clientX}function ze(s){return typeof s=="number"&&Number.isFinite(s)?`${s}px`:String(s)}function Ce(s,t,e){if(s.replaceChildren(),t==null)return;if(typeof t=="string"||typeof t=="number"){s.append(document.createTextNode(String(t)));return}let i=t instanceof f?t.toElement():t;if(i&&typeof i.nodeType=="number"){s.append(i);return}throw new TypeError(`${e} must be a string, Node, Component, or null`)}var Ti=class extends f{static cssName="navigation-bar";static defaults={title:"",items:[],active:null,actions:[]};constructor(t,e={}){super(t,e),this._overflow=new it(this.refs.moreTrigger,{label:"More",icon:"dots",kind:"ghost",items:[],placement:"bottom-end"}),this._overflow.on("select",i=>{let r=this._find(String(i.detail.value));!r||r.definition.disabled||(this.setActive(r.definition.name),r.definition.onselect?.(r.definition.name,r.definition,this),r.definition.href&&globalThis.location?.assign(r.definition.href))}),this._syncOverflow()}render(){let t=!this.el,e=this.el??a("section");this.el=e,this._createdRoot=t,this._original=t?null:ah(e),this._cleaned=!1,this._items=[],this._activeName=null,this._tabMode=!1,this._overflow=null;let i=a("header",{class:"zx-navigation-bar__bar"},a("div",{class:"zx-navigation-bar__brand",ref:"title"}),a("nav",{class:"zx-navigation-bar__navigation",ariaLabel:"Primary navigation"},a("div",{class:"zx-navigation-bar__items",ref:"items"}),a("div",{class:"zx-navigation-bar__more",ref:"more"},a("button",{class:"zx-navigation-bar__more-trigger",ref:"moreTrigger"}))),a("div",{class:"zx-navigation-bar__actions",ref:"actions",role:"group",ariaLabel:"Application actions"})),r=a("div",{class:"zx-navigation-bar__panels",ref:"panels",hidden:!0});return e.replaceChildren(i,r),this.setTitle(this.options.title),this.setItems(this.options.items),this.setActions(this.options.actions),this.listen(this.refs.items,"keydown",n=>this._onTabKeydown(n)),e}setTitle(t){return this.refs.title.textContent=String(t??""),this}setItems(t){if(!Array.isArray(t))throw new TypeError("NavigationBar items must be an array");let e=this._activeName,i=new Set,r=t.map(c=>{if(!c||typeof c!="object"||Array.isArray(c))throw new TypeError("Navigation item must be an object");if(typeof c.name!="string"||c.name==="")throw new TypeError("Navigation item name must be a non-empty string");if(i.has(c.name))throw new RangeError(`Navigation item already exists: ${c.name}`);if(i.add(c.name),Object.hasOwn(c,"content")&&!oh(c.content))throw new TypeError(`Navigation panel content for ${c.name} is invalid`);let u={name:c.name,title:String(c.title??""),badge:c.badge==null?null:String(c.badge),href:c.href==null?void 0:String(c.href),disabled:!!c.disabled,onselect:typeof c.onselect=="function"?c.onselect:void 0};return Object.hasOwn(c,"content")&&(u.content=c.content),u}),n=r.some(c=>Object.hasOwn(c,"content"));if(n&&r.some(c=>!Object.hasOwn(c,"content")))throw new TypeError("NavigationBar panel items must all define content");this._items=[],this._activeName=null,this._tabMode=n,this.refs.items.replaceChildren(),this.refs.panels.replaceChildren(),this.refs.panels.hidden=!this._tabMode,this._tabMode?(this.refs.items.setAttribute("role","tablist"),this.refs.items.setAttribute("aria-orientation","horizontal")):(this.refs.items.removeAttribute("role"),this.refs.items.removeAttribute("aria-orientation"));for(let c of r)this._appendItem(c);let o=e??this.options.active,l=o===null?null:this._find(o),h=l&&!l.definition.disabled?l:this._enabledItems()[0];return h&&this._applyActive(h),this._syncOverflow(),this}setActive(t){let e=this._find(t);return!e||e.definition.disabled||t===this._activeName?this:(this._applyActive(e),this.emit("change",{name:e.definition.name}),this)}setBadge(t,e){let i=this._require(t);return i.definition.badge=e===null?null:String(e),i.badge.textContent=i.definition.badge??"",i.badge.hidden=i.definition.badge===null,this._syncOverflow(),this}setActions(t){if(!Array.isArray(t))throw new TypeError("NavigationBar actions must be an array");let e=t.map(i=>{if(C(i))return i;if(!i||typeof i!="object"||Array.isArray(i))throw new TypeError("NavigationBar actions must be Elements or button descriptors");let r={...i},n=r.onclick;delete r.onclick;let o=W(r);return typeof n=="function"&&this.listen(o,"click",n),o});return this.refs.actions.replaceChildren(...e),this}destroy(){this._cleaned||(this._cleaned=!0,this._overflow?.destroy(),super.destroy(),!this._createdRoot&&this._original&&lh(this.el,this._original))}_appendItem(t){let e=b("zx-navigation-item"),i=b("zx-navigation-panel"),r=a("span",{class:"zx-navigation-bar__badge",hidden:t.badge===null},t.badge??""),n={class:"zx-navigation-bar__item",id:e,ariaDisabled:t.disabled?"true":null},o;this._tabMode?o=a("button",{...n,type:"button",role:"tab",tabindex:"-1",ariaControls:i,ariaSelected:"false"},a("span",{class:"zx-navigation-bar__label"},t.title),r):t.href?o=a("a",{...n,href:t.href},a("span",{class:"zx-navigation-bar__label"},t.title),r):o=a("button",{...n,type:"button"},a("span",{class:"zx-navigation-bar__label"},t.title),r);let l=null;this._tabMode&&(l=a("div",{class:"zx-navigation-bar__panel",id:i,role:"tabpanel",tabindex:"0",ariaLabelledby:e,hidden:!0}),this.refs.panels.append(l));let h={definition:t,item:o,badge:r,panel:l,built:!1};this._items.push(h),this.refs.items.append(o),this.listen(o,"click",c=>{if(h.definition.disabled){c.preventDefault();return}this.setActive(h.definition.name),h.definition.onselect?.(h.definition.name,h.definition,this)})}_applyActive(t){this._tabMode&&this._ensurePanel(t);for(let e of this._items){let i=e===t;this._tabMode?(e.item.setAttribute("aria-selected",String(i)),e.item.tabIndex=i?0:-1,e.panel&&(e.panel.hidden=!i)):i?e.item.setAttribute("aria-current","page"):e.item.removeAttribute("aria-current")}this._activeName=t.definition.name}_ensurePanel(t){if(!t.panel||t.built)return;let e=t.definition.content,i=typeof e=="function"?e():e,r=i instanceof f?i.toElement():i;if(!r||typeof r.nodeType!="number")throw new TypeError(`Navigation panel factory for ${t.definition.name} must return a Node or Component`);t.panel.append(r),t.built=!0}_onTabKeydown(t){if(!this._tabMode)return;let e=t.target.closest?.('[role="tab"]');if(!e||!this.refs.items.contains(e))return;let i=this._items.find(n=>n.item===e);if(!i)return;let r=this._enabledItems();if(t.key==="ArrowLeft"||t.key==="ArrowRight"){t.preventDefault();let n=t.key==="ArrowRight"?1:-1,o=r.indexOf(i),l=r[(o+n+r.length)%r.length];l&&this._focusTab(l);return}if(t.key==="Home"||t.key==="End"){t.preventDefault();let n=t.key==="Home"?r[0]:r[r.length-1];n&&this._focusTab(n);return}(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),this.setActive(i.definition.name))}_syncOverflow(){this._overflow&&(this.refs.more.dataset.empty=this._items.length===0?"true":"false",this._overflow.setItems(this._items.map(t=>({label:t.definition.badge===null?t.definition.title:`${t.definition.title} (${t.definition.badge})`,value:t.definition.name,disabled:t.definition.disabled}))))}_focusTab(t){for(let e of this._items)e.item.tabIndex=e===t?0:-1;t.item.focus()}_enabledItems(){return this._items.filter(t=>!t.definition.disabled)}_find(t){return this._items.find(e=>e.definition.name===t)??null}_require(t){let e=this._find(t);if(!e)throw new RangeError(`Unknown navigation item: ${t}`);return e}};function oh(s){return typeof s=="function"||s instanceof f?!0:!!(s&&typeof s=="object"&&typeof s.nodeType=="number")}function ah(s){return{attributes:Array.from(s.attributes,t=>[t.name,t.value]),children:Array.from(s.childNodes)}}function lh(s,t){for(let e of Array.from(s.attributes))s.removeAttribute(e.name);for(let[e,i]of t.attributes)s.setAttribute(e,i);s.replaceChildren(...t.children)}function Yr(s){if(!Array.isArray(s))throw new TypeError("Stepper steps must be an array");let t=new Set;return s.map(e=>{if(!e||typeof e!="object"||Array.isArray(e))throw new TypeError("Step definition must be an object");if(typeof e.name!="string"||e.name==="")throw new TypeError("Step name must be a non-empty string");if(t.has(e.name))throw new RangeError(`Step already exists: ${e.name}`);return t.add(e.name),{name:e.name,title:String(e.title??""),description:e.description==null?null:String(e.description),optional:!!e.optional,disabled:!!e.disabled}})}function Ne(s,t){return t===null?-1:s.findIndex(e=>e.name===t)}function De(s,t,e){let i=e<0?-1:1,r=t<0?i>0?0:s.length-1:t+i;for(;r>=0&&r<s.length;){if(!s[r].disabled)return r;r+=i}return-1}function Ur(s,t,e){return t<0||e<=t?[]:s.slice(t,e).map(i=>i.name)}function Wr(s,t,e={}){let{activeIndex:i=-1,completed:r,errored:n}=e;return Kr(n,s.name)?"error":t===i?"active":Kr(r,s.name)?"complete":"upcoming"}function Kr(s,t){return s?s instanceof Set?s.has(t):s.includes(t):!1}var hh=new Set(["horizontal","vertical"]),ch=new Set(["completed","all",!1]),Ni=class extends f{static cssName="stepper";static defaults={steps:[],active:null,orientation:"horizontal",clickable:"completed",showNumbers:!0,counter:!1};constructor(t,e={}){super(t,e)}render(){if(this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el),this._destroyed=!1,this._steps=[],this._records=[],this._activeIndex=-1,this._completed=new Set,this._errored=new Set,!hh.has(this.options.orientation))throw new RangeError(`Unknown stepper orientation: ${this.options.orientation}`);if(!ch.has(this.options.clickable))throw new RangeError(`Unknown stepper clickable mode: ${this.options.clickable}`);let t=this.el??a("div");this.el=t,t.dataset.orientation=this.options.orientation;let e=a("p",{class:"zx-stepper__counter",ref:"counter",ariaLive:"polite",hidden:!0}),i=a("ol",{class:"zx-stepper__list",ref:"list"});return t.replaceChildren(...this.options.counter?[e,i]:[i]),this.setSteps(this.options.steps),this.listen(i,"click",r=>{let n=r.target.closest?.(".zx-stepper__control");if(!n||!i.contains(n)||n.tagName!=="BUTTON")return;let o=n.dataset.step;typeof o=="string"&&this.goTo(o)}),t}setSteps(t){let e=this.getActive(),i=Yr(t),r=new Set(i.map(l=>l.name));this._steps=i,this._completed=new Set([...this._completed].filter(l=>r.has(l))),this._errored=new Set([...this._errored].filter(l=>r.has(l)));let n=e??(this.options.active===null?null:String(this.options.active)),o=n===null?-1:Ne(i,n);return o>=0&&i[o].disabled&&(o=-1),o<0&&(o=De(i,-1,1)),this._activeIndex=o,this._records=i.map(l=>this._createRecord(l)),this.refs.list.replaceChildren(...this._records.map(l=>l.item)),this._sync(),this}goTo(t){let e=Ne(this._steps,t);if(e<0)throw new RangeError(`Unknown step: ${t}`);return this._activate(e)}next(){return this._activate(De(this._steps,this._activeIndex,1))}previous(){return this._activate(De(this._steps,this._activeIndex,-1))}getActive(){return this._activeIndex<0?null:this._steps[this._activeIndex].name}getIndex(){return this._activeIndex}complete(t){return this._require(t),this._completed.add(t),this._sync(),this}uncomplete(t){return this._require(t),this._completed.delete(t),this._sync(),this}setError(t,e=!0){return this._require(t),e?this._errored.add(t):this._errored.delete(t),this._sync(),this}setDisabled(t,e=!0){return this._require(t).disabled=!!e,this._sync(),this}getState(){return{active:this.getActive(),index:this._activeIndex,completed:this._steps.filter(t=>this._completed.has(t.name)).map(t=>t.name),errored:this._steps.filter(t=>this._errored.has(t.name)).map(t=>t.name)}}destroy(){if(this._destroyed)return;this._destroyed=!0;let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}_activate(t){if(t<0||t>=this._steps.length||t===this._activeIndex)return this;let e=this._steps[t];if(e.disabled)return this;let i=this._activeIndex;if(this.emit("change",{name:e.name,previous:i<0?null:this._steps[i].name,index:t}).defaultPrevented)return this;for(let n of Ur(this._steps,i,t))this._completed.add(n);return this._activeIndex=t,this._sync(),this}_createRecord(t){let e=a("span",{class:"zx-stepper__marker",ariaHidden:"true"}),i=a("span",{class:"zx-stepper__status"}),r=[a("span",{class:"zx-stepper__title"},t.title)];t.description&&r.push(a("span",{class:"zx-stepper__description"},t.description)),t.optional&&r.push(a("span",{class:"zx-stepper__optional"},this._message("stepper.optional","Optional")));let n=[e,a("span",{class:"zx-stepper__text"},r),i],o=this.options.clickable===!1?a("span",{class:"zx-stepper__control"},n):a("button",{class:"zx-stepper__control",type:"button",dataset:{step:t.name}},n);return{step:t,item:a("li",{class:"zx-stepper__step"},o),control:o,marker:e,status:i}}_sync(){this._records.forEach((t,e)=>{let i=this._stateFor(t.step,e);t.item.dataset.state=i,e===this._activeIndex?t.item.setAttribute("aria-current","step"):t.item.removeAttribute("aria-current"),t.item.toggleAttribute("data-disabled",t.step.disabled),t.marker.replaceChildren(...this._markerContent(i,e)),t.status.textContent=this._statusText(i),t.control.tagName==="BUTTON"&&(t.control.disabled=!this._isClickable(t.step))}),this._syncCounter()}_stateFor(t,e){return Wr(t,e,{activeIndex:this._activeIndex,completed:this._completed,errored:this._errored})}_markerContent(t,e){return t==="complete"?[m("check",{size:12})]:t==="error"?[m("warning",{size:12})]:this.options.showNumbers?[String(e+1)]:[]}_statusText(t){return t==="complete"?this._message("stepper.completed","Completed"):t==="error"?this._message("stepper.error","Error"):t==="active"?this._message("stepper.current","Current step"):""}_isClickable(t){return t.disabled?!1:this.options.clickable==="all"?!0:this.options.clickable==="completed"?this._completed.has(t.name):!1}_syncCounter(){if(!this.options.counter)return;let t=this.refs.counter;t.hidden=this._activeIndex<0,t.textContent=this._activeIndex<0?"":this._message("stepper.counter","Step %1 of %2",this._activeIndex+1,this._steps.length)}_require(t){let e=Ne(this._steps,t);if(e<0)throw new RangeError(`Unknown step: ${t}`);return this._steps[e]}_message(t,e,...i){let r=this.msg(t,...i);return r===t?E(e,i):r}};var uh=new Set(["chevron","slash"]),Di=class extends f{static cssName="breadcrumb";static defaults={items:[],maxVisible:0,separator:"chevron",rootIcon:null};constructor(t,e={}){super(t,e)}render(){if(this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el),this._destroyed=!1,this._items=[],this._overflow=null,!uh.has(this.options.separator))throw new RangeError(`Unknown breadcrumb separator: ${this.options.separator}`);let t=this.el??a("nav");this.el=t,t.tagName!=="NAV"&&t.setAttribute("role","navigation"),t.setAttribute("aria-label",this._message("breadcrumb.label","Breadcrumb"));let e=a("ol",{class:"zx-breadcrumb__list",ref:"list"});return t.replaceChildren(e),this.setItems(this.options.items),this.listen(e,"click",i=>{let r=i.target.closest?.("[data-crumb]");!r||!e.contains(r)||this._select(r.dataset.crumb)}),t}setItems(t){if(!Array.isArray(t))throw new TypeError("Breadcrumb items must be an array");let e=new Set;return this._items=t.map(i=>{if(!i||typeof i!="object"||Array.isArray(i))throw new TypeError("Breadcrumb item must be an object");if(typeof i.name!="string"||i.name==="")throw new TypeError("Breadcrumb item name must be a non-empty string");if(e.has(i.name))throw new RangeError(`Breadcrumb item already exists: ${i.name}`);return e.add(i.name),{name:i.name,label:String(i.label??""),icon:i.icon?String(i.icon):null,href:i.href==null?null:String(i.href)}}),this._build(),this}getItems(){return this._items.map(t=>({...t}))}push(t){return this.setItems([...this._items,t])}pop(){if(this._items.length===0)return null;let t=this._items[this._items.length-1];return this.setItems(this._items.slice(0,-1)),t}truncateTo(t){let e=this._items.findIndex(i=>i.name===t);if(e<0)throw new RangeError(`Unknown breadcrumb item: ${t}`);return this.setItems(this._items.slice(0,e+1))}destroy(){if(this._destroyed)return;this._destroyed=!0,this._overflow?.destroy(),this._overflow=null;let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}_build(){let{head:t,hidden:e,tail:i}=this._split(),r=this._items[this._items.length-1]??null,n=[];for(let o of t)n.push(this._renderItem(o,o===r));e.length>0&&n.push(this._renderOverflow(e));for(let o of i)n.push(this._renderItem(o,o===r));this.refs.list.replaceChildren(...n.map((o,l)=>a("li",{class:"zx-breadcrumb__item"},l===0?o:[this._renderSeparator(),o]))),e.length===0&&this._overflow?.toElement().remove()}_split(){let t=this._items,e=Math.trunc(Number(this.options.maxVisible)||0);if(e<=0||t.length<=e)return{head:t,hidden:[],tail:[]};let i=Math.max(2,e);if(t.length<=i)return{head:t,hidden:[],tail:[]};let r=i-1;return{head:t.slice(0,1),hidden:t.slice(1,t.length-r),tail:t.slice(t.length-r)}}_renderItem(t,e){let i=[],r=t.icon??(t===this._items[0]?this.options.rootIcon:null);return r&&i.push(a("span",{class:"zx-breadcrumb__icon",ariaHidden:"true"},m(String(r),{size:13}))),i.push(a("span",{class:"zx-breadcrumb__label"},t.label)),e?a("span",{class:"zx-breadcrumb__current",ariaCurrent:"page"},i):t.href!==null?a("a",{class:"zx-breadcrumb__link",href:t.href,dataset:{crumb:t.name}},i):a("button",{class:"zx-breadcrumb__link",type:"button",dataset:{crumb:t.name}},i)}_renderOverflow(t){if(!this._overflow){this._overflow=new it(null,{label:"",icon:"dots",kind:"ghost",placement:"bottom-start"});let e=this._overflow.toElement();e.classList.add("zx-breadcrumb__more"),e.setAttribute("aria-label",this._message("breadcrumb.more","Show hidden levels")),this._overflow.on("select",i=>this._select(String(i.detail.value)))}return this._overflow.setItems(t.map(e=>({label:e.label,value:e.name,icon:e.icon??void 0}))),this._overflow.toElement()}_renderSeparator(){return a("span",{class:"zx-breadcrumb__separator",ariaHidden:"true"},this.options.separator==="slash"?"/":m("chevron-right",{size:11}))}_select(t){let e=this._items.findIndex(i=>i.name===t);e<0||this.emit("select",{name:this._items[e].name,item:{...this._items[e]},index:e})}_message(t,e,...i){let r=this.msg(t,...i);return r===t?E(e,i):r}};var Me="\u2026",dh=new Set(["pages","loadmore"]);function Gr({page:s=1,pages:t=1,siblings:e=1,boundaries:i=1}={}){let r=gt(t);if(r<=0)return[];let n=Ii(gt(s)||1,1,r),o=Math.max(0,gt(e)),l=Math.max(0,gt(i)),h=l*2+o*2+3;if(r<=h)return Ee(1,r);let c=Ee(1,Math.min(l,r)),u=Ee(Math.max(r-l+1,l+1),r),d=Math.max(Math.min(n-o,r-l-o*2-1),l+2),_=Math.min(Math.max(n+o,l+o*2+2),u.length>0?u[0]-2:r-1);return[...c,...d>l+2?[Me]:l+1<r-l?[l+1]:[],...Ee(d,_),..._<r-l-1?[Me]:r-l>l?[r-l]:[],...u]}var Mi=class extends f{static cssName="pagination";static defaults={page:1,pageSize:25,total:0,pageSizes:[25,50,100],siblings:1,boundaries:1,showPageSize:!0,showSummary:!0,mode:"pages",disabled:!1};constructor(t,e={}){super(t,e)}render(){if(this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el),this._destroyed=!1,this._pageSize=Ei(this.options.pageSize,25),this._total=Math.max(0,gt(this.options.total)),this._page=Math.max(1,gt(this.options.page)||1),this._disabled=!!this.options.disabled,this._sizeKey="",this._pageSizes=(Array.isArray(this.options.pageSizes)?this.options.pageSizes:[]).map(i=>Ei(i,0)).filter(i=>i>0),!dh.has(this.options.mode))throw new RangeError(`Unknown pagination mode: ${this.options.mode}`);this._page=Ii(this._page,1,this._pageCount());let t=this.el??a("nav");this.el=t,t.tagName!=="NAV"&&t.setAttribute("role","navigation"),t.setAttribute("aria-label",this._message("pagination.label","Pagination")),t.dataset.mode=this.options.mode;let e=[];return this.options.showSummary&&e.push(a("span",{class:"zx-pagination__summary",ref:"summary",ariaLive:"polite"})),e.push(a("span",{class:"zx-pagination__spacer"})),this.options.showPageSize&&e.push(this._renderPageSize()),e.push(this.options.mode==="pages"?this._renderPages():this._renderLoadMore()),t.replaceChildren(...e),this._sync(),this._wire(),t}setPage(t){return this.setState({page:t})}setTotal(t){return this.setState({total:t},{silent:!0})}setPageSize(t){return this.setState({pageSize:t,page:1})}setState(t={},{silent:e=!1}={}){if(!t||typeof t!="object"||Array.isArray(t))throw new TypeError("Pagination state must be an object");let i=this._page,r=this._pageSize;if(Object.hasOwn(t,"total")&&(this._total=Math.max(0,gt(t.total))),Object.hasOwn(t,"pageSize")&&(this._pageSize=Ei(t.pageSize,this._pageSize)),Object.hasOwn(t,"page")){let n=Math.trunc(Number(t.page));Number.isFinite(n)&&(this._page=n)}return this._page=Ii(this._page,1,this._pageCount()),this._sync(),!e&&(this._page!==i||this._pageSize!==r)&&this.emit("change",this.getState()),this}getState(){let t=this._pageCount();return{page:this._page,pageSize:this._pageSize,total:this._total,pages:t,offset:(this._page-1)*this._pageSize}}enable(){return this._disabled=!1,this._sync(),this}disable(){return this._disabled=!0,this._sync(),this}destroy(){if(this._destroyed)return;this._destroyed=!0;let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}_pageCount(){return this._total<=0?1:Math.ceil(this._total/this._pageSize)}_renderPageSize(){let t=this._message("pagination.pageSize","Rows per page");return a("label",{class:"zx-pagination__size"},a("span",{class:"zx-pagination__size-label"},t),a("select",{class:"zx-pagination__select",ref:"select",ariaLabel:t}))}_renderPages(){return a("div",{class:"zx-pagination__controls"},this._navButton("prev","chevron-left",this._message("pagination.previous","Previous page")),a("div",{class:"zx-pagination__pages",ref:"pages"}),this._navButton("next","chevron-right",this._message("pagination.next","Next page")))}_navButton(t,e,i){return a("button",{class:"zx-btn zx-pagination__nav",type:"button",ref:t,ariaLabel:i,dataset:{kind:"default",size:"sm"}},m(e,{size:14}))}_renderLoadMore(){return a("button",{class:"zx-btn zx-pagination__more",type:"button",ref:"more",dataset:{kind:"default",size:"md"}},a("span",{class:"zx-btn__label"},this._message("pagination.loadMore","Load more")))}_wire(){if(this.refs.select&&this.listen(this.refs.select,"change",()=>{this.setPageSize(Number(this.refs.select.value))}),this.options.mode==="pages"){this.listen(this.refs.prev,"click",()=>this.setPage(this._page-1)),this.listen(this.refs.next,"click",()=>this.setPage(this._page+1)),this.listen(this.refs.pages,"click",t=>{let e=t.target.closest?.("[data-page]");!e||!this.refs.pages.contains(e)||this.setPage(Number(e.dataset.page))});return}this.listen(this.refs.more,"click",()=>this.setPage(this._page+1))}_sync(){let t=this._pageCount();if(this.el.dataset.disabled=this._disabled?"true":"false",this.refs.summary&&(this.refs.summary.textContent=this._summary()),this.refs.select&&this._syncPageSize(),this.options.mode==="pages"){this.refs.prev.disabled=this._disabled||this._page<=1,this.refs.next.disabled=this._disabled||this._page>=t,this._syncPages(t);return}this.refs.more.disabled=this._disabled||this._page>=t}_summary(){if(this._total<=0)return this._message("pagination.empty","0 of 0");let t=(this._page-1)*this._pageSize,e=Math.min(t+this._pageSize,this._total);return this.options.mode==="loadmore"?this._message("pagination.loaded","%1 of %2",ee(e),ee(this._total)):this._message("pagination.summary","%1\u2013%2 of %3",ee(t+1),ee(e),ee(this._total))}_syncPageSize(){let t=this.refs.select,e=[...new Set([...this._pageSizes,this._pageSize])].sort((r,n)=>r-n),i=e.join(",");i!==this._sizeKey&&(this._sizeKey=i,t.replaceChildren(...e.map(r=>a("option",{value:String(r)},String(r))))),t.value=String(this._pageSize),t.disabled=this._disabled}_syncPages(t){let e=this.refs.pages,i=this.el.ownerDocument?.activeElement??null,r=i&&e.contains(i)?i.dataset.page??null:null,n=Gr({page:this._page,pages:t,siblings:this.options.siblings,boundaries:this.options.boundaries});if(e.replaceChildren(...n.map(l=>l===Me?a("span",{class:"zx-pagination__ellipsis",ariaHidden:"true"},Me):a("button",{class:"zx-btn zx-pagination__page",type:"button",disabled:this._disabled,ariaCurrent:l===this._page?"page":null,ariaLabel:this._message("pagination.page","Page %1",l),dataset:{kind:"default",size:"sm",page:String(l)}},String(l)))),r===null)return;let o=e.querySelector(`[data-page="${r}"]`);o&&!o.disabled&&o.focus()}_message(t,e,...i){let r=this.msg(t,...i);return r===t?E(e,i):r}};function gt(s){let t=Math.trunc(Number(s));return Number.isFinite(t)&&t>0?t:0}function Ei(s,t){let e=Math.trunc(Number(s));return Number.isFinite(e)&&e>0?e:t}function Ii(s,t,e){return Math.min(Math.max(s,t),e)}function Ee(s,t){return t<s?[]:Array.from({length:t-s+1},(e,i)=>s+i)}function ee(s){return s.toLocaleString()}var Fi=class{#t;#e=[];#i=[];#s;constructor(t=5,e=()=>{}){if(!Number.isInteger(t)||t<1)throw new RangeError("Queue limit must be positive");if(typeof e!="function")throw new TypeError("Activation callback must be a function");this.#t=t,this.#s=e}enqueue(t){return this.#e.length<this.#t?(this.#e.push(t),this.#s(t),"active"):(this.#i.push(t),"pending")}remove(t){let e=this.#i.indexOf(t);if(e!==-1)return this.#i.splice(e,1),"pending";let i=this.#e.indexOf(t);if(i===-1)return null;if(this.#e.splice(i,1),this.#i.length>0){let r=this.#i.shift();this.#e.push(r),this.#s(r)}return"active"}isActive(t){return this.#e.includes(t)}clear(){let t={active:this.#e.slice(),pending:this.#i.slice()};return this.#e.length=0,this.#i.length=0,t}get activeCount(){return this.#e.length}get pendingCount(){return this.#i.length}},Li=class s extends f{static cssName="message";static defaults={kind:"info",timeout:4e3,closable:!0,maxVisible:5};static#t=null;render(){let t=!this.el,e=this.el??a("div");return this._createdRoot=t,this._original=t?null:yh(e),this._entries=new Set,this._queue=new Fi(_h(this.options.maxVisible),i=>{this._activate(i)}),e.replaceChildren(),e.setAttribute("role","status"),e.setAttribute("aria-live","polite"),e}show(t,e={}){let i={kind:ph(e.kind??this.options.kind),timeout:fh(e.timeout??this.options.timeout),closable:e.closable??!!this.options.closable},r=this._createEntry(t,i);return this._entries.add(r),this._queue.enqueue(r),{close:()=>this._close(r)}}static info(t,e={}){return this.show(t,{...e,kind:"info"})}static success(t,e={}){return this.show(t,{...e,kind:"success"})}static warning(t,e={}){return this.show(t,{...e,kind:"warning"})}static error(t,e={}){return this.show(t,{...e,kind:"error"})}static show(t,e={}){return this.#e().show(t,e)}static progress(t){return this.#e()._progress(t)}destroy(){if(!this._cleaned){this._cleaned=!0;for(let t of this._entries)Oi(t),t.node.remove();this._queue.clear(),this._entries.clear(),super.destroy(),!this._createdRoot&&this._original&&xh(this.el,this._original)}}_progress(t){let e={pct:0,text:String(t)},i=this._createEntry(e.text,{kind:"info",timeout:0,closable:!1},e);this._entries.add(i),this._queue.enqueue(i);let r=!1;return{update:(n,o)=>{r||i.closed||(e.pct=gh(n),o!==void 0&&(e.text=String(o)),Ie(i,e))},done:()=>{r||i.closed||(r=!0,e.pct=100,Ie(i,e),i.remaining=600,this._queue.isActive(i)&&this._schedule(i))},fail:n=>{r||i.closed||(r=!0,n!==void 0&&(e.text=String(n)),i.kind="error",i.node.dataset.kind="error",i.node.setAttribute("role","alert"),i.iconHost.replaceChildren(m("error",{size:18})),Ie(i,e),i.remaining=4e3,this._queue.isActive(i)&&this._schedule(i))}}}_createEntry(t,e,i=null){let r=a("span",{class:"zx-message__icon",ariaHidden:"true"},m(e.kind,{size:18})),n=a("div",{class:"zx-message__content"});mh(t)?n.append(t):n.append(document.createTextNode(String(t)));let o=a("div",{class:"zx-message__toast",role:e.kind==="error"?"alert":"status",dataset:{kind:e.kind,state:"queued"}},r,n),l={node:o,content:n,iconHost:r,kind:e.kind,timeout:e.timeout,remaining:e.timeout,startedAt:0,timer:null,exitTimer:null,closed:!1,progressBar:null,progressFill:null};if(i){o.dataset.progress="";let h=a("span",{class:"zx-message__progress-fill"}),c=a("div",{class:"zx-message__progress",role:"progressbar",ariaValueMin:"0",ariaValueMax:"100",ariaValueNow:"0",ariaLabel:i.text},h);n.append(c),l.progressBar=c,l.progressFill=h,Ie(l,i)}if(e.closable){let h=a("button",{class:"zx-icon-btn zx-message__close",type:"button",ariaLabel:"Close message",title:"Close"},m("x",{size:14}));o.append(h),this.listen(h,"click",()=>this._close(l))}return this.listen(o,"mouseenter",()=>this._pause(l)),this.listen(o,"mouseleave",()=>this._resume(l)),l}_activate(t){t.closed||(t.node.dataset.state="open",this.el.append(t.node),this._schedule(t))}_schedule(t){t.closed||t.remaining<=0||(t.startedAt=Date.now(),t.timer=setTimeout(()=>this._close(t),t.remaining))}_pause(t){t.closed||t.timer===null||(clearTimeout(t.timer),t.timer=null,t.remaining=Math.max(0,t.remaining-(Date.now()-t.startedAt)))}_resume(t){if(!(t.closed||t.timer!==null)){if(t.remaining<=0){this._close(t);return}this._schedule(t)}}_close(t){if(t.closed)return;if(t.closed=!0,Oi(t),!this._queue.isActive(t)){this._queue.remove(t),t.node.remove(),this._entries.delete(t);return}if(t.node.dataset.state="closing",!bh()){this._finish(t);return}let e=i=>{i.target===t.node&&this._finish(t)};this.listen(t.node,"animationend",e,{once:!0}),t.exitTimer=setTimeout(()=>this._finish(t),260)}_finish(t){this._entries.has(t)&&(Oi(t),t.node.remove(),this._entries.delete(t),this._queue.remove(t))}static#e(){if(this.#t)return this.#t;let t=a("div",{class:"zx-message-region",popover:"manual",role:"status",ariaLive:"polite"});return document.body.append(t),this.#t=new s(t),typeof t.showPopover=="function"&&t.showPopover(),this.#t}};function ph(s){return s==="danger"?"error":["success","warning","error"].includes(String(s))?s:"info"}function fh(s){let t=Number(s);return Number.isFinite(t)?Math.max(0,t):4e3}function _h(s){let t=Number(s);return Number.isInteger(t)&&t>0?t:5}function mh(s){return!!(s&&typeof s=="object"&&typeof s.nodeType=="number")}function gh(s){let t=Number(s);return Number.isFinite(t)?Math.min(100,Math.max(0,t)):0}function Ie(s,t){s.content.firstChild.textContent=t.text,s.progressBar?.setAttribute("aria-valuenow",String(t.pct)),s.progressBar?.setAttribute("aria-label",t.text),s.progressFill&&(s.progressFill.style.inlineSize=`${t.pct}%`)}function Oi(s){s.timer!==null&&clearTimeout(s.timer),s.exitTimer!==null&&clearTimeout(s.exitTimer),s.timer=null,s.exitTimer=null}function bh(){return typeof matchMedia!="function"||matchMedia("(prefers-reduced-motion: no-preference)").matches}function yh(s){return{attributes:Array.from(s.attributes,t=>[t.name,t.value]),children:Array.from(s.childNodes)}}function xh(s,t){for(let e of Array.from(s.attributes))s.removeAttribute(e.name);for(let[e,i]of t.attributes)s.setAttribute(e,i);s.replaceChildren(...t.children)}var vh=new Set(["top","bottom","top-start","top-end","bottom-start","bottom-end"]),wh=new Set(["hover","focus","both","manual"]),ie=class extends f{static cssName="tooltip";static defaults={content:"",placement:"top",offset:6,delay:400,hideDelay:80,maxWidth:260,trigger:"both",disabled:!1};#t;#e;#i=null;#s=null;#r=0;#n=0;#a=!1;#o=!1;#l=!1;constructor(t,e={}){let i=O(t);if(!i)throw new TypeError("Tooltip anchor could not be resolved");super(null,e),this.#t=i,this.#e=this.options.content,this.#o=!!this.options.disabled,this.#s=i.getAttribute("aria-describedby"),this.el.style.setProperty("--zx-tooltip-max-inline-size",Ch(this.options.maxWidth));let r=wh.has(this.options.trigger)?this.options.trigger:"both";r!=="manual"&&((r==="hover"||r==="both")&&(this.listen(this.#t,"pointerenter",n=>{n.pointerType!=="touch"&&this.#c(Number(this.options.delay))}),this.listen(this.#t,"pointerleave",()=>this.#h(Number(this.options.hideDelay)))),(r==="focus"||r==="both")&&(this.listen(this.#t,"focusin",()=>{this.#a||!Th(this.#t)||this.#c(0)}),this.listen(this.#t,"focusout",()=>this.#h(Number(this.options.hideDelay)))),this.listen(document,"keydown",n=>{n.key!=="Escape"||!this.isOpen()||(n.preventDefault(),this.hide())}),this.listen(document,"pointerdown",()=>{this.#a=!0,this.#u(),this.hide()},{capture:!0}),this.listen(document,"pointerup",()=>{this.#a=!1},{capture:!0}),this.listen(document,"pointercancel",()=>{this.#a=!1},{capture:!0}),this.listen(document,"focusin",n=>{!this.isOpen()||n.composedPath().includes(this.#t)||this.hide()}))}render(){let t=a("div",{id:b("zx-tooltip"),role:"tooltip",popover:"manual"});return t.dataset.state="closed",document.body.append(t),t}show(){if(this.#l||this.#o||this.isOpen())return this;this.#u();let t=Qr(this.#e);return t===null?this:(this.el.replaceChildren(t),this.#i=j(this.#t,this.el,{placement:vh.has(this.options.placement)?this.options.placement:"top",offset:Number(this.options.offset),flip:!0}),this.el.dataset.state="open",this.#t.setAttribute("aria-describedby",zh(this.#s,this.el.id)),this.emit("open"),this)}hide(){return this.#u(),this.isOpen()?(this.#i?.destroy(),this.#i=null,this.el.dataset.state="closed",this.el.replaceChildren(),this.#d(),this.emit("close"),this):this}toggle(){return this.isOpen()?this.hide():this.show()}isOpen(){return this.#i!==null}setContent(t){if(this.#e=t,!this.isOpen())return this;let e=Qr(t);return e===null?this.hide():(this.el.replaceChildren(e),this.#i?.update(),this)}enable(){return this.#o=!1,this}disable(){return this.#o=!0,this.hide()}isDisabled(){return this.#o}getAnchor(){return this.#t}destroy(){this.#l||(this.#l=!0,this.hide(),this.#d(),super.destroy())}#c(t){if(this.#u(),this.#l||this.#o||this.isOpen())return;let e=Number.isFinite(t)?Math.max(0,t):0;if(e===0){this.show();return}this.#r=setTimeout(()=>{this.#r=0,this.show()},e)}#h(t){if(this.#u(),!this.isOpen())return;let e=Number.isFinite(t)?Math.max(0,t):0;if(e===0){this.hide();return}this.#n=setTimeout(()=>{this.#n=0,this.hide()},e)}#u(){this.#r!==0&&clearTimeout(this.#r),this.#n!==0&&clearTimeout(this.#n),this.#r=0,this.#n=0}#d(){this.#s===null?this.#t.removeAttribute("aria-describedby"):this.#t.setAttribute("aria-describedby",this.#s)}};function kh(s,t=""){return new ie(s,Sh(t)?t:{content:t})}function Ah(s,t){return new ie(s,{content:String(t??"")})}function Sh(s){return s===null||typeof s!="object"||Array.isArray(s)||typeof s.nodeType=="number"?!1:typeof s.toElement!="function"}function Qr(s){let t=typeof s=="function"?s():s;if(t==null)return null;if(typeof t=="object"&&typeof t.nodeType=="number")return t;if(typeof t=="object"&&typeof t.toElement=="function")return t.toElement();let e=String(t);return e===""?null:document.createTextNode(e)}function zh(s,t){let e=String(s??"").split(/\s+/).filter(Boolean);return e.includes(t)||e.push(t),e.join(" ")}function Ch(s){return typeof s=="number"&&Number.isFinite(s)?`${s}px`:String(s)}function Th(s){try{return s.matches(":focus-visible")}catch{return!0}}var Oe='[role="menuitem"]',Ri=class extends f{static defaults={items:[],selector:null};#t;#e;#i;#s;#r;#n=[];#a=null;#o=null;#l=!1;constructor(t,e={}){let i=O(t);if(!i)throw new TypeError("ContextMenu target could not be resolved");super(null,e),this.#t=i,document.body.append(this.el),this.#e=new et(this.el,{openOn:"manual",placement:"bottom-start"}),this.#i=this.#e.getPanel(),this.#i.classList.add("zx-context-menu"),this.#i.setAttribute("role","menu"),Array.isArray(this.options.items)&&this.setItems(this.options.items),this.#s=ut(this.#i,Oe),this.#r=K(()=>this.#_(),r=>r.focus()),this.#e.on("close",()=>{this.#a=null;let r=this.#o;this.#o=null,r instanceof HTMLElement&&r.isConnected&&r.focus(),this.emit("close")}),this.listen(this.#t,"contextmenu",r=>this.#u(r)),this.listen(this.#t,"keydown",r=>this.#d(r)),this.listen(this.#i,"click",r=>{let n=r.target.closest?.(Oe);n&&this.#i.contains(n)&&this.#f(n)}),this.listen(this.#i,"keydown",r=>this.#m(r))}render(){return a("span",{class:"zx-context-menu__anchor",ariaHidden:"true"})}setItems(t){return this.#n=Array.isArray(t)?t.slice():[],this.#i.replaceChildren(),this.#n.forEach((e,i)=>{if(e==="-"){this.#i.append(a("div",{class:"zx-context-menu__separator",role:"separator"}));return}let r=[];e.icon&&r.push(a("span",{class:"zx-context-menu__icon"},m(e.icon))),r.push(a("span",{class:"zx-context-menu__label"},String(e.label??""))),this.#i.append(a("button",{class:"zx-context-menu__item",type:"button",role:"menuitem",tabindex:"-1","data-menu-item":String(i),"data-danger":e.danger?"true":null,ariaDisabled:e.disabled?"true":null},r))}),this}openAt(t,e,i=null){return this.#c(i)?(this.#h(t,e,i),this):this}openAtElement(t){let e=t.getBoundingClientRect();return this.openAt(e.left,e.bottom,t)}close(){return this.#e.close(),this}isOpen(){return this.#e.isOpen()}getContext(){return this.#a}destroy(){this.#l||(this.#l=!0,this.#s.destroy(),this.#e.destroy(),super.destroy())}#c(t){let e=this.options.items;if(typeof e=="function"){let i=e(t);if(!Array.isArray(i)||i.length===0)return!1;this.setItems(i)}return this.#n.length>0}#h(t,e,i){let r=this.el;r.style.left=`${t}px`,r.style.top=`${e}px`,this.#a=i,this.#o=document.activeElement,this.#e.open(),this.#s.focusFirst(),this.emit("open",{context:i})}#u(t){let e=t,i=this.#p(e.target);!i||!this.#c(i)||(t.preventDefault(),this.#h(e.clientX,e.clientY,i))}#d(t){let e=t;if(e.key!=="ContextMenu"&&!(e.key==="F10"&&e.shiftKey))return;let i=this.#p(e.target);if(!i||!this.#c(i))return;t.preventDefault();let r=i.getBoundingClientRect();this.#h(r.left,r.bottom,i)}#p(t){if(!this.options.selector)return this.#t;let e=t?.closest?.(String(this.options.selector));return e&&this.#t.contains(e)?e:null}#m(t){let e=t;if(e.key==="Escape"||e.key==="Tab"){t.preventDefault(),this.close();return}if(e.key==="Enter"||e.key===" "){let i=e.target.closest?.(Oe);if(!i||!this.#i.contains(i))return;t.preventDefault(),this.#f(i);return}this.#r(e)}#f(t){let e=Number(t.getAttribute("data-menu-item")),i=this.#n[e];if(!i||i==="-"||i.disabled)return;let r=this.#a;this.emit("select",{value:i.value,item:i,context:r});try{i.onselect?.(i.value,i,this)}finally{this.close()}}#_(){return Array.from(this.#i.querySelectorAll(Oe))}};var Vi=class extends f{static cssName="permission";static defaults={value:!0,groups:[],groupsValueKey:"ID",groupsLabelKey:"name"};render(){this._mode="public",this._groupValue=null,this._groupSelect=null,this._createdRoot=!1,this._originalChildren=[],this._root=null,this._originalState=null,this._createdRoot=this.el===null;let t=this.el??a("div");this.el=t,this._root=t,this._createdRoot||(this._originalChildren=Array.from(t.childNodes),this._originalState=t.getAttribute("data-state"));let e=b("zx-permission"),i=a("div",{class:"zx-permission__choices",role:"radiogroup",ariaLabel:this._message("permission.label","Permission")}),r=this._choice(e,"private",this._message("permission.private","Private")),n=this._choice(e,"public",this._message("permission.public","Public")),o=this._choice(e,"group",this._message("permission.group","Group")),l=a("div",{ref:"groupHost",class:"zx-permission__groups"});i.append(r.label,n.label,o.label,l),t.replaceChildren(i),this.refs.private=r.input,this.refs.public=n.input,this.refs.group=o.input,this._groupSelect=new F(l,{items:Array.isArray(this.options.groups)?this.options.groups:[],valueKey:this.options.groupsValueKey,labelKey:this.options.groupsLabelKey,placeholder:this._message("permission.group","Group")}),this._groupSelect.refs.input.setAttribute("aria-label",this._message("permission.group","Group"));for(let h of[r.input,n.input,o.input])this.listen(h,"change",()=>{h.checked&&(h.value==="group"?this._selectGroupMode():this.set(h.value))});return this.listen(l,"zx-change",h=>{if(h.stopPropagation(),this._mode!=="group")return;let c=this.get();this._groupValue=h.detail.value;let u=this.get();Object.is(c,u)||this.emit("change",{value:u})}),this.set(this.options.value,{silent:!0}),t}get(){return this._mode==="private"?"private":this._mode==="public"?"public":this._groupValue}set(t,{silent:e=!1}={}){let i=this.get();t===!0||t==="public"?this._mode="public":t===!1||t==="private"?this._mode="private":(this._mode="group",this._groupValue=t,this._groupSelect?.set(t,{silent:!0})),this._sync();let r=this.get();return!e&&!Object.is(i,r)&&this.emit("change",{value:r}),this}destroy(){this._groupSelect?.destroy(),this._groupSelect=null,!this._createdRoot&&this.el&&(this.el.replaceChildren(...this._originalChildren),this._originalState===null?this.el.removeAttribute("data-state"):this.el.setAttribute("data-state",this._originalState)),super.destroy()}_selectGroupMode(){let t=this.get();if(this._mode="group",this._groupValue==null){let i=Array.isArray(this.options.groups)?this.options.groups[0]:null;this._groupValue=i==null?null:Nh(i,this.options.groupsValueKey)}this._groupSelect?.set(this._groupValue,{silent:!0}),this._sync();let e=this.get();Object.is(t,e)||this.emit("change",{value:e})}_sync(){this.refs.private.checked=this._mode==="private",this.refs.public.checked=this._mode==="public",this.refs.group.checked=this._mode==="group",this._mode==="group"?this._groupSelect?.enable():this._groupSelect?.disable(),this._root?.setAttribute("data-state",this._mode)}_choice(t,e,i){let r=a("input",{type:"radio",name:t,value:e});return{label:a("label",{class:"zx-permission__choice"},r,a("span",{},i)),input:r}}_message(t,e){let i=this.msg(t);return i===t?e:i}};function Nh(s,t){return typeof t=="function"?t(s):s===null||typeof s!="object"?s:s[t]}function Fe({valueKey:s="ID",labelKey:t="name",childrenKey:e="children"}={}){return{value:i=>typeof s=="function"?s(i):i?.[s],label:i=>String((typeof t=="function"?t(i):i?.[t])??""),children:i=>{let r=i?.[e];return Array.isArray(r)?r:null}}}function M(s,t){if(s?.hasChildren===!0)return!0;let e=t.children(s);return Array.isArray(e)&&e.length>0}function zt(s,t,e,{level:i=1,parent:r=null}={}){s.forEach((n,o)=>{e(n,{level:i,parent:r,index:o,siblings:s});let l=t.children(n);l&&zt(l,t,e,{level:i+1,parent:n})})}function Jr(s,t,e){let i=null;return zt(s,e,r=>{i===null&&Object.is(e.value(r),t)&&(i=r)}),i}function se(s,t,e){for(let i of s){if(Object.is(e.value(i),t))return[i];let r=e.children(i);if(!r)continue;let n=se(r,t,e);if(n.length>0)return[i,...n]}return[]}function Xr(s,t){let e=[],i=t.children(s);return i&&zt(i,t,r=>e.push(r)),e}function Zr(s,t,e){let i=[],r=(n,o,l)=>{n.forEach((h,c)=>{let u=t.value(h);if(i.push({node:h,id:u,level:o,parent:l,posinset:c+1,setsize:n.length}),!e.has(u))return;let d=t.children(h);d&&d.length>0&&r(d,o+1,h)})};return r(s,1,null),i}function Bi(s,t,e,i){let r=[];for(let n of s){let o=t.children(n)??[],l=Bi(o,t,e,i);(e(n)||l.length>0)&&r.push(l.length>0||o.length>0?{...n,[i]:l}:n)}return r}var Pi=class extends f{static cssName="tree";static defaults={items:[],valueKey:"ID",labelKey:"name",childrenKey:"children",expanded:[],selection:"single",selected:[],checkboxes:!1,checked:[],icons:!0,renderLabel:null,load:null,filter:"",label:"Tree",emptyText:"Nothing to show",height:null};render(){this._items=[],this._rows=[],this._expanded=new Set,this._selected=new Set,this._checked=new Set,this._loading=new Map,this._focusId=null,this._filter="",this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el);let t=this.el??a("div");this.el=t,this._readers=Fe(this.options),this._childrenKey=this.options.childrenKey??"children",t.setAttribute("role","tree"),t.setAttribute("aria-label",String(this.options.label??"Tree")),t.tabIndex=0,this.options.selection==="multi"&&t.setAttribute("aria-multiselectable","true"),this.options.height!==null&&(t.style.blockSize=typeof this.options.height=="number"?`${this.options.height}px`:String(this.options.height),t.style.overflowY="auto"),this._items=ji(this.options.items);for(let i of re(this.options.expanded))this._expanded.add(i);for(let i of re(this.options.selected))this._selected.add(i);let[e]=this._selected;if(e!==void 0){this._focusId=e;for(let i of this.getPath(e).slice(0,-1))this._expanded.add(this._readers.value(i))}for(let i of re(this.options.checked))this._applyCheck(i,!0,{silent:!0});return this._handleTypeahead=K(()=>this._rotatedRows().map(i=>this._readers.label(i.node)),(i,r)=>this._focusNodeId(this._rotatedRows()[r]?.id)),this.listen(t,"keydown",i=>this._onKeydown(i)),this.listen(t,"click",i=>this._onClick(i)),this.listen(t,"dblclick",i=>this._onDoubleClick(i)),this.listen(t,"focus",()=>{this._rows.length>0&&!this._rowElement(this._focusId)&&this._focusRow(0)}),String(this.options.filter??"")!==""?this.setFilter(this.options.filter):this._renderRows(),t}setItems(t){return this._items=ji(t),this._renderRows(),this}getItems(){return this._items}getNode(t){return Jr(this._items,t,this._readers)}getPath(t){return se(this._items,t,this._readers)}setFilter(t){if(this._filter=String(t??""),this._filter!=="")for(let e of this._visibleItems())zt([e],this._readers,i=>this._expanded.add(this._readers.value(i)));return this._renderRows(),this}async expand(t){let e=this.getNode(t);if(!e||!M(e,this._readers))return this;let i=this._readers.children(e),r=!!this.options.load&&(!i||i.length===0);return this._expanded.has(t)&&!r?this:await this._ensureChildren(e,t)?(this._expanded.add(t),this._renderRows(),this.emit("expand",{node:e,id:t}),this):this}collapse(t){if(!this._expanded.delete(t))return this;let e=this.getNode(t);return this._renderRows(),e&&this.emit("collapse",{node:e,id:t}),this}async toggle(t){return this._expanded.has(t)?this.collapse(t):this.expand(t)}expandAll(){return zt(this._items,this._readers,t=>{M(t,this._readers)&&this._expanded.add(this._readers.value(t))}),this._renderRows(),this}collapseAll(){return this._expanded.clear(),this._renderRows(),this}reveal(t){let e=this.getPath(t);for(let i of e.slice(0,-1))this._expanded.add(this._readers.value(i));return this._renderRows(),this}select(t,{silent:e=!1,additive:i=!1}={}){if(this.options.selection===!1)return this;let r=this.getNode(t);return r?(this.options.selection==="multi"&&i?this._selected.has(t)?this._selected.delete(t):this._selected.add(t):(this._selected.clear(),this._selected.add(t)),this._syncRows(),e||this.emit("select",{node:r,id:t,ids:this.getSelection()}),this):this}getSelection(){return[...this._selected]}setSelection(t,{silent:e=!0}={}){let i=re(t);if(this._selected=new Set(this.options.selection==="multi"?i:i.slice(0,1)),this._syncRows(),!e){let[r]=this._selected;this.emit("select",{node:this.getNode(r)??null,id:r,ids:this.getSelection()})}return this}clearSelection(){return this._selected.clear(),this._syncRows(),this}getChecked({leavesOnly:t=!1}={}){return t?[...this._checked].filter(e=>{let i=this.getNode(e);return i!==null&&!M(i,this._readers)}):[...this._checked]}setChecked(t,{silent:e=!0}={}){this._checked.clear();for(let i of re(t))this._applyCheck(i,!0,{silent:!0});return this._syncRows(),e||this.emit("check",{ids:this.getChecked(),node:null}),this}check(t,e,{silent:i=!1}={}){let r=this._applyCheck(t,e,{silent:!0});return this._syncRows(),!i&&r&&this.emit("check",{ids:this.getChecked(),node:r}),this}focusNode(t){this.reveal(t);let e=this._rows.findIndex(i=>Object.is(i.id,t));return e>=0&&this._focusRow(e),this}_visibleItems(){if(this._filter==="")return this._items;let t=this._filter.trim().toLocaleLowerCase();return t===""?this._items:Bi(this._items,this._readers,e=>this._readers.label(e).toLocaleLowerCase().includes(t),this._childrenKey)}_renderRows(){let t=this._visibleItems();if(this._rows=Zr(t,this._readers,this._expanded),this._rows.length===0){this.el.replaceChildren(a("div",{class:"zx-tree__empty"},this._message("tree.empty",this.options.emptyText)));return}this.el.replaceChildren(...this._rows.map(e=>this._renderRow(e))),this._syncRows()}_renderRow(t){let e=M(t.node,this._readers),i=e&&this._expanded.has(t.id),r=a("div",{class:"zx-tree__row",role:"treeitem",id:b("zx-tree-item"),tabIndex:-1,ariaLevel:String(t.level),ariaSetSize:String(t.setsize),ariaPosInSet:String(t.posinset),dataset:{level:String(t.level)}});r.style.setProperty("--zx-tree-level",String(t.level-1));let n=a("span",{class:"zx-tree__twisty",ariaHidden:"true"},e?m("chevron-right",{size:12}):null);if(n.dataset.action="twisty",r.append(n),this.options.checkboxes){let l=a("input",{class:"zx-tree__checkbox",type:"checkbox",tabIndex:-1,ariaHidden:"true"});l.dataset.action="checkbox",r.append(l)}this.options.icons&&r.append(a("span",{class:"zx-tree__icon",ariaHidden:"true"},m(e?i?"folder-open":"folder":"file",{size:14})));let o=this.options.renderLabel?this.options.renderLabel(t.node):this._readers.label(t.node);return r.append(a("span",{class:"zx-tree__label"},o)),t.node.badge!=null&&r.append(a("span",{class:"zx-tree__badge"},String(t.node.badge))),r}_syncRows(){let t=this.el.querySelectorAll(".zx-tree__row"),e=this._rows.findIndex(i=>Object.is(i.id,this._focusId));e<0&&(e=0),t.forEach((i,r)=>{let n=this._rows[r];if(!n)return;let o=M(n.node,this._readers),l=o&&this._expanded.has(n.id);o?i.setAttribute("aria-expanded",String(l)):i.removeAttribute("aria-expanded"),this.options.selection!==!1&&i.setAttribute("aria-selected",String(this._selected.has(n.id))),i.toggleAttribute("data-branch",o),i.toggleAttribute("data-loading",this._loading.has(n.id)),i.tabIndex=r===e?0:-1;let h=i.querySelector(".zx-tree__checkbox");if(h){let u=this._checkState(this.getNode(n.id)??n.node);h.checked=u==="checked",h.indeterminate=u==="partial",i.setAttribute("aria-checked",u==="partial"?"mixed":String(h.checked))}let c=i.querySelector(".zx-tree__icon");c&&this.options.icons&&c.replaceChildren(m(o?l?"folder-open":"folder":"file",{size:14}))}),this._focusId=this._rows[e]?.id??null,this.el.tabIndex=this._rows.length===0?0:-1}_onClick(t){let e=t.target.closest(".zx-tree__row");if(!e)return;let i=this._rowIndex(e);if(i<0)return;let r=this._rows[i];this._focusRow(i);let n=t.target.closest("[data-action]");if(n?.dataset.action==="twisty"){M(r.node,this._readers)&&this.toggle(r.id).then(()=>this._focusNodeId(r.id));return}let o=this.getNode(r.id)??r.node;if(n?.dataset.action==="checkbox"){this.check(r.id,this._checkState(o)!=="checked");return}if(this.options.checkboxes&&this.options.selection===!1){this.check(r.id,this._checkState(o)!=="checked");return}this.select(r.id,{additive:t.ctrlKey||t.metaKey})}_onDoubleClick(t){let e=t.target.closest(".zx-tree__row");if(!e)return;let i=this._rows[this._rowIndex(e)];i&&(M(i.node,this._readers)?this.toggle(i.id).then(()=>this._focusNodeId(i.id)):this.emit("activate",{node:i.node,id:i.id}))}_onKeydown(t){let e=this._rows.findIndex(o=>Object.is(o.id,this._focusId));if(e<0||this._rows.length===0)return;let i=this._rows[e],r=M(i.node,this._readers),n=r&&this._expanded.has(i.id);switch(t.key){case"ArrowDown":t.preventDefault(),this._focusRow(Math.min(this._rows.length-1,e+1));return;case"ArrowUp":t.preventDefault(),this._focusRow(Math.max(0,e-1));return;case"ArrowRight":t.preventDefault(),r&&!n?this.expand(i.id).then(()=>this._focusNodeId(i.id)):n&&this._focusRow(Math.min(this._rows.length-1,e+1));return;case"ArrowLeft":{t.preventDefault(),n?(this.collapse(i.id),this._focusNodeId(i.id)):i.parent&&this._focusNodeId(this._readers.value(i.parent));return}case"Home":t.preventDefault(),this._focusRow(0);return;case"End":t.preventDefault(),this._focusRow(this._rows.length-1);return;case"Enter":t.preventDefault(),this.options.selection!==!1&&this.select(i.id),this.emit("activate",{node:i.node,id:i.id});return;case" ":t.preventDefault(),this.options.checkboxes?this.check(i.id,this._checkState(this.getNode(i.id)??i.node)!=="checked"):this.options.selection!==!1&&this.select(i.id,{additive:this.options.selection==="multi"});return;case"*":t.preventDefault(),this._expandSiblings(i);return;default:this._handleTypeahead(t)}}_expandSiblings(t){let e=t.parent?this._readers.children(t.parent)??[]:this._visibleItems(),i=this._focusId;for(let r of e)M(r,this._readers)&&this._expanded.add(this._readers.value(r));this._renderRows(),this._focusNodeId(i)}async _ensureChildren(t,e){let i=this._readers.children(t);if(!this.options.load||i&&i.length>0)return!0;if(this._loading.has(e))return await this._loading.get(e),Array.isArray(this._readers.children(t));let r=(async()=>{try{let o=await this.options.load(t);return t[this._childrenKey]=Array.isArray(o)?o:[],t[this._childrenKey].length===0&&(t.hasChildren=!1),!0}catch(o){return this.emit("error",{error:o,node:t,id:e}),!1}finally{this._loading.delete(e)}})();this._loading.set(e,r),this._syncRows();let n=await r;return this._syncRows(),n}_applyCheck(t,e,{silent:i}){let r=this.getNode(t);if(!r)return null;let n=[t,...Xr(r,this._readers).map(o=>this._readers.value(o))];for(let o of n)e?this._checked.add(o):this._checked.delete(o);return i||this._syncRows(),r}_checkState(t){let e=this._readers.children(t);if(!e||e.length===0)return this._checked.has(this._readers.value(t))?"checked":"unchecked";let i=e.map(r=>this._checkState(r));return i.every(r=>r==="checked")?"checked":i.every(r=>r==="unchecked")?"unchecked":"partial"}_rotatedRows(){let t=this._rows.findIndex(e=>Object.is(e.id,this._focusId));return t<0?this._rows:[...this._rows.slice(t+1),...this._rows.slice(0,t+1)]}_rowIndex(t){return[...this.el.querySelectorAll(".zx-tree__row")].indexOf(t)}_rowElement(t){let e=this._rows.findIndex(i=>Object.is(i.id,t));return e<0?null:this.el.querySelectorAll(".zx-tree__row")[e]??null}_focusRow(t){let e=this._rows[t];if(!e)return;this._focusId=e.id,this._syncRows();let i=this._rowElement(e.id);i?.focus(),i?.scrollIntoView({block:"nearest"})}_focusNodeId(t){if(t===void 0)return;let e=this._rows.findIndex(i=>Object.is(i.id,t));e>=0&&this._focusRow(e)}_message(t,e){let i=this.msg(t);return i===t?e:i}destroy(){let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}};function ji(s){return Array.isArray(s)?s.map(t=>{if(t===null||typeof t!="object")return t;let e={...t};for(let[i,r]of Object.entries(e))Array.isArray(r)&&(e[i]=ji(r));return e}):[]}function re(s){return Array.isArray(s)?s:[]}var Hi=class extends f{static cssName="finder";static defaults={items:[],valueKey:"ID",labelKey:"name",childrenKey:"children",path:[],load:null,preview:null,rootLabel:"",columnWidth:220,height:320,icons:!0,renderItem:null,emptyText:"Empty"};render(){this._items=[],this._path=[],this._columns=[],this._activeColumn=0,this._loading=new Map,this._pathSequence=0,this._createdRoot=this.el===null,this._snapshot=this._createdRoot?null:S(this.el);let t=this.el??a("div");return this.el=t,this._readers=Fe(this.options),this._childrenKey=this.options.childrenKey??"children",t.style.setProperty("--zx-finder-column",`${Number(this.options.columnWidth)||220}px`),this.options.height!==null&&(t.style.blockSize=typeof this.options.height=="number"?`${this.options.height}px`:String(this.options.height)),this._items=Array.isArray(this.options.items)?this.options.items.slice():[],this._handleTypeahead=K(()=>this._columnNodes(this._activeColumn).map(e=>this._readers.label(e)),(e,i)=>this._selectAt(this._activeColumn,i,{focus:!0})),this.listen(t,"click",e=>this._onClick(e)),this.listen(t,"dblclick",e=>this._onDoubleClick(e)),this.listen(t,"keydown",e=>this._onKeydown(e)),this._render({}),this.setPath(this.options.path,{silent:!0}),t}getPath(){return this._path.slice()}getNodes(){let t=this._items,e=[];for(let i of this._path){let r=t.find(n=>Object.is(this._readers.value(n),i));if(!r)break;e.push(r),t=this._readers.children(r)??[]}return e}getSelection(){let t=this.getNodes();return t.length>0?t[t.length-1]:null}async setPath(t,{silent:e=!1,focus:i=!1}={}){let r=this._pathSequence+1;this._pathSequence=r;let n=Array.isArray(t)?t.slice():[],o=[],l=this._items;for(let h of n){let c=l.find(u=>Object.is(this._readers.value(u),h));if(!c||(o.push(h),!M(c,this._readers)))break;if(await this._ensureChildren(c),r!==this._pathSequence)return this;l=this._readers.children(c)??[]}return this._path=o,this._activeColumn=Math.max(0,o.length-1),this._render({focus:i}),e||this._emitChange(),this}async reveal(t,{silent:e=!1}={}){let i=se(this._items,t,this._readers);return i.length===0?this:this.setPath(i.map(r=>this._readers.value(r)),{silent:e})}setItems(t){return this._items=Array.isArray(t)?t.slice():[],this._path=[],this._render({}),this}focus(){return(this._activeRow(this._activeColumn)??this._rowAt(this._activeColumn,0))?.focus(),this}_render({focus:t=!1}){let e=this.getNodes(),i=[{nodes:this._items,selectedId:this._path[0],owner:null}];e.forEach((l,h)=>{if(!M(l,this._readers))return;let c=this._readers.children(l)??[];i.push({nodes:c,selectedId:this._path[h+1],owner:l})}),this._columns=i,this._activeColumn=Math.min(this._activeColumn,i.length-1);let r=i.map((l,h)=>this._renderColumn(l,h)),n=e[e.length-1]??null;if(this.options.preview&&n&&!M(n,this._readers)){let l=this.options.preview(n);l&&r.push(a("div",{class:"zx-finder__preview"},l))}this.el.replaceChildren(...r),this._syncTabStop(),this.el.lastElementChild?.scrollIntoView({block:"nearest",inline:"nearest"}),t&&this.focus()}_renderColumn(t,e){let i=t.owner?this._readers.label(t.owner):String(this.options.rootLabel||this._message("finder.root","Root")),r=a("div",{class:"zx-finder__list",role:"listbox",ariaLabel:i,dataset:{column:String(e)}});if(t.nodes.length===0){let n=t.owner!==null&&this._loading.has(this._readers.value(t.owner));r.append(a("div",{class:"zx-finder__empty"},n?this._message("finder.loading","Loading\u2026"):this._message("finder.empty",this.options.emptyText)))}for(let n of t.nodes){let o=this._readers.value(n),l=M(n,this._readers),h=t.selectedId!==void 0&&Object.is(o,t.selectedId),c=a("div",{class:"zx-finder__row",id:b("zx-finder-row"),role:"option",tabIndex:-1,ariaSelected:String(h)});this.options.icons&&c.append(a("span",{class:"zx-finder__icon",ariaHidden:"true"},m(l?"folder":"file",{size:14}))),c.append(a("span",{class:"zx-finder__label"},this.options.renderItem?this.options.renderItem(n):this._readers.label(n))),l&&c.append(a("span",{class:"zx-finder__chevron",ariaHidden:"true"},m("chevron-right",{size:11}))),c.toggleAttribute("data-branch",l),r.append(c)}return a("div",{class:"zx-finder__column"},r)}_syncTabStop(){let t=this.el.querySelectorAll(".zx-finder__row");t.forEach(i=>{i.tabIndex=-1});let e=this._activeRow(this._activeColumn)??this._rowAt(this._activeColumn,0)??t[0];e&&(e.tabIndex=0)}_onClick(t){let e=t.target.closest(".zx-finder__row");if(!e)return;let{column:i,index:r}=this._locate(e);i<0||this._selectAt(i,r,{focus:!0})}_onDoubleClick(t){let e=t.target.closest(".zx-finder__row");if(!e)return;let{column:i,index:r}=this._locate(e),n=this._columnNodes(i)[r];n&&(M(n,this._readers)?this._enter(i,r):this.emit("activate",{node:n,id:this._readers.value(n)}))}_onKeydown(t){if(t.target.closest(".zx-finder__preview"))return;let e=this._activeColumn,i=this._columnNodes(e);if(i.length===0&&!["ArrowLeft"].includes(t.key))return;let r=Math.max(0,i.findIndex(n=>Object.is(this._readers.value(n),this._columns[e]?.selectedId)));switch(t.key){case"ArrowDown":t.preventDefault(),this._selectAt(e,Math.min(i.length-1,r+1),{focus:!0});return;case"ArrowUp":t.preventDefault(),this._selectAt(e,Math.max(0,r-1),{focus:!0});return;case"Home":t.preventDefault(),this._selectAt(e,0,{focus:!0});return;case"End":t.preventDefault(),this._selectAt(e,i.length-1,{focus:!0});return;case"ArrowRight":{t.preventDefault();let n=i[r];if(!n||!M(n,this._readers))return;this._enter(e,r);return}case"ArrowLeft":if(t.preventDefault(),e===0)return;this._path=this._path.slice(0,e),this._activeColumn=e-1,this._render({focus:!0}),this._emitChange();return;case"Enter":{t.preventDefault();let n=i[r];if(!n)return;M(n,this._readers)?this._enter(e,r):this.emit("activate",{node:n,id:this._readers.value(n)});return}default:this._handleTypeahead(t)}}async _selectAt(t,e,{focus:i=!1}={}){let r=this._columnNodes(t)[e];if(!r)return;let n=this._readers.value(r);if(this._path.length===t+1&&Object.is(this._path[t],n)){this._activeColumn=t,this._syncTabStop(),i&&this.focus();return}this._path=[...this._path.slice(0,t),n],this._activeColumn=t,M(r,this._readers)&&await this._ensureChildren(r),this._render({focus:i}),this._emitChange()}async _enter(t,e){if(await this._selectAt(t,e),this._columnNodes(t+1).length===0){this._activeColumn=t,this._syncTabStop(),this.focus();return}this._activeColumn=t+1,this._path.length<=t+1?await this._selectAt(t+1,0,{focus:!0}):(this._syncTabStop(),this.focus())}async _ensureChildren(t){let e=this._readers.children(t);if(!this.options.load||e&&e.length>0)return;let i=this._readers.value(t),r=this._loading.get(i);if(r)return r;let n=(async()=>{try{let o=await this.options.load(t);t[this._childrenKey]=Array.isArray(o)?o:[],t[this._childrenKey].length===0&&(t.hasChildren=!1)}catch(o){t[this._childrenKey]=[],this.emit("error",{error:o,node:t,id:i})}finally{this._loading.delete(i)}})();return this._loading.set(i,n),n}_columnNodes(t){return this._columns[t]?.nodes??[]}_locate(t){let e=t.closest(".zx-finder__list");return e?{column:Number(e.dataset.column),index:[...e.querySelectorAll(".zx-finder__row")].indexOf(t)}:{column:-1,index:-1}}_rowAt(t,e){return this.el.querySelector(`.zx-finder__list[data-column="${t}"]`)?.querySelectorAll(".zx-finder__row")[e]??null}_activeRow(t){return this.el.querySelector(`.zx-finder__list[data-column="${t}"]`)?.querySelector('[aria-selected="true"]')??null}_emitChange(){let t=this.getNodes();this.emit("change",{path:this.getPath(),nodes:t,node:t.length>0?t[t.length-1]:null})}_message(t,e){let i=this.msg(t);return i===t?e:i}destroy(){this._pathSequence+=1;let t=this.el;super.destroy(),!this._createdRoot&&t&&z(t,this._snapshot)}};function tn(s){return String(s??"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLocaleLowerCase()}function Dh(s,t){let e=tn(t).trim().split(/\s+/).filter(Boolean);if(e.length===0)return!0;let i=tn(s.flat(1/0).join(" "));return e.every(r=>i.includes(r))}function $i(s){return s!=null&&!(typeof s=="string"&&s.trim()==="")}function en(s,t){if(typeof t.get=="function")return qi(t.get(s));let e=t.fields??t.field??t.id;return(Array.isArray(e)?e:[e]).flatMap(r=>qi(typeof r=="function"?r(s):r==null?void 0:s?.[r]))}function sn(s,t){let e=[],i=new Map;for(let r of s)for(let n of en(r,t)){let o=rn(n);o.value==null||o.value===""||i.has(o.value)||(i.set(o.value,!0),e.push(o))}return e}function bt(s,t,e){return s.filter(i=>t.every(r=>{let n=e?.[r.id];if(!$i(n))return!0;if(r.type==="custom")return typeof r.predicate!="function"||!!r.predicate(i,n);let o=en(i,r);return r.type==="text"?Dh(o,n):r.type==="select"?o.some(l=>Eh(rn(l).value,n)):!0}))}function qi(s){return Array.isArray(s)?s.flat(1/0):[s]}function rn(s){if(s&&typeof s=="object"&&!(s instanceof Date)){if(Object.prototype.hasOwnProperty.call(s,"value"))return{value:s.value,label:String(s.label??s.value??"")};if(Object.prototype.hasOwnProperty.call(s,"field"))return{value:s.field,label:String(s.label??s.field??"")}}return{value:s,label:String(s??"")}}function Eh(s,t){return Object.is(s,t)?!0:s==null||t==null?!1:String(s)===String(t)}var Ui=class extends f{static cssName="data-filter";static defaults={filters:[],data:[],autoApply:!0,clearLabel:null};constructor(t,e={}){super(t,e)}render(){let t=this.el??a("div");this._originalChildren=this.el?Array.from(this.el.childNodes):null,this._filters=Array.isArray(this.options.filters)?this.options.filters.map(i=>({...i})):[],this._data=Array.isArray(this.options.data)?[...this.options.data]:[],this._state={},this._entries=new Map,this._customOrigins=new Map,this._restored=!1;let e=new Set;for(let i of this._filters){if(Ki(i),e.has(i.id))throw new RangeError(`Duplicate filter id: ${i.id}`);e.add(i.id),i.type==="custom"&&!this._customOrigins.has(i.element)&&this._customOrigins.set(i.element,{parent:i.element.parentNode,nextSibling:i.element.nextSibling}),this._state[i.id]=i.type==="custom"?Yi(i.element):""}this._filtered=bt(this._data,this._filters,this._state),this._controls=a("div",{class:"zx-data-filter__controls"}),this._badge=a("span",{class:"zx-data-filter__badge",ariaLive:"polite",hidden:!0},"0"),this._clearButton=a("button",{class:"zx-data-filter__clear",type:"button",hidden:!0},this.options.clearLabel==null?this.msg("dataFilter.clear"):String(this.options.clearLabel)),t.replaceChildren(this._controls,this._badge,this._clearButton),this.listen(this._clearButton,"click",()=>this.clear());for(let i of this._filters)this._appendFilter(i);return this._syncActiveState(),t}setData(t){Oh(t),this._data=[...t];for(let e of this._filters){if(e.type!=="select")continue;let i=this._entries.get(e.id);i&&this._populateSelect(e,i)}return this._syncActiveState(),this.options.autoApply?this.apply():this._filtered=bt(this._data,this._filters,this._state),this}apply(){this._filtered=bt(this._data,this._filters,this._state);let t=[...this._filtered];return this.emit("filter",{rows:t,state:this.getState()}),t}clear(){for(let t of this._filters)this._state[t.id]="";return this._syncControls(),this._syncActiveState(),this.apply(),this}getState(){return{...this._state}}setState(t){if(!t||typeof t!="object"||Array.isArray(t))throw new TypeError("DataFilter state must be an object");for(let e of this._filters)this._state[e.id]=Object.prototype.hasOwnProperty.call(t,e.id)?t[e.id]:"";return this._syncControls(),this._syncActiveState(),this.options.autoApply?this.apply():this._filtered=bt(this._data,this._filters,this._state),this}addFilter(t){Ki(t);let e={...t};return this._filters.push(e),this._state[e.id]=e.type==="custom"?Yi(e.element):"",this._appendFilter(e),this._filtered=bt(this._data,this._filters,this._state),this._syncActiveState(),this}destroy(){this._restored||(this._originalChildren&&this.el.replaceChildren(...this._originalChildren),Fh(this._customOrigins),this._restored=!0),super.destroy()}_appendFilter(t){if(Ki(t),this._entries.has(t.id))throw new RangeError(`Duplicate filter id: ${t.id}`);let e,i={element:null,options:[]};if(t.type==="select")e=a("select",{ariaLabel:t.label}),i.element=e,this._populateSelect(t,i),this.listen(e,"change",()=>{let n=Number(e.value)-1;this._state[t.id]=n>=0?i.options[n]?.value??"":"",this._controlChanged()});else if(t.type==="text")e=a("input",{type:"search",placeholder:t.placeholder??"",ariaLabel:t.label,autocomplete:"off"}),i.element=e,this.listen(e,"input",()=>{this._state[t.id]=e.value,this._controlChanged()});else{e=t.element,this._customOrigins.has(e)||this._customOrigins.set(e,{parent:e.parentNode,nextSibling:e.nextSibling}),i.element=e;let n=e.matches?.('input:not([type="checkbox"]):not([type="radio"]), textarea')?"input":"change";this.listen(e,n,()=>{this._state[t.id]=Yi(e),this._controlChanged()})}this._entries.set(t.id,i);let r=a("label",{class:"zx-data-filter__field"},a("span",{class:"zx-data-filter__label"},t.label),e);this._controls.append(r)}_populateSelect(t,e){let i=this._state[t.id];e.options=Array.isArray(t.options)?t.options.map(Mh):sn(this._data,t);let r=a("option",{value:""},t.emptyLabel??this.msg("dataFilter.all")),n=document.createDocumentFragment();n.append(r),e.options.forEach((l,h)=>{n.append(a("option",{value:String(h+1)},l.label))}),e.element.replaceChildren(n);let o=e.options.findIndex(l=>nn(l.value,i));e.element.value=o>=0?String(o+1):"",o<0&&(this._state[t.id]="")}_controlChanged(){this._syncActiveState(),this.options.autoApply?this.apply():this._filtered=bt(this._data,this._filters,this._state)}_syncControls(){for(let t of this._filters){let e=this._entries.get(t.id);if(!e)continue;let i=this._state[t.id];if(t.type==="select"){let r=e.options.findIndex(n=>nn(n.value,i));e.element.value=r>=0?String(r+1):"",r<0&&(this._state[t.id]="")}else Ih(e.element,i)}}_syncActiveState(){let t=this._filters.reduce((e,i)=>e+Number($i(this._state[i.id])),0);this._badge.textContent=String(t),this._badge.hidden=t===0,this._clearButton.hidden=t===0}};function Ki(s){if(!s||typeof s!="object")throw new TypeError("Filter definition must be an object");if(!["select","text","custom"].includes(s.type))throw new TypeError(`Unknown filter type: ${s.type}`);if(typeof s.id!="string"||!s.id)throw new TypeError("Filter definition requires an id");if(s.type==="custom"){if(!s.element||s.element.nodeType!==1)throw new TypeError("Custom filter requires an Element");if(typeof s.predicate!="function")throw new TypeError("Custom filter requires a predicate")}}function Mh(s){return s&&typeof s=="object"&&Object.prototype.hasOwnProperty.call(s,"value")?{value:s.value,label:String(s.label??s.value??"")}:{value:s,label:String(s??"")}}function Yi(s){return"checked"in s&&["checkbox","radio"].includes(s.type)?s.checked:"value"in s?s.value:s.getAttribute("data-value")??""}function Ih(s,t){"checked"in s&&["checkbox","radio"].includes(s.type)?s.checked=!!t:"value"in s?s.value=t==null?"":String(t):t==null||t===""?s.removeAttribute("data-value"):s.setAttribute("data-value",String(t))}function nn(s,t){return Object.is(s,t)?!0:s==null||t==null?!1:String(s)===String(t)}function Oh(s){if(!Array.isArray(s))throw new TypeError("DataFilter data must be an array")}function Fh(s){let t=[...s];for(let e=t.length;t.length>0&&e>=0;e-=1){let i=0;for(let r=t.length-1;r>=0;r-=1){let[n,o]=t[r];if(!o.parent)n.remove();else{if(o.nextSibling&&o.nextSibling.parentNode!==o.parent)continue;o.parent.insertBefore(n,o.nextSibling)}t.splice(r,1),i+=1}if(i===0)break}for(let[e,i]of t)i.parent?i.parent.append(e):e.remove()}var Ct=class extends f{static cssName="fieldset";static defaults={title:"",columns:1,fields:{}};render(){let t=this.el??a("fieldset");this._fields=new Map,this._ownedFields=new Set,this._origins=new Map,this._fieldIdAttributes=new Map,this._ownedNodes=[],this._columnAttribute=t.getAttribute("data-columns");let e=[1,2,3].includes(Number(this.options.columns))?Number(this.options.columns):1;if(t.dataset.columns=String(e),this.options.title){let r=a("legend",{class:"zx-fieldset__legend"},String(this.options.title));this._ownedNodes.push(r),t.append(r)}this._grid=a("div",{class:"zx-fieldset__grid"}),this._ownedNodes.push(this._grid),t.append(this._grid);let i=this.options.fields&&typeof this.options.fields=="object"?this.options.fields:{};for(let[r,n]of Object.entries(i))this.addField(r,n);return t}addField(t,e){let i=String(t);if(this._fields.has(i))throw new Error(`Field "${i}" already exists`);let r,n=!1;if(e instanceof x)r=e;else if(C(e)||e instanceof f){let o=e;r=new x(null,{id:i,type:"custom",label:i,value:Rh(o),disabled:Vh(o),adapter:()=>Lh(o)}),n=!0}else{let o=e&&typeof e=="object"?e:{};r=new x(null,{...o,id:o.id??i}),n=!0}return n?this._ownedFields.add(r):this._origins.set(r,{parent:r.el.parentNode,next:r.el.nextSibling}),this._fields.set(i,r),this._fieldIdAttributes.set(r,r.el.getAttribute("data-field-id")),r.el.dataset.fieldId=i,this._grid.append(r.el),r}getField(t){return this._fields.get(String(t))??null}hasField(t){return this._fields.has(String(t))}getFields(){return Object.fromEntries(this._fields)}getValues(){let t={};for(let[e,i]of this._fields)t[e]=i.getValue();return t}setValues(t,{silent:e=!1}={}){if(!t||typeof t!="object")return this;for(let[i,r]of Object.entries(t))this._fields.get(i)?.setValue(r,{silent:e});return this}getValue(t){return this._fields.get(String(t))?.getValue()??null}setValue(t,e){return this._fields.get(String(t))?.setValue(e),this}reset(){for(let t of this._fields.values())t.reset();return this}clear(){for(let t of[...this._fields.values()])this._releaseField(t);return this._fields.clear(),this}focus(t){return this._fields.get(String(t))?.focus(),this}setHighlights(t={},e="danger"){let i=0;for(let[r,n]of this._fields){let o=t?.[r];o?(n.setHighlight(String(o),e),i+=1):n.clearHighlight()}return i}clearHighlights(){for(let t of this._fields.values())t.clearHighlight();return this}_releaseField(t){let e=this._fieldIdAttributes.get(t);if(e==null?t.el.removeAttribute("data-field-id"):t.el.setAttribute("data-field-id",e),this._fieldIdAttributes.delete(t),this._ownedFields.has(t)){t.destroy(),this._ownedFields.delete(t);return}let i=this._origins.get(t);i?.parent?i.parent.insertBefore(t.el,i.next?.parentNode===i.parent?i.next:null):t.el.remove(),this._origins.delete(t)}destroy(){this.clear();for(let t of this._ownedNodes??[])t.remove();this._columnAttribute===null?this.el.removeAttribute("data-columns"):this.el.setAttribute("data-columns",this._columnAttribute),super.destroy()}};function Lh(s){let t=C(s)?s:s.toElement(),e=t.parentNode,i=t.nextSibling,r=new Map(["id","aria-labelledby","aria-describedby","aria-disabled","aria-invalid"].map(l=>[l,t.getAttribute(l)])),n="disabled"in t?t.disabled:void 0,o="value"in t?t.value:void 0;return{el:t,get:()=>typeof s.getValue=="function"?s.getValue():typeof s.getValues=="function"?s.getValues():"value"in t?t.value:null,set:(l,h)=>{typeof s.setValue=="function"?s.setValue(l,h):typeof s.setValues=="function"&&l&&typeof l=="object"?s.setValues(l,h):"value"in t&&(t.value=l??"")},focus:()=>{typeof s.focus=="function"?s.focus():typeof t.focus=="function"&&t.focus()},setDisabled:l=>{typeof s.setDisabled=="function"?s.setDisabled(l):"disabled"in t?t.disabled=l:t.setAttribute("aria-disabled",String(l))},destroy:()=>{for(let[l,h]of r)h===null?t.removeAttribute(l):t.setAttribute(l,h);n!==void 0&&(t.disabled=n),o!==void 0&&(t.value=o),e?e.insertBefore(t,i?.parentNode===e?i:null):t.remove()}}}function Rh(s){let t=C(s)?s:s.toElement();return typeof s.getValue=="function"?s.getValue():typeof s.getValues=="function"?s.getValues():"value"in t?t.value:null}function Vh(s){let t=C(s)?s:s.toElement();return"disabled"in t?!!t.disabled:t.getAttribute("aria-disabled")==="true"}var Gi=class extends f{static cssName="form";static defaults={fieldsets:[],actions:[],novalidate:!0,msg:{"form.required":"This field is required.","form.int":"Enter a whole number.","form.float":"Enter a valid number."}};render(){let t=this.el??a("form");this._fieldsets=[],this._ownedFieldsets=new Set,this._origins=new Map,this._ownedNodes=[],this._novalidateAttribute=t.getAttribute("novalidate"),t.toggleAttribute("novalidate",!!this.options.novalidate),this._body=a("div",{class:"zx-form__body"}),this._actions=a("div",{class:"zx-form__actions"}),this._ownedNodes.push(this._body,this._actions),t.append(this._body,this._actions),this.listen(t,"submit",i=>{i.preventDefault(),this.submit()}),this.listen(t,"reset",i=>{i.preventDefault(),this.reset()}),this.listen(this._actions,"click",i=>this._handleAction(i));let e=Array.isArray(this.options.fieldsets)?this.options.fieldsets:[];for(let i of e)this.addFieldset(i);return this.setActions(Array.isArray(this.options.actions)?this.options.actions:[]),t}addFieldset(t){let e=!(t instanceof Ct),i=e?new Ct(null,t??{}):t;return this._fieldsets.includes(i)||(e?this._ownedFieldsets.add(i):this._origins.set(i,{parent:i.el.parentNode,next:i.el.nextSibling}),this._fieldsets.push(i),this._body.append(i.el),this.listen(i.el,"zx-change",r=>{let n=r.target,o=n instanceof Element?n.dataset.fieldId:null;o&&this.emit("change",{id:o,value:i.getValue(o)})})),i}setActions(t){return this._actionDescriptors=Array.isArray(t)?t.map(e=>({...e})):[],this._actions.replaceChildren(...this._actionDescriptors.map((e,i)=>{let r=String(e.label??e.id??"Action");return a("button",{class:"zx-btn",type:["submit","reset"].includes(e.type)?e.type:"button",disabled:!!e.disabled,title:e.title,ariaLabel:!r&&e.title?e.title:void 0,dataset:{actionIndex:i,kind:["primary","danger","ghost"].includes(e.kind)?e.kind:"default",size:e.size==="sm"?"sm":"md"}},e.icon?m(e.icon,{size:16}):null,r?a("span",{class:"zx-btn__label"},r):null)})),this._actions.hidden=this._actionDescriptors.length===0,this}getValues(){return Object.assign({},...this._fieldsets.map(t=>t.getValues()))}setValues(t,{silent:e=!1}={}){for(let i of this._fieldsets)i.setValues(t,{silent:e});return this}getField(t){for(let e of this._fieldsets){let i=e.getField(t);if(i)return i}return null}setValue(t,e){return this.getField(t)?.setValue(e),this}getValue(t){return this.getField(t)?.getValue()??null}reset(){for(let t of this._fieldsets)t.reset().clearHighlights();return this}setHighlights(t,e="danger"){return this._fieldsets.reduce((i,r)=>i+r.setHighlights(t,e),0)}clearHighlights(){for(let t of this._fieldsets)t.clearHighlights();return this}submit(){let t={},e=null;for(let r of this._fieldsets)for(let[n,o]of Object.entries(r.getFields())){let l=o.getValue(),h="";if(o.options.required&&Wi(l))h=this.msg("form.required");else if(!Wi(l)&&o.options.type==="int"){let c=Be(l);c.valid?o.setValue(c.value,{silent:!0}):h=this.msg("form.int")}else if(!Wi(l)&&o.options.type==="float"){let c=Pe(l);c.valid?o.setValue(c.value,{silent:!0}):h=this.msg("form.float")}h?(t[n]=h,o.setHighlight(h,"danger"),e??=o):o.clearHighlight()}return Object.keys(t).length?(this.emit("invalid",{errors:t}),e?.focus(),!1):!this.emit("submit",{values:this.getValues()}).defaultPrevented}_handleAction(t){let e=t.target instanceof Element?t.target.closest("[data-action-index]"):null;if(!e||!this._actions.contains(e))return;let i=this._actionDescriptors[Number(e.dataset.actionIndex)],r=i?.onClick??i?.onclick??i?.handler;typeof r=="function"&&r(t,this)}destroy(){for(let t of this._fieldsets??[])if(this._ownedFieldsets.has(t))t.destroy();else{let e=this._origins.get(t);e?.parent?e.parent.insertBefore(t.el,e.next?.parentNode===e.parent?e.next:null):t.el.remove()}this._fieldsets=[];for(let t of this._ownedNodes??[])t.remove();this._novalidateAttribute===null?this.el.removeAttribute("novalidate"):this.el.setAttribute("novalidate",this._novalidateAttribute),super.destroy()}};function Wi(s){return s==null||s===""||s===!1||Array.isArray(s)&&s.length===0}function Bh(){Js(),hs(),js(),zs(),Vs(),or(),hr(),Ks(),qs(),ar(),Us(),Ws(),er(),Zs()}Bh();export{Di as Breadcrumb,nt as CheckButton,Q as Checklist,f as Component,Ri as ContextMenu,wi as CopyInput,Ui as DataFilter,lt as DatePicker,Bt as DateRangeBox,Vt as DateRangePicker,ri as DateTimeBox,P as Datebox,kt as Dialog,et as Dropdown,x as Field,Pt as FieldUpload,Ct as Fieldset,Hi as Finder,Gi as Form,pt as Groupbox,ye as Http,bi as InlineLoading,Si as MasterPanel,it as MenuButton,Li as Message,Wt as Modal,Ft as MonthPicker,jt as MultiValueEditor,Ti as NavigationBar,ct as NumberField,Mi as Pagination,Ai as Panel,Vi as Permission,gi as ProgressBar,qt as Rating,Gt as Search,F as Select,$t as Slider,Ci as SplitView,Ni as Stepper,Qt as Tabbox,Xt as Table,Kt as TagPicker,Ot as TimePicker,Z as Timebox,H as Toggle,ki as Toolbar,ie as Tooltip,Pi as TreeView,Ut as ValueList,k as addDays,st as addMonths,Ll as aspect,ml as badge,gl as badgeGroup,ni as breakpointOf,wt as breakpoints,W as button,cl as buttonGroup,R as clamp,qe as clampDate,Rt as clampRange,_t as clampSize,de as configureIcons,vi as copyButton,di as copyToClipboard,on as debounce,Nt as deepMerge,Fs as defaultDateRangePresets,Xa as defineElements,Ah as describe,ta as downloadBlob,kl as emptyState,Dt as escapeRegExp,ms as faFamilies,ce as faIconClasses,gs as faNames,Ke as faStyles,vo as focusTrap,qo as formatCurrency,v as formatDate,Ko as formatFileSize,xe as formatNumber,$o as formatPercent,Rs as formatRangeText,Yo as formatRelativeTime,Je as getIconConfig,q as getLanguage,It as getWeekStart,Fl as grid,ln as groupBy,a as h,fn as highlightMatch,pn as htmlEscape,m as icon,Pn as iconNames,Ge as icons,C as isElement,I as isSameDay,Or as isTruncated,sr as joinTime,ue as kitUrl,Vn as loadFontAwesome,Ue as loadFontAwesomeKit,Io as matchBreakpoint,vt as normalizeRange,oi as onBreakpoint,Gr as paginationRange,V as parseDate,Ye as parseIconSpec,ge as parseNumber,si as parseRangeText,ai as parseResult,j as position,E as printf,Lt as rangeNights,Os as rangeStateOf,Bh as registerFieldAdapters,Bn as registerIcons,O as resolveElement,mt as resolveSize,ut as rovingTabindex,xn as setLanguage,yn as setTranslator,xi as skeleton,El as skeletonTable,Dl as skeletonText,be as snapNumber,$r as snapSize,hn as sortBy,mi as spinner,ir as splitTime,Ol as stack,Xs as stepPrecision,ui as storage,an as throttle,ae as toArray,Zo as toCsv,kh as tooltip,G as translate,Pl as truncate,K as typeahead,b as uid,cn as uniqueBy,Rn as useBuiltinIcons,xs as useFontAwesome,Oo as zeyosService};
|