@neeloong/form 0.27.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.min.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * @neeloong/form v0.27.0
2
+ * @neeloong/form v0.28.0
3
3
  * (c) 2024-2026 Fierflame
4
4
  * @license Apache-2.0
5
5
  */
6
- import{Signal as e}from"signal-polyfill";export{Signal}from"signal-polyfill";function t(t,n,r,o){const s=new e.State("boolean"==typeof n?n:null),i="function"==typeof r?new e.Computed((()=>Boolean(r(t)))):new e.State(Boolean(r)),l=()=>{const e=s.get();return null===e?i.get():e},a=o?new e.Computed((()=>o.get()||l())):new e.Computed(l);return[s,a]}const n=e=>"string"==typeof e&&e||null,r=e=>"number"==typeof e&&e||null,o=e=>e instanceof RegExp?e:null,s=Boolean;function i(e){if("number"==typeof e||"string"==typeof e)return{label:e,value:e};if(!e||"object"!=typeof e)return null;const{children:t,label:n,value:r}=e,o=Array.isArray(t)?t.map(i).filter(s):[];return o.length?{children:o,label:n,value:r}:"number"==typeof r||"string"==typeof r?{label:n,value:r}:null}const l=e=>{if(!e||!Array.isArray(e))return null;const t=e.map(i).filter(s);return t.length?t:null};function a(t,n,r,o){const s=new e.State(n(r));let i;if("function"==typeof o){const r=o;i=new e.Computed((()=>n(r(t))))}else{const t=n(o);i=new e.Computed((()=>t))}const l=new e.Computed((()=>{const e=s.get();return null===e?i.get():e}));return[s,l]}const c=Symbol();function u(e){const t={[c]:e};for(const[n,r]of e)Object.defineProperty(t,n,{get:()=>r.ref,configurable:!1,enumerable:!0});return Object.defineProperty(t,c,{get:()=>e,configurable:!1,enumerable:!0}),t}let d=null,f=null,h=Object.create(null);function p(e,t){const n=e.type;let r=b;if(!e.array||f&&t?.parent instanceof f)if("string"==typeof n){const e=h[n];e&&(r=e)}else n&&"object"==typeof n&&d&&(r=d);else f&&(r=f);return new r(e,t)}function g(e){return e?e instanceof Error?e.message:"string"!=typeof e?"":e:""}function m(t,...n){const r=n.flat().filter((e=>"function"==typeof e));if(!r.length)return[()=>Promise.resolve([]),new e.Computed((()=>[])),()=>{}];const o=new e.State([]);let s=null;return[function(){s?.abort(),s=new AbortController;const e=s.signal;return o.set([]),Promise.all(r.map((n=>async function(e,n){let r=[];try{r.push(await e(t,n))}catch(e){r.push(e)}const s=r.flat().map(g).filter(Boolean);return!n.aborted&&s.length&&o.set([...o.get(),...s]),s}(n,e)))).then((e=>e.flat()))},new e.Computed((()=>o.get())),()=>{s?.abort(),o.set([])}]}class b{#e=new Map;emit(e,t){const n="number"==typeof e?String(e):e,r=this.#e;let o=!1;for(const e of[...r.get(n)||[]])o=!1===e(t,this)||o;return!o}listen(e,t){const n=t.bind(this),r=this.#e,o="number"==typeof e?String(e):e;let s=r.get(o);return s||(s=new Set,r.set(o,s)),s.add(n),()=>{s?.delete(n)}}static create(e,t={}){return p({type:e},{...t,parent:null})}static setStore(e,t){return function(e,t){h[e]=t}(e,t)}#t=!1;get null(){return this.#t}get kind(){return""}#n=null;get ref(){return this.#n||u(this)}constructor(s,{null:i,ref:c,default:d,setValue:f,convert:h,onUpdate:p,states:v,validator:y,validators:w,index:E,size:L,new:x,parent:C,hidden:O,clearable:$,required:A,disabled:S,readonly:j,removable:N,label:M,description:k,placeholder:B,min:F,max:T,step:P,minLength:U,maxLength:I,pattern:q,values:_}={}){this.schema=s;const R=C instanceof b?C:null;var D,V;R&&(this.#r=R,this.#o=R.#o,this.#s=R.#s),this.#i=(D=this,"function"!=typeof(V=d??s.default)?()=>structuredClone(V):e=>structuredClone(V(D,e)));const H=new e.State(!1);this.#l=H,this.#s=H,this.#a=s.type,this.#c=s.meta,this.#u=s.component,this.#d=s.layout||{};const z=new e.State(Boolean(x));this.#f=z;const K=R?new e.Computed((()=>R.#h.get()||z.get())):new e.Computed((()=>z.get()));this.#h=K;const Y=Boolean(s.immutable),W=!1!==s.creatable;this.#p=Y,this.#g=W;const Q=s.readonly,X=new e.State("boolean"==typeof j?j:null);let G;if("function"==typeof Q)G=new e.Computed((()=>Boolean(Q(this))));else{const t=Boolean(Q);G=new e.Computed((()=>t))}const Z=()=>{if(K.get()?!W:Y)return!0;const e=X.get();return null===e?G.get():e},J=R?R.#m:null;this.#b=X,this.#m=J?new e.Computed((()=>J.get()||Z())):new e.Computed(Z),[this.#v,this.#y]=t(this,O,s.hidden,R?R.#y:null),[this.#w,this.#E]=t(this,$,s.clearable,R?R.#E:null),[this.#L,this.#x]=t(this,A,s.required,R?R.#x:null),[this.#C,this.#O]=t(this,S,s.disabled,R?R.#O:null),[this.#$,this.#A]=a(this,n,M,s.label),[this.#S,this.#j]=a(this,n,k,s.description),[this.#N,this.#M]=a(this,n,B,s.placeholder),[this.#k,this.#B]=a(this,r,F,s.min),[this.#F,this.#T]=a(this,r,T,s.max),[this.#P,this.#U]=a(this,r,P,s.step),[this.#I,this.#q]=a(this,r,U,s.minLength),[this.#_,this.#R]=a(this,r,I,s.maxLength),[this.#D,this.#V]=a(this,o,q,s.pattern),[this.#H,this.#z]=a(this,l,_,s.values),[this.#K,this.#Y]=t(this,N,s.removable??!0);const ee=function(t,...n){const r=n.flat().filter((e=>"function"==typeof e));return r.length?new e.Computed((()=>{const e=[];for(const n of r)try{e.push(n(t))}catch(t){e.push(t)}return e.flat().map(g).filter(Boolean)})):new e.Computed((()=>[]))}(this,s.validator,y),te=s.states;this.#W=te?Object.defineProperties(Object.create(null),Object.fromEntries(Object.entries(te).map((([t,{get:n,set:r,toState:o}])=>{const s=new e.State(o?.(v?.[t])),i=new e.Computed((()=>n(this,s)));return[t,{configurable:!0,enumerable:!0,get:()=>i.get(),set(e){return r?.(this,s,e)}}]})))):null;const[ne,re,oe]=m(this,s.validators?.change,w?.change),[se,ie,le]=m(this,s.validators?.blur,w?.blur);if(this.listen("change",(()=>{ne()})),this.listen("blur",(()=>{se()})),this.#Q=function(...t){const n=t.filter(Boolean);return new e.Computed((()=>n.flatMap((e=>e.get()))))}(ee,re,ie),this.#X=ee,this.#G=ne,this.#Z=se,this.#J=oe,this.#ee=le,L instanceof e.State||L instanceof e.Computed?this.#te=L:this.#te=new e.State(L||0),i)return this.#t=!0,void(this.#n=u(this));this.#n=c||null,this.#ne=p||null,this.#re="function"==typeof f?f:null,this.#oe="function"==typeof h?h:null,this.#se.set(E??"");for(const[e,t]of Object.entries(s.events||{}))"function"==typeof t&&this.listen(e,t)}#W;get states(){return this.#W}#d;get layout(){return this.#d}#i;createDefault(e){return this.#i(e)}#re=null;#oe=null;#ne=null;#r=null;#o=this;#a;#c;#u;#l=null;#s;get loading(){return this.#s.get()}set loading(e){const t=this.#l;t&&t.set(Boolean(e))}get store(){return this}get parent(){return this.#r}get root(){return this.#o}get type(){return this.#a}get meta(){return this.#c}get component(){return this.#u}#te;get size(){return this.#te.get()}#se=new e.State("");get index(){return this.#se.get()}set index(e){this.#se.set(e)}get no(){if(this.#t)return"";const e=this.index;return"number"==typeof e?e+1:e}#g=!0;get creatable(){return this.#g}#p=!1;get immutable(){return this.#p}#h;#f;get selfNew(){return this.#f.get()}set selfNew(e){this.#f.set(Boolean(e))}get new(){return this.#h.get()}set new(e){this.#f.set(Boolean(e))}#v;#y;get selfHidden(){return this.#v.get()}set selfHidden(e){this.#v.set("boolean"==typeof e?e:null)}get hidden(){return this.#y.get()}set hidden(e){this.#v.set("boolean"==typeof e?e:null)}#w;#E;get selfClearable(){return this.#w.get()}set selfClearable(e){this.#w.set("boolean"==typeof e?e:null)}get clearable(){return this.#E.get()}set clearable(e){this.#w.set("boolean"==typeof e?e:null)}#L;#x;get selfRequired(){return this.#L.get()}set selfRequired(e){this.#L.set("boolean"==typeof e?e:null)}get required(){return this.#x.get()}set required(e){this.#L.set("boolean"==typeof e?e:null)}#C;#O;get selfDisabled(){return this.#C.get()}set selfDisabled(e){this.#C.set("boolean"==typeof e?e:null)}get disabled(){return this.#O.get()}set disabled(e){this.#C.set("boolean"==typeof e?e:null)}#b;#m;get selfReadonly(){return this.#b.get()}set selfReadonly(e){this.#b.set("boolean"==typeof e?e:null)}get readonly(){return this.#m.get()}set readonly(e){this.#b.set("boolean"==typeof e?e:null)}#K;#Y;get selfRemovable(){return this.#K.get()}set selfRemovable(e){this.#K.set("boolean"==typeof e?e:null)}get removable(){return this.#Y.get()}set removable(e){this.#K.set("boolean"==typeof e?e:null)}#$;#A;get selfLabel(){return this.#$.get()}set selfLabel(e){this.#$.set(n(e))}get label(){return this.#A.get()}set label(e){this.#$.set(n(e))}#S;#j;get selfDescription(){return this.#S.get()}set selfDescription(e){this.#S.set(n(e))}get description(){return this.#j.get()}set description(e){this.#S.set(n(e))}#N;#M;get selfPlaceholder(){return this.#N.get()}set selfPlaceholder(e){this.#N.set(n(e))}get placeholder(){return this.#M.get()}set placeholder(e){this.#N.set(n(e))}#k;#B;get selfMin(){return this.#k.get()}set selfMin(e){this.#k.set(r(e))}get min(){return this.#B.get()}set min(e){this.#k.set(r(e))}#F;#T;get selfMax(){return this.#F.get()}set selfMax(e){this.#F.set(r(e))}get max(){return this.#T.get()}set max(e){this.#F.set(r(e))}#P;#U;get selfStep(){return this.#P.get()}set selfStep(e){this.#P.set(r(e))}get step(){return this.#U.get()}set step(e){this.#P.set(r(e))}#I;#q;get selfMinLength(){return this.#I.get()}set selfMinLength(e){this.#I.set(r(e))}get minLength(){return this.#q.get()}set minLength(e){this.#I.set(r(e))}#_;#R;get selfMaxLength(){return this.#_.get()}set selfMaxLength(e){this.#_.set(r(e))}get maxLength(){return this.#R.get()}set maxLength(e){this.#_.set(r(e))}#D;#V;get selfPattern(){return this.#D.get()}set selfPattern(e){this.#D.set(o(e))}get pattern(){return this.#V.get()}set pattern(e){this.#D.set(o(e))}#H;#z;get selfValues(){return this.#H.get()}set selfValues(e){this.#H.set(l(e))}get values(){return this.#z.get()}set values(e){this.#H.set(l(e))}#Q;#X;#G;#Z;#J;#ee;get errors(){return this.#Q.get()}get error(){return this.#Q.get()[0]}*[Symbol.iterator](){}child(e){return null}#ie=!1;#le=new e.State(null);#ae=new e.State(this.#le.get());bindObject(e){const t=this.#ce,n=[];for(const[r,o]of Object.entries(e)){const e=p(o,{index:r,parent:this,onUpdate:(e,n,o)=>{if(r!==n)return;if(t.has(o))return;const s=this.#ae??null;"object"!=typeof s||Array.isArray(s)||(this.value={...s,[n]:e})}});n.push(e),t.set(e,r)}return this.#ue(),()=>{for(const e of n)t.delete(e)}}#ce=new Map;get changed(){return!Object.is(this.#ae.get(),this.#le.get())}get value(){return this.#ae.get()}set value(e){const t=this.#re?.(e),n=void 0===t?e:t;this.#ae.set(n),this.#ie||this.#le.set(n),this.#ne?.(n,this.#se.get(),this),this.#ue()}#ue(){this.#de||(this.#de=!0,queueMicrotask((()=>{const e=this.#ae.get();this.#fe(e)})))}reset(e=(this.#ie?this.#le.get():this.#i()),t=this.#f.get()){this.#he(e,Boolean(t))}#he(e,t){this.#f.set(t);const n=this.#re?.(e),r=void 0===n?e:n;if(this.#J(),this.#ee(),this.#ie=!0,!r||"object"!=typeof r){for(const[,e]of this)e.#he(null,!1);for(const[e]of this.#ce)e.#he(null,!1);return this.#ae.set(r),this.#le.set(r),this.#ne?.(r,this.#se.get(),this),r}const o=Array.isArray(r)?[...r]:{...r};for(const[e,t]of this)o[e]=t.#he(Object.hasOwn(o,e)?o[e]:void 0,!1);for(const[e,t]of this.#ce)o[t]=e.#he(Object.hasOwn(o,t)?o[t]:void 0,!1);return this.#ae.set(o),this.#le.set(o),this.#ne?.(o,this.#se.get(),this),o}#de=!1;#pe(e){let t=this.#oe?.(e)??e;return void 0===t&&(t=e),Object.is(this.#ae.get(),t)?t:this.#fe(t)}#fe(e){this.#de=!1;let t=e;if(e&&"object"==typeof e){let n=Array.isArray(e)?[...e]:{...e},r=!1;for(const[t,o]of this){const s=Object.hasOwn(e,t)?e[t]:void 0,i=o.#pe(s);Object.is(s,i)||(n[t]=i,r=!0)}for(const[t,o]of this.#ce){const s=Object.hasOwn(e,o)?e[o]:void 0,i=t.#pe(s);Object.is(s,i)||(n[o]=i,r=!0)}r&&(t=e=n,this.#ae.set(e))}return this.#ie||(this.#ie=!0,this.#le.set(t)),this.#ae.set(e),e}validate(e){if(!0===e)return Promise.all([this.#X.get(),this.#G(),this.#Z()]).then((e=>{const t=e.flat();return t.length?t:null}));const t=Array.isArray(e)?e:[];if(this.#y.get())return Promise.resolve([]);const n=[this.validate(!0).then((e=>e?.length?[{path:[...t],store:this,errors:e}]:[]))];for(const[e,r]of this)n.push(r.validate([...t,e]));for(const[e,r]of this.#ce)n.push(e.validate([...t,r]));return Promise.all(n).then((e=>e.flat()))}}class v extends b{get kind(){return"object"}#ge;*[Symbol.iterator](){yield*Object.entries(this.#ge)}child(e){return this.#ge[e]||null}constructor(e,{parent:t,index:n,new:r,onUpdate:o}={}){const s=Object.entries(e.type),i=Object.create(null);super(e,{parent:t,index:n,new:r,onUpdate:o,size:s.length,setValue:e=>"object"==typeof e?e:null,convert:e=>"object"==typeof e?e:{},default:e.default??((t,n)=>{const r=Object.entries(i);let o=n;return o&&"object"==typeof o||(o=e.default),o&&"object"==typeof o||(o={}),Object.fromEntries(r.map((([e,t])=>[e,t.createDefault(Object.hasOwn(o,e)?o[e]:null)])))})});const l={parent:this,onUpdate:(e,t,n)=>{n===this.#ge[t]&&(this.value={...this.value,[t]:e})}};for(const[e,t]of s)i[e]=p(t,{...l,index:e});this.#ge=i}}d=v;class y extends b{#me=()=>{throw new Error};#ge;get children(){return[...this.#ge.get()]}*[Symbol.iterator](){return yield*[...this.#ge.get().entries()]}child(e){const t=this.#ge.get();return"number"==typeof e&&e<0?t[t.length+e]||null:t[Number(e)]||null}get kind(){return"array"}constructor(n,{parent:r,onUpdate:o,index:s,new:i,addable:l}={}){const a=new e.State([]),c=e=>{const t=Array.isArray(e)&&e.length||0,n=[...a.get()],r=n.length;for(let e=n.length;e<t;e++)n.push(this.#me(e));n.length=t,r!==t&&a.set(n)};super({...n,immutable:!1},{index:s,new:i,parent:r,size:new e.Computed((()=>a.get().length)),setValue(e){const t=Array.isArray(e)?e:null==e?null:[e];return c(t),t},convert(e){const t=Array.isArray(e)?e:null==e?null:[e];return c(t),t},onUpdate:(e,t,n)=>{c(e),o?.(e,t,n)},default:n.default??[]}),[this.#be,this.#ve]=t(this,l,n.addable??!0),this.#ge=a;const u={parent:this,onUpdate:(e,t,n)=>{if(a.get()[t]!==n)return;const r=[...this.value||[]];r.length<t&&(r.length=t),r[t]=e,this.value=r}};this.#me=(e,t)=>{const r=p({...n,creatable:!0},{...u,index:e,new:t});return r.index=e,r}}bindObject(){throw new Error("ArrayStore 不支持 bindObject()方法")}#be;#ve;get selfAddable(){return this.#be.get()}set selfAddable(e){this.#be.set("boolean"==typeof e?e:null)}get addable(){return this.#ve.get()}set addable(e){this.#be.set("boolean"==typeof e?e:null)}insert(e,t=null,n){if(!this.addable)return!1;const r=this.value||[];if(!Array.isArray(r))return!1;const o=[...this.#ge.get()],s=Math.max(0,Math.min(Math.floor(e),o.length)),i=this.#me(s,n);i.new=!0,o.splice(s,0,i);for(let t=e+1;t<o.length;t++)o[t].index=t;const l=[...r];return l.splice(s,0,i.createDefault(t)),this.#ge.set(o),this.value=l,!0}add(e=null){return this.insert(this.#ge.get().length,e)}remove(e){const t=this.value;if(!Array.isArray(t))return;const n=[...this.#ge.get()],r=Math.max(0,Math.min(Math.floor(e),n.length)),[o]=n.splice(r,1);if(!o)return;for(let t=e;t<n.length;t++)n[t].index=t;const s=[...t],[i]=s.splice(r,1);return this.#ge.set(n),this.value=s,i}move(e,t,n=1){const r=Math.floor(n);if(r<1)return 0;if(e<=t&&e+r>t)return 0;const o=this.value;if(!Array.isArray(o))return 0;const s=[...this.#ge.get()],i=s.splice(e,r),l=i.length;if(!l)return 0;const a=r>1&&t>e?t-r+1:t;s.splice(a,0,...i);let c=Math.min(e,a),u=Math.max(e+r-1,t);for(let e=c;e<=u;e++)s[e].index=e;const d=[...o],f=d.splice(e,l);for(let e=f.length;e<l;e++)f.push(null);for(;a>d.length;)d.push(null);return d.splice(a,0,...f),this.#ge.set(s),this.value=d,l}exchange(e,t){const n=this.value;if(!Array.isArray(n))return!1;const r=[...this.#ge.get()],o=r[e],s=r[t];if(!o||!s)return!1;r[t]=o,r[e]=s,o.index=t,s.index=e;const i=[...n],l=i[e],a=i[t];return i[t]=l,i[e]=a,this.#ge.set(r),this.value=i,!0}}function w(e){if(!e?.length)return[];const t=[];let n=[],r=Object.create(null),o=!1;for(const t of e){if("string"==typeof t)continue;const e=t.template;if(!e)continue;o=!0;const n=E(t);r[e]={params:t.params,children:n?[n]:[]}}function s(e){e.length&&t.push({type:"divergent",children:e.map((([e,t])=>{const n=E(t);return n?"string"!=typeof n&&"fragment"===n.type?[n,e]:[{children:[n]},e]:[{children:[]},e]}))})}for(const r of e){if("string"==typeof r){s(n),n=[],t.push(r);continue}if(r.template){s(n),n=[];continue}if(n.length&&r.else){const e=r.if||null;n.push([e,r]),e||(s(n),n=[]);continue}s(n),n=[];const e=r.if;if(e){n.push([e,r]);continue}const o=E(r);o&&t.push(o)}return s(n),o?[{type:"fragment",templates:r,children:t}]:t}function E(e){let t=function(e){const t=e.fragment;if(t&&"string"==typeof t)return{type:"template",template:t,attrs:e.attrs,children:[]};const n=function({text:e,html:t}){return null!=e?{type:"content",value:e}:null!=t?{type:"content",value:t,html:!0}:void 0}(e),r=n?[n]:w(e.children);return!e.name||t?n||{type:"fragment",children:r}:{name:e.name,is:e.is,attrs:e.attrs,events:e.events,classes:e.classes,styles:e.styles,enhancements:e.enhancements,bind:e.bind,comment:e.comment,children:r}}(e),n=e.vars;n.length&&t&&"string"!=typeof t&&(t.vars?t.vars=[...n,...t.vars]:t?t.vars=n:t={type:"fragment",vars:n,children:[]},n=null);const r=e.enum,o=e.value;return r&&(t={type:"enum",value:r,sort:e.sort,vars:n,children:t?[t]:[]},n=null),o&&(t={type:"value",name:o,vars:n,children:t?[t]:[]},n=null),n?.length&&(t={type:"fragment",vars:n,children:t?[t]:[]}),t}!function(e){f=e}(y);const L=/^([+-]?(\d(_?\d)*(\.(\d(_?\d)*)?)?|\.\d(_?\d)*)(?:e[+-]?\d(_?\d)*)|0(b[01](?:_?[01])*|o[0-7](?:_?[0-7])*|x[\dA-F](?:_?[\dA-F])*))$/is;const x={CALC:"no `createCalc` option, no expression parsing support",EVENT:"no `createEvent`, options, no event parsing support",CLOSE:(e,t)=>`end tag name: ${e} is not match the current start tagName: ${t}`,UNCLOSE:e=>`end tag name: ${e} maybe not complete`,QUOTE:e=>`attribute value no end '${e}' match`,CLOSE_SYMBOL:"elements closed character '/' and '>' must be connected to",UNCOMPLETED:(e,t)=>t?`end tag name: ${e} is not complete: ${t}`:`end tag name: ${e} maybe not complete`,ENTITY:e=>`entity not found: ${e}`,SYMBOL:e=>`unexpected symbol: ${e}`,TAG:e=>`invalid tagName: ${e}`,ATTR:e=>`invalid attribute: ${e}`,EQUAL:"attribute equal must after attrName",ATTR_VALUE:'attribute value must after "="',EOF:"unexpected end of file"};class C extends Error{constructor(e,...t){const n=x[e];super("function"==typeof n?n(...t):n),this.code=e}}const O=/^(?<decorator>[:@!+*\.?]|style:|样式:)?(?<name>-?[\w\p{Unified_Ideograph}_][-\w\p{Unified_Ideograph}_:\d\.]*)$/u,$=/^~(?<enhancement>[\w\p{Unified_Ideograph}_][-\w\p{Unified_Ideograph}_\d\.]*)(?:(?<decorator>[:@!])(?<name>-?[\w\p{Unified_Ideograph}_][-\w\p{Unified_Ideograph}_:\d\.]*))?$/u,A=/^(?<name>[a-zA-Z$\p{Unified_Ideograph}_][\da-zA-Z$\p{Unified_Ideograph}_]*)?$/u;function S(e,t){const n=e[t];if(n)return n;const r={attrs:Object.create(null),events:Object.create(null)};return e[t]=r,r}function j(e,t){const n=e.replace(/$\s+|\s+$/gs,"");if("null"===n)return{value:null};if("true"===n)return{value:!0};if("false"===n)return{value:!1};const r=function(e){return L.test(e)?Number(e.replaceAll("_","")):NaN}(n);return Number.isNaN(r)?A.test(n)?{name:n}:{calc:t(e)}:{value:r}}function N(e,t,n,r,o){const{attrs:s,events:i,classes:l,styles:a,vars:c,params:u,enhancements:d}=e;return function(f,h){const p=f.replace(/./g,".").replace(/:/g,":").replace(/@/g,"@").replace(/+/g,"+").replace(/-/g,"-").replace(/[*×]/g,"*").replace(/!/g,"!"),g=(O.exec(p)||$.exec(p))?.groups;if(!g)throw new C("ATTR",f);const{name:m,enhancement:b}=g,v=g.decorator?.toLowerCase();if(b){if(":"===v)S(d,b).attrs[m]=h?j(h,t):{name:m};else if("@"===v)S(d,b).events[m]=h?A.test(h)?{name:h}:{event:r(h)}:{name:m};else if("!"===v){if("bind"===m)S(d,b).bind=h||!0}else S(d,b).value=j(h,t);return}if(!v)return void(s[m]={value:h});if(":"===v)return void(s[m]=h?j(h,t):{name:m});if("."===v)return void(l[m]=h?j(h,t):{name:m});if("style:"===v)return void(a[m]=j(h,t));if("@"===v)return void(i[m]=h?A.test(h)?{name:h}:{event:r(h)}:{name:m});if("+"===v)return void c.push({...h?j(h,n):{value:void 0},variable:m,init:!0});if("*"===v)return void c.push({...j(h,t),variable:m,init:!1});if("?"===v)return void(u[m]=j(h,t));if("!"!==v)return;switch(m.toString()){case"fragment":e.fragment=h||!0;break;case"else":e.else=!0;break;case"enum":e.enum=h?j(h,t):{value:!0};break;case"sort":e.sort=h?j(h,t):{value:!0};break;case"if":e.if=j(h,t);break;case"text":e.text=j(h,t);break;case"html":o&&(e.html=j(h,t));break;case"template":e.template=h;break;case"bind":e.bind=h||!0;break;case"value":e.value=h;break;case"comment":e.comment=h}}}function M(e,t){return{name:e,is:t,children:[],attrs:Object.create(null),events:Object.create(null),classes:Object.create(null),styles:Object.create(null),vars:[],params:Object.create(null),enhancements:Object.create(null)}}var k={lt:"<",gt:">",amp:"&",quot:'"',apos:"'",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",times:"×",divide:"÷",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",euro:"€",trade:"™",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"};const B=/^(?<name>[\w\p{Unified_Ideograph}_][-\.\|:|d\w\p{Unified_Ideograph}_:]*)(?:|(?<is>[\w\p{Unified_Ideograph}_][-\.\|:|d\w\p{Unified_Ideograph}_]*))?$/u;function F(e){return"="!==e&&"/"!==e&&">"!==e&&e&&"'"!==e&&'"'!==e&&!function(e){return"0x80"===e||e<=" "}(e)}function T(e,t,n,r){let o=r[n];return null==o&&(o=e.lastIndexOf("</"+n+">"),o<t&&(o=e.lastIndexOf("</"+n)),r[n]=o),o<t}function P(...e){console.error(new C(...e))}function U(e){const t=e.slice(1,-1);return"#"===t.charAt(0)?String.fromCodePoint(parseInt(t.substring(1).replace("x","0x"))):t in k?k[t]:(P("ENTITY",e),e)}var I=Object.freeze({__proto__:null,parse:function(e,{createCalc:t=()=>{throw new C("CALC")},createInit:n=t,createEvent:r=()=>{throw new C("EVENT")},simpleTag:o=new Set,enableHTML:s=!1}={}){const i=[],l={children:i},a=[];let c=null,u=l;function d(){c=a.pop()||null,u=c||l}function f(e){(e=e.replace(/^\n|(?<=\n)\t+|\n\t*$/g,""))&&u.children.push(e)}let h={},p=0;function g(t){if(t<=p)return;f(e.substring(p,t).replace(/&#?\w+;/g,U)),p=t}for(;;){const m=e.indexOf("<",p);if(m<0){const j=e.substring(p);j.match(/^\s*$/)||f(j);break}m>p&&g(m);const b=e.charAt(m+1);if("!"===b){let k=m+2,I=">";if("--"===e.slice(m+2,m+4)&&(k+=4,I="--\x3e"),p=e.indexOf(I,k),p<0)break;p++;continue}if("/"===b){p=e.indexOf(">",m+3);let q=e.substring(m+2,p);if(p<0?(q=e.substring(m+2).replace(/[\s<].*/,""),P("UNCOMPLETED",q,c?.name),p=m+1+q.length):q.match(/\s</)&&(q=q.replace(/[\s<].*/,""),P("UNCOMPLETED",q),p=m+1+q.length),c){const _=c.name;if(_===q)d();else{if(_.toLowerCase()!=q.toLowerCase())throw new C("CLOSE",q,c.name);d()}}p++;continue}function v(t){let n=p+1;if(p=e.indexOf(t,n),p<0)throw new C("QUOTE",t);const r=e.slice(n,p).replace(/&#?\w+;/g,U);return p++,r}function y(){let t=e.charAt(p);for(;t<=" "||"€"===t;t=e.charAt(++p));return t}function E(){let t=p,n=e.charAt(p);for(;F(n);)p++,n=e.charAt(p);return e.slice(t,p)}p=m+1;let L=e.charAt(p);switch(L){case"=":throw new C("EQUAL");case'"':case"'":throw new C("ATTR_VALUE");case">":case"/":throw new C("SYMBOL",L);case"":throw new C("EOF")}const x=E(),O=B.exec(x)?.groups;if(!O)throw new C("TAG",x);a.push(c),c=M(O.name,O.is),u.children.push(c),u=c;const $=N(c,t,n,r,s);let A=!0,S=!1;e:for(;A;){let R=y();switch(R){case"":P("EOF"),p++;break e;case">":p++;break e;case"/":S=!0;break e;case'"':case"'":throw new C("ATTR_VALUE");case"=":throw new C("SYMBOL",R)}const D=E();if(!D){P("EOF"),p++;break e}switch(R=y(),R){case"":P("EOF"),p++;break e;case">":$(D,""),p++;break e;case"/":$(D,""),S=!0;break e;case"=":p++;break;case"'":case'"':$(D,v(R));continue;default:$(D,"");continue}switch(R=y(),R){case"":$(D,""),P("EOF"),p++;break e;case">":$(D,""),p++;break e;case"/":$(D,""),S=!0;break e;case"'":case'"':$(D,v(R));continue}$(D,E())}if(S){for(;;){p++;const V=e.charAt(p);if("/"!==V&&!(V<=" "||"€"===V))break}switch(e.charAt(p)){case"=":throw new C("EQUAL");case'"':case"'":throw new C("ATTR_VALUE");case"":P("EOF");break;case">":p++;break;default:throw new C("CLOSE_SYMBOL")}d()}else(o.has(x)||T(e,p,x,h))&&d()}return w(i)}});function q(t,n){if(n?.aborted)return;let r=!0;const o=new e.subtle.Watcher((()=>{r&&(r=!1,queueMicrotask((()=>{r=!0;for(const e of o.getPending())e.get();o.watch()})))})),s=new e.Computed(t);if(o.watch(s),s.get(),!n)return()=>{o.unwatch(s)};n.addEventListener("abort",(()=>{o.unwatch(s)}),{once:!0})}function _(e,t,n,r){let o,s=!1;return q((()=>{const r=e();if(!s)return s=!0,o=r,void(n&&t(r));Object.is(r,o)||(o=r,t(r))}),r)}const R=new Set(Object.keys({type:!0,meta:!0,component:!0,kind:!0,value:!0,store:!0,parent:!0,root:!0,ref:!0,schema:!0,new:!0,readonly:!0,creatable:!0,immutable:!0,changed:!0,loading:!0,required:!0,clearable:!0,hidden:!0,disabled:!0,label:!0,description:!0,placeholder:!0,min:!0,max:!0,step:!0,minLength:!0,maxLength:!0,pattern:!0,values:!0,null:!0,index:!0,no:!0,size:!0,error:!0,errors:!0}));function*D(e,t="",n="$"){yield[`${t}`,{get:()=>e.value,set:t=>e.value=t,store:e}];for(const r of R)yield[`${t}${n}${r}`,{get:()=>e[r]}];yield[`${t}${n}value`,{get:()=>e.value,set:t=>e.value=t}],yield[`${t}${n}state`,{get:()=>null,set:e=>{}}],yield[`${t}${n}reset`,{exec:()=>e.reset()}],yield[`${t}${n}validate`,{exec:t=>e.validate(t?[]:null)}],e instanceof y?(yield[`${t}${n}addable`,{get:()=>e.addable}],yield[`${t}${n}insert`,{exec:(t,n)=>e.insert(t,n)}],yield[`${t}${n}add`,{exec:t=>e.add(t)}],yield[`${t}${n}remove`,{exec:t=>e.remove(t)}],yield[`${t}${n}move`,{exec:(t,n)=>e.move(t,n)}],yield[`${t}${n}exchange`,{exec:(t,n)=>e.exchange(t,n)}]):yield[`${t}${n}addable`,{get:()=>!1}]}function V(e,t,n){for(const[n,r]of t){for(const[t,o]of D(r,n))e[t]=o;for(const[t,o]of D(r,n,"$$"))e[t]=o}}const H={value$:{calc:e=>e?.[c].value},state$:{calc:e=>e?.[c].state}};var z=Object.getOwnPropertyDescriptors(H);function K(e){if(!e)return!1;const t=e.indexOf("$");return t<0||(e.indexOf("$",t+2)>0||"$"===e[0]&&"_$".includes(e[1]))}function Y(e,t){Object.defineProperty(t,"$store",{value:e,writable:!1,configurable:!0,enumerable:!1}),Object.defineProperty(t,"$root",{value:e.root,writable:!1,configurable:!0,enumerable:!1})}class W{exec({name:e,calc:t,value:n}){if("string"==typeof e){const t=this.#ye[e];if("function"!=typeof t?.get)return;return t.get()}return"function"==typeof t?t(this.getters):n}get({name:t,calc:n,value:r}){if("string"==typeof t){const e=this.#ye[t];if("function"!=typeof e?.get)return;const{get:n,set:r}=e;return{get:n,set:r}}if("function"==typeof n){const t=new e.Computed((()=>n(this.getters)));return{get:()=>t.get()}}return{get:()=>r}}watch(e,t){return _((()=>this.exec(e)),t,!0)}enum(e){const{name:t,calc:n}=e;if("function"==typeof n)return()=>n(this.getters);if("string"==typeof t){const e=this.#ye[t];if("function"!=typeof e?.get)return null;const n=e.store;return n instanceof b?n:e.get}return this.store}getStore(e){if(!e)return null;const t=this.#ye[!0===e?"":e];return t?.get&&t.store||null}bind(e,t,n){const r=this.#ye[!0===e?"":e];if(!r?.get)return;const{store:o}=r;return o?R.has(t)?_((()=>o[t]),n,!0):void 0:"value"===t?_((()=>r.get()),n,!0):void 0}bindAll(e){const t=this.#ye[!0===e?"":e];if(!t?.get)return;const{store:n}=t;if(!n){const e=t.get;if("function"!=typeof e)return;return{$value:t=>_(e,t,!0)}}const r=Object.fromEntries([...R].map((e=>[`$${e}`,t=>_((()=>n[e]),t,!0)])));return r.$$state=e=>_((()=>null),e,!0),r}getBindAll(e){const t=this.#ye[!0===e?"":e];if(!t?.get)return{};const{store:n}=t;if(!n){const{get:e,set:n}=t;return{$value:{get:e,set:n}}}const r=Object.fromEntries([...R].map((e=>[`$${e}`,"value"===e?{get:()=>n[e],set:t=>{n[e]=t}}:{get:()=>n[e]}])));return r.$$state={get:()=>null,set:()=>{}},r}bindSet(e,t){const n=this.#ye[!0===e?"":e];if(!n?.get)return;const{store:r}=n;if(r)switch(t){case"value":return e=>{r.value=e};case"state":return e=>{}}}bindEvents(e){const t=this.#ye[!0===e?"":e];if(!t?.get)return;const{store:n}=t;if(!n){const e=t.set;if("function"!=typeof e)return;return{$value:e}}return{$value:e=>{n.value=e},$state:e=>{},$input:e=>{n.emit("input",e)},$change:e=>{n.emit("change",e)},$click:e=>{n.emit("click",e)},$focus:e=>{n.emit("focus",e)},$blur:e=>{n.emit("blur",e)},$reset:e=>{n.reset()},$validate:e=>{n.validate(e?[]:null)}}}getEvent({name:e,event:t}){if("function"==typeof t)return t;const n=this.#ye[e];if(!n)return null;const{exec:r,calc:o}=n;return"function"==typeof r?r:"function"==typeof o?o:null}constructor(e,t){if(this.store=e,t instanceof W){this.#we=t.#we;const e=this.#Ee;for(const[n,r]of Object.entries(t.#Ee))e[n]=r;const n=this.#Le;for(const[e,r]of Object.entries(t.#Le))n[e]=r}else V(this.#Ee,e),this.#we=function(e){const t=Object.create(null,z);if(!e||"object"!=typeof e)return t;for(const[n,r]of Object.entries(e)){if(!K(n))continue;if(!r||"object"!=typeof r)continue;if(r instanceof b){for(const[e,o]of D(r,n))t[e]=o;continue}const{get:e,set:o,exec:s,calc:i}=r;"function"!=typeof e?"function"==typeof i||i&&"object"==typeof i?t[n]={calc:i}:("function"==typeof s||i&&"object"==typeof i)&&(t[n]={exec:s}):t[n]="function"==typeof o?{get:e,set:o}:{get:e}}return t}(t)}#we;#Ee=Object.create(null);#Le=Object.create(null);store;#xe=null;#r=null;#Ce=null;get#ye(){const e=this.#Ce;if(e)return e;const t=Object.create(null,Object.getOwnPropertyDescriptors({...this.#Ee,...this.#we,...this.#Le})),n=this.store,r=this.#r,o=this.#xe;for(const[e,r]of D(n))t[e]=r;for(const[e,o]of function*(e,t,n="",r="$"){if(!(e instanceof y))return yield[`${n}${r}removable`,{get:()=>!1}],yield[`${n}${r}upMovable`,{get:()=>!1}],yield[`${n}${r}downMovable`,{get:()=>!1}],yield[`${n}${r}remove`,{exec:()=>{}}],yield[`${n}${r}upMove`,{exec:()=>{}}],void(yield[`${n}${r}downMove`,{exec:()=>{}}]);yield[`${n}${r}removable`,{get:()=>!e.readonly&&!e.disabled&&!!t.removable}],yield[`${n}${r}upMovable`,{get:()=>{if(e.readonly)return!1;if(e.disabled)return!1;const n=t.index;return"number"==typeof n&&!(n<=0)}}],yield[`${n}${r}downMovable`,{get:()=>{if(e.readonly)return!1;if(e.disabled)return!1;const n=t.index;return"number"==typeof n&&!(n>=e.size-1)}}],yield[`${n}${r}remove`,{exec:()=>{e.readonly||e.disabled||t.removable&&e.remove(Number(t.index))}}],yield[`${n}${r}upMove`,{exec:()=>{if(e.readonly)return;if(e.disabled)return;const n=t.index;"number"==typeof n&&(n<=0||e.move(n,n-1))}}],yield[`${n}${r}downMove`,{exec:()=>{if(e.readonly)return;if(e.disabled)return;const n=t.index;"number"==typeof n&&(n>=e.size-1||e.move(n,n+1))}}]}(r,n))t[e]=o;if(o)for(const e of Object.keys(o))t[`$${e}`]={get:()=>o[e]};return this.#Ce=t,t}setStore(e,t,n){const r=new W(e,this);return t&&(r.#r=t),V(r.#Ee,e),n&&(r.#xe=n),r}child(e){if(!e)return this;const t=this.store.child(e);if(!t)return null;const n=new W(t,this);return V(n.#Ee,t),n}params(t,n,r,o){let s=this.store;if(!0===o)s=r.store;else if(o){const e=r.#ye[o],t=e?.get&&e.store;t&&(s=t)}if(0===Object.keys(t).length)return this;const i=new W(s,this);i.#r=this.#r,i.#xe=this.#xe;const l=i.#Le,a=i.#ye;for(const[o,s]of Object.entries(t)){const t=o in n?n[o]:null;if(t){const{name:n,calc:s,value:i}=t;if(n){const e=r.#ye[n];if(!e?.get)continue;if(!e.store){l[o]=a[o]=e;continue}for(const[t,n]of D(e.store,o))l[t]=a[t]=n;continue}if("function"==typeof s){const t=new e.Computed((()=>s(r.getters)));l[o]=a[o]={get:()=>t.get()};continue}l[o]=a[o]={get:()=>i}}else{const{name:t,calc:n,value:r}=s;if("function"==typeof n){const t=i.getters;i.#Oe=null;const r=new e.Computed((()=>n(t)));l[o]=a[o]={get:()=>r.get()};continue}if(t){const e=a[t];if(!e?.get)continue;if(!e.store){l[o]=a[o]=e;continue}for(const[t,n]of D(e.store,o))l[t]=a[t]=n;continue}l[o]=a[o]={get:()=>r}}}return i}setObject(e){const t=new W(this.store,this);return t.#xe=e,t}set(t){if(!t?.length)return this;const n=new W(this.store,this);n.#r=this.#r,n.#xe=this.#xe;const r=n.#Le,o=n.#ye;for(const{variable:s,name:i,calc:l,value:a,init:c}of t)if(c){const t=new e.State(a);if("function"==typeof l){const e=n.settable;n.#$e=null,t.set(l(e))}else if(i){const e=o[i];if(!e?.get)continue;t.set(e.get())}r[s]=o[s]={get:()=>t.get(),set:e=>{t.set(e)}}}else if("function"!=typeof l)if(i){const e=o[i];if(!e)continue;if(!e.get||!e.store){r[s]=o[s]=e;continue}for(const[t,n]of D(e.store,s))r[t]=o[t]=n}else r[s]=o[s]={get:()=>a};else{const t=n.getters;n.#Oe=null;const i=new e.Computed((()=>l(t)));r[s]=o[s]={get:()=>i.get()}}return n}#Ae=null;get all(){const e=this.#Ae;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#ye))n.get?Object.defineProperty(t,e,{get:n.get,set:n.set,configurable:!0,enumerable:!0}):n.calc?Object.defineProperty(t,e,{value:n.calc,writable:!1,configurable:!0,enumerable:!1}):Object.defineProperty(t,e,{value:n.exec,writable:!1,configurable:!0,enumerable:!1});return Y(this.store,t),this.#Ae=t,t}#$e=null;get settable(){const e=this.#$e;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#ye))n.get?Object.defineProperty(t,e,{get:n.get,set:n.set,configurable:!0,enumerable:!0}):n.calc&&Object.defineProperty(t,e,{value:n.calc,writable:!1,configurable:!0,enumerable:!1});return Y(this.store,t),this.#$e=t,t}#Oe=null;get getters(){const e=this.#Oe;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#ye))n.get?Object.defineProperty(t,e,{get:n.get,configurable:!0,enumerable:!0}):n.calc&&Object.defineProperty(t,e,{value:n.calc,writable:!1,configurable:!0,enumerable:!1});return Y(this.store,t),this.#Oe=t,t}}const Q={width:"px",height:"px",top:"px",right:"px",bottom:"px",left:"px",border:"px","border-top":"px","border-right":"px","border-left":"px","border-bottom":"px","border-width":"px","border-top-width":"px","border-right-width":"px","border-left-width":"px","border-bottom-width":"px","border-radius":"px","border-top-left-radius":"px","border-top-right-radius":"px","border-bottom-left-radius":"px","border-bottom-right-radius":"px",padding:"px","padding-top":"px","padding-right":"px","padding-left":"px","padding-bottom":"px",margin:"px","margin-top":"px","margin-right":"px","margin-left":"px","margin-bottom":"px"};function X(e,t){let n=!!Array.isArray(t)&&Boolean(t[1]),r="";if("string"==typeof t)return r=t.replace(/!important\s*$/,""),r?(n=r!==t,[r,n?"important":void 0]):null;const o=Array.isArray(t)?t[0]:t;return"number"==typeof o||"bigint"==typeof o?r=o&&e in Q?`${o}${Q[e]}`:`${o}`:"string"==typeof o&&(r=o),r?[r,n?"important":void 0]:null}class G{#e=new Map;emit(e,...t){const n="number"==typeof e?String(e):e,r=this.#e;for(const e of[...r.get(n)||[]])e(...t)}listen(e,t){const n=t.bind(this),r=this.#e,o="number"==typeof e?String(e):e;let s=r.get(o);return s||(s=new Set,r.set(o,s)),s.add(n),()=>{s?.delete(n)}}}const Z={stop(e){e instanceof Event&&e.stopPropagation()},prevent(e){e instanceof Event&&e.preventDefault()},self(e){if(e instanceof Event)return e.target===e.currentTarget},enter(e){if(e instanceof KeyboardEvent)return"Enter"===e.key},tab(e){if(e instanceof KeyboardEvent)return"Tab"===e.key},esc(e){if(e instanceof KeyboardEvent)return"Escape"===e.key},space(e){if(e instanceof KeyboardEvent)return" "===e.key},backspace(e){if(e instanceof KeyboardEvent)return"Backspace"===e.key},delete(e){if(e instanceof KeyboardEvent)return"Delete"===e.key},delBack(e){if(e instanceof KeyboardEvent)return"Delete"===e.key||"Backspace"===e.key},"del-back"(e){if(e instanceof KeyboardEvent)return"Delete"===e.key||"Backspace"===e.key},insert(e){if(e instanceof KeyboardEvent)return"Insert"===e.key},repeat(e){if(e instanceof KeyboardEvent)return e.repeat},key(e,t){if(e instanceof KeyboardEvent){const n=e.code.toLowerCase().replace(/-/g,"");for(const e of t)if(n===e.toLowerCase().replace(/-/g,""))return!0;return!1}},main(e){if(e instanceof MouseEvent)return 0===e.button},auxiliary(e){if(e instanceof MouseEvent)return 1===e.button},secondary(e){if(e instanceof MouseEvent)return 2===e.button},left(e){if(e instanceof MouseEvent)return 0===e.button},middle(e){if(e instanceof MouseEvent)return 1===e.button},right(e){if(e instanceof MouseEvent)return 2===e.button},primary(e){if(e instanceof PointerEvent)return e.isPrimary},mouse(e){if(e instanceof PointerEvent)return"mouse"===e.pointerType},pen(e){if(e instanceof PointerEvent)return"pen"===e.pointerType},touch(e){if(e instanceof PointerEvent)return"touch"===e.pointerType},pointer(e,t){if(e instanceof PointerEvent){const n=e.pointerType.toLowerCase().replace(/-/g,"");for(const e of t)if(n===e.toLowerCase().replace(/-/g,""))return!0;return!1}},ctrl(e){if(e instanceof MouseEvent||e instanceof KeyboardEvent||e instanceof TouchEvent)return e.ctrlKey},alt(e){if(e instanceof MouseEvent||e instanceof KeyboardEvent||e instanceof TouchEvent)return e.altKey},shift(e){if(e instanceof MouseEvent||e instanceof KeyboardEvent||e instanceof TouchEvent)return e.shiftKey},meta(e){if(e instanceof MouseEvent||e instanceof KeyboardEvent||e instanceof TouchEvent)return e.metaKey},cmd(e){if(e instanceof MouseEvent||e instanceof KeyboardEvent||e instanceof TouchEvent)return e.ctrlKey||e.metaKey}};function J(e,t,n){const r=[];if(t)for(let o=e.shift();o;o=e.shift()){const e=o.indexOf(":"),s=e>=0?o.slice(0,e):o,i=e>=0?o.slice(e+1).split(":"):[],l=s.replace(/^-+/,""),a=(s.length-l.length)%2==1;let c=t[l]||l;if(n)switch(c){case"once":case"passive":case"capture":n[c]=!a;continue}"string"==typeof c&&(c=Z[c]),"function"==typeof c&&r.push([c,i,a])}return r}function ee(e,t,n){return r=>{const o=e.all;for(const[e,t,s]of n)if(e(r,t,o)===s)return;t(r,o)}}function te(e){return"number"==typeof e||"bigint"==typeof e?String(e):"boolean"==typeof e?e?"":null:"string"==typeof e?e:null===(e??null)?null:String(e)}function ne(e){return null===(e??null)?"":String(e)}function re(e,t){if(e instanceof HTMLInputElement&&"checked"===t)switch(e.type.toLowerCase()){case"checkbox":case"radio":return Boolean}if((e instanceof HTMLSelectElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)&&"value"===t)return ne;if(e instanceof HTMLDetailsElement&&"open"===t)return Boolean;if(e instanceof HTMLMediaElement){if("muted"===t)return Boolean;if("paused"===t)return Boolean;if("currentTime"===t)return!0;if("playbackRate"===t)return!0;if("volume"===t)return!0}return!1}const oe={input:{attrs:{$min:(e,t)=>{t.min=e},$max:(e,t)=>{t.max=e},$step:(e,t)=>{t.step=e},$placeholder:(e,t)=>{t.placeholder=e},$disabled:(e,t)=>{t.disabled=e},$readonly:(e,t)=>{t.readOnly=e},$required:(e,t)=>{t.required=e},$value:(e,t)=>{switch(t.type){case"checkbox":case"radio":t.checked=Boolean(e)}t.value=ne(e)}},events:{$value:["input",(e,t)=>{switch(t.type){case"checkbox":case"radio":return t.checked;case"number":return Number(t.value)}return t.value}]}},textarea:{attrs:{$placeholder:(e,t)=>{t.placeholder=e},$disabled:(e,t)=>{t.disabled=e},$readonly:(e,t)=>{t.readOnly=e},$required:(e,t)=>{t.required=e},$value:(e,t)=>{t.value=ne(e)}},events:{$value:["input",(e,t)=>t.value]}},select:{attrs:{$disabled:(e,t)=>{t.disabled=e},$required:(e,t)=>{t.required=e},$value:(e,t)=>{t.value=ne(e)}},events:{$value:["change",(e,t)=>t.value]}}};function se(e,t,n){const r=document.createElement(t,{is:n||void 0}),{watch:o,props:s}=e;return["input","textarea","select"].includes(t.toLowerCase())&&e.relate(r),e.listen("init",(({events:n})=>{const i=oe[t.toLowerCase()],l=i?.attrs||{},a=i?.events||{};for(const[e,t,o]of n)if("$"!==e[0])r.addEventListener(e,t,o);else{const n=a[e];if(n){const[e,s]=n;r.addEventListener(e,(e=>t(s(e,r))),o)}}if(s)for(const[t,n]of Object.entries(e.attrs))if(o(t,(e=>{if(s.has(t))r[t]=e;else{const n=te(e);null==n?r.removeAttribute(t):r.setAttribute(t,n)}})),s.has(t))r[t]=n;else{const e=te(n);null!==e&&r.setAttribute(t,e)}else for(const[t,n]of Object.entries(e.attrs)){if(r instanceof HTMLInputElement&&"type"===t.toLocaleLowerCase()){const e=te(n);null!==e&&r.setAttribute(t,e);continue}if("$hidden"===t){n&&(r.hidden=n),o(t,(e=>{r.hidden=e}));continue}if("$"===t[0]){const e=l[t];e&&(e(n,r),o(t,(t=>e(t,r))));continue}const e=re(r,t);if("function"==typeof e){r[t]=e(n),o(t,(n=>{r[t]=e(n)}));continue}if(e){r[t]=n,o(t,(e=>{r[t]=e}));continue}let s=te(n);null!==s&&r.setAttribute(t,s),o(t,(e=>{const n=te(e);null===n?r.removeAttribute(t):r.setAttribute(t,n)}))}})),r}function ie(e){return null===(e??null)?"":String(e)}function le(e,t,n,r,o){if(!o){const o=e.insertBefore(document.createTextNode(""),t),s=n.watch(r,(e=>o.textContent=ie(e)));return()=>{o.remove(),s()}}const s=e.insertBefore(document.createComment(""),t),i=e.insertBefore(document.createComment(""),t),l=document.createElement("div");function a(){for(let e=s.nextSibling;e&&e!==i;e=s.nextSibling)e.remove()}const c=n.watch(r,(t=>{a(),function(t){l.innerHTML=t;for(let t=l.firstChild;t;t=s.firstChild)e.insertBefore(t,i)}(ie(t))}));return()=>{c(),a(),s.remove(),i.remove()}}function ae(e,t){if("bigint"==typeof e&&"bigint"==typeof t)return Number(e-t);if(!("number"!=typeof e&&"bigint"!=typeof e||"number"!=typeof t&&"bigint"!=typeof t))return Number(e)-Number(t);const n=String(e),r=String(t);return n>r?1:n<r?-1:0}const ce=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);function ue(e,t,n,r,o){const s=e.children;if(!s.length)return()=>{};const i=t.insertBefore(document.createComment(""),n);let l=null,a=()=>{};const c=_((()=>s.find((([,e])=>!e||r.exec(e)))||null),(e=>{if(e===l)return;l=e,a(),a=()=>{};const t=e?.[0];t&&(a=o(t.children,t.vars,t.templates))}),!0);let u=!1;return()=>{u||(u=!0,c(),a(),a=()=>{},i.remove())}}function de(t,n,r,o,s,i,l,a,c){const u=t.bind,d=[...i,t.name],f=c?.(d);if(c&&!f)return()=>{};const{context:h,handler:p}=function(t,n,r,o){const s="string"==typeof t?t:t.tag,{attrs:i,events:l}="string"!=typeof t&&t||{attrs:null,events:null};let a=!1;const c=new e.State(!1);let u=!1;const d=new e.State(!1),f=Object.create(null),h=Object.create(null),p=new Set,g=[],m=new G;return{context:{events:g,props:i?new Set(Object.entries(i).filter((([,e])=>e.isProp)).map((([e])=>e))):null,attrs:h,watch(e,t){if(a)return()=>{};const n=f[e];if(!n)return()=>{};let r=n.get();const o=_((()=>n.get()),(n=>{const o=r;r=n,t(n,o,e)}),!0);return p.add(o),()=>{p.delete(o),o()}},relate(e){if(!r||!o||a)return()=>{};try{const t=o(r,e);return"function"!=typeof t?()=>{}:(p.add(t),()=>{p.delete(t),t()})}catch{return()=>{}}},get destroyed(){return c.get()},get init(){return d.get()},listen:(e,t)=>m.listen(e,t)},handler:{tag:s,set(t,n){if(i&&!(t in i))return;let r=f[t];if(r)return void r.set(n);const o=new e.State(n);f[t]=o,Object.defineProperty(h,t,{configurable:!0,enumerable:!0,get:o.get.bind(o)})},addEvent(e,t){if("function"!=typeof t)return;const[r,...o]=e.split(".").filter(Boolean),s=l?l[r].filters:{};if(!s)return;const i={},a=J(o,s,i);g.push([r,ee(n,t,a),i])},destroy(){if(!a){a=!0,c.set(!0);for(const e of p)e();m.emit("destroy")}},mount(){u||(u=!0,d.set(!0),m.emit("init",{events:g}))}}}}(f||t.name,o,o.getStore(u),a),g=f?.attrs,m=g?function(e,t,n,r,o){let s=new Set;for(const[i,l]of Object.entries(r)){if("class"===i||"style"===i)continue;if(i in n){const r=n[i],{name:o,calc:a,value:c}=n[i];if(!o&&!a){e.set(i,c);continue}l.immutable&&e.set(i,t.exec(r)),s.add(t.watch(r,(t=>e.set(i,t))));continue}const r=l.bind;if(!o||!r){e.set(i,l.default);continue}if("string"==typeof r){const n=t.bind(o,r,(t=>e.set(i,t)));n?s.add(n):e.set(i,l.default);continue}if(!Array.isArray(r)){e.set(i,l.default);continue}const[a,c,u]=r;if(!a||"function"!=typeof c)continue;if(!u){const n=!0===o?"":o;s.add(t.watch({name:n},(t=>e.set(i,t)))),e.addEvent(a,((...e)=>{t.all[n]=c(...e)}));continue}const d=t.bind(o,"state",(t=>e.set(i,t)));if(!d)continue;s.add(d);const f=t.bindSet(o,"state");f&&e.addEvent(a,((...e)=>{f(c(...e))}))}return()=>{const e=s;s=new Set;for(const t of e)t()}}(p,o,t.attrs,g,u):function(e,t,n){const r=e.tag;let o=new Set;for(const[s,i]of Object.entries(n)){if("class"===s||"style"===s)continue;const{name:n,calc:l,value:a}=i;if(n||l)if("string"!=typeof r||"input"!==r.toLocaleLowerCase()||"type"!==s.toLocaleLowerCase())o.add(t.watch(i,(t=>e.set(s,t))));else{const n=t.exec(i);e.set(s,n)}else e.set(s,a)}return()=>{const e=o;o=new Set;for(const t of e)t()}}(p,o,t.attrs);for(const[e,n]of Object.entries(t.events)){const t=o.getEvent(n);t&&p.addEvent(e,t)}const b=function(e,t,n){if(!n)return()=>{};let r=new Set;for(const[o,s]of Object.entries(t.bindAll(n)||{}))"function"==typeof s&&r.add(s((t=>e.set(o,t))));for(const[r,o]of Object.entries(t.bindEvents(n)||{}))e.addEvent(r,(e=>o(e)));return()=>{const e=r;r=new Set;for(const t of e)t()}}(p,o,u),v=f?"function"==typeof f.tag?f.tag(h):se(h,f.tag,f.is):se(h,t.name,t.is),y=Array.isArray(v)?v[0]:v,w=Array.isArray(v)?v[1]:y;n.insertBefore(y,r);const E=w?pe(t.children||[],w,null,o,s,i,l,a,c):()=>{},L=function(e,t,n,r){if(!(e instanceof Element))return()=>{};r&&(e.className+=" "+t.exec(r));let o=new Set;for(const[r,s]of Object.entries(n))s.value?e.classList.add(r):o.add(_((()=>Boolean(t.exec(s))),(t=>{t?e.classList.add(r):e.classList.remove(r)}),!0));return()=>{if(!o)return;const e=o;o=null;for(const t of e)t()}}(y,o,t.classes,t.attrs.class),x=function(e,t,n,r){if(!(e instanceof HTMLElement||e instanceof SVGElement))return()=>{};if(r){const n=[e.getAttribute("style")||"",t.exec(r)||""].filter(Boolean).join(";");n&&e.setAttribute("style",n)}let o=new Set;for(const[r,s]of Object.entries(n))o.add(_((()=>X(r,t.exec(s))),(t=>{t?e.style.setProperty(r,...t):e.style.removeProperty(r)}),!0));return()=>{if(!o)return;const e=o;o=null;for(const t of e)t()}}(y,o,t.styles,t.attrs.style);p.mount();const C=function(t,n,r,o,s,i){let l=new Set;for(const[a,{attrs:c,value:u,events:d,bind:f}]of Object.entries(n)){if(!ce(o,a))continue;const h=o[a];if("function"!=typeof h)continue;let p=!1;const g=new e.State(!1),m=h?.events,b=[],v=Object.create(null),y=new Set,w=new G;function E(e,t){if("function"!=typeof t)return;const[n,...o]=e.split(".").filter(Boolean),s=m?m[n].filters:{};if(!s)return;const i={},l=J(o,s,i);b.push([n,ee(r,t,l),i])}function L(){if(!p){p=!0,g.set(!0);for(const e of y)e();w.emit("destroy")}}l.add(L);for(const[C,O]of Object.entries(c)){const $=r.get(O);$&&Object.defineProperty(v,C,{...$,configurable:!0,enumerable:!0})}for(const[A,S]of Object.entries(d)){const j=r.getEvent(S);j&&E(A,j)}if(f){for(const[N,M]of Object.entries(r.getBindAll(f)||{}))Object.defineProperty(v,N,{...M,configurable:!0,enumerable:!0});for(const[k,B]of Object.entries(r.bindEvents(f)||{}))E(k,(e=>B(e)))}const x={get value(){return null},events:b,attrs:v,watch(e,t){if(p)return()=>{};let n=v[e];const r=_((()=>v[e]),(r=>{const o=n;n=r,t(r,o,e)}),!0);return y.add(r),()=>{y.delete(r),r()}},get destroyed(){return g.get()},listen:(e,t)=>w.listen(e,t),root:s,slot:i,tag:t};if(u){const F=r.get(u);F&&Object.defineProperty(x,"value",{...F,configurable:!0,enumerable:!0})}h(x)}return()=>{const e=l;l=new Set;for(const t of e)t()}}(p.tag,t.enhancements,o,l,y,w);return()=>{C(),p.destroy(),y.remove(),m(),E(),b(),L(),x()}}function fe(e,t,n){if(!n)return t;const r=Object.entries(n);if(!r.length)return t;const o=Object.create(t);for(const[t,n]of r)o[t]=[n,e];return o}function he(t,n,r,o,s,i,l,a,c){if("string"==typeof t){const e=document.createTextNode(t);return n.insertBefore(e,r),()=>e.remove()}const u=o.set(t.vars),d=fe(u,s,t.templates);if("divergent"===t.type)return ue(t,n,r,u,((e,t,o)=>{const d=u.set(t),f=fe(d,s,o);return pe(e,n,r,d,f,i,l,a,c)}));if("value"===t.type){const e=u.child(t.name);return e?pe(t.children,n,r,e,d,i,l,a,c):()=>{}}if("enum"===t.type){const o=u.enum(t.value),s=(e,r)=>pe(t.children,n,e,r,d,i,l,a,c);return o instanceof y?function(t,n,r,o,s){const i=t.insertBefore(document.createComment(""),n);let l=new Map;function a(e){for(const[t,n,r]of e.values())r(),t.remove(),n.remove()}const c=new e.State(0),u=_((()=>r.children),(function(e){if(!i.parentNode)return;let n=i.nextSibling;const u=l;l=new Map,c.set(e.length);for(let i of e){const e=u.get(i);if(!e){const e=t.insertBefore(document.createComment(""),n),a=t.insertBefore(document.createComment(""),n),u=s(a,o.setStore(i,r,{get count(){return c.get()},get key(){return i.index},get index(){return i.index},get item(){return i.value}}));l.set(i,[e,a,u]);continue}if(u.delete(i),l.set(i,e),n===e[0]){n=e[1].nextSibling;continue}let a=e[0];for(;a&&a!==e[1];){const e=a;a=a.nextSibling,t.insertBefore(e,n)}t.insertBefore(e[1],n)}a(u)}),!0);return()=>{i.remove(),a(l),u()}}(n,r,o,u,s,t.sort):o instanceof v?function(e,t,n,r,o,s){const i=[],l=[...n],a=l.length,c=s?l.map((([e,t])=>[e,t,r.setStore(t,n).exec(s)])).sort((([,,e],[,,t])=>ae(e,t))).map((([e,t],n)=>[e,t,n])):l.map((([e,t],n)=>[e,t,n]));for(const[e,s,l]of c)i.push(o(t,r.setStore(s,n,{get count(){return a},get key(){return e},get index(){return l},get item(){return s.value}})));return()=>{for(const e of i)e()}}(0,r,o,u,s,t.sort):"function"==typeof o?function(t,n,r,o,s,i){const l=new e.Computed((()=>{const e=r();if("number"==typeof e){const t=Math.floor(e);return t?Array(t).fill(0).map(((e,t)=>[t+1,t])):[]}return e&&"object"==typeof e?Array.isArray(e)?e.map(((e,t)=>[e,t])):Object.entries(e).map((([e,t])=>[t,e])):[]})),a=i?new e.Computed((()=>{const e=l.get();return e.map((([t,n],r)=>[n,t,o.setObject({get count(){return e.length},get key(){return t},get item(){return n},get index(){return r}}).exec(i)])).sort((([,,e],[,,t])=>ae(e,t))).map((([e,t],n)=>[t,n,e]))})):new e.Computed((()=>l.get().map((([e,t],n)=>[t,n,e])))),c=t.insertBefore(document.createComment(""),n);let u=[];function d(e){for(const[t,n,r]of e)r(),t.remove(),n.remove()}const f=new e.State(0),h=_((()=>a.get()),(function(n){if(!c.parentNode)return;let r=c.nextSibling;const i=u;u=[],f.set(n.length);for(const[l,a,c]of n){const n=i.findIndex((e=>e[3]===c)),[d]=n>=0?i.splice(n,1):[];if(!d){const n=t.insertBefore(document.createComment(""),r),i=t.insertBefore(document.createComment(""),r),d=new e.State(l),h=new e.State(a),p=s(i,o.setObject({get count(){return f.get()},get key(){return c},get item(){return d.get()},get index(){return h.get()}}));u.push([n,i,p,c,d,h]);continue}if(u.push(d),d[4].set(l),d[5].set(a),r===d[0]){r=d[1].nextSibling;continue}let h=d[0];for(;h&&h!==d[1];){const e=h;h=h.nextSibling,t.insertBefore(e,r)}t.insertBefore(d[1],r)}d(i)}),!0);return()=>{c.remove(),d(u),h()}}(n,r,o,u,s,t.sort):()=>{}}if("content"===t.type)return le(n,r,u,t.value,t.html);if("template"===t.type){const e=d[t.template];if(!e)return()=>{};const[o,f]=e,h=f.params(o.params,t.attrs,u,t.bind),p=fe(h,s,o.templates);return pe(o.children,n,r,h,p,i,l,a,c)}return"fragment"===t.type?pe(t.children,n,r,u,d,i,l,a,c):de(t,n,r,u,d,i,l,a,c)}function pe(e,t,n,r,o,s,i,l,a){const c=e.map((e=>he(e,t,n,r,o,s,i,l,a)));let u=!1;return()=>{if(!u){u=!0;for(const e of c)e()}}}function ge(e,t,n,{component:r,global:o,relate:s,enhancements:i}={}){return pe(t,n,null,new W(e,o),Object.create(null),[],i||{},"function"==typeof s?s:null,r)}function me(e){return t=>(!t.type||"field"===t.type)&&t.field===e}function be(e,t,n,r,o,s,i){if(!r?.signal?.aborted){if(n instanceof Element){const l=n.tagName.toLowerCase();if(!n.parentNode)return;if("nl-form-field"===l){const d=n.getAttribute("name")||"",f=n.getAttribute("mode")||"",h=n.getAttribute("renderer")||"",p=r?.editable&&!n.hasAttribute("non-editable"),g=d?e.child(d):e;if(!g)return;let m=null;switch(f){case"grid":{const w=d?o?.fields?.find(me(d))||g.layout:{...o,html:""};m=Fe(g,t,w,{...r,editable:p});break}default:m=t(g,h||o.renderer,{...r,editable:p})}if(!m){const E=n.getAttribute("placeholder")||"";return void n.replaceWith(document.createTextNode(E))}const b=n.getAttribute("class")||"";b&&m.setAttribute("class",[m.getAttribute("class")||"",b].filter(Boolean).join(" "));const v=n.getAttribute("style")||"";return v&&m.setAttribute("style",[m.getAttribute("style")||"",v].filter(Boolean).join(" ")),void n.replaceWith(m)}if("nl-form-button"===l){const L=document.createElement("button"),x=n.getAttribute("class")||"",C=n.getAttribute("style")||"";x&&L.setAttribute("class",x),C&&L.setAttribute("style",C),L.classList.add("NeeloongForm-item-button");const O=n.getAttribute("click")||"",$=r?.call;O&&"function"==typeof $&&L.addEventListener("click",(t=>$(O,t,e,r)));for(const A of[...n.childNodes])L.appendChild(A);return void n.replaceWith(L)}const a=n.getAttribute("nl-form-field");if(a){const S=a.endsWith("[]"),j=S?a.slice(0,a.length-2):a,N=j?e.child(j):e;if(!N)return;n.removeAttribute("nl-form-field");const M=j?o.fields?.find(me(j))||N.layout:{...o,html:""};if(!S)return void be(N,t,n,r,M,s);if(!(N instanceof y))return void n.remove();const k=n.parentElement;if(!k)return void n.remove();const B=k.insertBefore(document.createComment(""),n)||null;n.remove();let F=new Map;function T(e){for(const[t,n]of e.values())t instanceof Element&&t.remove(),n.abort()}let P=-1;const U=e=>{if(P<0)return;const t=e?Number(e.index):N.children.length;t<0||P<0||P===t||N.move(P,t)&&(P=t)};return _((()=>N.children),(e=>{let o=B.nextSibling;const s=F;F=new Map;for(const i of e){const e=s.get(i);if(e)s.delete(i),F.set(i,e),o!==e[0]?k.insertBefore(e[0],o):o=o.nextSibling;else{const e=new AbortController,s=k.insertBefore(n.cloneNode(!0),o);be(i,t,s,{...r,signal:r?.signal?AbortSignal.any([r?.signal,e.signal]):e.signal},M,s),s.addEventListener("dragenter",(()=>{U(i)})),s.addEventListener("dragstart",(e=>{e.target===e.currentTarget&&(P=Number(i.index))})),s.addEventListener("dragend",(()=>{P=-1})),F.set(i,[s,e])}}T(s)}),!0,r?.signal),void r?.signal?.addEventListener("abort",(()=>{B.remove(),T(F)}),{once:!0})}if(null!==n.getAttribute("nl-form-remove")){const I=e.parent;I instanceof y&&n.addEventListener("click",(()=>{I.remove(Number(e.index))}))}null!==n.getAttribute("nl-form-move")&&s instanceof HTMLElement&&n.addEventListener("pointerdown",(({pointerId:e})=>{s.draggable=!0;const t=n=>{n.pointerId===e&&(s.draggable=!1,window.removeEventListener("pointerup",t,{capture:!0}),window.removeEventListener("pointercancel",t,{capture:!0}))};window.addEventListener("pointerup",t,{capture:!0}),window.addEventListener("pointercancel",t,{capture:!0})}));const c=n.getAttribute("nl-form-add");if(c){const R=e.child(c);R instanceof y&&n.addEventListener("click",(()=>{R.add({})}))}const u=r?.call;for(const D of[...n.getAttributeNames()]){const V=D.indexOf(":");if(V<0)continue;const H=D.slice(0,V).toLowerCase(),z=D.slice(V+1);if("nl-form-field"===H){const K=n.getAttribute(D),Y=K?e.child(K):e;if(!Y)continue;q((()=>{try{n.setAttribute(z,Y.value)}catch{}}),r?.signal)}else if("nl-form-event"===H&&"function"==typeof u){const W=n.getAttribute(D);if(!W)continue;try{n.addEventListener(z,(t=>u(W,t,e,r)))}catch{}}}}if(n instanceof Element||n instanceof DocumentFragment)for(const Q of[...n.children])be(e,t,Q,r,o,s)}}function ve(e,t){if(!e)return document.createElement("template").content;if("string"!=typeof e)return e.cloneNode(!0);const n=document.createElement("template");return n.innerHTML=t?t(e):e,n.content}function ye(e,t,n,r){if(r?.signal?.aborted)return null;const o=n.html;if(o){const s=ve(o,r?.sanitizeHtml);return be(e,t,s,r,n),s}return t(e,n.renderer,r)}function we(e,t,n,{columns:r,deletable:o,remove:s,dragenter:i,dragstart:l,dragend:a},c){const u=document.createElement("tbody");u.addEventListener("dragenter",(()=>{i()})),u.addEventListener("dragstart",(e=>{e.target===e.currentTarget&&l()})),u.addEventListener("dragend",a);const d=u.appendChild(document.createElement("tr"));let f=()=>{};const h=[];if(r.find((e=>e.actions?.includes("trigger")))){const o=Fe(e,t,n,c);if(o){const e=u.appendChild(document.createElement("tr")),t=e.appendChild(document.createElement("td"));t.colSpan=r.length,t.appendChild(o),e.hidden=!0,f=()=>{if(e.hidden){e.hidden=!1;for(const e of h)e.classList.remove("NeeloongForm-table-line-open"),e.classList.add("NeeloongForm-table-line-close")}else{e.hidden=!0;for(const e of h)e.classList.remove("NeeloongForm-table-line-close"),e.classList.add("NeeloongForm-table-line-open")}}}}function p({pointerId:e}){function t(n){n.pointerId===e&&u&&(u.draggable=!1,window.removeEventListener("pointerup",t,{capture:!0}),window.removeEventListener("pointercancel",t,{capture:!0}))}u.draggable=!0,window.addEventListener("pointerup",t,{capture:!0}),window.addEventListener("pointercancel",t,{capture:!0})}for(const n of r){const{actions:r,field:i,pattern:l,editable:a}=n;if(!r?.length){const r=d.appendChild(document.createElement("td")),o=i&&e.child(i);if(o){const e=ye(o,t,n,{...c,editable:c?.editable&&!1!==a});e&&r.appendChild(e)}continue}const u=d.appendChild(document.createElement("th"));u.classList.add("NeeloongForm-table-line-handle");for(const t of r)switch(t){case"trigger":{const e=u.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-table-line-open"),h.push(e),e.addEventListener("click",f);continue}case"move":{if(!c?.editable)continue;const t=u.appendChild(document.createElement("button"));t.classList.add("NeeloongForm-table-move"),t.addEventListener("pointerdown",p),_((()=>e.readonly||e.disabled),(e=>{t.disabled=e}),!0,c.signal);continue}case"remove":{if(!c?.editable)continue;const e=u.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-table-remove"),e.addEventListener("click",s),_((()=>!o.get()),(t=>{e.disabled=t}),!0,c.signal);continue}case"serial":u.appendChild(document.createElement("span")).classList.add("NeeloongForm-table-serial");continue}}return u}function Ee(e,t,n,r){const o=Object.entries(e.type||{}).filter((([e,t])=>"object"!=typeof t?.type)).map((([e,{width:t,label:n}])=>({field:e,width:t,label:n}))),s=t.columns;if(Array.isArray(s)){const e=new Map(o.map((e=>[e.field,e]))),t=s.map((t=>{if(!t)return null;if("number"==typeof t)return{placeholder:t};if("string"==typeof t)return e.get(t)||null;if("object"!=typeof t)return null;if(Array.isArray(t)){const e=new Set(n),r=t.filter((t=>e.delete(t)));return r?{actions:r}:null}const{action:r,actions:o,field:s,placeholder:i,pattern:l,width:a,label:c,editable:u}=t;if(s){const t=e.get(s);if(t)return{field:s,placeholder:i,width:a,label:c||t.label,editable:u}}const d=new Set(n),f=[r,o].flat().filter((e=>e&&d.delete(e)));return f.length?{actions:f,width:a,label:c,editable:u}:l?{pattern:l,placeholder:i,width:a,label:c,editable:u}:i||a?{placeholder:i,width:a,label:c,editable:u}:null})).filter(Boolean);if(t.length)return t}return r(o)}function Le(e,t,n,r,o,s){const i=t.appendChild(document.createElement("tr"));for(const{action:t,actions:l,width:a,label:c}of n){const n=i.appendChild(document.createElement("th"));if(a&&n.setAttribute("width",`${a}`),![t,l].flat().includes("add")){n.innerText=c||"";continue}if(!s)continue;const u=n.appendChild(document.createElement("button"));u.addEventListener("click",r),u.classList.add("NeeloongForm-table-add"),_((()=>!o.get()),(e=>{u.disabled=e}),!0,e)}}function xe(e,t){const{colStart:n,colSpan:r,colEnd:o,rowStart:s,rowSpan:i,rowEnd:l}=t;e.classList.add("NeeloongForm-item-grid"),n&&o?e.style.gridColumn=`${n} / ${o}`:n&&r?e.style.gridColumn=`${n} / span ${r}`:r&&(e.style.gridColumn=`span ${r}`),s&&l?e.style.gridRow=`${s} / ${l}`:s&&i?e.style.gridRow=`${s} / span ${i}`:i&&(e.style.gridRow=`span ${i}`)}function Ce(e,t){const n=document.createElement("div"),r=n.appendChild(document.createElement("div"));r.classList.add("NeeloongForm-item-label"),q((()=>r.innerText=t?.label||""),e);const o=n.appendChild(document.createElement("div"));o.classList.add("NeeloongForm-item-content");const s=n.appendChild(document.createElement("div"));s.classList.add("NeeloongForm-item-description"),q((()=>s.innerText=t?.description||""),e);const i=n.appendChild(document.createElement("div"));return i.classList.add("NeeloongForm-item-error"),q((()=>i.innerText=t?.error||""),e),[n,o]}function Oe(e,t,n,r,o){function s(r){if(!r)return null;if(!o)switch(r){case"inline":{const[r,o]=Ce(e,n);return xe(r,t),[r,o]}case"base":{const e=document.createElement("div");return xe(e,t),[e,e]}}switch(r){case"block":return Ce(e,n);case"fieldset":{const t=document.createElement("fieldset"),r=t.appendChild(document.createElement("legend"));return q((()=>r.innerText=n?.label||""),e),[t,t]}case"collapse":{const t=document.createElement("details");t.open=!0;const r=t.appendChild(document.createElement("summary"));return q((()=>r.innerText=n?.label||""),e),[t,t]}}return null}const[i,l]=s(t.cell)||s(r)||Ce(e,n);return i.classList.add("NeeloongForm-item"),q((()=>{n?.error?i.classList.add("NeeloongForm-item-errored"):i.classList.remove("NeeloongForm-item-errored")}),e),q((()=>{n?.required?i.classList.add("NeeloongForm-item-required"):i.classList.remove("NeeloongForm-item-required")}),e),[i,l]}function $e(e,t,n,r,o,{columns:s,addable:i,deletable:l,remove:a,dragenter:c,dragstart:u,dragend:d,addNode:f,drop:h,createDetails:p},g){const m=document.createElement("div");m.addEventListener("dragstart",(e=>{e.target===e.currentTarget&&u()})),m.addEventListener("dragend",d),m.classList.add("NeeloongForm-tree-item"),q((()=>{t.get()===e?m.classList.add("NeeloongForm-tree-current"):m.classList.remove("NeeloongForm-tree-current")}),g?.signal),q((()=>{const e=o.get().level;m.style.setProperty("--NeeloongForm-tree-level",`${e}`)}),g?.signal),q((()=>{m.hidden=o.get().hidden}),g?.signal);const b=[];function v({pointerId:e}){function t(n){n.pointerId===e&&m&&(m.draggable=!1,window.removeEventListener("pointerup",t,{capture:!0}),window.removeEventListener("pointercancel",t,{capture:!0}))}m.draggable=!0,window.addEventListener("pointerup",t,{capture:!0}),window.addEventListener("pointercancel",t,{capture:!0})}function y(){const e=o.get();e.collapsed=!e.collapsed}let w=()=>{};function E(){w=p(e)}function L(){t.get()!==e?w=p(e):w()}const x="move"===r.mainMethod?v:null,C=x?null:"collapse"===r.mainMethod?y:"trigger"===r.mainMethod?L:E,O=m.appendChild(document.createElement("div"));O.classList.add("NeeloongForm-tree-line");const $=m.appendChild(document.createElement("div"));$.classList.add("NeeloongForm-tree-drop");const A=m.appendChild(document.createElement("div"));A.classList.add("NeeloongForm-tree-drop-children"),$.addEventListener("dragover",(e=>e.preventDefault())),A.addEventListener("dragover",(e=>e.preventDefault())),$.addEventListener("drop",(()=>h())),A.addEventListener("drop",(()=>h(!0))),q((()=>{$.hidden=A.hidden=!o.get().droppable}),g?.signal);let S=()=>{};$.addEventListener("dragenter",(()=>S=c($))),A.addEventListener("dragenter",(()=>S=c(A))),$.addEventListener("dragleave",(()=>S())),A.addEventListener("dragleave",(()=>S()));for(const t of s){const{actions:r,pattern:o,placeholder:s,width:c,field:u}=t;if(r?.length)for(const t of r)switch(t){case"trigger":{const e=O.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-trigger"),e.addEventListener("click",L);continue}case"open":{const e=O.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-open"),e.addEventListener("click",E);continue}case"collapse":{const e=O.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-collapse"),e.addEventListener("click",y),b.push(e);continue}case"move":{if(!g?.editable)continue;const t=O.appendChild(document.createElement("button"));t.classList.add("NeeloongForm-tree-move"),t.addEventListener("pointerdown",v),_((()=>e.readonly||e.disabled),(e=>{t.disabled=e}),!0,g.signal);continue}case"add":{if(!g?.editable)continue;const e=O.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-add"),e.addEventListener("click",f),_((()=>!i.get()),(t=>{e.disabled=t}),!0,g.signal);continue}case"remove":{if(!g?.editable)continue;const e=O.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-remove"),e.addEventListener("click",a),_((()=>!l.get()),(t=>{e.disabled=t}),!0,g.signal);continue}case"serial":O.appendChild(document.createElement("span")).classList.add("NeeloongForm-tree-serial");continue}else{const r=O.appendChild(document.createElement("div"));if(r.classList.add("NeeloongForm-tree-cell"),C&&r.addEventListener("click",C),x&&r.addEventListener("pointerdown",x),u){const o=e.child(u);if(!o)continue;const s=ye(o,n,t,{...g,editable:!1});s&&r.appendChild(s);continue}"number"==typeof s&&(r.style.flex=`${s}`),"number"==typeof c&&(r.style.width=`${c}px`)}}return q((()=>{const e=o.get();if(e.hasChildren)if(e.collapsed)for(const e of b)e.classList.remove("NeeloongForm-tree-collapse-close"),e.classList.add("NeeloongForm-tree-collapse-open"),e.disabled=!1;else for(const e of b)e.classList.remove("NeeloongForm-tree-collapse-open"),e.classList.add("NeeloongForm-tree-collapse-close"),e.disabled=!1;else for(const e of b)e.classList.remove("NeeloongForm-tree-collapse-close"),e.classList.remove("NeeloongForm-tree-collapse-open"),e.disabled=!0}),g?.signal),m}const Ae=new Set(["vertical-lr","vertical-rl","sideways-lr","sideways-rl"]);function Se(e){const t=getComputedStyle(e),n=t.writingMode?.toLowerCase();return[Ae.has(n),"rtl"===t.direction.toLowerCase()!=("sideways-lr"===n)]}function je(t,n,r,o,s){const i=new e.Computed((()=>{const e=t.child(s);return e?Math.max(0,Math.floor(e.value?.[o])||0):0})),l=new e.Computed((()=>{if(!t.child(s))return-1;const e=i.get();if(!e)return-1;for(let t=s-1;t>=0;t--)if(e>n[t]?.levelValue)return t;return-1})),a=new e.Computed((()=>{const e=t.children,n=e[s+1];if(!n)return!1;if(!e[s])return!1;const r=i.get();return Math.floor(n.child(o)?.value)>r})),c=new e.Computed((()=>{if(r.get()===s)return!1;const e=l.get(),t=n[e];return!t||t.droppable})),u=new e.Computed((()=>{const e=l.get(),t=n[e];return t?t.level+1:0})),d=new e.State(!1),f=new e.Computed((()=>{const e=l.get(),t=n[e];return!!t&&(t.collapsed||t.hidden)})),h=new e.Computed((()=>{const e=l.get(),t=n[e];if(!t)return new Set;const r=new Set(t.parents);return r.add(e),r}));return{get level(){return u.get()},get levelValue(){return i.get()},get collapsed(){return d.get()},set collapsed(e){d.set(e)},get hidden(){return f.get()},get hasChildren(){return a.get()},get droppable(){return c.get()},get parents(){return h.get()}}}function Ne(t,n,r,o){if(o?.signal?.aborted)return null;const s=Ee(t,r,["add","move","trigger","remove","serial","open","collapse"],(e=>[{actions:["collapse","move"]},e[0],{actions:["add","remove"]}])),i=document.createElement("div");i.classList.add("NeeloongForm-tree");const l=i.appendChild(document.createElement("div"));l.classList.add("NeeloongForm-tree-main");const a=i.appendChild(document.createElement("div"));a.classList.add("NeeloongForm-tree-splitter");const c=i.appendChild(document.createElement("div"));c.classList.add("NeeloongForm-tree-details"),a.hidden=!0,c.hidden=!0;let u=null,d=0;function f(){const e=u;null!==e&&(u=null,a.releasePointerCapture(e))}a.addEventListener("pointerdown",(e=>{const{pointerId:t}=e;if([null,t].includes(u))switch(u=t,a.setPointerCapture(t),Se(a).map(((e,t)=>e?2**t:0)).reduce(((e,t)=>e+t))){case 0:d=-e.offsetX;break;case 1:d=-e.offsetY;break;case 2:d=e.offsetX-a.offsetWidth;break;case 3:d=e.offsetY-a.offsetHeight}}));const h=e=>{const[t,n]=Se(a);let r=0;switch([t,n].map(((e,t)=>e?2**t:0)).reduce(((e,t)=>e+t))){case 0:r=e.clientX-i.getBoundingClientRect().left;break;case 1:r=e.clientY-i.getBoundingClientRect().top;break;case 2:r=i.getBoundingClientRect().right-e.clientX;break;case 3:r=i.getBoundingClientRect().bottom-e.clientY}const o=1-Math.max(0,Math.min((r+d)/(e=>e?i.clientHeight-a.offsetHeight:i.clientWidth-a.offsetWidth)(t),1));c.style.inlineSize=100*o+"%"};a.addEventListener("pointermove",(e=>{const{pointerId:t}=e;a.hasPointerCapture(t)&&h(e)})),a.addEventListener("pointerup",(e=>{const{pointerId:t}=e;t===u&&(h(e),f())})),a.addEventListener("pointercancel",(e=>{const{pointerId:t}=e;t===u&&(h(e),f())}));let p=null;const g=new e.State(null);function m(e){if(o?.signal?.aborted)return()=>{};if(g.get()===e&&p){const e=p;return()=>{e.abort()}}p?.abort(),g.set(e);const t=new AbortController;p=t;const s=o?.signal?AbortSignal.any([o?.signal,t.signal]):t.signal,i=Fe(e,n,r,{...o,signal:o?.signal?AbortSignal.any([o?.signal,s]):s});return s.addEventListener("abort",(()=>{g.set(null),f()}),{once:!0}),i&&(c.appendChild(i),c.hidden=!1,a.hidden=!1,s.addEventListener("abort",(()=>{i.remove(),a.hidden=!0,c.hidden=!0}),{once:!0})),()=>{t.abort()}}const b=r.levelKey||"level",v=new e.Computed((()=>!t.readonly&&!t.disabled&&t.addable));function y(e){const n={};if(-2===e)return n[b]=0,void t.add(n);n[b]=(N[e]?.levelValue??-1)+1,t.insert(e+1,n)}function w(e){t.remove(Number(e.index))}let E=-1,L=new e.State(E);function x(e,n){if(E<0)return;const r=Number(function(e,t){if(!e)return 0;const n=Number(N[Number(e.index)]?.levelValue)||0;return t?n+1:n}(e,n))||0;let o=function(e){let t=e+1;const n=N[E]?.level??0;for(;(N[t]?.level??-1)>n;t++);return t-E}(E),s=-1;if(e){if(s=Number(e.index),E===s||N[s]?.parents?.has(E))return;if(n||s!==E+o){if(n){for(const e=N[s]?.level||0;N[s+1]?.level>e;s++);s<E&&(s+=1)}else s>E&&(s-=1);if(s<0)return}else s=-1}else if(s=N.length-1,s<0)return;if(s>=0&&E!==s){if(o=t.move(E,s,o),!o)return;E=o>1&&s>E?s-o+1:s,L.set(E)}const i=Array(o).fill(N[E]?.level??0).map(((e,t)=>Math.max((N[t+E]?.level??0)-e,0)));for(let e=0;e<o;e++){const n=t.children[E+e]?.child(b);n&&(n.value=r+i[e])}}function C(e){E=Number(e.index),L.set(E),l.classList.add("NeeloongForm-tree-moving")}let O=null;function $(e){return-1===E?()=>{}:(O?.classList.remove("NeeloongForm-tree-drag-over"),O=e,O?.classList.add("NeeloongForm-tree-drag-over"),()=>{O===e&&(O?.classList.remove("NeeloongForm-tree-drag-over"),O=null)})}function A(){E=-1,L.set(E),l.classList.remove("NeeloongForm-tree-moving"),O?.classList.remove("NeeloongForm-tree-drag-over"),O=null}if(o?.editable){const e=l.appendChild(document.createElement("button"));e.addEventListener("click",(()=>y(-1))),e.classList.add("NeeloongForm-tree-head-add"),_((()=>!v.get()),(t=>{e.disabled=t}),!0,o.signal)}const S=l.appendChild(document.createComment(""));if(o?.editable){const e=l.appendChild(document.createElement("div"));e.classList.add("NeeloongForm-tree-foot");const t=e.appendChild(document.createElement("button"));t.addEventListener("click",(()=>y(-2))),t.classList.add("NeeloongForm-tree-foot-add");const n=e.appendChild(document.createElement("div"));n.classList.add("NeeloongForm-tree-drop");let r=()=>{};n.addEventListener("dragover",(e=>e.preventDefault())),n.addEventListener("dragenter",(()=>r=$(n))),n.addEventListener("dragleave",(()=>r())),n.addEventListener("drop",(()=>x())),_((()=>!v.get()),(e=>{t.disabled=e}),!0,o.signal)}let j=new Map;const N=[];return _((()=>t.children),(i=>{let a=S.nextSibling;const c=j;j=new Map;const u=i.length;for(let e=N.length;e<u;e++)N[e]=je(t,N,L,"level",e);let d=-1;for(let u of i){d++;const i=N[d],f=c.get(u);if(f)c.delete(u),j.set(u,f),f[2](i),a!==f[0]?l.insertBefore(f[0],a):a=a.nextSibling;else{const c=new e.State(i),d=new AbortController,f=$e(u,g,n,r,c,{columns:s,addable:v,deletable:new e.Computed((()=>!t.readonly&&!t.disabled&&u.removable)),remove:w.bind(null,u),dragenter:$,dragstart:C.bind(null,u),dragend:A,addNode:()=>y(Number(u.index)),createDetails:m,drop:x.bind(null,u)},{...o,signal:o?.signal?AbortSignal.any([o?.signal,d.signal]):d.signal});l.insertBefore(f,a),j.set(u,[f,d,e=>c.set(e)])}}N.splice(u);for(const[e,t]of c.values())e.remove(),t.abort()}),!0,o?.signal),i}function Me(t,n,r,o,s){return"tree"===t?Ne(n,r,o,s):function(t,n,r,o){if(o?.signal?.aborted)return null;const s=Ee(t,r,["add","move","trigger","remove","serial"],(e=>[{actions:["add","trigger","move","remove","serial"]},...e.slice(0,3)])),i=document.createElement("table");i.classList.add("NeeloongForm-table");const l=i.appendChild(document.createElement("thead")),a=new e.Computed((()=>!t.readonly&&!t.disabled&&t.addable));function c(){t.add({})}function u(e){t.remove(Number(e.index))}let d=-1;function f(e){if(d<0)return;const n=e?Number(e.index):t.children.length;n<0||d<0||d===n||t.move(d,n)&&(d=n)}function h(e){d=Number(e.index)}function p(){d=-1}switch(Le(o?.signal,l,s,c,a,Boolean(o?.editable)),r.tableFoot){default:case"header":{const e=i.appendChild(document.createElement("tfoot"));e.addEventListener("dragenter",(()=>{f()})),Le(o?.signal,e,s,c,a,Boolean(o?.editable));break}case"add":{const e=i.appendChild(document.createElement("tfoot"));e.addEventListener("dragenter",(()=>{f()}));const t=e.appendChild(document.createElement("tr")).appendChild(document.createElement("th"));t.colSpan=s.length;const n=t.appendChild(document.createElement("button"));n.addEventListener("click",c),n.classList.add("NeeloongForm-table-foot-add"),_((()=>!a.get()),(e=>{n.disabled=e}),!0,o?.signal);break}case"none":}let g=new Map;return _((()=>t.children),(a=>{let c=l.nextSibling;const d=g;g=new Map;for(let l of a){const a=d.get(l);if(a)d.delete(l),g.set(l,a),c!==a[0]?i.insertBefore(a[0],c):c=c.nextSibling;else{const a=new AbortController,d=we(l,n,r,{columns:s,deletable:new e.Computed((()=>!t.readonly&&!t.disabled&&l.removable)),remove:u.bind(null,l),dragenter:f.bind(null,l),dragstart:h.bind(null,l),dragend:p},{...o,signal:o?.signal?AbortSignal.any([o?.signal,a.signal]):a.signal});i.insertBefore(d,c),g.set(l,[d,a])}}for(const[e,t]of d.values())e.remove(),t.abort()}),!0,o?.signal),i}(n,r,o,s)}function ke(e,t,n,r){const{type:o}=e,s=Boolean(o&&"object"==typeof o),i=n.html,l=s?e instanceof y?"collapse":"fieldset":i?"base":"inline",[a,c]=Oe(r?.signal,n,e,l,s);q((()=>a.hidden=e.hidden),r?.signal);const u=i&&function(e,t,n,r,o){const s=ve(e,r?.sanitizeHtml);return be(t,n,s,r,o),s}(i,e,t,r,n)||t(e,n.renderer,r)||e instanceof y&&Me(n.arrayStyle,e,t,n,r)||s&&Fe(e,t,n,r);return u&&c.appendChild(u),a}function Be(e,t,n,r){if("button"===n.type)return function(e,t,n){const[r,o]=Oe(n?.signal,t,e),s=document.createElement("button");q((()=>{const r=t.text,o="function"==typeof r?r(e,n):r;s.innerText=o??""}),n?.signal),q((()=>{const r=t.disabled,o="function"==typeof r?r(e,n):r;s.disabled=Boolean(o)}),n?.signal),s.classList.add("NeeloongForm-item-button"),o.appendChild(s);const i=t.click;if("function"==typeof i)s.addEventListener("click",(t=>i(t,e,n)));else if(i&&"string"==typeof i){const t=n?.call;"function"==typeof t&&s.addEventListener("click",(r=>t(i,r,e,n)))}return r}(e,n,r);if("html"===n.type)return function(e,t,n,r){const o=n.html;if(!o)return null;const[s,i]=Oe(r?.signal,n,e),l=ve(o,r?.sanitizeHtml);return be(e,t,l,r,n),i.appendChild(l),s}(e,t,n,r);const o=n.field;if(!o)return null;const s=e.child(o);return s?ke(s,t,n,r):null}function Fe(e,t,n,r,o){if(r?.signal?.aborted)return null;const s=o instanceof HTMLElement?o:document.createElement("div");s.classList.add("NeeloongForm");const i=n.fields||e.layout.fields;if(i?.length)for(const n of i){const o=Be(e,t,n,r);o&&s.appendChild(o)}else{const n=[...e].map((([,e])=>e));for(const e of n){const n=ke(e,t,e.layout,r);n&&s.appendChild(n)}}return s}function Te(e,t,n,r,o){if(o?.signal?.aborted)return;const s=r||e.layout,i=s.html;if(!i)return void Fe(e,t,s,o||null,n);const l=ve(i,o?.sanitizeHtml);be(e,t,l,o||null,s),n.appendChild(l),o?.signal?.addEventListener("abort",(()=>{n.removeChild(l)}),{once:!0})}export{y as ArrayStore,I as Layout,v as ObjectStore,b as Store,q as effect,ge as render,Te as renderStore,_ as watch};
6
+ import{Signal as e}from"signal-polyfill";export{Signal}from"signal-polyfill";function t(t,n,r,s){const i=new e.State("boolean"==typeof n?n:null),o="function"==typeof r?new e.Computed((()=>Boolean(r(t)))):new e.State(Boolean(r)),l=()=>{const e=i.get();return null===e?o.get():e},a=s?new e.Computed((()=>s.get()||l())):new e.Computed(l);return[i,a]}const n=e=>"string"==typeof e&&e||null,r=e=>"number"==typeof e&&e||null,s=e=>e instanceof RegExp?e:null,i=Boolean;function o(e){if("number"==typeof e||"string"==typeof e)return{label:e,value:e};if(!e||"object"!=typeof e)return null;const{children:t,label:n,value:r}=e,s=Array.isArray(t)?t.map(o).filter(i):[];return s.length?{children:s,label:n,value:r}:"number"==typeof r||"string"==typeof r?{label:n,value:r}:null}const l=e=>{if(!e||!Array.isArray(e))return null;const t=e.map(o).filter(i);return t.length?t:null};function a(t,n,r,s){const i=new e.State(n(r));let o;if("function"==typeof s){const r=s;o=new e.Computed((()=>n(r(t))))}else{const t=n(s);o=new e.Computed((()=>t))}const l=new e.Computed((()=>{const e=i.get();return null===e?o.get():e}));return[i,l]}const c=Symbol();function u(e){const t={[c]:e};for(const[n,r]of e)Object.defineProperty(t,n,{get:()=>r.ref,configurable:!1,enumerable:!0});return Object.defineProperty(t,c,{get:()=>e,configurable:!1,enumerable:!0}),t}let d=null,f=null,h=Object.create(null);function p(e,t){const n=e.type;let r=y;if(!e.array||f&&t?.parent instanceof f)if("string"==typeof n){const e=h[n];e&&(r=e)}else n&&"object"==typeof n&&d&&(r=d);else f&&(r=f);return new r(e,t)}function g(e){d=e}function m(e){return e?e instanceof Error?e.message:"string"!=typeof e?"":e:""}function b(t,...n){const r=n.flat().filter((e=>"function"==typeof e));if(!r.length)return[()=>Promise.resolve([]),new e.Computed((()=>[])),()=>{}];const s=new e.State([]);let i=null;return[function(){i?.abort(),i=new AbortController;const e=i.signal;return s.set([]),Promise.all(r.map((n=>async function(e,n){let r=[];try{r.push(await e(t,n))}catch(e){r.push(e)}const i=r.flat().map(m).filter(Boolean);return!n.aborted&&i.length&&s.set([...s.get(),...i]),i}(n,e)))).then((e=>e.flat()))},new e.Computed((()=>s.get())),()=>{i?.abort(),s.set([])}]}class v extends y{get kind(){return"object"}#e=Object.create(null);*[Symbol.iterator](){yield*Object.entries(this.#e)}child(e){return this.#e[e]||null}constructor(e,t){super(t);const n=this.#e;for(const[t,r]of Object.entries(e)){const e=p(r,{index:t,parent:this,onUpdate:(e,t,r)=>{if(r!==n[t])return;const s=this.value??null;"object"!=typeof s||Array.isArray(s)||(this.value={...s,[t]:e})}});n[t]=e}}}g(ObjectStore);class y{#t=null;#n;get schema(){return this.#n}#r=new Map;emit(e,t){const n=this.#t;if(n)return n.emit(e,t);const r="number"==typeof e?String(e):e,s=this.#r;let i=!1;for(const e of[...s.get(r)||[]])i=!1===e(t,this)||i;return!i}listen(e,t){const n=this.#t;if(n)return n.listen(e,(e=>t.call(this,e,this)));const r=t.bind(this),s=this.#r,i="number"==typeof e?String(e):e;let o=s.get(i);return o||(o=new Set,s.set(i,o)),o.add(r),()=>{o?.delete(r)}}static create(e,t={}){return p({type:e},{...t,parent:null})}static setStore(e,t){return function(e,t){h[e]=t}(e,t)}#s=!1;get null(){return this.#s}get kind(){return""}#i=null;get ref(){return this.#i||u(this)}constructor(i,{null:o,ref:c,default:d,setValue:f,convert:h,onUpdate:p,states:g,validator:v,validators:w,index:E,size:L,new:x,parent:C,hidden:O,clearable:S,required:$,disabled:A,readonly:j,removable:N,label:M,description:k,placeholder:B,min:F,max:T,step:P,minLength:U,maxLength:R,pattern:q,values:I}={}){if(i instanceof y)return this.#t=i,this.#n=i.#n,this.#s=i.#s,this.#i=i.#i,this.#o=i.#o,this.#l=i.#l,this.#a=i.#a,this.#c=i.#c,this.#u=i.#u,this.#d=i.#d,this.#f=i.#f,this.#h=i.#h,this.#p=i.#p,this.#g=i.#g,this.#m=i.#m,this.#b=i.#b,this.#v=i.#v,this.#y=i.#y,this.#w=i.#w,this.#E=i.#E,this.#L=i.#L,this.#x=i.#x,this.#C=i.#C,this.#O=i.#O,this.#S=i.#S,this.#$=i.#$,this.#A=i.#A,this.#j=i.#j,this.#N=i.#N,this.#M=i.#M,this.#k=i.#k,this.#B=i.#B,this.#F=i.#F,this.#T=i.#T,this.#P=i.#P,this.#U=i.#U,this.#R=i.#R,this.#q=i.#q,this.#I=i.#I,this.#D=i.#D,this.#_=i.#_,this.#V=i.#V,this.#H=i.#H,this.#z=i.#z,this.#K=i.#K,this.#Y=i.#Y,this.#W=i.#W,this.#Q=i.#Q,this.#X=i.#X,this.#G=i.#G,this.#Z=i.#Z,this.#J=i.#J,this.#ee=i.#ee,this.#te=i.#te,this.#ne=i.#ne,this.#re=i.#re,this.#se=i.#se,this.#ie=i.#ie,this.#oe=i.#oe,this.#le=i.#le,this.#ae=i.#ae,this.#ce=i.#ce,this.#ue=i.#ue,void(this.#de=i.#de);this.#n=i;const D=C instanceof y?C:null;var _,V;D&&(this.#f=D,this.#h=D.#h,this.#v=D.#v),this.#a=(_=this,"function"!=typeof(V=d??i.default)?()=>structuredClone(V):e=>structuredClone(V(_,e)));const H=new e.State(!1);this.#b=H,this.#v=H,this.#p=i.type,this.#g=i.meta,this.#m=i.component,this.#l=i.layout||{};const z=new e.State(Boolean(x));this.#C=z;const K=D?new e.Computed((()=>D.#x.get()||z.get())):new e.Computed((()=>z.get()));this.#x=K;const Y=Boolean(i.immutable),W=!1!==i.creatable;this.#L=Y,this.#E=W;const Q=i.readonly,X=new e.State("boolean"==typeof j?j:null);let G;if("function"==typeof Q)G=new e.Computed((()=>Boolean(Q(this))));else{const t=Boolean(Q);G=new e.Computed((()=>t))}const Z=()=>{if(K.get()?!W:Y)return!0;const e=X.get();return null===e?G.get():e},J=D?D.#F:null;this.#B=X,this.#F=J?new e.Computed((()=>J.get()||Z())):new e.Computed(Z),[this.#O,this.#S]=t(this,O,i.hidden,D?D.#S:null),[this.#$,this.#A]=t(this,S,i.clearable,D?D.#A:null),[this.#j,this.#N]=t(this,$,i.required,D?D.#N:null),[this.#M,this.#k]=t(this,A,i.disabled,D?D.#k:null),[this.#U,this.#R]=a(this,n,M,i.label),[this.#q,this.#I]=a(this,n,k,i.description),[this.#D,this.#_]=a(this,n,B,i.placeholder),[this.#V,this.#H]=a(this,r,F,i.min),[this.#z,this.#K]=a(this,r,T,i.max),[this.#Y,this.#W]=a(this,r,P,i.step),[this.#Q,this.#X]=a(this,r,U,i.minLength),[this.#G,this.#Z]=a(this,r,R,i.maxLength),[this.#J,this.#ee]=a(this,s,q,i.pattern),[this.#te,this.#ne]=a(this,l,I,i.values),[this.#T,this.#P]=t(this,N,i.removable??!0);const ee=function(t,...n){const r=n.flat().filter((e=>"function"==typeof e));return r.length?new e.Computed((()=>{const e=[];for(const n of r)try{e.push(n(t))}catch(t){e.push(t)}return e.flat().map(m).filter(Boolean)})):new e.Computed((()=>[]))}(this,i.validator,v),te=i.states;this.#o=te?Object.defineProperties(Object.create(null),Object.fromEntries(Object.entries(te).map((([t,{get:n,set:r,toState:s}])=>{const i=new e.State(s?.(g?.[t])),o=new e.Computed((()=>n(this,i)));return[t,{configurable:!0,enumerable:!0,get:()=>o.get(),set(e){return r?.(this,i,e)}}]})))):null;const[ne,re,se]=b(this,i.validators?.change,w?.change),[ie,oe,le]=b(this,i.validators?.blur,w?.blur);if(this.listen("change",(()=>{ne()})),this.listen("blur",(()=>{ie()})),this.#re=function(...t){const n=t.filter(Boolean);return new e.Computed((()=>n.flatMap((e=>e.get()))))}(ee,re,oe),this.#se=ee,this.#ie=ne,this.#oe=ie,this.#le=se,this.#ae=le,L instanceof e.State||L instanceof e.Computed?this.#y=L:this.#y=new e.State(L||0),o)return this.#s=!0,void(this.#i=u(this));this.#i=c||null,this.#d=p||null,this.#c="function"==typeof f?f:null,this.#u="function"==typeof h?h:null,this.#w.set(E??"");for(const[e,t]of Object.entries(i.events||{}))"function"==typeof t&&this.listen(e,t)}#o;get states(){return this.#o}#l;get layout(){return this.#l}#a;createDefault(e){return this.#a(e)}#c=null;#u=null;#d=null;#f=null;#h=this;#p;#g;#m;#b=null;#v;get loading(){return this.#v.get()}set loading(e){const t=this.#b;t&&t.set(Boolean(e))}get store(){return this}get parent(){return this.#f}get root(){return this.#h}get type(){return this.#p}get meta(){return this.#g}get component(){return this.#m}#y;get size(){return this.#y.get()}#w=new e.State("");get index(){return this.#w.get()}set index(e){this.#w.set(e)}get no(){if(this.#s)return"";const e=this.index;return"number"==typeof e?e+1:e}#E=!0;get creatable(){return this.#E}#L=!1;get immutable(){return this.#L}#x;#C;get selfNew(){return this.#C.get()}set selfNew(e){this.#C.set(Boolean(e))}get new(){return this.#x.get()}set new(e){this.#C.set(Boolean(e))}#O;#S;get selfHidden(){return this.#O.get()}set selfHidden(e){this.#O.set("boolean"==typeof e?e:null)}get hidden(){return this.#S.get()}set hidden(e){this.#O.set("boolean"==typeof e?e:null)}#$;#A;get selfClearable(){return this.#$.get()}set selfClearable(e){this.#$.set("boolean"==typeof e?e:null)}get clearable(){return this.#A.get()}set clearable(e){this.#$.set("boolean"==typeof e?e:null)}#j;#N;get selfRequired(){return this.#j.get()}set selfRequired(e){this.#j.set("boolean"==typeof e?e:null)}get required(){return this.#N.get()}set required(e){this.#j.set("boolean"==typeof e?e:null)}#M;#k;get selfDisabled(){return this.#M.get()}set selfDisabled(e){this.#M.set("boolean"==typeof e?e:null)}get disabled(){return this.#k.get()}set disabled(e){this.#M.set("boolean"==typeof e?e:null)}#B;#F;get selfReadonly(){return this.#B.get()}set selfReadonly(e){this.#B.set("boolean"==typeof e?e:null)}get readonly(){return this.#F.get()}set readonly(e){this.#B.set("boolean"==typeof e?e:null)}#T;#P;get selfRemovable(){return this.#T.get()}set selfRemovable(e){this.#T.set("boolean"==typeof e?e:null)}get removable(){return this.#P.get()}set removable(e){this.#T.set("boolean"==typeof e?e:null)}#U;#R;get selfLabel(){return this.#U.get()}set selfLabel(e){this.#U.set(n(e))}get label(){return this.#R.get()}set label(e){this.#U.set(n(e))}#q;#I;get selfDescription(){return this.#q.get()}set selfDescription(e){this.#q.set(n(e))}get description(){return this.#I.get()}set description(e){this.#q.set(n(e))}#D;#_;get selfPlaceholder(){return this.#D.get()}set selfPlaceholder(e){this.#D.set(n(e))}get placeholder(){return this.#_.get()}set placeholder(e){this.#D.set(n(e))}#V;#H;get selfMin(){return this.#V.get()}set selfMin(e){this.#V.set(r(e))}get min(){return this.#H.get()}set min(e){this.#V.set(r(e))}#z;#K;get selfMax(){return this.#z.get()}set selfMax(e){this.#z.set(r(e))}get max(){return this.#K.get()}set max(e){this.#z.set(r(e))}#Y;#W;get selfStep(){return this.#Y.get()}set selfStep(e){this.#Y.set(r(e))}get step(){return this.#W.get()}set step(e){this.#Y.set(r(e))}#Q;#X;get selfMinLength(){return this.#Q.get()}set selfMinLength(e){this.#Q.set(r(e))}get minLength(){return this.#X.get()}set minLength(e){this.#Q.set(r(e))}#G;#Z;get selfMaxLength(){return this.#G.get()}set selfMaxLength(e){this.#G.set(r(e))}get maxLength(){return this.#Z.get()}set maxLength(e){this.#G.set(r(e))}#J;#ee;get selfPattern(){return this.#J.get()}set selfPattern(e){this.#J.set(s(e))}get pattern(){return this.#ee.get()}set pattern(e){this.#J.set(s(e))}#te;#ne;get selfValues(){return this.#te.get()}set selfValues(e){this.#te.set(l(e))}get values(){return this.#ne.get()}set values(e){this.#te.set(l(e))}#re;#se;#ie;#oe;#le;#ae;get errors(){return this.#re.get()}get error(){return this.#re.get()[0]}*[Symbol.iterator](){}child(e){return null}#ce=!1;#ue=new e.State(null);#de=new e.State(this.#ue.get());#fe=new Set;bindObject(e,t){const n=this.#t;if(n)return n.bindObject(e,t);const r=new v(e,this);if(t?.aborted)return r;const s=this.#fe;return s.add(r),t?.addEventListener("abort",(()=>s.delete(r))),this.#he(),r}get changed(){return!Object.is(this.#de.get(),this.#ue.get())}get value(){return this.#de.get()}set value(e){const t=this.#t;if(t)return void(t.value=e);const n=this.#c?.(e),r=void 0===n?e:n;this.#de.set(r),this.#ce||this.#ue.set(r),this.#d?.(r,this.#w.get(),this),this.#he()}#he(){this.#pe||(this.#pe=!0,queueMicrotask((()=>{const e=this.#de.get();this.#ge(e)})))}reset(e=(this.#ce?this.#ue.get():this.#a()),t=this.#C.get()){const n=this.#t;n?n.reset(e,t):this.#me(e,Boolean(t))}#me(e,t){this.#C.set(t);const n=this.#c?.(e),r=void 0===n?e:n;if(this.#le(),this.#ae(),this.#ce=!0,!r||"object"!=typeof r){for(const e of[this,...this.#fe])for(const[,t]of e)t.#me(null,!1);return this.#de.set(r),this.#ue.set(r),this.#d?.(r,this.#w.get(),this),r}const s=Array.isArray(r)?[...r]:{...r};for(const e of[this,...this.#fe])for(const[t,n]of e)s[t]=n.#me(Object.hasOwn(s,t)?s[t]:void 0,!1);return this.#de.set(s),this.#ue.set(s),this.#d?.(s,this.#w.get(),this),s}#pe=!1;#be(e){let t=this.#u?.(e)??e;return void 0===t&&(t=e),Object.is(this.#de.get(),t)?t:this.#ge(t)}#ge(e){this.#pe=!1;let t=e;if(e&&"object"==typeof e){let n=Array.isArray(e)?[...e]:{...e},r=!1;for(const t of[this,...this.#fe])for(const[s,i]of t){const t=Object.hasOwn(e,s)?e[s]:void 0,o=i.#be(t);Object.is(t,o)||(n[s]=o,r=!0)}r&&(t=e=n,this.#de.set(e))}return this.#ce||(this.#ce=!0,this.#ue.set(t)),this.#de.set(e),e}validate(e){if(!0===e)return this.#t?Promise.resolve(null):Promise.all([this.#se.get(),this.#ie(),this.#oe()]).then((e=>{const t=e.flat();return t.length?t:null}));const t=Array.isArray(e)?e:[];if(!this.#t&&this.#S.get())return Promise.resolve([]);const n=[this.validate(!0).then((e=>e?.length?[{path:[...t],store:this,errors:e}]:[]))];for(const[e,r]of this)n.push(r.validate([...t,e]));for(const e of this.#fe)n.push(e.validate(t));return Promise.all(n).then((e=>e.flat()))}}let w=class extends y{get kind(){return"object"}#e;*[Symbol.iterator](){yield*Object.entries(this.#e)}child(e){return this.#e[e]||null}constructor(e,{parent:t,index:n,new:r,onUpdate:s}={}){const i=Object.entries(e.type),o=Object.create(null);super(e,{parent:t,index:n,new:r,onUpdate:s,size:i.length,setValue:e=>"object"==typeof e?e:null,convert:e=>"object"==typeof e?e:{},default:e.default??((t,n)=>{const r=Object.entries(o);let s=n;return s&&"object"==typeof s||(s=e.default),s&&"object"==typeof s||(s={}),Object.fromEntries(r.map((([e,t])=>[e,t.createDefault(Object.hasOwn(s,e)?s[e]:null)])))})});const l={parent:this,onUpdate:(e,t,n)=>{n===this.#e[t]&&(this.value={...this.value,[t]:e})}};for(const[e,t]of i)o[e]=p(t,{...l,index:e});this.#e=o}};g(w);class E extends y{#ve=()=>{throw new Error};#e;get children(){return[...this.#e.get()]}*[Symbol.iterator](){return yield*[...this.#e.get().entries()]}child(e){const t=this.#e.get();return"number"==typeof e&&e<0?t[t.length+e]||null:t[Number(e)]||null}get kind(){return"array"}constructor(n,{parent:r,onUpdate:s,index:i,new:o,addable:l}={}){const a=new e.State([]),c=e=>{const t=Array.isArray(e)&&e.length||0,n=[...a.get()],r=n.length;for(let e=n.length;e<t;e++)n.push(this.#ve(e));n.length=t,r!==t&&a.set(n)};super({...n,immutable:!1},{index:i,new:o,parent:r,size:new e.Computed((()=>a.get().length)),setValue(e){const t=Array.isArray(e)?e:null==e?null:[e];return c(t),t},convert(e){const t=Array.isArray(e)?e:null==e?null:[e];return c(t),t},onUpdate:(e,t,n)=>{c(e),s?.(e,t,n)},default:n.default??[]}),[this.#ye,this.#we]=t(this,l,n.addable??!0),this.#e=a;const u={parent:this,onUpdate:(e,t,n)=>{if(a.get()[t]!==n)return;const r=[...this.value||[]];r.length<t&&(r.length=t),r[t]=e,this.value=r}};this.#ve=(e,t)=>{const r=p({...n,creatable:!0},{...u,index:e,new:t});return r.index=e,r}}bindObject(){throw new Error("ArrayStore 不支持 bindObject()方法")}#ye;#we;get selfAddable(){return this.#ye.get()}set selfAddable(e){this.#ye.set("boolean"==typeof e?e:null)}get addable(){return this.#we.get()}set addable(e){this.#ye.set("boolean"==typeof e?e:null)}insert(e,t=null,n){if(!this.addable)return!1;const r=this.value||[];if(!Array.isArray(r))return!1;const s=[...this.#e.get()],i=Math.max(0,Math.min(Math.floor(e),s.length)),o=this.#ve(i,n);o.new=!0,s.splice(i,0,o);for(let t=e+1;t<s.length;t++)s[t].index=t;const l=[...r];return l.splice(i,0,o.createDefault(t)),this.#e.set(s),this.value=l,!0}add(e=null){return this.insert(this.#e.get().length,e)}remove(e){const t=this.value;if(!Array.isArray(t))return;const n=[...this.#e.get()],r=Math.max(0,Math.min(Math.floor(e),n.length)),[s]=n.splice(r,1);if(!s)return;for(let t=e;t<n.length;t++)n[t].index=t;const i=[...t],[o]=i.splice(r,1);return this.#e.set(n),this.value=i,o}move(e,t,n=1){const r=Math.floor(n);if(r<1)return 0;if(e<=t&&e+r>t)return 0;const s=this.value;if(!Array.isArray(s))return 0;const i=[...this.#e.get()],o=i.splice(e,r),l=o.length;if(!l)return 0;const a=r>1&&t>e?t-r+1:t;i.splice(a,0,...o);let c=Math.min(e,a),u=Math.max(e+r-1,t);for(let e=c;e<=u;e++)i[e].index=e;const d=[...s],f=d.splice(e,l);for(let e=f.length;e<l;e++)f.push(null);for(;a>d.length;)d.push(null);return d.splice(a,0,...f),this.#e.set(i),this.value=d,l}exchange(e,t){const n=this.value;if(!Array.isArray(n))return!1;const r=[...this.#e.get()],s=r[e],i=r[t];if(!s||!i)return!1;r[t]=s,r[e]=i,s.index=t,i.index=e;const o=[...n],l=o[e],a=o[t];return o[t]=l,o[e]=a,this.#e.set(r),this.value=o,!0}}function L(e){if(!e?.length)return[];const t=[];let n=[],r=Object.create(null),s=!1;for(const t of e){if("string"==typeof t)continue;const e=t.template;if(!e)continue;s=!0;const n=x(t);r[e]={params:t.params,children:n?[n]:[]}}function i(e){e.length&&t.push({type:"divergent",children:e.map((([e,t])=>{const n=x(t);return n?"string"!=typeof n&&"fragment"===n.type?[n,e]:[{children:[n]},e]:[{children:[]},e]}))})}for(const r of e){if("string"==typeof r){i(n),n=[],t.push(r);continue}if(r.template){i(n),n=[];continue}if(n.length&&r.else){const e=r.if||null;n.push([e,r]),e||(i(n),n=[]);continue}i(n),n=[];const e=r.if;if(e){n.push([e,r]);continue}const s=x(r);s&&t.push(s)}return i(n),s?[{type:"fragment",templates:r,children:t}]:t}function x(e){let t=function(e){const t=e.fragment;if(t&&"string"==typeof t)return{type:"template",template:t,attrs:e.attrs,children:[]};const n=function({text:e,html:t}){return null!=e?{type:"content",value:e}:null!=t?{type:"content",value:t,html:!0}:void 0}(e),r=n?[n]:L(e.children);return!e.name||t?n||{type:"fragment",children:r}:{name:e.name,is:e.is,attrs:e.attrs,events:e.events,classes:e.classes,styles:e.styles,enhancements:e.enhancements,bind:e.bind,comment:e.comment,children:r}}(e),n=e.vars;n.length&&t&&"string"!=typeof t&&(t.vars?t.vars=[...n,...t.vars]:t?t.vars=n:t={type:"fragment",vars:n,children:[]},n=null);const r=e.enum,s=e.value;return r&&(t={type:"enum",value:r,sort:e.sort,vars:n,children:t?[t]:[]},n=null),s&&(t={type:"value",name:s,vars:n,children:t?[t]:[]},n=null),n?.length&&(t={type:"fragment",vars:n,children:t?[t]:[]}),t}f=E;const C=/^([+-]?(\d(_?\d)*(\.(\d(_?\d)*)?)?|\.\d(_?\d)*)(?:e[+-]?\d(_?\d)*)|0(b[01](?:_?[01])*|o[0-7](?:_?[0-7])*|x[\dA-F](?:_?[\dA-F])*))$/is;const O={CALC:"no `createCalc` option, no expression parsing support",EVENT:"no `createEvent`, options, no event parsing support",CLOSE:(e,t)=>`end tag name: ${e} is not match the current start tagName: ${t}`,UNCLOSE:e=>`end tag name: ${e} maybe not complete`,QUOTE:e=>`attribute value no end '${e}' match`,CLOSE_SYMBOL:"elements closed character '/' and '>' must be connected to",UNCOMPLETED:(e,t)=>t?`end tag name: ${e} is not complete: ${t}`:`end tag name: ${e} maybe not complete`,ENTITY:e=>`entity not found: ${e}`,SYMBOL:e=>`unexpected symbol: ${e}`,TAG:e=>`invalid tagName: ${e}`,ATTR:e=>`invalid attribute: ${e}`,EQUAL:"attribute equal must after attrName",ATTR_VALUE:'attribute value must after "="',EOF:"unexpected end of file"};class S extends Error{constructor(e,...t){const n=O[e];super("function"==typeof n?n(...t):n),this.code=e}}const $=/^(?<decorator>[:@!+*\.?]|style:|样式:)?(?<name>-?[\w\p{Unified_Ideograph}_][-\w\p{Unified_Ideograph}_:\d\.]*)$/u,A=/^~(?<enhancement>[\w\p{Unified_Ideograph}_][-\w\p{Unified_Ideograph}_\d\.]*)(?:(?<decorator>[:@!])(?<name>-?[\w\p{Unified_Ideograph}_][-\w\p{Unified_Ideograph}_:\d\.]*))?$/u,j=/^(?<name>[a-zA-Z$\p{Unified_Ideograph}_][\da-zA-Z$\p{Unified_Ideograph}_]*)?$/u;function N(e,t){const n=e[t];if(n)return n;const r={attrs:Object.create(null),events:Object.create(null)};return e[t]=r,r}function M(e,t){const n=e.replace(/$\s+|\s+$/gs,"");if("null"===n)return{value:null};if("true"===n)return{value:!0};if("false"===n)return{value:!1};const r=function(e){return C.test(e)?Number(e.replaceAll("_","")):NaN}(n);return Number.isNaN(r)?j.test(n)?{name:n}:{calc:t(e)}:{value:r}}function k(e,t,n,r,s){const{attrs:i,events:o,classes:l,styles:a,vars:c,params:u,enhancements:d}=e;return function(f,h){const p=f.replace(/./g,".").replace(/:/g,":").replace(/@/g,"@").replace(/+/g,"+").replace(/-/g,"-").replace(/[*×]/g,"*").replace(/!/g,"!"),g=($.exec(p)||A.exec(p))?.groups;if(!g)throw new S("ATTR",f);const{name:m,enhancement:b}=g,v=g.decorator?.toLowerCase();if(b){if(":"===v)N(d,b).attrs[m]=h?M(h,t):{name:m};else if("@"===v)N(d,b).events[m]=h?j.test(h)?{name:h}:{event:r(h)}:{name:m};else if("!"===v){if("bind"===m)N(d,b).bind=h||!0}else N(d,b).value=M(h,t);return}if(!v)return void(i[m]={value:h});if(":"===v)return void(i[m]=h?M(h,t):{name:m});if("."===v)return void(l[m]=h?M(h,t):{name:m});if("style:"===v)return void(a[m]=M(h,t));if("@"===v)return void(o[m]=h?j.test(h)?{name:h}:{event:r(h)}:{name:m});if("+"===v)return void c.push({...h?M(h,n):{value:void 0},variable:m,init:!0});if("*"===v)return void c.push({...M(h,t),variable:m,init:!1});if("?"===v)return void(u[m]=M(h,t));if("!"!==v)return;switch(m.toString()){case"fragment":e.fragment=h||!0;break;case"else":e.else=!0;break;case"enum":e.enum=h?M(h,t):{value:!0};break;case"sort":e.sort=h?M(h,t):{value:!0};break;case"if":e.if=M(h,t);break;case"text":e.text=M(h,t);break;case"html":s&&(e.html=M(h,t));break;case"template":e.template=h;break;case"bind":e.bind=h||!0;break;case"value":e.value=h;break;case"comment":e.comment=h}}}function B(e,t){return{name:e,is:t,children:[],attrs:Object.create(null),events:Object.create(null),classes:Object.create(null),styles:Object.create(null),vars:[],params:Object.create(null),enhancements:Object.create(null)}}var F={lt:"<",gt:">",amp:"&",quot:'"',apos:"'",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",times:"×",divide:"÷",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",euro:"€",trade:"™",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"};const T=/^(?<name>[\w\p{Unified_Ideograph}_][-\.\|:|d\w\p{Unified_Ideograph}_:]*)(?:|(?<is>[\w\p{Unified_Ideograph}_][-\.\|:|d\w\p{Unified_Ideograph}_]*))?$/u;function P(e){return"="!==e&&"/"!==e&&">"!==e&&e&&"'"!==e&&'"'!==e&&!function(e){return"0x80"===e||e<=" "}(e)}function U(e,t,n,r){let s=r[n];return null==s&&(s=e.lastIndexOf("</"+n+">"),s<t&&(s=e.lastIndexOf("</"+n)),r[n]=s),s<t}function R(...e){console.error(new S(...e))}function q(e){const t=e.slice(1,-1);return"#"===t.charAt(0)?String.fromCodePoint(parseInt(t.substring(1).replace("x","0x"))):t in F?F[t]:(R("ENTITY",e),e)}var I=Object.freeze({__proto__:null,parse:function(e,{createCalc:t=()=>{throw new S("CALC")},createInit:n=t,createEvent:r=()=>{throw new S("EVENT")},simpleTag:s=new Set,enableHTML:i=!1}={}){const o=[],l={children:o},a=[];let c=null,u=l;function d(){c=a.pop()||null,u=c||l}function f(e){(e=e.replace(/^\n|(?<=\n)\t+|\n\t*$/g,""))&&u.children.push(e)}let h={},p=0;function g(t){if(t<=p)return;f(e.substring(p,t).replace(/&#?\w+;/g,q)),p=t}for(;;){const m=e.indexOf("<",p);if(m<0){const j=e.substring(p);j.match(/^\s*$/)||f(j);break}m>p&&g(m);const b=e.charAt(m+1);if("!"===b){let N=m+2,M=">";if("--"===e.slice(m+2,m+4)&&(N+=4,M="--\x3e"),p=e.indexOf(M,N),p<0)break;p++;continue}if("/"===b){p=e.indexOf(">",m+3);let F=e.substring(m+2,p);if(p<0?(F=e.substring(m+2).replace(/[\s<].*/,""),R("UNCOMPLETED",F,c?.name),p=m+1+F.length):F.match(/\s</)&&(F=F.replace(/[\s<].*/,""),R("UNCOMPLETED",F),p=m+1+F.length),c){const I=c.name;if(I===F)d();else{if(I.toLowerCase()!=F.toLowerCase())throw new S("CLOSE",F,c.name);d()}}p++;continue}function v(t){let n=p+1;if(p=e.indexOf(t,n),p<0)throw new S("QUOTE",t);const r=e.slice(n,p).replace(/&#?\w+;/g,q);return p++,r}function y(){let t=e.charAt(p);for(;t<=" "||"€"===t;t=e.charAt(++p));return t}function w(){let t=p,n=e.charAt(p);for(;P(n);)p++,n=e.charAt(p);return e.slice(t,p)}p=m+1;let E=e.charAt(p);switch(E){case"=":throw new S("EQUAL");case'"':case"'":throw new S("ATTR_VALUE");case">":case"/":throw new S("SYMBOL",E);case"":throw new S("EOF")}const x=w(),C=T.exec(x)?.groups;if(!C)throw new S("TAG",x);a.push(c),c=B(C.name,C.is),u.children.push(c),u=c;const O=k(c,t,n,r,i);let $=!0,A=!1;e:for(;$;){let D=y();switch(D){case"":R("EOF"),p++;break e;case">":p++;break e;case"/":A=!0;break e;case'"':case"'":throw new S("ATTR_VALUE");case"=":throw new S("SYMBOL",D)}const _=w();if(!_){R("EOF"),p++;break e}switch(D=y(),D){case"":R("EOF"),p++;break e;case">":O(_,""),p++;break e;case"/":O(_,""),A=!0;break e;case"=":p++;break;case"'":case'"':O(_,v(D));continue;default:O(_,"");continue}switch(D=y(),D){case"":O(_,""),R("EOF"),p++;break e;case">":O(_,""),p++;break e;case"/":O(_,""),A=!0;break e;case"'":case'"':O(_,v(D));continue}O(_,w())}if(A){for(;;){p++;const V=e.charAt(p);if("/"!==V&&!(V<=" "||"€"===V))break}switch(e.charAt(p)){case"=":throw new S("EQUAL");case'"':case"'":throw new S("ATTR_VALUE");case"":R("EOF");break;case">":p++;break;default:throw new S("CLOSE_SYMBOL")}d()}else(s.has(x)||U(e,p,x,h))&&d()}return L(o)}});function D(t,n){if(n?.aborted)return;let r=!0;const s=new e.subtle.Watcher((()=>{r&&(r=!1,queueMicrotask((()=>{r=!0;for(const e of s.getPending())e.get();s.watch()})))})),i=new e.Computed(t);if(s.watch(i),i.get(),!n)return()=>{s.unwatch(i)};n.addEventListener("abort",(()=>{s.unwatch(i)}),{once:!0})}function _(e,t,n,r){let s,i=!1;return D((()=>{const r=e();if(!i)return i=!0,s=r,void(n&&t(r));Object.is(r,s)||(s=r,t(r))}),r)}const V=new Set(Object.keys({type:!0,meta:!0,component:!0,kind:!0,value:!0,store:!0,parent:!0,root:!0,ref:!0,schema:!0,new:!0,readonly:!0,creatable:!0,immutable:!0,changed:!0,loading:!0,required:!0,clearable:!0,hidden:!0,disabled:!0,label:!0,description:!0,placeholder:!0,min:!0,max:!0,step:!0,minLength:!0,maxLength:!0,pattern:!0,values:!0,null:!0,index:!0,no:!0,size:!0,error:!0,errors:!0}));function*H(e,t="",n="$"){yield[`${t}`,{get:()=>e.value,set:t=>e.value=t,store:e}];for(const r of V)yield[`${t}${n}${r}`,{get:()=>e[r]}];yield[`${t}${n}value`,{get:()=>e.value,set:t=>e.value=t}],yield[`${t}${n}state`,{get:()=>null,set:e=>{}}],yield[`${t}${n}reset`,{exec:()=>e.reset()}],yield[`${t}${n}validate`,{exec:t=>e.validate(t?[]:null)}],e instanceof E?(yield[`${t}${n}addable`,{get:()=>e.addable}],yield[`${t}${n}insert`,{exec:(t,n)=>e.insert(t,n)}],yield[`${t}${n}add`,{exec:t=>e.add(t)}],yield[`${t}${n}remove`,{exec:t=>e.remove(t)}],yield[`${t}${n}move`,{exec:(t,n)=>e.move(t,n)}],yield[`${t}${n}exchange`,{exec:(t,n)=>e.exchange(t,n)}]):yield[`${t}${n}addable`,{get:()=>!1}]}function z(e,t,n){for(const[n,r]of t){for(const[t,s]of H(r,n))e[t]=s;for(const[t,s]of H(r,n,"$$"))e[t]=s}}const K={value$:{calc:e=>e?.[c].value},state$:{calc:e=>e?.[c].state}};var Y=Object.getOwnPropertyDescriptors(K);function W(e){if(!e)return!1;const t=e.indexOf("$");return t<0||(e.indexOf("$",t+2)>0||"$"===e[0]&&"_$".includes(e[1]))}function Q(e,t){Object.defineProperty(t,"$store",{value:e,writable:!1,configurable:!0,enumerable:!1}),Object.defineProperty(t,"$root",{value:e.root,writable:!1,configurable:!0,enumerable:!1})}class X{exec({name:e,calc:t,value:n}){if("string"==typeof e){const t=this.#Ee[e];if("function"!=typeof t?.get)return;return t.get()}return"function"==typeof t?t(this.getters):n}get({name:t,calc:n,value:r}){if("string"==typeof t){const e=this.#Ee[t];if("function"!=typeof e?.get)return;const{get:n,set:r}=e;return{get:n,set:r}}if("function"==typeof n){const t=new e.Computed((()=>n(this.getters)));return{get:()=>t.get()}}return{get:()=>r}}watch(e,t){return _((()=>this.exec(e)),t,!0)}enum(e){const{name:t,calc:n}=e;if("function"==typeof n)return()=>n(this.getters);if("string"==typeof t){const e=this.#Ee[t];if("function"!=typeof e?.get)return null;const n=e.store;return n instanceof y?n:e.get}return this.store}getStore(e){if(!e)return null;const t=this.#Ee[!0===e?"":e];return t?.get&&t.store||null}bind(e,t,n){const r=this.#Ee[!0===e?"":e];if(!r?.get)return;const{store:s}=r;return s?V.has(t)?_((()=>s[t]),n,!0):void 0:"value"===t?_((()=>r.get()),n,!0):void 0}bindAll(e){const t=this.#Ee[!0===e?"":e];if(!t?.get)return;const{store:n}=t;if(!n){const e=t.get;if("function"!=typeof e)return;return{$value:t=>_(e,t,!0)}}const r=Object.fromEntries([...V].map((e=>[`$${e}`,t=>_((()=>n[e]),t,!0)])));return r.$$state=e=>_((()=>null),e,!0),r}getBindAll(e){const t=this.#Ee[!0===e?"":e];if(!t?.get)return{};const{store:n}=t;if(!n){const{get:e,set:n}=t;return{$value:{get:e,set:n}}}const r=Object.fromEntries([...V].map((e=>[`$${e}`,"value"===e?{get:()=>n[e],set:t=>{n[e]=t}}:{get:()=>n[e]}])));return r.$$state={get:()=>null,set:()=>{}},r}bindSet(e,t){const n=this.#Ee[!0===e?"":e];if(!n?.get)return;const{store:r}=n;if(r)switch(t){case"value":return e=>{r.value=e};case"state":return e=>{}}}bindEvents(e){const t=this.#Ee[!0===e?"":e];if(!t?.get)return;const{store:n}=t;if(!n){const e=t.set;if("function"!=typeof e)return;return{$value:e}}return{$value:e=>{n.value=e},$state:e=>{},$input:e=>{n.emit("input",e)},$change:e=>{n.emit("change",e)},$click:e=>{n.emit("click",e)},$focus:e=>{n.emit("focus",e)},$blur:e=>{n.emit("blur",e)},$reset:e=>{n.reset()},$validate:e=>{n.validate(e?[]:null)}}}getEvent({name:e,event:t}){if("function"==typeof t)return t;const n=this.#Ee[e];if(!n)return null;const{exec:r,calc:s}=n;return"function"==typeof r?r:"function"==typeof s?s:null}constructor(e,t){if(this.store=e,t instanceof X){this.#Le=t.#Le;const e=this.#xe;for(const[n,r]of Object.entries(t.#xe))e[n]=r;const n=this.#Ce;for(const[e,r]of Object.entries(t.#Ce))n[e]=r}else z(this.#xe,e),this.#Le=function(e){const t=Object.create(null,Y);if(!e||"object"!=typeof e)return t;for(const[n,r]of Object.entries(e)){if(!W(n))continue;if(!r||"object"!=typeof r)continue;if(r instanceof y){for(const[e,s]of H(r,n))t[e]=s;continue}const{get:e,set:s,exec:i,calc:o}=r;"function"!=typeof e?"function"==typeof o||o&&"object"==typeof o?t[n]={calc:o}:("function"==typeof i||o&&"object"==typeof o)&&(t[n]={exec:i}):t[n]="function"==typeof s?{get:e,set:s}:{get:e}}return t}(t)}#Le;#xe=Object.create(null);#Ce=Object.create(null);store;#Oe=null;#f=null;#Se=null;get#Ee(){const e=this.#Se;if(e)return e;const t=Object.create(null,Object.getOwnPropertyDescriptors({...this.#xe,...this.#Le,...this.#Ce})),n=this.store,r=this.#f,s=this.#Oe;for(const[e,r]of H(n))t[e]=r;for(const[e,s]of function*(e,t,n="",r="$"){if(!(e instanceof E))return yield[`${n}${r}removable`,{get:()=>!1}],yield[`${n}${r}upMovable`,{get:()=>!1}],yield[`${n}${r}downMovable`,{get:()=>!1}],yield[`${n}${r}remove`,{exec:()=>{}}],yield[`${n}${r}upMove`,{exec:()=>{}}],void(yield[`${n}${r}downMove`,{exec:()=>{}}]);yield[`${n}${r}removable`,{get:()=>!e.readonly&&!e.disabled&&!!t.removable}],yield[`${n}${r}upMovable`,{get:()=>{if(e.readonly)return!1;if(e.disabled)return!1;const n=t.index;return"number"==typeof n&&!(n<=0)}}],yield[`${n}${r}downMovable`,{get:()=>{if(e.readonly)return!1;if(e.disabled)return!1;const n=t.index;return"number"==typeof n&&!(n>=e.size-1)}}],yield[`${n}${r}remove`,{exec:()=>{e.readonly||e.disabled||t.removable&&e.remove(Number(t.index))}}],yield[`${n}${r}upMove`,{exec:()=>{if(e.readonly)return;if(e.disabled)return;const n=t.index;"number"==typeof n&&(n<=0||e.move(n,n-1))}}],yield[`${n}${r}downMove`,{exec:()=>{if(e.readonly)return;if(e.disabled)return;const n=t.index;"number"==typeof n&&(n>=e.size-1||e.move(n,n+1))}}]}(r,n))t[e]=s;if(s)for(const e of Object.keys(s))t[`$${e}`]={get:()=>s[e]};return this.#Se=t,t}setStore(e,t,n){const r=new X(e,this);return t&&(r.#f=t),z(r.#xe,e),n&&(r.#Oe=n),r}child(e){if(!e)return this;const t=this.store.child(e);if(!t)return null;const n=new X(t,this);return z(n.#xe,t),n}params(t,n,r,s){let i=this.store;if(!0===s)i=r.store;else if(s){const e=r.#Ee[s],t=e?.get&&e.store;t&&(i=t)}if(0===Object.keys(t).length)return this;const o=new X(i,this);o.#f=this.#f,o.#Oe=this.#Oe;const l=o.#Ce,a=o.#Ee;for(const[s,i]of Object.entries(t)){const t=s in n?n[s]:null;if(t){const{name:n,calc:i,value:o}=t;if(n){const e=r.#Ee[n];if(!e?.get)continue;if(!e.store){l[s]=a[s]=e;continue}for(const[t,n]of H(e.store,s))l[t]=a[t]=n;continue}if("function"==typeof i){const t=new e.Computed((()=>i(r.getters)));l[s]=a[s]={get:()=>t.get()};continue}l[s]=a[s]={get:()=>o}}else{const{name:t,calc:n,value:r}=i;if("function"==typeof n){const t=o.getters;o.#$e=null;const r=new e.Computed((()=>n(t)));l[s]=a[s]={get:()=>r.get()};continue}if(t){const e=a[t];if(!e?.get)continue;if(!e.store){l[s]=a[s]=e;continue}for(const[t,n]of H(e.store,s))l[t]=a[t]=n;continue}l[s]=a[s]={get:()=>r}}}return o}setObject(e){const t=new X(this.store,this);return t.#Oe=e,t}set(t){if(!t?.length)return this;const n=new X(this.store,this);n.#f=this.#f,n.#Oe=this.#Oe;const r=n.#Ce,s=n.#Ee;for(const{variable:i,name:o,calc:l,value:a,init:c}of t)if(c){const t=new e.State(a);if("function"==typeof l){const e=n.settable;n.#Ae=null,t.set(l(e))}else if(o){const e=s[o];if(!e?.get)continue;t.set(e.get())}r[i]=s[i]={get:()=>t.get(),set:e=>{t.set(e)}}}else if("function"!=typeof l)if(o){const e=s[o];if(!e)continue;if(!e.get||!e.store){r[i]=s[i]=e;continue}for(const[t,n]of H(e.store,i))r[t]=s[t]=n}else r[i]=s[i]={get:()=>a};else{const t=n.getters;n.#$e=null;const o=new e.Computed((()=>l(t)));r[i]=s[i]={get:()=>o.get()}}return n}#je=null;get all(){const e=this.#je;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#Ee))n.get?Object.defineProperty(t,e,{get:n.get,set:n.set,configurable:!0,enumerable:!0}):n.calc?Object.defineProperty(t,e,{value:n.calc,writable:!1,configurable:!0,enumerable:!1}):Object.defineProperty(t,e,{value:n.exec,writable:!1,configurable:!0,enumerable:!1});return Q(this.store,t),this.#je=t,t}#Ae=null;get settable(){const e=this.#Ae;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#Ee))n.get?Object.defineProperty(t,e,{get:n.get,set:n.set,configurable:!0,enumerable:!0}):n.calc&&Object.defineProperty(t,e,{value:n.calc,writable:!1,configurable:!0,enumerable:!1});return Q(this.store,t),this.#Ae=t,t}#$e=null;get getters(){const e=this.#$e;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#Ee))n.get?Object.defineProperty(t,e,{get:n.get,configurable:!0,enumerable:!0}):n.calc&&Object.defineProperty(t,e,{value:n.calc,writable:!1,configurable:!0,enumerable:!1});return Q(this.store,t),this.#$e=t,t}}const G={width:"px",height:"px",top:"px",right:"px",bottom:"px",left:"px",border:"px","border-top":"px","border-right":"px","border-left":"px","border-bottom":"px","border-width":"px","border-top-width":"px","border-right-width":"px","border-left-width":"px","border-bottom-width":"px","border-radius":"px","border-top-left-radius":"px","border-top-right-radius":"px","border-bottom-left-radius":"px","border-bottom-right-radius":"px",padding:"px","padding-top":"px","padding-right":"px","padding-left":"px","padding-bottom":"px",margin:"px","margin-top":"px","margin-right":"px","margin-left":"px","margin-bottom":"px"};function Z(e,t){let n=!!Array.isArray(t)&&Boolean(t[1]),r="";if("string"==typeof t)return r=t.replace(/!important\s*$/,""),r?(n=r!==t,[r,n?"important":void 0]):null;const s=Array.isArray(t)?t[0]:t;return"number"==typeof s||"bigint"==typeof s?r=s&&e in G?`${s}${G[e]}`:`${s}`:"string"==typeof s&&(r=s),r?[r,n?"important":void 0]:null}class J{#r=new Map;emit(e,...t){const n="number"==typeof e?String(e):e,r=this.#r;for(const e of[...r.get(n)||[]])e(...t)}listen(e,t){const n=t.bind(this),r=this.#r,s="number"==typeof e?String(e):e;let i=r.get(s);return i||(i=new Set,r.set(s,i)),i.add(n),()=>{i?.delete(n)}}}const ee={stop(e){e instanceof Event&&e.stopPropagation()},prevent(e){e instanceof Event&&e.preventDefault()},self(e){if(e instanceof Event)return e.target===e.currentTarget},enter(e){if(e instanceof KeyboardEvent)return"Enter"===e.key},tab(e){if(e instanceof KeyboardEvent)return"Tab"===e.key},esc(e){if(e instanceof KeyboardEvent)return"Escape"===e.key},space(e){if(e instanceof KeyboardEvent)return" "===e.key},backspace(e){if(e instanceof KeyboardEvent)return"Backspace"===e.key},delete(e){if(e instanceof KeyboardEvent)return"Delete"===e.key},delBack(e){if(e instanceof KeyboardEvent)return"Delete"===e.key||"Backspace"===e.key},"del-back"(e){if(e instanceof KeyboardEvent)return"Delete"===e.key||"Backspace"===e.key},insert(e){if(e instanceof KeyboardEvent)return"Insert"===e.key},repeat(e){if(e instanceof KeyboardEvent)return e.repeat},key(e,t){if(e instanceof KeyboardEvent){const n=e.code.toLowerCase().replace(/-/g,"");for(const e of t)if(n===e.toLowerCase().replace(/-/g,""))return!0;return!1}},main(e){if(e instanceof MouseEvent)return 0===e.button},auxiliary(e){if(e instanceof MouseEvent)return 1===e.button},secondary(e){if(e instanceof MouseEvent)return 2===e.button},left(e){if(e instanceof MouseEvent)return 0===e.button},middle(e){if(e instanceof MouseEvent)return 1===e.button},right(e){if(e instanceof MouseEvent)return 2===e.button},primary(e){if(e instanceof PointerEvent)return e.isPrimary},mouse(e){if(e instanceof PointerEvent)return"mouse"===e.pointerType},pen(e){if(e instanceof PointerEvent)return"pen"===e.pointerType},touch(e){if(e instanceof PointerEvent)return"touch"===e.pointerType},pointer(e,t){if(e instanceof PointerEvent){const n=e.pointerType.toLowerCase().replace(/-/g,"");for(const e of t)if(n===e.toLowerCase().replace(/-/g,""))return!0;return!1}},ctrl(e){if(e instanceof MouseEvent||e instanceof KeyboardEvent||e instanceof TouchEvent)return e.ctrlKey},alt(e){if(e instanceof MouseEvent||e instanceof KeyboardEvent||e instanceof TouchEvent)return e.altKey},shift(e){if(e instanceof MouseEvent||e instanceof KeyboardEvent||e instanceof TouchEvent)return e.shiftKey},meta(e){if(e instanceof MouseEvent||e instanceof KeyboardEvent||e instanceof TouchEvent)return e.metaKey},cmd(e){if(e instanceof MouseEvent||e instanceof KeyboardEvent||e instanceof TouchEvent)return e.ctrlKey||e.metaKey}};function te(e,t,n){const r=[];if(t)for(let s=e.shift();s;s=e.shift()){const e=s.indexOf(":"),i=e>=0?s.slice(0,e):s,o=e>=0?s.slice(e+1).split(":"):[],l=i.replace(/^-+/,""),a=(i.length-l.length)%2==1;let c=t[l]||l;if(n)switch(c){case"once":case"passive":case"capture":n[c]=!a;continue}"string"==typeof c&&(c=ee[c]),"function"==typeof c&&r.push([c,o,a])}return r}function ne(e,t,n){return r=>{const s=e.all;for(const[e,t,i]of n)if(e(r,t,s)===i)return;t(r,s)}}function re(e){return"number"==typeof e||"bigint"==typeof e?String(e):"boolean"==typeof e?e?"":null:"string"==typeof e?e:null===(e??null)?null:String(e)}function se(e){return null===(e??null)?"":String(e)}function ie(e,t){if(e instanceof HTMLInputElement&&"checked"===t)switch(e.type.toLowerCase()){case"checkbox":case"radio":return Boolean}if((e instanceof HTMLSelectElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)&&"value"===t)return se;if(e instanceof HTMLDetailsElement&&"open"===t)return Boolean;if(e instanceof HTMLMediaElement){if("muted"===t)return Boolean;if("paused"===t)return Boolean;if("currentTime"===t)return!0;if("playbackRate"===t)return!0;if("volume"===t)return!0}return!1}const oe={input:{attrs:{$min:(e,t)=>{t.min=e},$max:(e,t)=>{t.max=e},$step:(e,t)=>{t.step=e},$placeholder:(e,t)=>{t.placeholder=e},$disabled:(e,t)=>{t.disabled=e},$readonly:(e,t)=>{t.readOnly=e},$required:(e,t)=>{t.required=e},$value:(e,t)=>{switch(t.type){case"checkbox":case"radio":t.checked=Boolean(e)}t.value=se(e)}},events:{$value:["input",(e,t)=>{switch(t.type){case"checkbox":case"radio":return t.checked;case"number":return Number(t.value)}return t.value}]}},textarea:{attrs:{$placeholder:(e,t)=>{t.placeholder=e},$disabled:(e,t)=>{t.disabled=e},$readonly:(e,t)=>{t.readOnly=e},$required:(e,t)=>{t.required=e},$value:(e,t)=>{t.value=se(e)}},events:{$value:["input",(e,t)=>t.value]}},select:{attrs:{$disabled:(e,t)=>{t.disabled=e},$required:(e,t)=>{t.required=e},$value:(e,t)=>{t.value=se(e)}},events:{$value:["change",(e,t)=>t.value]}}};function le(e,t,n){const r=document.createElement(t,{is:n||void 0}),{watch:s,props:i}=e;return["input","textarea","select"].includes(t.toLowerCase())&&e.relate(r),e.listen("init",(({events:n})=>{const o=oe[t.toLowerCase()],l=o?.attrs||{},a=o?.events||{};for(const[e,t,s]of n)if("$"!==e[0])r.addEventListener(e,t,s);else{const n=a[e];if(n){const[e,i]=n;r.addEventListener(e,(e=>t(i(e,r))),s)}}if(i)for(const[t,n]of Object.entries(e.attrs))if(s(t,(e=>{if(i.has(t))r[t]=e;else{const n=re(e);null==n?r.removeAttribute(t):r.setAttribute(t,n)}})),i.has(t))r[t]=n;else{const e=re(n);null!==e&&r.setAttribute(t,e)}else for(const[t,n]of Object.entries(e.attrs)){if(r instanceof HTMLInputElement&&"type"===t.toLocaleLowerCase()){const e=re(n);null!==e&&r.setAttribute(t,e);continue}if("$hidden"===t){n&&(r.hidden=n),s(t,(e=>{r.hidden=e}));continue}if("$"===t[0]){const e=l[t];e&&(e(n,r),s(t,(t=>e(t,r))));continue}const e=ie(r,t);if("function"==typeof e){r[t]=e(n),s(t,(n=>{r[t]=e(n)}));continue}if(e){r[t]=n,s(t,(e=>{r[t]=e}));continue}let i=re(n);null!==i&&r.setAttribute(t,i),s(t,(e=>{const n=re(e);null===n?r.removeAttribute(t):r.setAttribute(t,n)}))}})),r}function ae(e){return null===(e??null)?"":String(e)}function ce(e,t,n,r,s){if(!s){const s=e.insertBefore(document.createTextNode(""),t),i=n.watch(r,(e=>s.textContent=ae(e)));return()=>{s.remove(),i()}}const i=e.insertBefore(document.createComment(""),t),o=e.insertBefore(document.createComment(""),t),l=document.createElement("div");function a(){for(let e=i.nextSibling;e&&e!==o;e=i.nextSibling)e.remove()}const c=n.watch(r,(t=>{a(),function(t){l.innerHTML=t;for(let t=l.firstChild;t;t=i.firstChild)e.insertBefore(t,o)}(ae(t))}));return()=>{c(),a(),i.remove(),o.remove()}}function ue(e,t){if("bigint"==typeof e&&"bigint"==typeof t)return Number(e-t);if(!("number"!=typeof e&&"bigint"!=typeof e||"number"!=typeof t&&"bigint"!=typeof t))return Number(e)-Number(t);const n=String(e),r=String(t);return n>r?1:n<r?-1:0}const de=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);function fe(e,t,n,r,s){const i=e.children;if(!i.length)return()=>{};const o=t.insertBefore(document.createComment(""),n);let l=null,a=()=>{};const c=_((()=>i.find((([,e])=>!e||r.exec(e)))||null),(e=>{if(e===l)return;l=e,a(),a=()=>{};const t=e?.[0];t&&(a=s(t.children,t.vars,t.templates))}),!0);let u=!1;return()=>{u||(u=!0,c(),a(),a=()=>{},o.remove())}}function he(t,n,r,s,i,o,l,a,c){const u=t.bind,d=[...o,t.name],f=c?.(d);if(c&&!f)return()=>{};const{context:h,handler:p}=function(t,n,r,s){const i="string"==typeof t?t:t.tag,{attrs:o,events:l}="string"!=typeof t&&t||{attrs:null,events:null};let a=!1;const c=new e.State(!1);let u=!1;const d=new e.State(!1),f=Object.create(null),h=Object.create(null),p=new Set,g=[],m=new J;return{context:{events:g,props:o?new Set(Object.entries(o).filter((([,e])=>e.isProp)).map((([e])=>e))):null,attrs:h,watch(e,t){if(a)return()=>{};const n=f[e];if(!n)return()=>{};let r=n.get();const s=_((()=>n.get()),(n=>{const s=r;r=n,t(n,s,e)}),!0);return p.add(s),()=>{p.delete(s),s()}},relate(e){if(!r||!s||a)return()=>{};try{const t=s(r,e);return"function"!=typeof t?()=>{}:(p.add(t),()=>{p.delete(t),t()})}catch{return()=>{}}},get destroyed(){return c.get()},get init(){return d.get()},listen:(e,t)=>m.listen(e,t)},handler:{tag:i,set(t,n){if(o&&!(t in o))return;let r=f[t];if(r)return void r.set(n);const s=new e.State(n);f[t]=s,Object.defineProperty(h,t,{configurable:!0,enumerable:!0,get:s.get.bind(s)})},addEvent(e,t){if("function"!=typeof t)return;const[r,...s]=e.split(".").filter(Boolean),i=l?l[r].filters:{};if(!i)return;const o={},a=te(s,i,o);g.push([r,ne(n,t,a),o])},destroy(){if(!a){a=!0,c.set(!0);for(const e of p)e();m.emit("destroy")}},mount(){u||(u=!0,d.set(!0),m.emit("init",{events:g}))}}}}(f||t.name,s,s.getStore(u),a),g=f?.attrs,m=g?function(e,t,n,r,s){let i=new Set;for(const[o,l]of Object.entries(r)){if("class"===o||"style"===o)continue;if(o in n){const r=n[o],{name:s,calc:a,value:c}=n[o];if(!s&&!a){e.set(o,c);continue}l.immutable&&e.set(o,t.exec(r)),i.add(t.watch(r,(t=>e.set(o,t))));continue}const r=l.bind;if(!s||!r){e.set(o,l.default);continue}if("string"==typeof r){const n=t.bind(s,r,(t=>e.set(o,t)));n?i.add(n):e.set(o,l.default);continue}if(!Array.isArray(r)){e.set(o,l.default);continue}const[a,c,u]=r;if(!a||"function"!=typeof c)continue;if(!u){const n=!0===s?"":s;i.add(t.watch({name:n},(t=>e.set(o,t)))),e.addEvent(a,((...e)=>{t.all[n]=c(...e)}));continue}const d=t.bind(s,"state",(t=>e.set(o,t)));if(!d)continue;i.add(d);const f=t.bindSet(s,"state");f&&e.addEvent(a,((...e)=>{f(c(...e))}))}return()=>{const e=i;i=new Set;for(const t of e)t()}}(p,s,t.attrs,g,u):function(e,t,n){const r=e.tag;let s=new Set;for(const[i,o]of Object.entries(n)){if("class"===i||"style"===i)continue;const{name:n,calc:l,value:a}=o;if(n||l)if("string"!=typeof r||"input"!==r.toLocaleLowerCase()||"type"!==i.toLocaleLowerCase())s.add(t.watch(o,(t=>e.set(i,t))));else{const n=t.exec(o);e.set(i,n)}else e.set(i,a)}return()=>{const e=s;s=new Set;for(const t of e)t()}}(p,s,t.attrs);for(const[e,n]of Object.entries(t.events)){const t=s.getEvent(n);t&&p.addEvent(e,t)}const b=function(e,t,n){if(!n)return()=>{};let r=new Set;for(const[s,i]of Object.entries(t.bindAll(n)||{}))"function"==typeof i&&r.add(i((t=>e.set(s,t))));for(const[r,s]of Object.entries(t.bindEvents(n)||{}))e.addEvent(r,(e=>s(e)));return()=>{const e=r;r=new Set;for(const t of e)t()}}(p,s,u),v=f?"function"==typeof f.tag?f.tag(h):le(h,f.tag,f.is):le(h,t.name,t.is),y=Array.isArray(v)?v[0]:v,w=Array.isArray(v)?v[1]:y;n.insertBefore(y,r);const E=w?me(t.children||[],w,null,s,i,o,l,a,c):()=>{},L=function(e,t,n,r){if(!(e instanceof Element))return()=>{};r&&(e.className+=" "+t.exec(r));let s=new Set;for(const[r,i]of Object.entries(n))i.value?e.classList.add(r):s.add(_((()=>Boolean(t.exec(i))),(t=>{t?e.classList.add(r):e.classList.remove(r)}),!0));return()=>{if(!s)return;const e=s;s=null;for(const t of e)t()}}(y,s,t.classes,t.attrs.class),x=function(e,t,n,r){if(!(e instanceof HTMLElement||e instanceof SVGElement))return()=>{};if(r){const n=[e.getAttribute("style")||"",t.exec(r)||""].filter(Boolean).join(";");n&&e.setAttribute("style",n)}let s=new Set;for(const[r,i]of Object.entries(n))s.add(_((()=>Z(r,t.exec(i))),(t=>{t?e.style.setProperty(r,...t):e.style.removeProperty(r)}),!0));return()=>{if(!s)return;const e=s;s=null;for(const t of e)t()}}(y,s,t.styles,t.attrs.style);p.mount();const C=function(t,n,r,s,i,o){let l=new Set;for(const[a,{attrs:c,value:u,events:d,bind:f}]of Object.entries(n)){if(!de(s,a))continue;const h=s[a];if("function"!=typeof h)continue;let p=!1;const g=new e.State(!1),m=h?.events,b=[],v=Object.create(null),y=new Set,w=new J;function E(e,t){if("function"!=typeof t)return;const[n,...s]=e.split(".").filter(Boolean),i=m?m[n].filters:{};if(!i)return;const o={},l=te(s,i,o);b.push([n,ne(r,t,l),o])}function L(){if(!p){p=!0,g.set(!0);for(const e of y)e();w.emit("destroy")}}l.add(L);for(const[C,O]of Object.entries(c)){const S=r.get(O);S&&Object.defineProperty(v,C,{...S,configurable:!0,enumerable:!0})}for(const[$,A]of Object.entries(d)){const j=r.getEvent(A);j&&E($,j)}if(f){for(const[N,M]of Object.entries(r.getBindAll(f)||{}))Object.defineProperty(v,N,{...M,configurable:!0,enumerable:!0});for(const[k,B]of Object.entries(r.bindEvents(f)||{}))E(k,(e=>B(e)))}const x={get value(){return null},events:b,attrs:v,watch(e,t){if(p)return()=>{};let n=v[e];const r=_((()=>v[e]),(r=>{const s=n;n=r,t(r,s,e)}),!0);return y.add(r),()=>{y.delete(r),r()}},get destroyed(){return g.get()},listen:(e,t)=>w.listen(e,t),root:i,slot:o,tag:t};if(u){const F=r.get(u);F&&Object.defineProperty(x,"value",{...F,configurable:!0,enumerable:!0})}h(x)}return()=>{const e=l;l=new Set;for(const t of e)t()}}(p.tag,t.enhancements,s,l,y,w);return()=>{C(),p.destroy(),y.remove(),m(),E(),b(),L(),x()}}function pe(e,t,n){if(!n)return t;const r=Object.entries(n);if(!r.length)return t;const s=Object.create(t);for(const[t,n]of r)s[t]=[n,e];return s}function ge(t,n,r,s,i,o,l,a,c){if("string"==typeof t){const e=document.createTextNode(t);return n.insertBefore(e,r),()=>e.remove()}const u=s.set(t.vars),d=pe(u,i,t.templates);if("divergent"===t.type)return fe(t,n,r,u,((e,t,s)=>{const d=u.set(t),f=pe(d,i,s);return me(e,n,r,d,f,o,l,a,c)}));if("value"===t.type){const e=u.child(t.name);return e?me(t.children,n,r,e,d,o,l,a,c):()=>{}}if("enum"===t.type){const s=u.enum(t.value),i=(e,r)=>me(t.children,n,e,r,d,o,l,a,c);return s instanceof E?function(t,n,r,s,i){const o=t.insertBefore(document.createComment(""),n);let l=new Map;function a(e){for(const[t,n,r]of e.values())r(),t.remove(),n.remove()}const c=new e.State(0),u=_((()=>r.children),(function(e){if(!o.parentNode)return;let n=o.nextSibling;const u=l;l=new Map,c.set(e.length);for(let o of e){const e=u.get(o);if(!e){const e=t.insertBefore(document.createComment(""),n),a=t.insertBefore(document.createComment(""),n),u=i(a,s.setStore(o,r,{get count(){return c.get()},get key(){return o.index},get index(){return o.index},get item(){return o.value}}));l.set(o,[e,a,u]);continue}if(u.delete(o),l.set(o,e),n===e[0]){n=e[1].nextSibling;continue}let a=e[0];for(;a&&a!==e[1];){const e=a;a=a.nextSibling,t.insertBefore(e,n)}t.insertBefore(e[1],n)}a(u)}),!0);return()=>{o.remove(),a(l),u()}}(n,r,s,u,i,t.sort):s instanceof w?function(e,t,n,r,s,i){const o=[],l=[...n],a=l.length,c=i?l.map((([e,t])=>[e,t,r.setStore(t,n).exec(i)])).sort((([,,e],[,,t])=>ue(e,t))).map((([e,t],n)=>[e,t,n])):l.map((([e,t],n)=>[e,t,n]));for(const[e,i,l]of c)o.push(s(t,r.setStore(i,n,{get count(){return a},get key(){return e},get index(){return l},get item(){return i.value}})));return()=>{for(const e of o)e()}}(0,r,s,u,i,t.sort):"function"==typeof s?function(t,n,r,s,i,o){const l=new e.Computed((()=>{const e=r();if("number"==typeof e){const t=Math.floor(e);return t?Array(t).fill(0).map(((e,t)=>[t+1,t])):[]}return e&&"object"==typeof e?Array.isArray(e)?e.map(((e,t)=>[e,t])):Object.entries(e).map((([e,t])=>[t,e])):[]})),a=o?new e.Computed((()=>{const e=l.get();return e.map((([t,n],r)=>[n,t,s.setObject({get count(){return e.length},get key(){return t},get item(){return n},get index(){return r}}).exec(o)])).sort((([,,e],[,,t])=>ue(e,t))).map((([e,t],n)=>[t,n,e]))})):new e.Computed((()=>l.get().map((([e,t],n)=>[t,n,e])))),c=t.insertBefore(document.createComment(""),n);let u=[];function d(e){for(const[t,n,r]of e)r(),t.remove(),n.remove()}const f=new e.State(0),h=_((()=>a.get()),(function(n){if(!c.parentNode)return;let r=c.nextSibling;const o=u;u=[],f.set(n.length);for(const[l,a,c]of n){const n=o.findIndex((e=>e[3]===c)),[d]=n>=0?o.splice(n,1):[];if(!d){const n=t.insertBefore(document.createComment(""),r),o=t.insertBefore(document.createComment(""),r),d=new e.State(l),h=new e.State(a),p=i(o,s.setObject({get count(){return f.get()},get key(){return c},get item(){return d.get()},get index(){return h.get()}}));u.push([n,o,p,c,d,h]);continue}if(u.push(d),d[4].set(l),d[5].set(a),r===d[0]){r=d[1].nextSibling;continue}let h=d[0];for(;h&&h!==d[1];){const e=h;h=h.nextSibling,t.insertBefore(e,r)}t.insertBefore(d[1],r)}d(o)}),!0);return()=>{c.remove(),d(u),h()}}(n,r,s,u,i,t.sort):()=>{}}if("content"===t.type)return ce(n,r,u,t.value,t.html);if("template"===t.type){const e=d[t.template];if(!e)return()=>{};const[s,f]=e,h=f.params(s.params,t.attrs,u,t.bind),p=pe(h,i,s.templates);return me(s.children,n,r,h,p,o,l,a,c)}return"fragment"===t.type?me(t.children,n,r,u,d,o,l,a,c):he(t,n,r,u,d,o,l,a,c)}function me(e,t,n,r,s,i,o,l,a){const c=e.map((e=>ge(e,t,n,r,s,i,o,l,a)));let u=!1;return()=>{if(!u){u=!0;for(const e of c)e()}}}function be(e,t,n,{component:r,global:s,relate:i,enhancements:o}={}){return me(t,n,null,new X(e,s),Object.create(null),[],o||{},"function"==typeof i?i:null,r)}function ve(e){return t=>(!t.type||"field"===t.type)&&t.field===e}function ye(e,t,n,r,s,i,o){if(!r?.signal?.aborted){if(n instanceof Element){const l=n.tagName.toLowerCase();if(!n.parentNode)return;if("nl-form-field"===l){const d=n.getAttribute("name")||"",f=n.getAttribute("mode")||"",h=n.getAttribute("renderer")||"",p=r?.editable&&!n.hasAttribute("non-editable"),g=d?e.child(d):e;if(!g)return;let m=null;switch(f){case"grid":{const y=d?s?.fields?.find(ve(d))||g.layout:{...s,html:""};m=Pe(g,t,y,{...r,editable:p});break}default:m=t(g,h||s.renderer,{...r,editable:p})}if(!m){const w=n.getAttribute("placeholder")||"";return void n.replaceWith(document.createTextNode(w))}const b=n.getAttribute("class")||"";b&&m.setAttribute("class",[m.getAttribute("class")||"",b].filter(Boolean).join(" "));const v=n.getAttribute("style")||"";return v&&m.setAttribute("style",[m.getAttribute("style")||"",v].filter(Boolean).join(" ")),void n.replaceWith(m)}if("nl-form-button"===l){const L=document.createElement("button"),x=n.getAttribute("class")||"",C=n.getAttribute("style")||"";x&&L.setAttribute("class",x),C&&L.setAttribute("style",C),L.classList.add("NeeloongForm-item-button");const O=n.getAttribute("click")||"",S=r?.call;O&&"function"==typeof S&&L.addEventListener("click",(t=>S(O,t,e,r)));for(const $ of[...n.childNodes])L.appendChild($);return void n.replaceWith(L)}const a=n.getAttribute("nl-form-field");if(a){const A=a.endsWith("[]"),j=A?a.slice(0,a.length-2):a,N=j?e.child(j):e;if(!N)return;n.removeAttribute("nl-form-field");const M=j?s.fields?.find(ve(j))||N.layout:{...s,html:""};if(!A)return void ye(N,t,n,r,M,i);if(!(N instanceof E))return void n.remove();const k=n.parentElement;if(!k)return void n.remove();const B=k.insertBefore(document.createComment(""),n)||null;n.remove();let F=new Map;function T(e){for(const[t,n]of e.values())t instanceof Element&&t.remove(),n.abort()}let P=-1;const U=e=>{if(P<0)return;const t=e?Number(e.index):N.children.length;t<0||P<0||P===t||N.move(P,t)&&(P=t)};return _((()=>N.children),(e=>{let s=B.nextSibling;const i=F;F=new Map;for(const o of e){const e=i.get(o);if(e)i.delete(o),F.set(o,e),s!==e[0]?k.insertBefore(e[0],s):s=s.nextSibling;else{const e=new AbortController,i=k.insertBefore(n.cloneNode(!0),s);ye(o,t,i,{...r,signal:r?.signal?AbortSignal.any([r?.signal,e.signal]):e.signal},M,i),i.addEventListener("dragenter",(()=>{U(o)})),i.addEventListener("dragstart",(e=>{e.target===e.currentTarget&&(P=Number(o.index))})),i.addEventListener("dragend",(()=>{P=-1})),F.set(o,[i,e])}}T(i)}),!0,r?.signal),void r?.signal?.addEventListener("abort",(()=>{B.remove(),T(F)}),{once:!0})}if(null!==n.getAttribute("nl-form-remove")){const R=e.parent;R instanceof E&&n.addEventListener("click",(()=>{R.remove(Number(e.index))}))}null!==n.getAttribute("nl-form-move")&&i instanceof HTMLElement&&n.addEventListener("pointerdown",(({pointerId:e})=>{i.draggable=!0;const t=n=>{n.pointerId===e&&(i.draggable=!1,window.removeEventListener("pointerup",t,{capture:!0}),window.removeEventListener("pointercancel",t,{capture:!0}))};window.addEventListener("pointerup",t,{capture:!0}),window.addEventListener("pointercancel",t,{capture:!0})}));const c=n.getAttribute("nl-form-add");if(c){const q=e.child(c);q instanceof E&&n.addEventListener("click",(()=>{q.add({})}))}const u=r?.call;for(const I of[...n.getAttributeNames()]){const V=I.indexOf(":");if(V<0)continue;const H=I.slice(0,V).toLowerCase(),z=I.slice(V+1);if("nl-form-field"===H){const K=n.getAttribute(I),Y=K?e.child(K):e;if(!Y)continue;D((()=>{try{n.setAttribute(z,Y.value)}catch{}}),r?.signal)}else if("nl-form-event"===H&&"function"==typeof u){const W=n.getAttribute(I);if(!W)continue;try{n.addEventListener(z,(t=>u(W,t,e,r)))}catch{}}}}if(n instanceof Element||n instanceof DocumentFragment)for(const Q of[...n.children])ye(e,t,Q,r,s,i)}}function we(e,t){if(!e)return document.createElement("template").content;if("string"!=typeof e)return e.cloneNode(!0);const n=document.createElement("template");return n.innerHTML=t?t(e):e,n.content}function Ee(e,t,n,r){if(r?.signal?.aborted)return null;const s=n.html;if(s){const i=we(s,r?.sanitizeHtml);return ye(e,t,i,r,n),i}return t(e,n.renderer,r)}function Le(e,t,n,{columns:r,deletable:s,remove:i,dragenter:o,dragstart:l,dragend:a},c){const u=document.createElement("tbody");u.addEventListener("dragenter",(()=>{o()})),u.addEventListener("dragstart",(e=>{e.target===e.currentTarget&&l()})),u.addEventListener("dragend",a);const d=u.appendChild(document.createElement("tr"));let f=()=>{};const h=[];if(r.find((e=>e.actions?.includes("trigger")))){const s=Pe(e,t,n,c);if(s){const e=u.appendChild(document.createElement("tr")),t=e.appendChild(document.createElement("td"));t.colSpan=r.length,t.appendChild(s),e.hidden=!0,f=()=>{if(e.hidden){e.hidden=!1;for(const e of h)e.classList.remove("NeeloongForm-table-line-open"),e.classList.add("NeeloongForm-table-line-close")}else{e.hidden=!0;for(const e of h)e.classList.remove("NeeloongForm-table-line-close"),e.classList.add("NeeloongForm-table-line-open")}}}}function p({pointerId:e}){function t(n){n.pointerId===e&&u&&(u.draggable=!1,window.removeEventListener("pointerup",t,{capture:!0}),window.removeEventListener("pointercancel",t,{capture:!0}))}u.draggable=!0,window.addEventListener("pointerup",t,{capture:!0}),window.addEventListener("pointercancel",t,{capture:!0})}for(const n of r){const{actions:r,field:o,pattern:l,editable:a}=n;if(!r?.length){const r=d.appendChild(document.createElement("td")),s=o&&e.child(o);if(s){const e=Ee(s,t,n,{...c,editable:c?.editable&&!1!==a});e&&r.appendChild(e)}continue}const u=d.appendChild(document.createElement("th"));u.classList.add("NeeloongForm-table-line-handle");for(const t of r)switch(t){case"trigger":{const e=u.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-table-line-open"),h.push(e),e.addEventListener("click",f);continue}case"move":{if(!c?.editable)continue;const t=u.appendChild(document.createElement("button"));t.classList.add("NeeloongForm-table-move"),t.addEventListener("pointerdown",p),_((()=>e.readonly||e.disabled),(e=>{t.disabled=e}),!0,c.signal);continue}case"remove":{if(!c?.editable)continue;const e=u.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-table-remove"),e.addEventListener("click",i),_((()=>!s.get()),(t=>{e.disabled=t}),!0,c.signal);continue}case"serial":u.appendChild(document.createElement("span")).classList.add("NeeloongForm-table-serial");continue}}return u}function xe(e,t,n,r){const s=Object.entries(e.type||{}).filter((([e,t])=>"object"!=typeof t?.type)).map((([e,{width:t,label:n}])=>({field:e,width:t,label:n}))),i=t.columns;if(Array.isArray(i)){const e=new Map(s.map((e=>[e.field,e]))),t=i.map((t=>{if(!t)return null;if("number"==typeof t)return{placeholder:t};if("string"==typeof t)return e.get(t)||null;if("object"!=typeof t)return null;if(Array.isArray(t)){const e=new Set(n),r=t.filter((t=>e.delete(t)));return r?{actions:r}:null}const{action:r,actions:s,field:i,placeholder:o,pattern:l,width:a,label:c,editable:u}=t;if(i){const t=e.get(i);if(t)return{field:i,placeholder:o,width:a,label:c||t.label,editable:u}}const d=new Set(n),f=[r,s].flat().filter((e=>e&&d.delete(e)));return f.length?{actions:f,width:a,label:c,editable:u}:l?{pattern:l,placeholder:o,width:a,label:c,editable:u}:o||a?{placeholder:o,width:a,label:c,editable:u}:null})).filter(Boolean);if(t.length)return t}return r(s)}function Ce(e,t,n,r,s,i){const o=t.appendChild(document.createElement("tr"));for(const{action:t,actions:l,width:a,label:c}of n){const n=o.appendChild(document.createElement("th"));if(a&&n.setAttribute("width",`${a}`),![t,l].flat().includes("add")){n.innerText=c||"";continue}if(!i)continue;const u=n.appendChild(document.createElement("button"));u.addEventListener("click",r),u.classList.add("NeeloongForm-table-add"),_((()=>!s.get()),(e=>{u.disabled=e}),!0,e)}}function Oe(e,t){const{colStart:n,colSpan:r,colEnd:s,rowStart:i,rowSpan:o,rowEnd:l}=t;e.classList.add("NeeloongForm-item-grid"),n&&s?e.style.gridColumn=`${n} / ${s}`:n&&r?e.style.gridColumn=`${n} / span ${r}`:r&&(e.style.gridColumn=`span ${r}`),i&&l?e.style.gridRow=`${i} / ${l}`:i&&o?e.style.gridRow=`${i} / span ${o}`:o&&(e.style.gridRow=`span ${o}`)}function Se(e,t){const n=document.createElement("div"),r=n.appendChild(document.createElement("div"));r.classList.add("NeeloongForm-item-label"),D((()=>r.innerText=t?.label||""),e);const s=n.appendChild(document.createElement("div"));s.classList.add("NeeloongForm-item-content");const i=n.appendChild(document.createElement("div"));i.classList.add("NeeloongForm-item-description"),D((()=>i.innerText=t?.description||""),e);const o=n.appendChild(document.createElement("div"));return o.classList.add("NeeloongForm-item-error"),D((()=>o.innerText=t?.error||""),e),[n,s]}function $e(e,t,n,r,s){function i(r){if(!r)return null;if(!s)switch(r){case"inline":{const[r,s]=Se(e,n);return Oe(r,t),[r,s]}case"base":{const e=document.createElement("div");return Oe(e,t),[e,e]}}switch(r){case"block":return Se(e,n);case"fieldset":{const t=document.createElement("fieldset"),r=t.appendChild(document.createElement("legend"));return D((()=>r.innerText=n?.label||""),e),[t,t]}case"collapse":{const t=document.createElement("details");t.open=!0;const r=t.appendChild(document.createElement("summary"));return D((()=>r.innerText=n?.label||""),e),[t,t]}}return null}const[o,l]=i(t.cell)||i(r)||Se(e,n);return o.classList.add("NeeloongForm-item"),D((()=>{n?.error?o.classList.add("NeeloongForm-item-errored"):o.classList.remove("NeeloongForm-item-errored")}),e),D((()=>{n?.required?o.classList.add("NeeloongForm-item-required"):o.classList.remove("NeeloongForm-item-required")}),e),[o,l]}function Ae(e,t,n,r,s,{columns:i,addable:o,deletable:l,remove:a,dragenter:c,dragstart:u,dragend:d,addNode:f,drop:h,createDetails:p},g){const m=document.createElement("div");m.addEventListener("dragstart",(e=>{e.target===e.currentTarget&&u()})),m.addEventListener("dragend",d),m.classList.add("NeeloongForm-tree-item"),D((()=>{t.get()===e?m.classList.add("NeeloongForm-tree-current"):m.classList.remove("NeeloongForm-tree-current")}),g?.signal),D((()=>{const e=s.get().level;m.style.setProperty("--NeeloongForm-tree-level",`${e}`)}),g?.signal),D((()=>{m.hidden=s.get().hidden}),g?.signal);const b=[];function v({pointerId:e}){function t(n){n.pointerId===e&&m&&(m.draggable=!1,window.removeEventListener("pointerup",t,{capture:!0}),window.removeEventListener("pointercancel",t,{capture:!0}))}m.draggable=!0,window.addEventListener("pointerup",t,{capture:!0}),window.addEventListener("pointercancel",t,{capture:!0})}function y(){const e=s.get();e.collapsed=!e.collapsed}let w=()=>{};function E(){w=p(e)}function L(){t.get()!==e?w=p(e):w()}const x="move"===r.mainMethod?v:null,C=x?null:"collapse"===r.mainMethod?y:"trigger"===r.mainMethod?L:E,O=m.appendChild(document.createElement("div"));O.classList.add("NeeloongForm-tree-line");const S=m.appendChild(document.createElement("div"));S.classList.add("NeeloongForm-tree-drop");const $=m.appendChild(document.createElement("div"));$.classList.add("NeeloongForm-tree-drop-children"),S.addEventListener("dragover",(e=>e.preventDefault())),$.addEventListener("dragover",(e=>e.preventDefault())),S.addEventListener("drop",(()=>h())),$.addEventListener("drop",(()=>h(!0))),D((()=>{S.hidden=$.hidden=!s.get().droppable}),g?.signal);let A=()=>{};S.addEventListener("dragenter",(()=>A=c(S))),$.addEventListener("dragenter",(()=>A=c($))),S.addEventListener("dragleave",(()=>A())),$.addEventListener("dragleave",(()=>A()));for(const t of i){const{actions:r,pattern:s,placeholder:i,width:c,field:u}=t;if(r?.length)for(const t of r)switch(t){case"trigger":{const e=O.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-trigger"),e.addEventListener("click",L);continue}case"open":{const e=O.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-open"),e.addEventListener("click",E);continue}case"collapse":{const e=O.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-collapse"),e.addEventListener("click",y),b.push(e);continue}case"move":{if(!g?.editable)continue;const t=O.appendChild(document.createElement("button"));t.classList.add("NeeloongForm-tree-move"),t.addEventListener("pointerdown",v),_((()=>e.readonly||e.disabled),(e=>{t.disabled=e}),!0,g.signal);continue}case"add":{if(!g?.editable)continue;const e=O.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-add"),e.addEventListener("click",f),_((()=>!o.get()),(t=>{e.disabled=t}),!0,g.signal);continue}case"remove":{if(!g?.editable)continue;const e=O.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-remove"),e.addEventListener("click",a),_((()=>!l.get()),(t=>{e.disabled=t}),!0,g.signal);continue}case"serial":O.appendChild(document.createElement("span")).classList.add("NeeloongForm-tree-serial");continue}else{const r=O.appendChild(document.createElement("div"));if(r.classList.add("NeeloongForm-tree-cell"),C&&r.addEventListener("click",C),x&&r.addEventListener("pointerdown",x),u){const s=e.child(u);if(!s)continue;const i=Ee(s,n,t,{...g,editable:!1});i&&r.appendChild(i);continue}"number"==typeof i&&(r.style.flex=`${i}`),"number"==typeof c&&(r.style.width=`${c}px`)}}return D((()=>{const e=s.get();if(e.hasChildren)if(e.collapsed)for(const e of b)e.classList.remove("NeeloongForm-tree-collapse-close"),e.classList.add("NeeloongForm-tree-collapse-open"),e.disabled=!1;else for(const e of b)e.classList.remove("NeeloongForm-tree-collapse-open"),e.classList.add("NeeloongForm-tree-collapse-close"),e.disabled=!1;else for(const e of b)e.classList.remove("NeeloongForm-tree-collapse-close"),e.classList.remove("NeeloongForm-tree-collapse-open"),e.disabled=!0}),g?.signal),m}const je=new Set(["vertical-lr","vertical-rl","sideways-lr","sideways-rl"]);function Ne(e){const t=getComputedStyle(e),n=t.writingMode?.toLowerCase();return[je.has(n),"rtl"===t.direction.toLowerCase()!=("sideways-lr"===n)]}function Me(t,n,r,s,i){const o=new e.Computed((()=>{const e=t.child(i);return e?Math.max(0,Math.floor(e.value?.[s])||0):0})),l=new e.Computed((()=>{if(!t.child(i))return-1;const e=o.get();if(!e)return-1;for(let t=i-1;t>=0;t--)if(e>n[t]?.levelValue)return t;return-1})),a=new e.Computed((()=>{const e=t.children,n=e[i+1];if(!n)return!1;if(!e[i])return!1;const r=o.get();return Math.floor(n.child(s)?.value)>r})),c=new e.Computed((()=>{if(r.get()===i)return!1;const e=l.get(),t=n[e];return!t||t.droppable})),u=new e.Computed((()=>{const e=l.get(),t=n[e];return t?t.level+1:0})),d=new e.State(!1),f=new e.Computed((()=>{const e=l.get(),t=n[e];return!!t&&(t.collapsed||t.hidden)})),h=new e.Computed((()=>{const e=l.get(),t=n[e];if(!t)return new Set;const r=new Set(t.parents);return r.add(e),r}));return{get level(){return u.get()},get levelValue(){return o.get()},get collapsed(){return d.get()},set collapsed(e){d.set(e)},get hidden(){return f.get()},get hasChildren(){return a.get()},get droppable(){return c.get()},get parents(){return h.get()}}}function ke(t,n,r,s){if(s?.signal?.aborted)return null;const i=xe(t,r,["add","move","trigger","remove","serial","open","collapse"],(e=>[{actions:["collapse","move"]},e[0],{actions:["add","remove"]}])),o=document.createElement("div");o.classList.add("NeeloongForm-tree");const l=o.appendChild(document.createElement("div"));l.classList.add("NeeloongForm-tree-main");const a=o.appendChild(document.createElement("div"));a.classList.add("NeeloongForm-tree-splitter");const c=o.appendChild(document.createElement("div"));c.classList.add("NeeloongForm-tree-details"),a.hidden=!0,c.hidden=!0;let u=null,d=0;function f(){const e=u;null!==e&&(u=null,a.releasePointerCapture(e))}a.addEventListener("pointerdown",(e=>{const{pointerId:t}=e;if([null,t].includes(u))switch(u=t,a.setPointerCapture(t),Ne(a).map(((e,t)=>e?2**t:0)).reduce(((e,t)=>e+t))){case 0:d=-e.offsetX;break;case 1:d=-e.offsetY;break;case 2:d=e.offsetX-a.offsetWidth;break;case 3:d=e.offsetY-a.offsetHeight}}));const h=e=>{const[t,n]=Ne(a);let r=0;switch([t,n].map(((e,t)=>e?2**t:0)).reduce(((e,t)=>e+t))){case 0:r=e.clientX-o.getBoundingClientRect().left;break;case 1:r=e.clientY-o.getBoundingClientRect().top;break;case 2:r=o.getBoundingClientRect().right-e.clientX;break;case 3:r=o.getBoundingClientRect().bottom-e.clientY}const s=1-Math.max(0,Math.min((r+d)/(e=>e?o.clientHeight-a.offsetHeight:o.clientWidth-a.offsetWidth)(t),1));c.style.inlineSize=100*s+"%"};a.addEventListener("pointermove",(e=>{const{pointerId:t}=e;a.hasPointerCapture(t)&&h(e)})),a.addEventListener("pointerup",(e=>{const{pointerId:t}=e;t===u&&(h(e),f())})),a.addEventListener("pointercancel",(e=>{const{pointerId:t}=e;t===u&&(h(e),f())}));let p=null;const g=new e.State(null);function m(e){if(s?.signal?.aborted)return()=>{};if(g.get()===e&&p){const e=p;return()=>{e.abort()}}p?.abort(),g.set(e);const t=new AbortController;p=t;const i=s?.signal?AbortSignal.any([s?.signal,t.signal]):t.signal,o=Pe(e,n,r,{...s,signal:s?.signal?AbortSignal.any([s?.signal,i]):i});return i.addEventListener("abort",(()=>{g.set(null),f()}),{once:!0}),o&&(c.appendChild(o),c.hidden=!1,a.hidden=!1,i.addEventListener("abort",(()=>{o.remove(),a.hidden=!0,c.hidden=!0}),{once:!0})),()=>{t.abort()}}const b=r.levelKey||"level",v=new e.Computed((()=>!t.readonly&&!t.disabled&&t.addable));function y(e){const n={};if(-2===e)return n[b]=0,void t.add(n);n[b]=(N[e]?.levelValue??-1)+1,t.insert(e+1,n)}function w(e){t.remove(Number(e.index))}let E=-1,L=new e.State(E);function x(e,n){if(E<0)return;const r=Number(function(e,t){if(!e)return 0;const n=Number(N[Number(e.index)]?.levelValue)||0;return t?n+1:n}(e,n))||0;let s=function(e){let t=e+1;const n=N[E]?.level??0;for(;(N[t]?.level??-1)>n;t++);return t-E}(E),i=-1;if(e){if(i=Number(e.index),E===i||N[i]?.parents?.has(E))return;if(n||i!==E+s){if(n){for(const e=N[i]?.level||0;N[i+1]?.level>e;i++);i<E&&(i+=1)}else i>E&&(i-=1);if(i<0)return}else i=-1}else if(i=N.length-1,i<0)return;if(i>=0&&E!==i){if(s=t.move(E,i,s),!s)return;E=s>1&&i>E?i-s+1:i,L.set(E)}const o=Array(s).fill(N[E]?.level??0).map(((e,t)=>Math.max((N[t+E]?.level??0)-e,0)));for(let e=0;e<s;e++){const n=t.children[E+e]?.child(b);n&&(n.value=r+o[e])}}function C(e){E=Number(e.index),L.set(E),l.classList.add("NeeloongForm-tree-moving")}let O=null;function S(e){return-1===E?()=>{}:(O?.classList.remove("NeeloongForm-tree-drag-over"),O=e,O?.classList.add("NeeloongForm-tree-drag-over"),()=>{O===e&&(O?.classList.remove("NeeloongForm-tree-drag-over"),O=null)})}function $(){E=-1,L.set(E),l.classList.remove("NeeloongForm-tree-moving"),O?.classList.remove("NeeloongForm-tree-drag-over"),O=null}if(s?.editable){const e=l.appendChild(document.createElement("button"));e.addEventListener("click",(()=>y(-1))),e.classList.add("NeeloongForm-tree-head-add"),_((()=>!v.get()),(t=>{e.disabled=t}),!0,s.signal)}const A=l.appendChild(document.createComment(""));if(s?.editable){const e=l.appendChild(document.createElement("div"));e.classList.add("NeeloongForm-tree-foot");const t=e.appendChild(document.createElement("button"));t.addEventListener("click",(()=>y(-2))),t.classList.add("NeeloongForm-tree-foot-add");const n=e.appendChild(document.createElement("div"));n.classList.add("NeeloongForm-tree-drop");let r=()=>{};n.addEventListener("dragover",(e=>e.preventDefault())),n.addEventListener("dragenter",(()=>r=S(n))),n.addEventListener("dragleave",(()=>r())),n.addEventListener("drop",(()=>x())),_((()=>!v.get()),(e=>{t.disabled=e}),!0,s.signal)}let j=new Map;const N=[];return _((()=>t.children),(o=>{let a=A.nextSibling;const c=j;j=new Map;const u=o.length;for(let e=N.length;e<u;e++)N[e]=Me(t,N,L,"level",e);let d=-1;for(let u of o){d++;const o=N[d],f=c.get(u);if(f)c.delete(u),j.set(u,f),f[2](o),a!==f[0]?l.insertBefore(f[0],a):a=a.nextSibling;else{const c=new e.State(o),d=new AbortController,f=Ae(u,g,n,r,c,{columns:i,addable:v,deletable:new e.Computed((()=>!t.readonly&&!t.disabled&&u.removable)),remove:w.bind(null,u),dragenter:S,dragstart:C.bind(null,u),dragend:$,addNode:()=>y(Number(u.index)),createDetails:m,drop:x.bind(null,u)},{...s,signal:s?.signal?AbortSignal.any([s?.signal,d.signal]):d.signal});l.insertBefore(f,a),j.set(u,[f,d,e=>c.set(e)])}}N.splice(u);for(const[e,t]of c.values())e.remove(),t.abort()}),!0,s?.signal),o}function Be(t,n,r,s,i){return"tree"===t?ke(n,r,s,i):function(t,n,r,s){if(s?.signal?.aborted)return null;const i=xe(t,r,["add","move","trigger","remove","serial"],(e=>[{actions:["add","trigger","move","remove","serial"]},...e.slice(0,3)])),o=document.createElement("table");o.classList.add("NeeloongForm-table");const l=o.appendChild(document.createElement("thead")),a=new e.Computed((()=>!t.readonly&&!t.disabled&&t.addable));function c(){t.add({})}function u(e){t.remove(Number(e.index))}let d=-1;function f(e){if(d<0)return;const n=e?Number(e.index):t.children.length;n<0||d<0||d===n||t.move(d,n)&&(d=n)}function h(e){d=Number(e.index)}function p(){d=-1}switch(Ce(s?.signal,l,i,c,a,Boolean(s?.editable)),r.tableFoot){default:case"header":{const e=o.appendChild(document.createElement("tfoot"));e.addEventListener("dragenter",(()=>{f()})),Ce(s?.signal,e,i,c,a,Boolean(s?.editable));break}case"add":{const e=o.appendChild(document.createElement("tfoot"));e.addEventListener("dragenter",(()=>{f()}));const t=e.appendChild(document.createElement("tr")).appendChild(document.createElement("th"));t.colSpan=i.length;const n=t.appendChild(document.createElement("button"));n.addEventListener("click",c),n.classList.add("NeeloongForm-table-foot-add"),_((()=>!a.get()),(e=>{n.disabled=e}),!0,s?.signal);break}case"none":}let g=new Map;return _((()=>t.children),(a=>{let c=l.nextSibling;const d=g;g=new Map;for(let l of a){const a=d.get(l);if(a)d.delete(l),g.set(l,a),c!==a[0]?o.insertBefore(a[0],c):c=c.nextSibling;else{const a=new AbortController,d=Le(l,n,r,{columns:i,deletable:new e.Computed((()=>!t.readonly&&!t.disabled&&l.removable)),remove:u.bind(null,l),dragenter:f.bind(null,l),dragstart:h.bind(null,l),dragend:p},{...s,signal:s?.signal?AbortSignal.any([s?.signal,a.signal]):a.signal});o.insertBefore(d,c),g.set(l,[d,a])}}for(const[e,t]of d.values())e.remove(),t.abort()}),!0,s?.signal),o}(n,r,s,i)}function Fe(e,t,n,r){const{type:s}=e,i=Boolean(s&&"object"==typeof s),o=n.html,l=i?e instanceof E?"collapse":"fieldset":o?"base":"inline",[a,c]=$e(r?.signal,n,e,l,i);D((()=>a.hidden=e.hidden),r?.signal);const u=o&&function(e,t,n,r,s){const i=we(e,r?.sanitizeHtml);return ye(t,n,i,r,s),i}(o,e,t,r,n)||t(e,n.renderer,r)||e instanceof E&&Be(n.arrayStyle,e,t,n,r)||i&&Pe(e,t,n,r);return u&&c.appendChild(u),a}function Te(e,t,n,r){if("button"===n.type)return function(e,t,n){const[r,s]=$e(n?.signal,t,e),i=document.createElement("button");D((()=>{const r=t.text,s="function"==typeof r?r(e,n):r;i.innerText=s??""}),n?.signal),D((()=>{const r=t.disabled,s="function"==typeof r?r(e,n):r;i.disabled=Boolean(s)}),n?.signal),i.classList.add("NeeloongForm-item-button"),s.appendChild(i);const o=t.click;if("function"==typeof o)i.addEventListener("click",(t=>o(t,e,n)));else if(o&&"string"==typeof o){const t=n?.call;"function"==typeof t&&i.addEventListener("click",(r=>t(o,r,e,n)))}return r}(e,n,r);if("html"===n.type)return function(e,t,n,r){const s=n.html;if(!s)return null;const[i,o]=$e(r?.signal,n,e),l=we(s,r?.sanitizeHtml);return ye(e,t,l,r,n),o.appendChild(l),i}(e,t,n,r);const s=n.field;if(!s)return null;const i=e.child(s);return i?Fe(i,t,n,r):null}function Pe(e,t,n,r,s){if(r?.signal?.aborted)return null;const i=s instanceof HTMLElement?s:document.createElement("div");i.classList.add("NeeloongForm");const o=n.fields||e.layout.fields;if(o?.length)for(const n of o){const s=Te(e,t,n,r);s&&i.appendChild(s)}else{const n=[...e].map((([,e])=>e));for(const e of n){const n=Fe(e,t,e.layout,r);n&&i.appendChild(n)}}return i}function Ue(e,t,n,r,s){if(s?.signal?.aborted)return;const i=r||e.layout,o=i.html;if(!o)return void Pe(e,t,i,s||null,n);const l=we(o,s?.sanitizeHtml);ye(e,t,l,s||null,i),n.appendChild(l),s?.signal?.addEventListener("abort",(()=>{n.removeChild(l)}),{once:!0})}export{E as ArrayStore,I as Layout,w as ObjectStore,y as Store,D as effect,be as render,Ue as renderStore,_ as watch};