@neeloong/form 0.23.0 → 0.25.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.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @neeloong/form v0.23.0
2
+ * @neeloong/form v0.25.0
3
3
  * (c) 2024-2026 Fierflame
4
4
  * @license Apache-2.0
5
5
  */
@@ -57,4 +57,4 @@ function(){throw new Error};function S(){return f(this),this.value}function $(e,
57
57
  * Use of this source code is governed by an MIT-style license that can be
58
58
  * found in the LICENSE file at https://angular.io/license
59
59
  */
60
- function(e){const t=Object.create(A);t.value=e;const n=()=>(f(t),t.value);return n[c]=t,n}(n),l=s[c];if(this[j]=l,l.wrapper=this,o){const t=o.equals;t&&(l.equal=t),l.watched=o[e.subtle.watched],l.unwatched=o[e.subtle.unwatched]}}get(){if(!(0,e.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.get");return S.call(this[j])}set(t){if(!(0,e.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.set");if(l)throw new Error("Writes to signals not permitted during Watcher callback");$(this[j],t)}};p=j,h=new WeakSet,e.isComputed=e=>n(h,e),e.Computed=class{constructor(n,o){r(this,h),t(this,p);const i=function(e){const t=Object.create(N);t.computation=e;const n=()=>E(t);return n[c]=t,n}(n),s=i[c];if(s.consumerAllowSignalWrites=!0,this[j]=s,s.wrapper=this,o){const t=o.equals;t&&(s.equal=t),s.watched=o[e.subtle.watched],s.unwatched=o[e.subtle.unwatched]}}get(){if(!(0,e.isComputed)(this))throw new TypeError("Wrong receiver type for Signal.Computed.prototype.get");return E(this[j])}},(i=>{var l,a,c,p;i.untrack=function(e){let t,n=null;try{n=u(null),t=e()}finally{u(n)}return t},i.introspectSources=function(t){var n;if(!(0,e.isComputed)(t)&&!(0,e.isWatcher)(t))throw new TypeError("Called introspectSources without a Computed or Watcher argument");return(null==(n=t[j].producerNode)?void 0:n.map((e=>e.wrapper)))??[]},i.introspectSinks=function(t){var n;if(!(0,e.isComputed)(t)&&!(0,e.isState)(t))throw new TypeError("Called introspectSinks without a Signal argument");return(null==(n=t[j].liveConsumerNode)?void 0:n.map((e=>e.wrapper)))??[]},i.hasSinks=function(t){if(!(0,e.isComputed)(t)&&!(0,e.isState)(t))throw new TypeError("Called hasSinks without a Signal argument");const n=t[j].liveConsumerNode;return!!n&&n.length>0},i.hasSources=function(t){if(!(0,e.isComputed)(t)&&!(0,e.isWatcher)(t))throw new TypeError("Called hasSources without a Computed or Watcher argument");const n=t[j].producerNode;return!!n&&n.length>0};l=j,a=new WeakSet,c=new WeakSet,p=function(t){for(const n of t)if(!(0,e.isComputed)(n)&&!(0,e.isState)(n))throw new TypeError("Called watch/unwatch without a Computed or State argument")},e.isWatcher=e=>n(a,e),i.Watcher=class{constructor(e){r(this,a),r(this,c),t(this,l);let n=Object.create(d);n.wrapper=this,n.consumerMarkedDirty=e,n.consumerIsAlwaysLive=!0,n.consumerAllowSignalWrites=!1,n.producerNode=[],this[j]=n}watch(...t){if(!(0,e.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");o(this,c,p).call(this,t);const n=this[j];n.dirty=!1;const r=u(n);for(const e of t)f(e[j]);u(r)}unwatch(...t){if(!(0,e.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");o(this,c,p).call(this,t);const n=this[j];y(n);for(let e=n.producerNode.length-1;e>=0;e--)if(t.includes(n.producerNode[e].wrapper)){b(n.producerNode[e],n.producerIndexOfThis[e]);const t=n.producerNode.length-1;if(n.producerNode[e]=n.producerNode[t],n.producerIndexOfThis[e]=n.producerIndexOfThis[t],n.producerNode.length--,n.producerIndexOfThis.length--,n.nextProducerIndex--,e<n.producerNode.length){const t=n.producerIndexOfThis[e],r=n.producerNode[e];w(r),r.liveConsumerIndexOfThis[t]=e}}}getPending(){if(!(0,e.isWatcher)(this))throw new TypeError("Called getPending without Watcher receiver");return this[j].producerNode.filter((e=>e.dirty)).map((e=>e.wrapper))}},i.currentComputed=function(){var e;return null==(e=s)?void 0:e.wrapper},i.watched=Symbol("watched"),i.unwatched=Symbol("unwatched")})(e.subtle||(e.subtle={}))})(M||(M={}));const k=e=>"string"==typeof e&&e||null,I=e=>"number"==typeof e&&e||null,B=e=>e instanceof RegExp?e:null,F=Boolean;function P(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(P).filter(F):[];return o.length?{children:o,label:n,value:r}:"number"==typeof r||"string"==typeof r?{label:n,value:r}:null}const R=e=>{if(!e||!Array.isArray(e))return null;const t=e.map(P).filter(F);return t.length?t:null};function U(e,t,n,r){const o=new M.State(t(n));let i;if("function"==typeof r){const n=r;i=new M.Computed((()=>t(n(e))))}else{const e=t(r);i=new M.Computed((()=>e))}const s=new M.Computed((()=>{const e=o.get();return null===e?i.get():e}));return[o,s]}const q=Symbol();function D(e){const t={[q]:e};for(const[n,r]of e)Object.defineProperty(t,n,{get:()=>r.ref,configurable:!1,enumerable:!0});return Object.defineProperty(t,q,{get:()=>e,configurable:!1,enumerable:!0}),t}let V=null,_=null,W=Object.create(null);function H(e,t){const n=e.type;let r=Y;if(!e.array||_&&t?.parent instanceof _)if("string"==typeof n){const e=W[n];e&&(r=e)}else n&&"object"==typeof n&&V&&(r=V);else _&&(r=_);return new r(e,t)}function K(e){return e?e instanceof Error?e.message:"string"!=typeof e?"":e:""}function z(e,...t){const n=t.flat().filter((e=>"function"==typeof e));if(!n.length)return[()=>Promise.resolve([]),new M.Computed((()=>[])),()=>{}];const r=new M.State([]);let o=null;return[function(){o?.abort(),o=new AbortController;const t=o.signal;return r.set([]),Promise.all(n.map((n=>async function(t,n){let o=[];try{o.push(await t(e,n))}catch(e){o.push(e)}const i=o.flat().map(K).filter(Boolean);return!n.aborted&&i.length&&r.set([...r.get(),...i]),i}(n,t)))).then((e=>e.flat()))},new M.Computed((()=>r.get())),()=>{o?.abort(),r.set([])}]}class Y{#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 i=r.get(o);return i||(i=new Set,r.set(o,i)),i.add(n),()=>{i?.delete(n)}}static create(e,t={}){return H({type:e},{...t,parent:null})}static setStore(e,t){return function(e,t){W[e]=t}(e,t)}#t=!1;get null(){return this.#t}get kind(){return""}#n=null;get ref(){return this.#n||D(this)}constructor(e,{null:t,ref:n,default:r,setValue:o,convert:i,onUpdate:s,validator:l,validators:a,index:c,size:u,new:d,parent:f,hidden:p,clearable:h,required:m,disabled:g,readonly:b,removable:v,label:y,description:w,placeholder:E,min:x,max:L,step:C,minLength:N,maxLength:O,pattern:S,values:$}={}){this.schema=e;const A=f instanceof Y?f:null;var j,F;A&&(this.#r=A,this.#o=A.#o,this.#i=A.#i),this.#s=(j=this,"function"!=typeof(F=r??e.default)?()=>structuredClone(F):e=>structuredClone(F(j,e)));const P=new M.State(!1);this.#l=P,this.#i=P,this.#a=e.type,this.#c=e.meta,this.#u=e.component;const q=new M.State(Boolean(d));this.#d=q;const V=A?new M.Computed((()=>A.#f.get()||q.get())):new M.Computed((()=>q.get()));this.#f=V;const _=Boolean(e.immutable),W=!1!==e.creatable;this.#p=_,this.#h=W;const H=e.readonly,G=new M.State("boolean"==typeof b?b:null);let Q;if("function"==typeof H)Q=new M.Computed((()=>Boolean(H(this))));else{const e=Boolean(H);Q=new M.Computed((()=>e))}const X=()=>{if(V.get()?!W:_)return!0;const e=G.get();return null===e?Q.get():e},Z=A?A.#m:null;this.#g=G,this.#m=Z?new M.Computed((()=>Z.get()||X())):new M.Computed(X),[this.#b,this.#v]=T(this,p,e.hidden,A?A.#v:null),[this.#y,this.#w]=T(this,h,e.clearable,A?A.#w:null),[this.#E,this.#x]=T(this,m,e.required,A?A.#x:null),[this.#L,this.#C]=T(this,g,e.disabled,A?A.#C:null),[this.#N,this.#O]=U(this,k,y,e.label),[this.#S,this.#$]=U(this,k,w,e.description),[this.#A,this.#j]=U(this,k,E,e.placeholder),[this.#M,this.#T]=U(this,I,x,e.min),[this.#k,this.#I]=U(this,I,L,e.max),[this.#B,this.#F]=U(this,I,C,e.step),[this.#P,this.#R]=U(this,I,N,e.minLength),[this.#U,this.#q]=U(this,I,O,e.maxLength),[this.#D,this.#V]=U(this,B,S,e.pattern),[this.#_,this.#W]=U(this,R,$,e.values),[this.#H,this.#K]=T(this,v,e.removable??!0);const J=function(e,...t){const n=t.flat().filter((e=>"function"==typeof e));return n.length?new M.Computed((()=>{const t=[];for(const r of n)try{t.push(r(e))}catch(e){t.push(e)}return t.flat().map(K).filter(Boolean)})):new M.Computed((()=>[]))}(this,e.validator,l),[ee,te,ne]=z(this,e.validators?.change,a?.change),[re,oe,ie]=z(this,e.validators?.blur,a?.blur);if(this.listen("change",(()=>{ee()})),this.listen("blur",(()=>{re()})),this.#z=function(...e){const t=e.filter(Boolean);return new M.Computed((()=>t.flatMap((e=>e.get()))))}(J,te,oe),this.#Y=J,this.#G=ee,this.#Q=re,this.#X=ne,this.#Z=ie,u instanceof M.State||u instanceof M.Computed?this.#J=u:this.#J=new M.State(u||0),t)return this.#t=!0,void(this.#n=D(this));this.#n=n||null,this.#ee=s||null,this.#te="function"==typeof o?o:null,this.#ne="function"==typeof i?i:null,this.#re.set(c??"");for(const[t,n]of Object.entries(e.events||{}))"function"==typeof n&&this.listen(t,n)}#s;createDefault(e){return this.#s(e)}#te=null;#ne=null;#ee=null;#r=null;#o=this;#a;#c;#u;#l=null;#i;get loading(){return this.#i.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}#J;get size(){return this.#J.get()}#re=new M.State("");get index(){return this.#re.get()}set index(e){this.#re.set(e)}get no(){if(this.#t)return"";const e=this.index;return"number"==typeof e?e+1:e}#h=!0;get creatable(){return this.#h}#p=!1;get immutable(){return this.#p}#f;#d;get selfNew(){return this.#d.get()}set selfNew(e){this.#d.set(Boolean(e))}get new(){return this.#f.get()}set new(e){this.#d.set(Boolean(e))}#b;#v;get selfHidden(){return this.#b.get()}set selfHidden(e){this.#b.set("boolean"==typeof e?e:null)}get hidden(){return this.#v.get()}set hidden(e){this.#b.set("boolean"==typeof e?e:null)}#y;#w;get selfClearable(){return this.#y.get()}set selfClearable(e){this.#y.set("boolean"==typeof e?e:null)}get clearable(){return this.#w.get()}set clearable(e){this.#y.set("boolean"==typeof e?e:null)}#E;#x;get selfRequired(){return this.#E.get()}set selfRequired(e){this.#E.set("boolean"==typeof e?e:null)}get required(){return this.#x.get()}set required(e){this.#E.set("boolean"==typeof e?e:null)}#L;#C;get selfDisabled(){return this.#L.get()}set selfDisabled(e){this.#L.set("boolean"==typeof e?e:null)}get disabled(){return this.#C.get()}set disabled(e){this.#L.set("boolean"==typeof e?e:null)}#g;#m;get selfReadonly(){return this.#g.get()}set selfReadonly(e){this.#g.set("boolean"==typeof e?e:null)}get readonly(){return this.#m.get()}set readonly(e){this.#g.set("boolean"==typeof e?e:null)}#H;#K;get selfRemovable(){return this.#H.get()}set selfRemovable(e){this.#H.set("boolean"==typeof e?e:null)}get removable(){return this.#K.get()}set removable(e){this.#H.set("boolean"==typeof e?e:null)}#N;#O;get selfLabel(){return this.#N.get()}set selfLabel(e){this.#N.set(k(e))}get label(){return this.#O.get()}set label(e){this.#N.set(k(e))}#S;#$;get selfDescription(){return this.#S.get()}set selfDescription(e){this.#S.set(k(e))}get description(){return this.#$.get()}set description(e){this.#S.set(k(e))}#A;#j;get selfPlaceholder(){return this.#A.get()}set selfPlaceholder(e){this.#A.set(k(e))}get placeholder(){return this.#j.get()}set placeholder(e){this.#A.set(k(e))}#M;#T;get selfMin(){return this.#M.get()}set selfMin(e){this.#M.set(I(e))}get min(){return this.#T.get()}set min(e){this.#M.set(I(e))}#k;#I;get selfMax(){return this.#k.get()}set selfMax(e){this.#k.set(I(e))}get max(){return this.#I.get()}set max(e){this.#k.set(I(e))}#B;#F;get selfStep(){return this.#B.get()}set selfStep(e){this.#B.set(I(e))}get step(){return this.#F.get()}set step(e){this.#B.set(I(e))}#P;#R;get selfMinLength(){return this.#P.get()}set selfMinLength(e){this.#P.set(I(e))}get minLength(){return this.#R.get()}set minLength(e){this.#P.set(I(e))}#U;#q;get selfMaxLength(){return this.#U.get()}set selfMaxLength(e){this.#U.set(I(e))}get maxLength(){return this.#q.get()}set maxLength(e){this.#U.set(I(e))}#D;#V;get selfPattern(){return this.#D.get()}set selfPattern(e){this.#D.set(B(e))}get pattern(){return this.#V.get()}set pattern(e){this.#D.set(B(e))}#_;#W;get selfValues(){return this.#_.get()}set selfValues(e){this.#_.set(R(e))}get values(){return this.#W.get()}set values(e){this.#_.set(R(e))}#z;#Y;#G;#Q;#X;#Z;get errors(){return this.#z.get()}get error(){return this.#z.get()[0]}*[Symbol.iterator](){}child(e){return null}#oe=!1;#ie=new M.State(null);#se=new M.State(this.#ie.get());get changed(){return!Object.is(this.#se.get(),this.#ie.get())}get value(){return this.#se.get()}set value(e){const t=this.#te?.(e),n=void 0===t?e:t;this.#se.set(n),this.#oe||this.#ie.set(n),this.#ee?.(n,this.#re.get(),this),this.#le()}#le(){this.#ae||(this.#ae=!0,queueMicrotask((()=>{const e=this.#se.get();this.#ce(e)})))}reset(e=(this.#oe?this.#ie.get():this.#s()),t=this.#d.get()){this.#ue(e,Boolean(t))}#ue(e,t){this.#d.set(t);const n=this.#te?.(e),r=void 0===n?e:n;if(this.#X(),this.#Z(),this.#oe=!0,!r||"object"!=typeof r){for(const[,e]of this)e.#ue(null,!1);return this.#se.set(r),this.#ie.set(r),this.#ee?.(r,this.#re.get(),this),r}const o=Array.isArray(r)?[...r]:{...r};for(const[e,t]of this)o[e]=t.#ue(Object.hasOwn(o,e)?o[e]:void 0,!1);return this.#se.set(o),this.#ie.set(o),this.#ee?.(o,this.#re.get(),this),o}#ae=!1;#de(e){let t=this.#ne?.(e)??e;return void 0===t&&(t=e),Object.is(this.#se.get(),t)?t:this.#ce(t)}#ce(e){this.#ae=!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 i=Object.hasOwn(e,t)?e[t]:void 0,s=o.#de(i);Object.is(i,s)||(n[t]=s,r=!0)}r&&(t=e=n,this.#se.set(e))}return this.#oe||(this.#oe=!0,this.#ie.set(t)),this.#se.set(e),e}validate(e){if(!0===e)return Promise.all([this.#Y.get(),this.#G(),this.#Q()]).then((e=>{const t=e.flat();return t.length?t:null}));const t=Array.isArray(e)?e:[],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]));return Promise.all(n).then((e=>e.flat()))}}class G extends Y{get kind(){return"object"}#fe;*[Symbol.iterator](){yield*Object.entries(this.#fe)}child(e){return this.#fe[e]||null}constructor(e,{parent:t,index:n,new:r,onUpdate:o}={}){const i=Object.entries(e.type),s=Object.create(null);super(e,{parent:t,index:n,new:r,onUpdate:o,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(s);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.#fe[t]&&(this.value={...this.value,[t]:e})}};for(const[e,t]of i)s[e]=H(t,{...l,index:e});this.#fe=s}}V=G;class Q extends Y{#pe=()=>{throw new Error};#fe;get children(){return[...this.#fe.get()]}*[Symbol.iterator](){return yield*[...this.#fe.get().entries()]}child(e){const t=this.#fe.get();return"number"==typeof e&&e<0?t[t.length+e]||null:t[Number(e)]||null}get kind(){return"array"}constructor(e,{parent:t,onUpdate:n,index:r,new:o,addable:i}={}){const s=new M.State([]),l=e=>{const t=Array.isArray(e)&&e.length||0,n=[...s.get()],r=n.length;for(let e=n.length;e<t;e++)n.push(this.#pe(e));n.length=t,r!==t&&s.set(n)};super(e,{index:r,new:o,parent:t,size:new M.Computed((()=>s.get().length)),setValue(e){const t=Array.isArray(e)?e:null==e?null:[e];return l(t),t},convert(e){const t=Array.isArray(e)?e:null==e?null:[e];return l(t),t},onUpdate:(e,t,r)=>{l(e),n?.(e,t,r)},default:e.default??[]}),[this.#he,this.#me]=T(this,i,e.addable??!0),this.#fe=s;const a={parent:this,onUpdate:(e,t,n)=>{if(s.get()[t]!==n)return;const r=[...this.value||[]];r.length<t&&(r.length=t),r[t]=e,this.value=r}};this.#pe=(t,n)=>{const r=H(e,{...a,index:t,new:n});return r.index=t,r}}#he;#me;get selfAddable(){return this.#he.get()}set selfAddable(e){this.#he.set("boolean"==typeof e?e:null)}get addable(){return this.#me.get()}set addable(e){this.#he.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.#fe.get()],i=Math.max(0,Math.min(Math.floor(e),o.length)),s=this.#pe(i,n);s.new=!0,o.splice(i,0,s);for(let t=e+1;t<o.length;t++)o[t].index=t;const l=[...r];return l.splice(i,0,s.createDefault(t)),this.#fe.set(o),this.value=l,!0}add(e=null){return this.insert(this.#fe.get().length,e)}remove(e){const t=this.value;if(!Array.isArray(t))return;const n=[...this.#fe.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 i=[...t],[s]=i.splice(r,1);return this.#fe.set(n),this.value=i,s}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 i=[...this.#fe.get()],s=i.splice(e,r),l=s.length;if(!l)return 0;const a=r>1&&t>e?t-r+1:t;i.splice(a,0,...s);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=[...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.#fe.set(i),this.value=d,l}exchange(e,t){const n=this.value;if(!Array.isArray(n))return!1;const r=[...this.#fe.get()],o=r[e],i=r[t];if(!o||!i)return!1;r[t]=o,r[e]=i,o.index=t,i.index=e;const s=[...n],l=s[e],a=s[t];return s[t]=l,s[e]=a,this.#fe.set(r),this.value=s,!0}}function X(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=Z(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=Z(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 o=Z(r);o&&t.push(o)}return i(n),o?[{type:"fragment",templates:r,children:t}]:t}function Z(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]:X(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){_=e}(Q);const J=/^([+-]?(\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 ee={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 te extends Error{constructor(e,...t){const n=ee[e];super("function"==typeof n?n(...t):n),this.code=e}}const ne=/^(?<decorator>[:@!+*\.?]|style:|样式:)?(?<name>-?[\w\p{Unified_Ideograph}_][-\w\p{Unified_Ideograph}_:\d\.]*)$/u,re=/^~(?<enhancement>[\w\p{Unified_Ideograph}_][-\w\p{Unified_Ideograph}_\d\.]*)(?:(?<decorator>[:@!])(?<name>-?[\w\p{Unified_Ideograph}_][-\w\p{Unified_Ideograph}_:\d\.]*))?$/u,oe=/^(?<name>[a-zA-Z$\p{Unified_Ideograph}_][\da-zA-Z$\p{Unified_Ideograph}_]*)?$/u;function ie(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 se(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 J.test(e)?Number(e.replaceAll("_","")):NaN}(n);return Number.isNaN(r)?oe.test(n)?{name:n}:{calc:t(e)}:{value:r}}function le(e,t,n,r,o){const{attrs:i,events:s,classes:l,styles:a,vars:c,params:u,enhancements:d}=e;return function(f,p){const h=f.replace(/./g,".").replace(/:/g,":").replace(/@/g,"@").replace(/+/g,"+").replace(/-/g,"-").replace(/[*×]/g,"*").replace(/!/g,"!"),m=(ne.exec(h)||re.exec(h))?.groups;if(!m)throw new te("ATTR",f);const{name:g,enhancement:b}=m,v=m.decorator?.toLowerCase();if(b){if(":"===v)ie(d,b).attrs[g]=p?se(p,t):{name:g};else if("@"===v)ie(d,b).events[g]=p?oe.test(p)?{name:p}:{event:r(p)}:{name:g};else if("!"===v){if("bind"===g)ie(d,b).bind=p||!0}else ie(d,b).value=se(p,t);return}if(!v)return void(i[g]={value:p});if(":"===v)return void(i[g]=p?se(p,t):{name:g});if("."===v)return void(l[g]=p?se(p,t):{name:g});if("style:"===v)return void(a[g]=se(p,t));if("@"===v)return void(s[g]=p?oe.test(p)?{name:p}:{event:r(p)}:{name:g});if("+"===v)return void c.push({...p?se(p,n):{value:void 0},variable:g,init:!0});if("*"===v)return void c.push({...se(p,t),variable:g,init:!1});if("?"===v)return void(u[g]=se(p,t));if("!"!==v)return;switch(g.toString()){case"fragment":e.fragment=p||!0;break;case"else":e.else=!0;break;case"enum":e.enum=p?se(p,t):{value:!0};break;case"sort":e.sort=p?se(p,t):{value:!0};break;case"if":e.if=se(p,t);break;case"text":e.text=se(p,t);break;case"html":o&&(e.html=se(p,t));break;case"template":e.template=p;break;case"bind":e.bind=p||!0;break;case"value":e.value=p;break;case"comment":e.comment=p}}}function ae(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 ce={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 ue=/^(?<name>[\w\p{Unified_Ideograph}_][-\.\|:|d\w\p{Unified_Ideograph}_:]*)(?:|(?<is>[\w\p{Unified_Ideograph}_][-\.\|:|d\w\p{Unified_Ideograph}_]*))?$/u;function de(e){return"="!==e&&"/"!==e&&">"!==e&&e&&"'"!==e&&'"'!==e&&!function(e){return"0x80"===e||e<=" "}(e)}function fe(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 pe(...e){console.error(new te(...e))}function he(e){const t=e.slice(1,-1);return"#"===t.charAt(0)?String.fromCodePoint(parseInt(t.substring(1).replace("x","0x"))):t in ce?ce[t]:(pe("ENTITY",e),e)}var me=Object.freeze({__proto__:null,parse:function(e,{createCalc:t=()=>{throw new te("CALC")},createInit:n=t,createEvent:r=()=>{throw new te("EVENT")},simpleTag:o=new Set,enableHTML:i=!1}={}){const s=[],l={children:s},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 p={},h=0;function m(t){if(t<=h)return;f(e.substring(h,t).replace(/&#?\w+;/g,he)),h=t}for(;;){const g=e.indexOf("<",h);if(g<0){const S=e.substring(h);S.match(/^\s*$/)||f(S);break}g>h&&m(g);const b=e.charAt(g+1);if("!"===b){let $=g+2,A=">";if("--"===e.slice(g+2,g+4)&&($+=4,A="--\x3e"),h=e.indexOf(A,$),h<0)break;h++;continue}if("/"===b){h=e.indexOf(">",g+3);let j=e.substring(g+2,h);if(h<0?(j=e.substring(g+2).replace(/[\s<].*/,""),pe("UNCOMPLETED",j,c?.name),h=g+1+j.length):j.match(/\s</)&&(j=j.replace(/[\s<].*/,""),pe("UNCOMPLETED",j),h=g+1+j.length),c){const M=c.name;if(M===j)d();else{if(M.toLowerCase()!=j.toLowerCase())throw new te("CLOSE",j,c.name);d()}}h++;continue}function v(t){let n=h+1;if(h=e.indexOf(t,n),h<0)throw new te("QUOTE",t);const r=e.slice(n,h).replace(/&#?\w+;/g,he);return h++,r}function y(){let t=e.charAt(h);for(;t<=" "||"€"===t;t=e.charAt(++h));return t}function w(){let t=h,n=e.charAt(h);for(;de(n);)h++,n=e.charAt(h);return e.slice(t,h)}h=g+1;let E=e.charAt(h);switch(E){case"=":throw new te("EQUAL");case'"':case"'":throw new te("ATTR_VALUE");case">":case"/":throw new te("SYMBOL",E);case"":throw new te("EOF")}const x=w(),L=ue.exec(x)?.groups;if(!L)throw new te("TAG",x);a.push(c),c=ae(L.name,L.is),u.children.push(c),u=c;const C=le(c,t,n,r,i);let N=!0,O=!1;e:for(;N;){let T=y();switch(T){case"":pe("EOF"),h++;break e;case">":h++;break e;case"/":O=!0;break e;case'"':case"'":throw new te("ATTR_VALUE");case"=":throw new te("SYMBOL",T)}const k=w();if(!k){pe("EOF"),h++;break e}switch(T=y(),T){case"":pe("EOF"),h++;break e;case">":C(k,""),h++;break e;case"/":C(k,""),O=!0;break e;case"=":h++;break;case"'":case'"':C(k,v(T));continue;default:C(k,"");continue}switch(T=y(),T){case"":C(k,""),pe("EOF"),h++;break e;case">":C(k,""),h++;break e;case"/":C(k,""),O=!0;break e;case"'":case'"':C(k,v(T));continue}C(k,w())}if(O){for(;;){h++;const I=e.charAt(h);if("/"!==I&&!(I<=" "||"€"===I))break}switch(e.charAt(h)){case"=":throw new te("EQUAL");case'"':case"'":throw new te("ATTR_VALUE");case"":pe("EOF");break;case">":h++;break;default:throw new te("CLOSE_SYMBOL")}d()}else(o.has(x)||fe(e,h,x,p))&&d()}return X(s)}});function ge(e,t){if(t?.aborted)return;let n=!0;const r=new M.subtle.Watcher((()=>{n&&(n=!1,queueMicrotask((()=>{n=!0;for(const e of r.getPending())e.get();r.watch()})))})),o=new M.Computed(e);if(r.watch(o),o.get(),!t)return()=>{r.unwatch(o)};t.addEventListener("abort",(()=>{r.unwatch(o)}),{once:!0})}function be(e,t,n,r){let o,i=!1;return ge((()=>{const r=e();if(!i)return i=!0,o=r,void(n&&t(r));Object.is(r,o)||(o=r,t(r))}),r)}const ve=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*ye(e,t="",n="$"){yield[`${t}`,{get:()=>e.value,set:t=>e.value=t,store:e}];for(const r of ve)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 Q?(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 we(e,t,n){for(const[n,r]of t){for(const[t,o]of ye(r,n))e[t]=o;for(const[t,o]of ye(r,n,"$$"))e[t]=o}}const Ee={value$:{calc:e=>e?.[q].value},state$:{calc:e=>e?.[q].state}};var xe=Object.getOwnPropertyDescriptors(Ee);function Le(e){if(!e)return!1;const t=e.indexOf("$");return t<0||(e.indexOf("$",t+2)>0||"$"===e[0]&&"_$".includes(e[1]))}function Ce(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 Ne{exec({name:e,calc:t,value:n}){if("string"==typeof e){const t=this.#ge[e];if("function"!=typeof t?.get)return;return t.get()}return"function"==typeof t?t(this.getters):n}get({name:e,calc:t,value:n}){if("string"==typeof e){const t=this.#ge[e];if("function"!=typeof t?.get)return;const{get:n,set:r}=t;return{get:n,set:r}}if("function"==typeof t){const e=new M.Computed((()=>t(this.getters)));return{get:()=>e.get()}}return{get:()=>n}}watch(e,t){return be((()=>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.#ge[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.#ge[!0===e?"":e];return t?.get&&t.store||null}bind(e,t,n){const r=this.#ge[!0===e?"":e];if(!r?.get)return;const{store:o}=r;return o?ve.has(t)?be((()=>o[t]),n,!0):void 0:"value"===t?be((()=>r.get()),n,!0):void 0}bindAll(e){const t=this.#ge[!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=>be(e,t,!0)}}const r=Object.fromEntries([...ve].map((e=>[`$${e}`,t=>be((()=>n[e]),t,!0)])));return r.$$state=e=>be((()=>null),e,!0),r}getBindAll(e){const t=this.#ge[!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([...ve].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.#ge[!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.#ge[!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.#ge[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 Ne){this.#be=t.#be;const e=this.#ve;for(const[n,r]of Object.entries(t.#ve))e[n]=r;const n=this.#ye;for(const[e,r]of Object.entries(t.#ye))n[e]=r}else we(this.#ve,e),this.#be=function(e){const t=Object.create(null,xe);if(!e||"object"!=typeof e)return t;for(const[n,r]of Object.entries(e)){if(!Le(n))continue;if(!r||"object"!=typeof r)continue;if(r instanceof Y){for(const[e,o]of ye(r,n))t[e]=o;continue}const{get:e,set:o,exec:i,calc:s}=r;"function"!=typeof e?"function"==typeof s||s&&"object"==typeof s?t[n]={calc:s}:("function"==typeof i||s&&"object"==typeof s)&&(t[n]={exec:i}):t[n]="function"==typeof o?{get:e,set:o}:{get:e}}return t}(t)}#be;#ve=Object.create(null);#ye=Object.create(null);store;#we=null;#r=null;#Ee=null;get#ge(){const e=this.#Ee;if(e)return e;const t=Object.create(null,Object.getOwnPropertyDescriptors({...this.#ve,...this.#be,...this.#ye})),n=this.store,r=this.#r,o=this.#we;for(const[e,r]of ye(n))t[e]=r;for(const[e,o]of function*(e,t,n="",r="$"){if(!(e instanceof Q))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.#Ee=t,t}setStore(e,t,n){const r=new Ne(e,this);return t&&(r.#r=t),we(r.#ve,e),n&&(r.#we=n),r}child(e){if(!e)return this;const t=this.store.child(e);if(!t)return null;const n=new Ne(t,this);return we(n.#ve,t),n}params(e,t,n,r){let o=this.store;if(!0===r)o=n.store;else if(r){const e=n.#ge[r],t=e?.get&&e.store;t&&(o=t)}if(0===Object.keys(e).length)return this;const i=new Ne(o,this);i.#r=this.#r,i.#we=this.#we;const s=i.#ye,l=i.#ge;for(const[r,o]of Object.entries(e)){const e=r in t?t[r]:null;if(e){const{name:t,calc:o,value:i}=e;if(t){const e=n.#ge[t];if(!e?.get)continue;if(!e.store){s[r]=l[r]=e;continue}for(const[t,n]of ye(e.store,r))s[t]=l[t]=n;continue}if("function"==typeof o){const e=new M.Computed((()=>o(n.getters)));s[r]=l[r]={get:()=>e.get()};continue}s[r]=l[r]={get:()=>i}}else{const{name:e,calc:t,value:n}=o;if("function"==typeof t){const e=i.getters;i.#xe=null;const n=new M.Computed((()=>t(e)));s[r]=l[r]={get:()=>n.get()};continue}if(e){const t=l[e];if(!t?.get)continue;if(!t.store){s[r]=l[r]=t;continue}for(const[e,n]of ye(t.store,r))s[e]=l[e]=n;continue}s[r]=l[r]={get:()=>n}}}return i}setObject(e){const t=new Ne(this.store,this);return t.#we=e,t}set(e){if(!e?.length)return this;const t=new Ne(this.store,this);t.#r=this.#r,t.#we=this.#we;const n=t.#ye,r=t.#ge;for(const{variable:o,name:i,calc:s,value:l,init:a}of e)if(a){const e=new M.State(l);if("function"==typeof s){const n=t.settable;t.#Le=null,e.set(s(n))}else if(i){const t=r[i];if(!t?.get)continue;e.set(t.get())}n[o]=r[o]={get:()=>e.get(),set:t=>{e.set(t)}}}else if("function"!=typeof s)if(i){const e=r[i];if(!e)continue;if(!e.get||!e.store){n[o]=r[o]=e;continue}for(const[t,i]of ye(e.store,o))n[t]=r[t]=i}else n[o]=r[o]={get:()=>l};else{const e=t.getters;t.#xe=null;const i=new M.Computed((()=>s(e)));n[o]=r[o]={get:()=>i.get()}}return t}#Ce=null;get all(){const e=this.#Ce;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#ge))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 Ce(this.store,t),this.#Ce=t,t}#Le=null;get settable(){const e=this.#Le;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#ge))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 Ce(this.store,t),this.#Le=t,t}#xe=null;get getters(){const e=this.#xe;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#ge))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 Ce(this.store,t),this.#xe=t,t}}const Oe={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 Se(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 Oe?`${o}${Oe[e]}`:`${o}`:"string"==typeof o&&(r=o),r?[r,n?"important":void 0]:null}class $e{#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 i=r.get(o);return i||(i=new Set,r.set(o,i)),i.add(n),()=>{i?.delete(n)}}}const Ae={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 je(e,t,n){const r=[];if(t)for(let o=e.shift();o;o=e.shift()){const e=o.indexOf(":"),i=e>=0?o.slice(0,e):o,s=e>=0?o.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=Ae[c]),"function"==typeof c&&r.push([c,s,a])}return r}function Me(e,t,n){return r=>{const o=e.all;for(const[e,t,i]of n)if(e(r,t,o)===i)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 ke(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 ke;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 Be={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=ke(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=ke(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=ke(e)}},events:{$value:["change",(e,t)=>t.value]}}};function Fe(e,t,n){const r=document.createElement(t,{is:n||void 0}),{watch:o,props:i}=e;return["input","textarea","select"].includes(t.toLowerCase())&&e.relate(r),e.listen("init",(({events:n})=>{const s=Be[t.toLowerCase()],l=s?.attrs||{},a=s?.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,i]=n;r.addEventListener(e,(e=>t(i(e,r))),o)}}if(i)for(const[t,n]of Object.entries(e.attrs))if(o(t,(e=>{if(i.has(t))r[t]=e;else{const n=Te(e);null==n?r.removeAttribute(t):r.setAttribute(t,n)}})),i.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=Ie(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 i=Te(n);null!==i&&r.setAttribute(t,i),o(t,(e=>{const n=Te(e);null===n?r.removeAttribute(t):r.setAttribute(t,n)}))}})),r}function Pe(e){return null===(e??null)?"":String(e)}function Re(e,t,n,r,o){if(!o){const o=e.insertBefore(document.createTextNode(""),t),i=n.watch(r,(e=>o.textContent=Pe(e)));return()=>{o.remove(),i()}}const i=e.insertBefore(document.createComment(""),t),s=e.insertBefore(document.createComment(""),t),l=document.createElement("div");function a(){for(let e=i.nextSibling;e&&e!==s;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,s)}(Pe(t))}));return()=>{c(),a(),i.remove(),s.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 qe=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);function De(e,t,n,r,o){const i=e.children;if(!i.length)return()=>{};const s=t.insertBefore(document.createComment(""),n);let l=null,a=()=>{};const c=be((()=>i.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=()=>{},s.remove())}}function Ve(e,t,n,r,o,i,s,l,a){const c=e.bind,u=[...i,e.name],d=a?.(u);if(a&&!d)return()=>{};const{context:f,handler:p}=function(e,t,n,r){const o="string"==typeof e?e:e.tag,{attrs:i,events:s}="string"!=typeof e&&e||{attrs:null,events:null};let l=!1;const a=new M.State(!1);let c=!1;const u=new M.State(!1),d=Object.create(null),f=Object.create(null),p=new Set,h=[],m=new $e;return{context:{events:h,props:i?new Set(Object.entries(i).filter((([,e])=>e.isProp)).map((([e])=>e))):null,attrs:f,watch(e,t){if(l)return()=>{};const n=d[e];if(!n)return()=>{};let r=n.get();const o=be((()=>n.get()),(n=>{const o=r;r=n,t(n,o,e)}),!0);return p.add(o),()=>{p.delete(o),o()}},relate(e){if(!n||!r||l)return()=>{};try{const t=r(n,e);return"function"!=typeof t?()=>{}:(p.add(t),()=>{p.delete(t),t()})}catch{return()=>{}}},get destroyed(){return a.get()},get init(){return u.get()},listen:(e,t)=>m.listen(e,t)},handler:{tag:o,set(e,t){if(i&&!(e in i))return;let n=d[e];if(n)return void n.set(t);const r=new M.State(t);d[e]=r,Object.defineProperty(f,e,{configurable:!0,enumerable:!0,get:r.get.bind(r)})},addEvent(e,n){if("function"!=typeof n)return;const[r,...o]=e.split(".").filter(Boolean),i=s?s[r].filters:{};if(!i)return;const l={},a=je(o,i,l);h.push([r,Me(t,n,a),l])},destroy(){if(!l){l=!0,a.set(!0);for(const e of p)e();m.emit("destroy")}},mount(){c||(c=!0,u.set(!0),m.emit("init",{events:h}))}}}}(d||e.name,r,r.getStore(c),l),h=d?.attrs,m=h?function(e,t,n,r,o){let i=new Set;for(const[s,l]of Object.entries(r)){if("class"===s||"style"===s)continue;if(s in n){const r=n[s],{name:o,calc:a,value:c}=n[s];if(!o&&!a){e.set(s,c);continue}l.immutable&&e.set(s,t.exec(r)),i.add(t.watch(r,(t=>e.set(s,t))));continue}const r=l.bind;if(!o||!r){e.set(s,l.default);continue}if("string"==typeof r){const n=t.bind(o,r,(t=>e.set(s,t)));n?i.add(n):e.set(s,l.default);continue}if(!Array.isArray(r)){e.set(s,l.default);continue}const[a,c,u]=r;if(!a||"function"!=typeof c)continue;if(!u){const n=!0===o?"":o;i.add(t.watch({name:n},(t=>e.set(s,t)))),e.addEvent(a,((...e)=>{t.all[n]=c(...e)}));continue}const d=t.bind(o,"state",(t=>e.set(s,t)));if(!d)continue;i.add(d);const f=t.bindSet(o,"state");f&&e.addEvent(a,((...e)=>{f(c(...e))}))}return()=>{const e=i;i=new Set;for(const t of e)t()}}(p,r,e.attrs,h,c):function(e,t,n){const r=e.tag;let o=new Set;for(const[i,s]of Object.entries(n)){if("class"===i||"style"===i)continue;const{name:n,calc:l,value:a}=s;if(n||l)if("string"!=typeof r||"input"!==r.toLocaleLowerCase()||"type"!==i.toLocaleLowerCase())o.add(t.watch(s,(t=>e.set(i,t))));else{const n=t.exec(s);e.set(i,n)}else e.set(i,a)}return()=>{const e=o;o=new Set;for(const t of e)t()}}(p,r,e.attrs);for(const[t,n]of Object.entries(e.events)){const e=r.getEvent(n);e&&p.addEvent(t,e)}const g=function(e,t,n){if(!n)return()=>{};let r=new Set;for(const[o,i]of Object.entries(t.bindAll(n)||{}))"function"==typeof i&&r.add(i((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,r,c),b=d?"function"==typeof d.tag?d.tag(f):Fe(f,d.tag,d.is):Fe(f,e.name,e.is),v=Array.isArray(b)?b[0]:b,y=Array.isArray(b)?b[1]:v;t.insertBefore(v,n);const w=y?He(e.children||[],y,null,r,o,i,s,l,a):()=>{},E=function(e,t,n,r){if(!(e instanceof Element))return()=>{};r&&(e.className+=" "+t.exec(r));let o=new Set;for(const[r,i]of Object.entries(n))i.value?e.classList.add(r):o.add(be((()=>Boolean(t.exec(i))),(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()}}(v,r,e.classes,e.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,i]of Object.entries(n))o.add(be((()=>Se(r,t.exec(i))),(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()}}(v,r,e.styles,e.attrs.style);p.mount();const L=function(e,t,n,r,o,i){let s=new Set;for(const[l,{attrs:a,value:c,events:u,bind:d}]of Object.entries(t)){if(!qe(r,l))continue;const f=r[l];if("function"!=typeof f)continue;let p=!1;const h=new M.State(!1),m=f?.events,g=[],b=Object.create(null),v=new Set,y=new $e;function w(e,t){if("function"!=typeof t)return;const[r,...o]=e.split(".").filter(Boolean),i=m?m[r].filters:{};if(!i)return;const s={},l=je(o,i,s);g.push([r,Me(n,t,l),s])}function E(){if(!p){p=!0,h.set(!0);for(const e of v)e();y.emit("destroy")}}s.add(E);for(const[L,C]of Object.entries(a)){const N=n.get(C);N&&Object.defineProperty(b,L,{...N,configurable:!0,enumerable:!0})}for(const[O,S]of Object.entries(u)){const $=n.getEvent(S);$&&w(O,$)}if(d){for(const[A,j]of Object.entries(n.getBindAll(d)||{}))Object.defineProperty(b,A,{...j,configurable:!0,enumerable:!0});for(const[T,k]of Object.entries(n.bindEvents(d)||{}))w(T,(e=>k(e)))}const x={get value(){return null},events:g,attrs:b,watch(e,t){if(p)return()=>{};let n=b[e];const r=be((()=>b[e]),(r=>{const o=n;n=r,t(r,o,e)}),!0);return v.add(r),()=>{v.delete(r),r()}},get destroyed(){return h.get()},listen:(e,t)=>y.listen(e,t),root:o,slot:i,tag:e};if(c){const I=n.get(c);I&&Object.defineProperty(x,"value",{...I,configurable:!0,enumerable:!0})}f(x)}return()=>{const e=s;s=new Set;for(const t of e)t()}}(p.tag,e.enhancements,r,s,v,y);return()=>{L(),p.destroy(),v.remove(),m(),w(),g(),E(),x()}}function _e(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 We(e,t,n,r,o,i,s,l,a){if("string"==typeof e){const r=document.createTextNode(e);return t.insertBefore(r,n),()=>r.remove()}const c=r.set(e.vars),u=_e(c,o,e.templates);if("divergent"===e.type)return De(e,t,n,c,((e,r,u)=>{const d=c.set(r),f=_e(d,o,u);return He(e,t,n,d,f,i,s,l,a)}));if("value"===e.type){const r=c.child(e.name);return r?He(e.children,t,n,r,u,i,s,l,a):()=>{}}if("enum"===e.type){const r=c.enum(e.value),o=(n,r)=>He(e.children,t,n,r,u,i,s,l,a);return r instanceof Q?function(e,t,n,r,o){const i=e.insertBefore(document.createComment(""),t);let s=new Map;function l(e){for(const[t,n,r]of e.values())r(),t.remove(),n.remove()}const a=new M.State(0),c=be((()=>n.children),(function(t){if(!i.parentNode)return;let c=i.nextSibling;const u=s;s=new Map,a.set(t.length);for(let i of t){const t=u.get(i);if(!t){const t=e.insertBefore(document.createComment(""),c),l=e.insertBefore(document.createComment(""),c),u=o(l,r.setStore(i,n,{get count(){return a.get()},get key(){return i.index},get index(){return i.index},get item(){return i.value}}));s.set(i,[t,l,u]);continue}if(u.delete(i),s.set(i,t),c===t[0]){c=t[1].nextSibling;continue}let l=t[0];for(;l&&l!==t[1];){const t=l;l=l.nextSibling,e.insertBefore(t,c)}e.insertBefore(t[1],c)}l(u)}),!0);return()=>{i.remove(),l(s),c()}}(t,n,r,c,o,e.sort):r instanceof G?function(e,t,n,r,o,i){const s=[],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)s.push(o(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 s)e()}}(0,n,r,c,o,e.sort):"function"==typeof r?function(e,t,n,r,o,i){const s=new M.Computed((()=>{const e=n();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])):[]})),l=i?new M.Computed((()=>{const e=s.get();return e.map((([t,n],o)=>[n,t,r.setObject({get count(){return e.length},get key(){return t},get item(){return n},get index(){return o}}).exec(i)])).sort((([,,e],[,,t])=>Ue(e,t))).map((([e,t],n)=>[t,n,e]))})):new M.Computed((()=>s.get().map((([e,t],n)=>[t,n,e])))),a=e.insertBefore(document.createComment(""),t);let c=[];function u(e){for(const[t,n,r]of e)r(),t.remove(),n.remove()}const d=new M.State(0),f=be((()=>l.get()),(function(t){if(!a.parentNode)return;let n=a.nextSibling;const i=c;c=[],d.set(t.length);for(const[s,l,a]of t){const t=i.findIndex((e=>e[3]===a)),[u]=t>=0?i.splice(t,1):[];if(!u){const t=e.insertBefore(document.createComment(""),n),i=e.insertBefore(document.createComment(""),n),u=new M.State(s),f=new M.State(l),p=o(i,r.setObject({get count(){return d.get()},get key(){return a},get item(){return u.get()},get index(){return f.get()}}));c.push([t,i,p,a,u,f]);continue}if(c.push(u),u[4].set(s),u[5].set(l),n===u[0]){n=u[1].nextSibling;continue}let f=u[0];for(;f&&f!==u[1];){const t=f;f=f.nextSibling,e.insertBefore(t,n)}e.insertBefore(u[1],n)}u(i)}),!0);return()=>{a.remove(),u(c),f()}}(t,n,r,c,o,e.sort):()=>{}}if("content"===e.type)return Re(t,n,c,e.value,e.html);if("template"===e.type){const r=u[e.template];if(!r)return()=>{};const[d,f]=r,p=f.params(d.params,e.attrs,c,e.bind),h=_e(p,o,d.templates);return He(d.children,t,n,p,h,i,s,l,a)}return"fragment"===e.type?He(e.children,t,n,c,u,i,s,l,a):Ve(e,t,n,c,u,i,s,l,a)}function He(e,t,n,r,o,i,s,l,a){const c=e.map((e=>We(e,t,n,r,o,i,s,l,a)));let u=!1;return()=>{if(!u){u=!0;for(const e of c)e()}}}function Ke(e,t,n,{component:r,global:o,relate:i,enhancements:s}={}){return He(t,n,null,new Ne(e,o),Object.create(null),[],s||{},"function"==typeof i?i:null,r)}function ze(e){return t=>(!t.type||"field"===t.type)&&t.field===e}function Ye(e,t,n,r,o,i,s){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")||"",p=d?e.child(d):e,h=d&&o?.fields?.find(ze(d))||null;if(!p)return;if("grid"===f){const b=ut(e,t,h,r);return void(b&&n.replaceWith(b))}const m=t(p,o?.renderer,r);if(m)return void n.replaceWith(m);const g=n.getAttribute("placeholder")||"";return void n.replaceWith(document.createTextNode(g))}if("nl-form-button"===l){const v=document.createElement("button");v.classList.add("NeeloongForm-item-button");const y=n.getAttribute("click")||"",w=r?.call;y&&"function"==typeof w&&v.addEventListener("click",(t=>w(y,t,e,r)));for(const E of[...n.childNodes])v.appendChild(E);return void n.replaceWith(v)}const a=n.getAttribute("nl-form-field");if(a){const x=a.endsWith("[]"),L=x?a.slice(0,a.length-2):a,C=L?e.child(L):e;if(!C)return;n.removeAttribute("nl-form-field");const N=L?o?.fields?.find(ze(L)):o;if(!x)return void Ye(C,t,n,r,N,i);if(!(C instanceof Q))return void n.remove();const O=n.parentElement;if(!O)return void n.remove();const S=O.insertBefore(document.createComment(""),n)||null;n.remove();let $=new Map;function A(e){for(const[t,n]of e.values())t instanceof Element&&t.remove(),n.abort()}let j=-1;const M=e=>{if(j<0)return;const t=e?Number(e.index):C.children.length;t<0||j<0||j===t||C.move(j,t)&&(j=t)};return be((()=>C.children),(e=>{let o=S.nextSibling;const i=$;$=new Map;for(const s of e){const e=i.get(s);if(e)i.delete(s),$.set(s,e),o!==e[0]?O.insertBefore(e[0],o):o=o.nextSibling;else{const e=new AbortController,i=O.insertBefore(n.cloneNode(!0),o);Ye(s,t,i,{...r,signal:r?.signal?AbortSignal.any([r?.signal,e.signal]):e.signal},N,i),i.addEventListener("dragenter",(()=>{M(s)})),i.addEventListener("dragstart",(e=>{e.target===e.currentTarget&&(j=Number(s.index))})),i.addEventListener("dragend",(()=>{j=-1})),$.set(s,[i,e])}}A(i)}),!0,r?.signal),void r?.signal?.addEventListener("abort",(()=>{S.remove(),A($)}),{once:!0})}if(null!==n.getAttribute("nl-form-remove")){const T=e.parent;T instanceof Q&&n.addEventListener("click",(()=>{T.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 k=e.child(c);k instanceof Q&&n.addEventListener("click",(()=>{k.add({})}))}const u=r?.call;for(const I of[...n.getAttributeNames()]){const B=I.indexOf(":");if(B<0)continue;const F=I.slice(0,B).toLowerCase(),P=I.slice(B+1);if("nl-form-field"===F){const R=n.getAttribute(I),U=R?e.child(R):e;if(!U)continue;ge((()=>{try{n.setAttribute(P,U.value)}catch{}}),r?.signal)}else if("nl-form-event"===F&&"function"==typeof u){const q=n.getAttribute(I);if(!q)continue;try{n.addEventListener(P,(t=>u(q,t,e,r)))}catch{}}}}if(n instanceof Element||n instanceof DocumentFragment)for(const D of[...n.children])Ye(e,t,D,r,o,i)}}function Ge(e){if(!e)return document.createElement("template").content;if("string"!=typeof e)return e.cloneNode(!0);const t=document.createElement("template");return t.innerHTML=e,t.content}function Qe(e,t,n,r){return r?.signal?.aborted?null:t(e,n?.renderer,r)}function Xe(e,t,n,{columns:r,remove:o,dragenter:i,dragstart:s,dragend:l,deletable:a},c){const u=document.createElement("tbody");u.addEventListener("dragenter",(()=>{i()})),u.addEventListener("dragstart",(e=>{e.target===e.currentTarget&&s()})),u.addEventListener("dragend",l);const d=u.appendChild(document.createElement("tr"));let f=()=>{};const p=[];if(r.find((e=>e.actions?.includes("trigger")))){if(ut(e,t,n,c)){const e=u.appendChild(document.createElement("tr"));e.appendChild(document.createElement("td")).colSpan=r.length,e.hidden=!0,f=()=>{if(e.hidden){e.hidden=!1;for(const e of p)e.classList.remove("NeeloongForm-table-line-open"),e.classList.add("NeeloongForm-table-line-close")}else{e.hidden=!0;for(const e of p)e.classList.remove("NeeloongForm-table-line-close"),e.classList.add("NeeloongForm-table-line-open")}}}}function h({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:s}=n;if(!r?.length){const n=d.appendChild(document.createElement("td")),r=i&&e.child(i);if(r){const e=Qe(r,t,null,c);e&&n.appendChild(e)}continue}const l=d.appendChild(document.createElement("th"));l.classList.add("NeeloongForm-table-line-handle");for(const t of r)switch(t){case"trigger":{const e=l.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-table-line-open"),p.push(e),e.addEventListener("click",f);continue}case"move":{if(!c?.editable)continue;const t=l.appendChild(document.createElement("button"));t.classList.add("NeeloongForm-table-move"),t.addEventListener("pointerdown",h),be((()=>e.readonly||e.disabled),(e=>{t.disabled=e}),!0,c.signal);continue}case"remove":{if(!c?.editable)continue;const t=l.appendChild(document.createElement("button"));t.classList.add("NeeloongForm-table-remove"),t.addEventListener("click",o),be((()=>!a.get()||e.readonly||e.disabled),(e=>{t.disabled=e}),!0,c.signal);continue}case"serial":l.appendChild(document.createElement("span")).classList.add("NeeloongForm-table-serial");continue}}return u}function Ze(e,t,n,r,o,i){const s=t.appendChild(document.createElement("tr"));for(const{action:t,actions:l,width:a,label:c}of n){const n=s.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"),be((()=>!o.get()),(e=>{u.disabled=e}),!0,e)}}function Je(e,t){const{colStart:n,colSpan:r,colEnd:o,rowStart:i,rowSpan:s,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}`),i&&l?e.style.gridRow=`${i} / ${l}`:i&&s?e.style.gridRow=`${i} / span ${s}`:s&&(e.style.gridRow=`span ${s}`)}function et(e,t){const n=document.createElement("div"),r=n.appendChild(document.createElement("div"));r.classList.add("NeeloongForm-item-label"),ge((()=>r.innerText=t?.label||""),e);const o=n.appendChild(document.createElement("div"));o.classList.add("NeeloongForm-item-content");const i=n.appendChild(document.createElement("div"));i.classList.add("NeeloongForm-item-description"),ge((()=>i.innerText=t?.description||""),e);const s=n.appendChild(document.createElement("div"));return s.classList.add("NeeloongForm-item-error"),ge((()=>s.innerText=t?.error||""),e),[n,o]}function tt(e,t,n,r,o){function i(r){if(!r)return null;if(!o)switch(r){case"inline":{const[r,o]=et(e,n);return Je(r,t),[r,o]}case"base":{const e=document.createElement("div");return Je(e,t),[e,e]}}switch(r){case"block":return et(e,n);case"fieldset":{const t=document.createElement("fieldset"),r=t.appendChild(document.createElement("legend"));return ge((()=>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 ge((()=>r.innerText=n?.label||""),e),[t,t]}}return null}const[s,l]=i(t?.cell)||i(r)||et(e,n);return s.classList.add("NeeloongForm-item"),ge((()=>{n?.error?s.classList.add("NeeloongForm-item-errored"):s.classList.remove("NeeloongForm-item-errored")}),e),ge((()=>{n?.required?s.classList.add("NeeloongForm-item-required"):s.classList.remove("NeeloongForm-item-required")}),e),[s,l]}function nt(e,t,n,r,o,{columns:i,remove:s,dragenter:l,dragstart:a,dragend:c,deletable:u,addNode:d,drop:f,createDetails:p},h){const m=document.createElement("div");m.addEventListener("dragstart",(e=>{e.target===e.currentTarget&&a()})),m.addEventListener("dragend",c),m.classList.add("NeeloongForm-tree-item"),ge((()=>{t.get()===e?m.classList.add("NeeloongForm-tree-current"):m.classList.remove("NeeloongForm-tree-current")}),h?.signal),ge((()=>{const e=o.get().level;m.style.setProperty("--NeeloongForm-tree-level",`${e}`)}),h?.signal),ge((()=>{m.hidden=o.get().hidden}),h?.signal);const g=[];function b({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 v(){const e=o.get();e.collapsed=!e.collapsed}let y=()=>{};function w(){y=p(e)}function E(){t.get()!==e?y=p(e):y()}const x="move"===r?.mainMethod?b:null,L=x?null:"collapse"===r?.mainMethod?v:"trigger"===r?.mainMethod?E:w,C=m.appendChild(document.createElement("div"));C.classList.add("NeeloongForm-tree-line");const N=m.appendChild(document.createElement("div"));N.classList.add("NeeloongForm-tree-drop");const O=m.appendChild(document.createElement("div"));O.classList.add("NeeloongForm-tree-drop-children"),N.addEventListener("dragover",(e=>e.preventDefault())),O.addEventListener("dragover",(e=>e.preventDefault())),N.addEventListener("drop",(()=>f())),O.addEventListener("drop",(()=>f(!0))),ge((()=>{N.hidden=O.hidden=!o.get().droppable}),h?.signal);let S=()=>{};N.addEventListener("dragenter",(()=>S=l(N))),O.addEventListener("dragenter",(()=>S=l(O))),N.addEventListener("dragleave",(()=>S())),O.addEventListener("dragleave",(()=>S()));for(const{actions:t,pattern:r,placeholder:o,width:l,field:a}of i)if(t?.length)for(const n of t)switch(n){case"trigger":{const e=C.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-trigger"),e.addEventListener("click",E);continue}case"open":{const e=C.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-open"),e.addEventListener("click",w);continue}case"collapse":{const e=C.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-collapse"),e.addEventListener("click",v),g.push(e);continue}case"move":{if(!h?.editable)continue;const t=C.appendChild(document.createElement("button"));t.classList.add("NeeloongForm-tree-move"),t.addEventListener("pointerdown",b),be((()=>e.readonly||e.disabled),(e=>{t.disabled=e}),!0,h.signal);continue}case"add":{if(!h?.editable)continue;const t=C.appendChild(document.createElement("button"));t.classList.add("NeeloongForm-tree-add"),t.addEventListener("click",d),be((()=>e.readonly||e.disabled),(e=>{t.disabled=e}),!0,h.signal);continue}case"remove":{if(!h?.editable)continue;const t=C.appendChild(document.createElement("button"));t.classList.add("NeeloongForm-tree-remove"),t.addEventListener("click",s),be((()=>!u.get()||e.readonly||e.disabled),(e=>{t.disabled=e}),!0,h.signal);continue}case"serial":C.appendChild(document.createElement("span")).classList.add("NeeloongForm-tree-serial");continue}else{const t=C.appendChild(document.createElement("div"));if(t.classList.add("NeeloongForm-tree-cell"),L&&t.addEventListener("click",L),x&&t.addEventListener("pointerdown",x),a){const r=e.child(a);if(!r)continue;const o=Qe(r,n,null,{...h,editable:!1});o&&t.appendChild(o);continue}"number"==typeof o&&(t.style.flex=`${o}`),"number"==typeof l&&(t.style.width=`${l}px`)}return ge((()=>{const e=o.get();if(e.hasChildren)if(e.collapsed)for(const e of g)e.classList.remove("NeeloongForm-tree-collapse-close"),e.classList.add("NeeloongForm-tree-collapse-open"),e.disabled=!1;else for(const e of g)e.classList.remove("NeeloongForm-tree-collapse-open"),e.classList.add("NeeloongForm-tree-collapse-close"),e.disabled=!1;else for(const e of g)e.classList.remove("NeeloongForm-tree-collapse-close"),e.classList.remove("NeeloongForm-tree-collapse-open"),e.disabled=!0}),h?.signal),m}const rt=new Set(["vertical-lr","vertical-rl","sideways-lr","sideways-rl"]);function ot(e){const t=getComputedStyle(e),n=t.writingMode?.toLowerCase();return[rt.has(n),"rtl"===t.direction.toLowerCase()!=("sideways-lr"===n)]}function it(e,t,n,r,o){const i=new M.Computed((()=>{const t=e.child(o);return t?Math.max(0,Math.floor(t.value?.[r])||0):0})),s=new M.Computed((()=>{if(!e.child(o))return-1;const n=i.get();if(!n)return-1;for(let e=o-1;e>=0;e--)if(n>t[e]?.levelValue)return e;return-1})),l=new M.Computed((()=>{const t=e.children,n=t[o+1];if(!n)return!1;if(!t[o])return!1;const s=i.get();return Math.floor(n.child(r)?.value)>s})),a=new M.Computed((()=>{if(n.get()===o)return!1;const e=s.get(),r=t[e];return!r||r.droppable})),c=new M.Computed((()=>{const e=s.get(),n=t[e];return n?n.level+1:0})),u=new M.State(!1),d=new M.Computed((()=>{const e=s.get(),n=t[e];return!!n&&(n.collapsed||n.hidden)})),f=new M.Computed((()=>{const e=s.get(),n=t[e];if(!n)return new Set;const r=new Set(n.parents);return r.add(e),r}));return{get level(){return c.get()},get levelValue(){return i.get()},get collapsed(){return u.get()},set collapsed(e){u.set(e)},get hidden(){return d.get()},get hasChildren(){return l.get()},get droppable(){return a.get()},get parents(){return f.get()}}}function st(e,t,n,r){if(r?.signal?.aborted)return null;const o=n?.columns,i=Object.entries(e.type||{}).filter((([e,t])=>"object"!=typeof t?.type)).map((([e,{width:t,label:n}])=>({field:e,width:t,label:n})));let s=[];if(Array.isArray(o)){const e=new Map(i.map((e=>[e.field,e]))),t=o.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(["add","move","trigger","remove","serial","open","collapse"]),n=t.filter((t=>e.delete(t)));return n?{actions:n}:null}const{action:n,actions:r,field:o,placeholder:i,pattern:s,width:l,label:a}=t;if(o){const t=e.get(o);if(t)return{field:o,placeholder:i,width:l,label:a||t.label}}const c=new Set(["add","move","trigger","remove","serial","open","collapse"]),u=[n,r].flat().filter((e=>e&&c.delete(e)));return u.length?{actions:u,width:l,label:a}:s?{pattern:s,placeholder:i,width:l,label:a}:i||l?{placeholder:i,width:l,label:a}:null}));s=t.filter(Boolean)}s.length||(s=[{actions:["collapse","move"]},i[0],{actions:["add","remove"]}]);const l=document.createElement("div");l.classList.add("NeeloongForm-tree");const a=l.appendChild(document.createElement("div"));a.classList.add("NeeloongForm-tree-main");const c=l.appendChild(document.createElement("div"));c.classList.add("NeeloongForm-tree-splitter");const u=l.appendChild(document.createElement("div"));u.classList.add("NeeloongForm-tree-details"),c.hidden=!0,u.hidden=!0;let d=null,f=0;function p(){const e=d;null!==e&&(d=null,c.releasePointerCapture(e))}c.addEventListener("pointerdown",(e=>{const{pointerId:t}=e;if([null,t].includes(d))switch(d=t,c.setPointerCapture(t),ot(c).map(((e,t)=>e?2**t:0)).reduce(((e,t)=>e+t))){case 0:f=-e.offsetX;break;case 1:f=-e.offsetY;break;case 2:f=e.offsetX-c.offsetWidth;break;case 3:f=e.offsetY-c.offsetHeight}}));const h=e=>{const[t,n]=ot(c);let r=0;switch([t,n].map(((e,t)=>e?2**t:0)).reduce(((e,t)=>e+t))){case 0:r=e.clientX-l.getBoundingClientRect().left;break;case 1:r=e.clientY-l.getBoundingClientRect().top;break;case 2:r=l.getBoundingClientRect().right-e.clientX;break;case 3:r=l.getBoundingClientRect().bottom-e.clientY}const o=1-Math.max(0,Math.min((r+f)/(e=>e?l.clientHeight-c.offsetHeight:l.clientWidth-c.offsetWidth)(t),1));u.style.inlineSize=100*o+"%"};c.addEventListener("pointermove",(e=>{const{pointerId:t}=e;c.hasPointerCapture(t)&&h(e)})),c.addEventListener("pointerup",(e=>{const{pointerId:t}=e;t===d&&(h(e),p())})),c.addEventListener("pointercancel",(e=>{const{pointerId:t}=e;t===d&&(h(e),p())}));let m=null;const g=new M.State(null);function b(e){if(r?.signal?.aborted)return()=>{};if(g.get()===e&&m){const e=m;return()=>{e.abort()}}m?.abort(),g.set(e);const o=new AbortController;m=o;const i=r?.signal?AbortSignal.any([r?.signal,o.signal]):o.signal,s=ut(e,t,n,{...r,signal:r?.signal?AbortSignal.any([r?.signal,i]):i});return i.addEventListener("abort",(()=>{g.set(null),p()}),{once:!0}),s&&(u.appendChild(s),u.hidden=!1,c.hidden=!1,i.addEventListener("abort",(()=>{s.remove(),c.hidden=!0,u.hidden=!0}),{once:!0})),()=>{o.abort()}}const v=n?.levelKey||"level",y=new M.Computed((()=>e.addable)),w={get:()=>Boolean(r?.editable)};function E(t){const n={};if(-2===t)return n[v]=0,void e.add(n);n[v]=(k[t]?.levelValue??-1)+1,e.insert(t+1,n)}function x(t){e.remove(Number(t.index))}let L=-1,C=new M.State(L);function N(t,n){if(L<0)return;const r=Number(function(e,t){if(!e)return 0;const n=Number(k[Number(e.index)]?.levelValue)||0;return t?n+1:n}(t,n))||0;let o=function(e){let t=e+1;const n=k[L]?.level??0;for(;(k[t]?.level??-1)>n;t++);return t-L}(L),i=-1;if(t){if(i=Number(t.index),L===i||k[i]?.parents?.has(L))return;if(n||i!==L+o){if(n){for(const e=k[i]?.level||0;k[i+1]?.level>e;i++);i<L&&(i+=1)}else i>L&&(i-=1);if(i<0)return}else i=-1}else if(i=k.length-1,i<0)return;if(i>=0&&L!==i){if(o=e.move(L,i,o),!o)return;L=o>1&&i>L?i-o+1:i,C.set(L)}const s=Array(o).fill(k[L]?.level??0).map(((e,t)=>Math.max((k[t+L]?.level??0)-e,0)));for(let t=0;t<o;t++){const n=e.children[L+t]?.child(v);n&&(n.value=r+s[t])}}function O(e){L=Number(e.index),C.set(L),a.classList.add("NeeloongForm-tree-moving")}let S=null;function $(e){return-1===L?()=>{}:(S?.classList.remove("NeeloongForm-tree-drag-over"),S=e,S?.classList.add("NeeloongForm-tree-drag-over"),()=>{S===e&&(S?.classList.remove("NeeloongForm-tree-drag-over"),S=null)})}function A(){L=-1,C.set(L),a.classList.remove("NeeloongForm-tree-moving"),S?.classList.remove("NeeloongForm-tree-drag-over"),S=null}if(r?.editable){const e=a.appendChild(document.createElement("button"));e.addEventListener("click",(()=>E(-1))),e.classList.add("NeeloongForm-tree-head-add"),be((()=>!y.get()),(t=>{e.disabled=t}),!0,r.signal)}const j=a.appendChild(document.createComment(""));if(r?.editable){const e=a.appendChild(document.createElement("div"));e.classList.add("NeeloongForm-tree-foot");const t=e.appendChild(document.createElement("button"));t.addEventListener("click",(()=>E(-2))),t.classList.add("NeeloongForm-tree-foot-add");const n=e.appendChild(document.createElement("div"));n.classList.add("NeeloongForm-tree-drop");let o=()=>{};n.addEventListener("dragover",(e=>e.preventDefault())),n.addEventListener("dragenter",(()=>o=$(n))),n.addEventListener("dragleave",(()=>o())),n.addEventListener("drop",(()=>N())),be((()=>!y.get()),(e=>{t.disabled=e}),!0,r.signal)}let T=new Map;const k=[];return be((()=>e.children),(o=>{let i=j.nextSibling;const l=T;T=new Map;const c=o.length;for(let t=k.length;t<c;t++)k[t]=it(e,k,C,"level",t);let u=-1;for(let e of o){u++;const o=k[u],c=l.get(e);if(c)l.delete(e),T.set(e,c),c[2](o),i!==c[0]?a.insertBefore(c[0],i):i=i.nextSibling;else{const l=new M.State(o),c=new AbortController,u=nt(e,g,t,n,l,{columns:s,remove:x.bind(null,e),dragenter:$,dragstart:O.bind(null,e),dragend:A,deletable:w,addNode:()=>E(Number(e.index)),createDetails:b,drop:N.bind(null,e)},{...r,signal:r?.signal?AbortSignal.any([r?.signal,c.signal]):c.signal});a.insertBefore(u,i),T.set(e,[u,c,e=>l.set(e)])}}k.splice(c);for(const[e,t]of l.values())e.remove(),t.abort()}),!0,r?.signal),l}function lt(e,t,n,r,o){return"tree"===e?st(t,n,r,o):function(e,t,n,r){if(r?.signal?.aborted)return null;const o=n?.columns,i=Object.entries(e.type||{}).filter((([e,t])=>"object"!=typeof t?.type)).map((([e,{width:t,label:n}])=>({field:e,width:t,label:n})));let s=[];if(Array.isArray(o)){const e=new Map(i.map((e=>[e.field,e]))),t=o.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(["add","move","trigger","remove","serial","open","collapse"]),n=t.filter((t=>e.delete(t)));return n?{actions:n}:null}const{action:n,actions:r,field:o,placeholder:i,pattern:s,width:l,label:a}=t;if(o){const t=e.get(o);if(t)return{field:o,placeholder:i,width:l,label:a||t.label}}const c=new Set(["add","move","trigger","remove","serial"]),u=[n,r].flat().filter((e=>e&&c.delete(e)));return u.length?{actions:u,width:l,label:a}:null}));s=t.filter(Boolean)}s.length||(s=[{actions:["add","trigger","move","remove","serial"]},...i.slice(0,3)]);const l=document.createElement("table");l.classList.add("NeeloongForm-table");const a=l.appendChild(document.createElement("thead")),c=new M.Computed((()=>e.addable)),u={get:()=>Boolean(r?.editable)};function d(){e.add({})}function f(t){e.remove(Number(t.index))}let p=-1;function h(t){if(p<0)return;const n=t?Number(t.index):e.children.length;n<0||p<0||p===n||e.move(p,n)&&(p=n)}function m(e){p=Number(e.index)}function g(){p=-1}switch(Ze(r?.signal,a,s,d,c,Boolean(r?.editable)),n?.tableFoot){default:case"header":{const e=l.appendChild(document.createElement("tfoot"));e.addEventListener("dragenter",(()=>{h()})),Ze(r?.signal,e,s,d,c,Boolean(r?.editable));break}case"add":{const e=l.appendChild(document.createElement("tfoot"));e.addEventListener("dragenter",(()=>{h()}));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",d),n.classList.add("NeeloongForm-table-foot-add"),be((()=>!c.get()),(e=>{n.disabled=e}),!0,r?.signal);break}case"none":}let b=new Map;return be((()=>e.children),(e=>{let o=a.nextSibling;const i=b;b=new Map;for(let a of e){const e=i.get(a);if(e)i.delete(a),b.set(a,e),o!==e[0]?l.insertBefore(e[0],o):o=o.nextSibling;else{const e=new AbortController,i=Xe(a,t,n,{columns:s,remove:f.bind(null,a),dragenter:h.bind(null,a),dragstart:m.bind(null,a),dragend:g,deletable:u},{...r,signal:r?.signal?AbortSignal.any([r?.signal,e.signal]):e.signal});l.insertBefore(i,o),b.set(a,[i,e])}}for(const[e,t]of i.values())e.remove(),t.abort()}),!0,r?.signal),l}(t,n,r,o)}function at(e,t,n,r){const{type:o}=e,i=Boolean(o&&"object"==typeof o),s=n?.html,l=i?e instanceof Q?"collapse":"fieldset":s?"base":"inline",[a,c]=tt(r?.signal,n,e,l,i);ge((()=>a.hidden=e.hidden),r?.signal);const u=s&&function(e,t,n,r,o){const i=Ge(e);return Ye(t,n,i,r,o),i}(s,e,t,r,n)||t(e,n?.renderer,r)||e instanceof Q&&lt(n?.arrayStyle,e,t,n,r)||i&&ut(e,t,n,r);return u&&c.appendChild(u),a}function ct(e,t,n,r){if("button"===n.type)return function(e,t,n){const[r,o]=tt(n?.signal,t,e),i=document.createElement("button");ge((()=>{const r=t.text,o="function"==typeof r?r(e,n):r;i.innerText=o??""}),n?.signal),ge((()=>{const r=t.disabled,o="function"==typeof r?r(e,n):r;i.disabled=Boolean(o)}),n?.signal),i.classList.add("NeeloongForm-item-button"),o.appendChild(i);const s=t.click;if("function"==typeof s)i.addEventListener("click",(t=>s(t,e,n)));else if(s&&"string"==typeof s){const t=n?.call;"function"==typeof t&&i.addEventListener("click",(r=>t(s,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[i,s]=tt(r?.signal,n,e),l=Ge(o);return Ye(e,t,l,r,n),s.appendChild(l),i}(e,t,n,r);const o=e.child(n.field);return o?at(o,t,n,r):null}function ut(e,t,n,r,o){if(r?.signal?.aborted)return null;const i=o instanceof HTMLElement?o:document.createElement("div");i.classList.add("NeeloongForm");const s=n?.fields;if(s)for(const n of s){const o=ct(e,t,n,r);o&&i.appendChild(o)}else{const n=[...e].map((([,e])=>e));for(const e of n){const n=at(e,t,null,r);n&&i.appendChild(n)}}return i}function dt(e,t,n,r,o){if(o?.signal?.aborted)return;const i=r?.html;if(!i)return void ut(e,t,r||null,o||null,n);const s=Ge(i);Ye(e,t,s,o||null,r),n.appendChild(s),o?.signal?.addEventListener("abort",(()=>{n.removeChild(s)}),{once:!0})}export{Q as ArrayStore,me as Layout,G as ObjectStore,M as Signal,Y as Store,ge as effect,Ke as render,dt as renderStore,be as watch};
60
+ function(e){const t=Object.create(A);t.value=e;const n=()=>(f(t),t.value);return n[c]=t,n}(n),l=s[c];if(this[j]=l,l.wrapper=this,o){const t=o.equals;t&&(l.equal=t),l.watched=o[e.subtle.watched],l.unwatched=o[e.subtle.unwatched]}}get(){if(!(0,e.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.get");return S.call(this[j])}set(t){if(!(0,e.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.set");if(l)throw new Error("Writes to signals not permitted during Watcher callback");$(this[j],t)}};p=j,h=new WeakSet,e.isComputed=e=>n(h,e),e.Computed=class{constructor(n,o){r(this,h),t(this,p);const i=function(e){const t=Object.create(N);t.computation=e;const n=()=>E(t);return n[c]=t,n}(n),s=i[c];if(s.consumerAllowSignalWrites=!0,this[j]=s,s.wrapper=this,o){const t=o.equals;t&&(s.equal=t),s.watched=o[e.subtle.watched],s.unwatched=o[e.subtle.unwatched]}}get(){if(!(0,e.isComputed)(this))throw new TypeError("Wrong receiver type for Signal.Computed.prototype.get");return E(this[j])}},(i=>{var l,a,c,p;i.untrack=function(e){let t,n=null;try{n=u(null),t=e()}finally{u(n)}return t},i.introspectSources=function(t){var n;if(!(0,e.isComputed)(t)&&!(0,e.isWatcher)(t))throw new TypeError("Called introspectSources without a Computed or Watcher argument");return(null==(n=t[j].producerNode)?void 0:n.map((e=>e.wrapper)))??[]},i.introspectSinks=function(t){var n;if(!(0,e.isComputed)(t)&&!(0,e.isState)(t))throw new TypeError("Called introspectSinks without a Signal argument");return(null==(n=t[j].liveConsumerNode)?void 0:n.map((e=>e.wrapper)))??[]},i.hasSinks=function(t){if(!(0,e.isComputed)(t)&&!(0,e.isState)(t))throw new TypeError("Called hasSinks without a Signal argument");const n=t[j].liveConsumerNode;return!!n&&n.length>0},i.hasSources=function(t){if(!(0,e.isComputed)(t)&&!(0,e.isWatcher)(t))throw new TypeError("Called hasSources without a Computed or Watcher argument");const n=t[j].producerNode;return!!n&&n.length>0};l=j,a=new WeakSet,c=new WeakSet,p=function(t){for(const n of t)if(!(0,e.isComputed)(n)&&!(0,e.isState)(n))throw new TypeError("Called watch/unwatch without a Computed or State argument")},e.isWatcher=e=>n(a,e),i.Watcher=class{constructor(e){r(this,a),r(this,c),t(this,l);let n=Object.create(d);n.wrapper=this,n.consumerMarkedDirty=e,n.consumerIsAlwaysLive=!0,n.consumerAllowSignalWrites=!1,n.producerNode=[],this[j]=n}watch(...t){if(!(0,e.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");o(this,c,p).call(this,t);const n=this[j];n.dirty=!1;const r=u(n);for(const e of t)f(e[j]);u(r)}unwatch(...t){if(!(0,e.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");o(this,c,p).call(this,t);const n=this[j];y(n);for(let e=n.producerNode.length-1;e>=0;e--)if(t.includes(n.producerNode[e].wrapper)){b(n.producerNode[e],n.producerIndexOfThis[e]);const t=n.producerNode.length-1;if(n.producerNode[e]=n.producerNode[t],n.producerIndexOfThis[e]=n.producerIndexOfThis[t],n.producerNode.length--,n.producerIndexOfThis.length--,n.nextProducerIndex--,e<n.producerNode.length){const t=n.producerIndexOfThis[e],r=n.producerNode[e];w(r),r.liveConsumerIndexOfThis[t]=e}}}getPending(){if(!(0,e.isWatcher)(this))throw new TypeError("Called getPending without Watcher receiver");return this[j].producerNode.filter((e=>e.dirty)).map((e=>e.wrapper))}},i.currentComputed=function(){var e;return null==(e=s)?void 0:e.wrapper},i.watched=Symbol("watched"),i.unwatched=Symbol("unwatched")})(e.subtle||(e.subtle={}))})(M||(M={}));const k=e=>"string"==typeof e&&e||null,I=e=>"number"==typeof e&&e||null,B=e=>e instanceof RegExp?e:null,F=Boolean;function P(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(P).filter(F):[];return o.length?{children:o,label:n,value:r}:"number"==typeof r||"string"==typeof r?{label:n,value:r}:null}const R=e=>{if(!e||!Array.isArray(e))return null;const t=e.map(P).filter(F);return t.length?t:null};function U(e,t,n,r){const o=new M.State(t(n));let i;if("function"==typeof r){const n=r;i=new M.Computed((()=>t(n(e))))}else{const e=t(r);i=new M.Computed((()=>e))}const s=new M.Computed((()=>{const e=o.get();return null===e?i.get():e}));return[o,s]}const q=Symbol();function D(e){const t={[q]:e};for(const[n,r]of e)Object.defineProperty(t,n,{get:()=>r.ref,configurable:!1,enumerable:!0});return Object.defineProperty(t,q,{get:()=>e,configurable:!1,enumerable:!0}),t}let V=null,_=null,W=Object.create(null);function H(e,t){const n=e.type;let r=Y;if(!e.array||_&&t?.parent instanceof _)if("string"==typeof n){const e=W[n];e&&(r=e)}else n&&"object"==typeof n&&V&&(r=V);else _&&(r=_);return new r(e,t)}function K(e){return e?e instanceof Error?e.message:"string"!=typeof e?"":e:""}function z(e,...t){const n=t.flat().filter((e=>"function"==typeof e));if(!n.length)return[()=>Promise.resolve([]),new M.Computed((()=>[])),()=>{}];const r=new M.State([]);let o=null;return[function(){o?.abort(),o=new AbortController;const t=o.signal;return r.set([]),Promise.all(n.map((n=>async function(t,n){let o=[];try{o.push(await t(e,n))}catch(e){o.push(e)}const i=o.flat().map(K).filter(Boolean);return!n.aborted&&i.length&&r.set([...r.get(),...i]),i}(n,t)))).then((e=>e.flat()))},new M.Computed((()=>r.get())),()=>{o?.abort(),r.set([])}]}class Y{#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 i=r.get(o);return i||(i=new Set,r.set(o,i)),i.add(n),()=>{i?.delete(n)}}static create(e,t={}){return H({type:e},{...t,parent:null})}static setStore(e,t){return function(e,t){W[e]=t}(e,t)}#t=!1;get null(){return this.#t}get kind(){return""}#n=null;get ref(){return this.#n||D(this)}constructor(e,{null:t,ref:n,default:r,setValue:o,convert:i,onUpdate:s,validator:l,validators:a,index:c,size:u,new:d,parent:f,hidden:p,clearable:h,required:m,disabled:g,readonly:b,removable:v,label:y,description:w,placeholder:E,min:x,max:L,step:C,minLength:N,maxLength:O,pattern:S,values:$}={}){this.schema=e;const A=f instanceof Y?f:null;var j,F;A&&(this.#r=A,this.#o=A.#o,this.#i=A.#i),this.#s=(j=this,"function"!=typeof(F=r??e.default)?()=>structuredClone(F):e=>structuredClone(F(j,e)));const P=new M.State(!1);this.#l=P,this.#i=P,this.#a=e.type,this.#c=e.meta,this.#u=e.component,this.#d=e.layout||{};const q=new M.State(Boolean(d));this.#f=q;const V=A?new M.Computed((()=>A.#p.get()||q.get())):new M.Computed((()=>q.get()));this.#p=V;const _=Boolean(e.immutable),W=!1!==e.creatable;this.#h=_,this.#m=W;const H=e.readonly,G=new M.State("boolean"==typeof b?b:null);let Q;if("function"==typeof H)Q=new M.Computed((()=>Boolean(H(this))));else{const e=Boolean(H);Q=new M.Computed((()=>e))}const X=()=>{if(V.get()?!W:_)return!0;const e=G.get();return null===e?Q.get():e},Z=A?A.#g:null;this.#b=G,this.#g=Z?new M.Computed((()=>Z.get()||X())):new M.Computed(X),[this.#v,this.#y]=T(this,p,e.hidden,A?A.#y:null),[this.#w,this.#E]=T(this,h,e.clearable,A?A.#E:null),[this.#x,this.#L]=T(this,m,e.required,A?A.#L:null),[this.#C,this.#N]=T(this,g,e.disabled,A?A.#N:null),[this.#O,this.#S]=U(this,k,y,e.label),[this.#$,this.#A]=U(this,k,w,e.description),[this.#j,this.#M]=U(this,k,E,e.placeholder),[this.#T,this.#k]=U(this,I,x,e.min),[this.#I,this.#B]=U(this,I,L,e.max),[this.#F,this.#P]=U(this,I,C,e.step),[this.#R,this.#U]=U(this,I,N,e.minLength),[this.#q,this.#D]=U(this,I,O,e.maxLength),[this.#V,this.#_]=U(this,B,S,e.pattern),[this.#W,this.#H]=U(this,R,$,e.values),[this.#K,this.#z]=T(this,v,e.removable??!0);const J=function(e,...t){const n=t.flat().filter((e=>"function"==typeof e));return n.length?new M.Computed((()=>{const t=[];for(const r of n)try{t.push(r(e))}catch(e){t.push(e)}return t.flat().map(K).filter(Boolean)})):new M.Computed((()=>[]))}(this,e.validator,l),[ee,te,ne]=z(this,e.validators?.change,a?.change),[re,oe,ie]=z(this,e.validators?.blur,a?.blur);if(this.listen("change",(()=>{ee()})),this.listen("blur",(()=>{re()})),this.#Y=function(...e){const t=e.filter(Boolean);return new M.Computed((()=>t.flatMap((e=>e.get()))))}(J,te,oe),this.#G=J,this.#Q=ee,this.#X=re,this.#Z=ne,this.#J=ie,u instanceof M.State||u instanceof M.Computed?this.#ee=u:this.#ee=new M.State(u||0),t)return this.#t=!0,void(this.#n=D(this));this.#n=n||null,this.#te=s||null,this.#ne="function"==typeof o?o:null,this.#re="function"==typeof i?i:null,this.#oe.set(c??"");for(const[t,n]of Object.entries(e.events||{}))"function"==typeof n&&this.listen(t,n)}#d;get layout(){return this.#d}#s;createDefault(e){return this.#s(e)}#ne=null;#re=null;#te=null;#r=null;#o=this;#a;#c;#u;#l=null;#i;get loading(){return this.#i.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}#ee;get size(){return this.#ee.get()}#oe=new M.State("");get index(){return this.#oe.get()}set index(e){this.#oe.set(e)}get no(){if(this.#t)return"";const e=this.index;return"number"==typeof e?e+1:e}#m=!0;get creatable(){return this.#m}#h=!1;get immutable(){return this.#h}#p;#f;get selfNew(){return this.#f.get()}set selfNew(e){this.#f.set(Boolean(e))}get new(){return this.#p.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)}#x;#L;get selfRequired(){return this.#x.get()}set selfRequired(e){this.#x.set("boolean"==typeof e?e:null)}get required(){return this.#L.get()}set required(e){this.#x.set("boolean"==typeof e?e:null)}#C;#N;get selfDisabled(){return this.#C.get()}set selfDisabled(e){this.#C.set("boolean"==typeof e?e:null)}get disabled(){return this.#N.get()}set disabled(e){this.#C.set("boolean"==typeof e?e:null)}#b;#g;get selfReadonly(){return this.#b.get()}set selfReadonly(e){this.#b.set("boolean"==typeof e?e:null)}get readonly(){return this.#g.get()}set readonly(e){this.#b.set("boolean"==typeof e?e:null)}#K;#z;get selfRemovable(){return this.#K.get()}set selfRemovable(e){this.#K.set("boolean"==typeof e?e:null)}get removable(){return this.#z.get()}set removable(e){this.#K.set("boolean"==typeof e?e:null)}#O;#S;get selfLabel(){return this.#O.get()}set selfLabel(e){this.#O.set(k(e))}get label(){return this.#S.get()}set label(e){this.#O.set(k(e))}#$;#A;get selfDescription(){return this.#$.get()}set selfDescription(e){this.#$.set(k(e))}get description(){return this.#A.get()}set description(e){this.#$.set(k(e))}#j;#M;get selfPlaceholder(){return this.#j.get()}set selfPlaceholder(e){this.#j.set(k(e))}get placeholder(){return this.#M.get()}set placeholder(e){this.#j.set(k(e))}#T;#k;get selfMin(){return this.#T.get()}set selfMin(e){this.#T.set(I(e))}get min(){return this.#k.get()}set min(e){this.#T.set(I(e))}#I;#B;get selfMax(){return this.#I.get()}set selfMax(e){this.#I.set(I(e))}get max(){return this.#B.get()}set max(e){this.#I.set(I(e))}#F;#P;get selfStep(){return this.#F.get()}set selfStep(e){this.#F.set(I(e))}get step(){return this.#P.get()}set step(e){this.#F.set(I(e))}#R;#U;get selfMinLength(){return this.#R.get()}set selfMinLength(e){this.#R.set(I(e))}get minLength(){return this.#U.get()}set minLength(e){this.#R.set(I(e))}#q;#D;get selfMaxLength(){return this.#q.get()}set selfMaxLength(e){this.#q.set(I(e))}get maxLength(){return this.#D.get()}set maxLength(e){this.#q.set(I(e))}#V;#_;get selfPattern(){return this.#V.get()}set selfPattern(e){this.#V.set(B(e))}get pattern(){return this.#_.get()}set pattern(e){this.#V.set(B(e))}#W;#H;get selfValues(){return this.#W.get()}set selfValues(e){this.#W.set(R(e))}get values(){return this.#H.get()}set values(e){this.#W.set(R(e))}#Y;#G;#Q;#X;#Z;#J;get errors(){return this.#Y.get()}get error(){return this.#Y.get()[0]}*[Symbol.iterator](){}child(e){return null}#ie=!1;#se=new M.State(null);#le=new M.State(this.#se.get());get changed(){return!Object.is(this.#le.get(),this.#se.get())}get value(){return this.#le.get()}set value(e){const t=this.#ne?.(e),n=void 0===t?e:t;this.#le.set(n),this.#ie||this.#se.set(n),this.#te?.(n,this.#oe.get(),this),this.#ae()}#ae(){this.#ce||(this.#ce=!0,queueMicrotask((()=>{const e=this.#le.get();this.#ue(e)})))}reset(e=(this.#ie?this.#se.get():this.#s()),t=this.#f.get()){this.#de(e,Boolean(t))}#de(e,t){this.#f.set(t);const n=this.#ne?.(e),r=void 0===n?e:n;if(this.#Z(),this.#J(),this.#ie=!0,!r||"object"!=typeof r){for(const[,e]of this)e.#de(null,!1);return this.#le.set(r),this.#se.set(r),this.#te?.(r,this.#oe.get(),this),r}const o=Array.isArray(r)?[...r]:{...r};for(const[e,t]of this)o[e]=t.#de(Object.hasOwn(o,e)?o[e]:void 0,!1);return this.#le.set(o),this.#se.set(o),this.#te?.(o,this.#oe.get(),this),o}#ce=!1;#fe(e){let t=this.#re?.(e)??e;return void 0===t&&(t=e),Object.is(this.#le.get(),t)?t:this.#ue(t)}#ue(e){this.#ce=!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 i=Object.hasOwn(e,t)?e[t]:void 0,s=o.#fe(i);Object.is(i,s)||(n[t]=s,r=!0)}r&&(t=e=n,this.#le.set(e))}return this.#ie||(this.#ie=!0,this.#se.set(t)),this.#le.set(e),e}validate(e){if(!0===e)return Promise.all([this.#G.get(),this.#Q(),this.#X()]).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]));return Promise.all(n).then((e=>e.flat()))}}class G extends Y{get kind(){return"object"}#pe;*[Symbol.iterator](){yield*Object.entries(this.#pe)}child(e){return this.#pe[e]||null}constructor(e,{parent:t,index:n,new:r,onUpdate:o}={}){const i=Object.entries(e.type),s=Object.create(null);super(e,{parent:t,index:n,new:r,onUpdate:o,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(s);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.#pe[t]&&(this.value={...this.value,[t]:e})}};for(const[e,t]of i)s[e]=H(t,{...l,index:e});this.#pe=s}}V=G;class Q extends Y{#he=()=>{throw new Error};#pe;get children(){return[...this.#pe.get()]}*[Symbol.iterator](){return yield*[...this.#pe.get().entries()]}child(e){const t=this.#pe.get();return"number"==typeof e&&e<0?t[t.length+e]||null:t[Number(e)]||null}get kind(){return"array"}constructor(e,{parent:t,onUpdate:n,index:r,new:o,addable:i}={}){const s=new M.State([]),l=e=>{const t=Array.isArray(e)&&e.length||0,n=[...s.get()],r=n.length;for(let e=n.length;e<t;e++)n.push(this.#he(e));n.length=t,r!==t&&s.set(n)};super({...e,immutable:!1},{index:r,new:o,parent:t,size:new M.Computed((()=>s.get().length)),setValue(e){const t=Array.isArray(e)?e:null==e?null:[e];return l(t),t},convert(e){const t=Array.isArray(e)?e:null==e?null:[e];return l(t),t},onUpdate:(e,t,r)=>{l(e),n?.(e,t,r)},default:e.default??[]}),[this.#me,this.#ge]=T(this,i,e.addable??!0),this.#pe=s;const a={parent:this,onUpdate:(e,t,n)=>{if(s.get()[t]!==n)return;const r=[...this.value||[]];r.length<t&&(r.length=t),r[t]=e,this.value=r}};this.#he=(t,n)=>{const r=H({...e,creatable:!0},{...a,index:t,new:n});return r.index=t,r}}#me;#ge;get selfAddable(){return this.#me.get()}set selfAddable(e){this.#me.set("boolean"==typeof e?e:null)}get addable(){return this.#ge.get()}set addable(e){this.#me.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.#pe.get()],i=Math.max(0,Math.min(Math.floor(e),o.length)),s=this.#he(i,n);s.new=!0,o.splice(i,0,s);for(let t=e+1;t<o.length;t++)o[t].index=t;const l=[...r];return l.splice(i,0,s.createDefault(t)),this.#pe.set(o),this.value=l,!0}add(e=null){return this.insert(this.#pe.get().length,e)}remove(e){const t=this.value;if(!Array.isArray(t))return;const n=[...this.#pe.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 i=[...t],[s]=i.splice(r,1);return this.#pe.set(n),this.value=i,s}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 i=[...this.#pe.get()],s=i.splice(e,r),l=s.length;if(!l)return 0;const a=r>1&&t>e?t-r+1:t;i.splice(a,0,...s);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=[...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.#pe.set(i),this.value=d,l}exchange(e,t){const n=this.value;if(!Array.isArray(n))return!1;const r=[...this.#pe.get()],o=r[e],i=r[t];if(!o||!i)return!1;r[t]=o,r[e]=i,o.index=t,i.index=e;const s=[...n],l=s[e],a=s[t];return s[t]=l,s[e]=a,this.#pe.set(r),this.value=s,!0}}function X(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=Z(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=Z(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 o=Z(r);o&&t.push(o)}return i(n),o?[{type:"fragment",templates:r,children:t}]:t}function Z(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]:X(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){_=e}(Q);const J=/^([+-]?(\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 ee={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 te extends Error{constructor(e,...t){const n=ee[e];super("function"==typeof n?n(...t):n),this.code=e}}const ne=/^(?<decorator>[:@!+*\.?]|style:|样式:)?(?<name>-?[\w\p{Unified_Ideograph}_][-\w\p{Unified_Ideograph}_:\d\.]*)$/u,re=/^~(?<enhancement>[\w\p{Unified_Ideograph}_][-\w\p{Unified_Ideograph}_\d\.]*)(?:(?<decorator>[:@!])(?<name>-?[\w\p{Unified_Ideograph}_][-\w\p{Unified_Ideograph}_:\d\.]*))?$/u,oe=/^(?<name>[a-zA-Z$\p{Unified_Ideograph}_][\da-zA-Z$\p{Unified_Ideograph}_]*)?$/u;function ie(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 se(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 J.test(e)?Number(e.replaceAll("_","")):NaN}(n);return Number.isNaN(r)?oe.test(n)?{name:n}:{calc:t(e)}:{value:r}}function le(e,t,n,r,o){const{attrs:i,events:s,classes:l,styles:a,vars:c,params:u,enhancements:d}=e;return function(f,p){const h=f.replace(/./g,".").replace(/:/g,":").replace(/@/g,"@").replace(/+/g,"+").replace(/-/g,"-").replace(/[*×]/g,"*").replace(/!/g,"!"),m=(ne.exec(h)||re.exec(h))?.groups;if(!m)throw new te("ATTR",f);const{name:g,enhancement:b}=m,v=m.decorator?.toLowerCase();if(b){if(":"===v)ie(d,b).attrs[g]=p?se(p,t):{name:g};else if("@"===v)ie(d,b).events[g]=p?oe.test(p)?{name:p}:{event:r(p)}:{name:g};else if("!"===v){if("bind"===g)ie(d,b).bind=p||!0}else ie(d,b).value=se(p,t);return}if(!v)return void(i[g]={value:p});if(":"===v)return void(i[g]=p?se(p,t):{name:g});if("."===v)return void(l[g]=p?se(p,t):{name:g});if("style:"===v)return void(a[g]=se(p,t));if("@"===v)return void(s[g]=p?oe.test(p)?{name:p}:{event:r(p)}:{name:g});if("+"===v)return void c.push({...p?se(p,n):{value:void 0},variable:g,init:!0});if("*"===v)return void c.push({...se(p,t),variable:g,init:!1});if("?"===v)return void(u[g]=se(p,t));if("!"!==v)return;switch(g.toString()){case"fragment":e.fragment=p||!0;break;case"else":e.else=!0;break;case"enum":e.enum=p?se(p,t):{value:!0};break;case"sort":e.sort=p?se(p,t):{value:!0};break;case"if":e.if=se(p,t);break;case"text":e.text=se(p,t);break;case"html":o&&(e.html=se(p,t));break;case"template":e.template=p;break;case"bind":e.bind=p||!0;break;case"value":e.value=p;break;case"comment":e.comment=p}}}function ae(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 ce={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 ue=/^(?<name>[\w\p{Unified_Ideograph}_][-\.\|:|d\w\p{Unified_Ideograph}_:]*)(?:|(?<is>[\w\p{Unified_Ideograph}_][-\.\|:|d\w\p{Unified_Ideograph}_]*))?$/u;function de(e){return"="!==e&&"/"!==e&&">"!==e&&e&&"'"!==e&&'"'!==e&&!function(e){return"0x80"===e||e<=" "}(e)}function fe(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 pe(...e){console.error(new te(...e))}function he(e){const t=e.slice(1,-1);return"#"===t.charAt(0)?String.fromCodePoint(parseInt(t.substring(1).replace("x","0x"))):t in ce?ce[t]:(pe("ENTITY",e),e)}var me=Object.freeze({__proto__:null,parse:function(e,{createCalc:t=()=>{throw new te("CALC")},createInit:n=t,createEvent:r=()=>{throw new te("EVENT")},simpleTag:o=new Set,enableHTML:i=!1}={}){const s=[],l={children:s},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 p={},h=0;function m(t){if(t<=h)return;f(e.substring(h,t).replace(/&#?\w+;/g,he)),h=t}for(;;){const g=e.indexOf("<",h);if(g<0){const S=e.substring(h);S.match(/^\s*$/)||f(S);break}g>h&&m(g);const b=e.charAt(g+1);if("!"===b){let $=g+2,A=">";if("--"===e.slice(g+2,g+4)&&($+=4,A="--\x3e"),h=e.indexOf(A,$),h<0)break;h++;continue}if("/"===b){h=e.indexOf(">",g+3);let j=e.substring(g+2,h);if(h<0?(j=e.substring(g+2).replace(/[\s<].*/,""),pe("UNCOMPLETED",j,c?.name),h=g+1+j.length):j.match(/\s</)&&(j=j.replace(/[\s<].*/,""),pe("UNCOMPLETED",j),h=g+1+j.length),c){const M=c.name;if(M===j)d();else{if(M.toLowerCase()!=j.toLowerCase())throw new te("CLOSE",j,c.name);d()}}h++;continue}function v(t){let n=h+1;if(h=e.indexOf(t,n),h<0)throw new te("QUOTE",t);const r=e.slice(n,h).replace(/&#?\w+;/g,he);return h++,r}function y(){let t=e.charAt(h);for(;t<=" "||"€"===t;t=e.charAt(++h));return t}function w(){let t=h,n=e.charAt(h);for(;de(n);)h++,n=e.charAt(h);return e.slice(t,h)}h=g+1;let E=e.charAt(h);switch(E){case"=":throw new te("EQUAL");case'"':case"'":throw new te("ATTR_VALUE");case">":case"/":throw new te("SYMBOL",E);case"":throw new te("EOF")}const x=w(),L=ue.exec(x)?.groups;if(!L)throw new te("TAG",x);a.push(c),c=ae(L.name,L.is),u.children.push(c),u=c;const C=le(c,t,n,r,i);let N=!0,O=!1;e:for(;N;){let T=y();switch(T){case"":pe("EOF"),h++;break e;case">":h++;break e;case"/":O=!0;break e;case'"':case"'":throw new te("ATTR_VALUE");case"=":throw new te("SYMBOL",T)}const k=w();if(!k){pe("EOF"),h++;break e}switch(T=y(),T){case"":pe("EOF"),h++;break e;case">":C(k,""),h++;break e;case"/":C(k,""),O=!0;break e;case"=":h++;break;case"'":case'"':C(k,v(T));continue;default:C(k,"");continue}switch(T=y(),T){case"":C(k,""),pe("EOF"),h++;break e;case">":C(k,""),h++;break e;case"/":C(k,""),O=!0;break e;case"'":case'"':C(k,v(T));continue}C(k,w())}if(O){for(;;){h++;const I=e.charAt(h);if("/"!==I&&!(I<=" "||"€"===I))break}switch(e.charAt(h)){case"=":throw new te("EQUAL");case'"':case"'":throw new te("ATTR_VALUE");case"":pe("EOF");break;case">":h++;break;default:throw new te("CLOSE_SYMBOL")}d()}else(o.has(x)||fe(e,h,x,p))&&d()}return X(s)}});function ge(e,t){if(t?.aborted)return;let n=!0;const r=new M.subtle.Watcher((()=>{n&&(n=!1,queueMicrotask((()=>{n=!0;for(const e of r.getPending())e.get();r.watch()})))})),o=new M.Computed(e);if(r.watch(o),o.get(),!t)return()=>{r.unwatch(o)};t.addEventListener("abort",(()=>{r.unwatch(o)}),{once:!0})}function be(e,t,n,r){let o,i=!1;return ge((()=>{const r=e();if(!i)return i=!0,o=r,void(n&&t(r));Object.is(r,o)||(o=r,t(r))}),r)}const ve=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*ye(e,t="",n="$"){yield[`${t}`,{get:()=>e.value,set:t=>e.value=t,store:e}];for(const r of ve)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 Q?(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 we(e,t,n){for(const[n,r]of t){for(const[t,o]of ye(r,n))e[t]=o;for(const[t,o]of ye(r,n,"$$"))e[t]=o}}const Ee={value$:{calc:e=>e?.[q].value},state$:{calc:e=>e?.[q].state}};var xe=Object.getOwnPropertyDescriptors(Ee);function Le(e){if(!e)return!1;const t=e.indexOf("$");return t<0||(e.indexOf("$",t+2)>0||"$"===e[0]&&"_$".includes(e[1]))}function Ce(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 Ne{exec({name:e,calc:t,value:n}){if("string"==typeof e){const t=this.#be[e];if("function"!=typeof t?.get)return;return t.get()}return"function"==typeof t?t(this.getters):n}get({name:e,calc:t,value:n}){if("string"==typeof e){const t=this.#be[e];if("function"!=typeof t?.get)return;const{get:n,set:r}=t;return{get:n,set:r}}if("function"==typeof t){const e=new M.Computed((()=>t(this.getters)));return{get:()=>e.get()}}return{get:()=>n}}watch(e,t){return be((()=>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.#be[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.#be[!0===e?"":e];return t?.get&&t.store||null}bind(e,t,n){const r=this.#be[!0===e?"":e];if(!r?.get)return;const{store:o}=r;return o?ve.has(t)?be((()=>o[t]),n,!0):void 0:"value"===t?be((()=>r.get()),n,!0):void 0}bindAll(e){const t=this.#be[!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=>be(e,t,!0)}}const r=Object.fromEntries([...ve].map((e=>[`$${e}`,t=>be((()=>n[e]),t,!0)])));return r.$$state=e=>be((()=>null),e,!0),r}getBindAll(e){const t=this.#be[!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([...ve].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.#be[!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.#be[!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.#be[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 Ne){this.#ve=t.#ve;const e=this.#ye;for(const[n,r]of Object.entries(t.#ye))e[n]=r;const n=this.#we;for(const[e,r]of Object.entries(t.#we))n[e]=r}else we(this.#ye,e),this.#ve=function(e){const t=Object.create(null,xe);if(!e||"object"!=typeof e)return t;for(const[n,r]of Object.entries(e)){if(!Le(n))continue;if(!r||"object"!=typeof r)continue;if(r instanceof Y){for(const[e,o]of ye(r,n))t[e]=o;continue}const{get:e,set:o,exec:i,calc:s}=r;"function"!=typeof e?"function"==typeof s||s&&"object"==typeof s?t[n]={calc:s}:("function"==typeof i||s&&"object"==typeof s)&&(t[n]={exec:i}):t[n]="function"==typeof o?{get:e,set:o}:{get:e}}return t}(t)}#ve;#ye=Object.create(null);#we=Object.create(null);store;#Ee=null;#r=null;#xe=null;get#be(){const e=this.#xe;if(e)return e;const t=Object.create(null,Object.getOwnPropertyDescriptors({...this.#ye,...this.#ve,...this.#we})),n=this.store,r=this.#r,o=this.#Ee;for(const[e,r]of ye(n))t[e]=r;for(const[e,o]of function*(e,t,n="",r="$"){if(!(e instanceof Q))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.#xe=t,t}setStore(e,t,n){const r=new Ne(e,this);return t&&(r.#r=t),we(r.#ye,e),n&&(r.#Ee=n),r}child(e){if(!e)return this;const t=this.store.child(e);if(!t)return null;const n=new Ne(t,this);return we(n.#ye,t),n}params(e,t,n,r){let o=this.store;if(!0===r)o=n.store;else if(r){const e=n.#be[r],t=e?.get&&e.store;t&&(o=t)}if(0===Object.keys(e).length)return this;const i=new Ne(o,this);i.#r=this.#r,i.#Ee=this.#Ee;const s=i.#we,l=i.#be;for(const[r,o]of Object.entries(e)){const e=r in t?t[r]:null;if(e){const{name:t,calc:o,value:i}=e;if(t){const e=n.#be[t];if(!e?.get)continue;if(!e.store){s[r]=l[r]=e;continue}for(const[t,n]of ye(e.store,r))s[t]=l[t]=n;continue}if("function"==typeof o){const e=new M.Computed((()=>o(n.getters)));s[r]=l[r]={get:()=>e.get()};continue}s[r]=l[r]={get:()=>i}}else{const{name:e,calc:t,value:n}=o;if("function"==typeof t){const e=i.getters;i.#Le=null;const n=new M.Computed((()=>t(e)));s[r]=l[r]={get:()=>n.get()};continue}if(e){const t=l[e];if(!t?.get)continue;if(!t.store){s[r]=l[r]=t;continue}for(const[e,n]of ye(t.store,r))s[e]=l[e]=n;continue}s[r]=l[r]={get:()=>n}}}return i}setObject(e){const t=new Ne(this.store,this);return t.#Ee=e,t}set(e){if(!e?.length)return this;const t=new Ne(this.store,this);t.#r=this.#r,t.#Ee=this.#Ee;const n=t.#we,r=t.#be;for(const{variable:o,name:i,calc:s,value:l,init:a}of e)if(a){const e=new M.State(l);if("function"==typeof s){const n=t.settable;t.#Ce=null,e.set(s(n))}else if(i){const t=r[i];if(!t?.get)continue;e.set(t.get())}n[o]=r[o]={get:()=>e.get(),set:t=>{e.set(t)}}}else if("function"!=typeof s)if(i){const e=r[i];if(!e)continue;if(!e.get||!e.store){n[o]=r[o]=e;continue}for(const[t,i]of ye(e.store,o))n[t]=r[t]=i}else n[o]=r[o]={get:()=>l};else{const e=t.getters;t.#Le=null;const i=new M.Computed((()=>s(e)));n[o]=r[o]={get:()=>i.get()}}return t}#Ne=null;get all(){const e=this.#Ne;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#be))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 Ce(this.store,t),this.#Ne=t,t}#Ce=null;get settable(){const e=this.#Ce;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#be))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 Ce(this.store,t),this.#Ce=t,t}#Le=null;get getters(){const e=this.#Le;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#be))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 Ce(this.store,t),this.#Le=t,t}}const Oe={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 Se(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 Oe?`${o}${Oe[e]}`:`${o}`:"string"==typeof o&&(r=o),r?[r,n?"important":void 0]:null}class $e{#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 i=r.get(o);return i||(i=new Set,r.set(o,i)),i.add(n),()=>{i?.delete(n)}}}const Ae={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 je(e,t,n){const r=[];if(t)for(let o=e.shift();o;o=e.shift()){const e=o.indexOf(":"),i=e>=0?o.slice(0,e):o,s=e>=0?o.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=Ae[c]),"function"==typeof c&&r.push([c,s,a])}return r}function Me(e,t,n){return r=>{const o=e.all;for(const[e,t,i]of n)if(e(r,t,o)===i)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 ke(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 ke;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 Be={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=ke(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=ke(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=ke(e)}},events:{$value:["change",(e,t)=>t.value]}}};function Fe(e,t,n){const r=document.createElement(t,{is:n||void 0}),{watch:o,props:i}=e;return["input","textarea","select"].includes(t.toLowerCase())&&e.relate(r),e.listen("init",(({events:n})=>{const s=Be[t.toLowerCase()],l=s?.attrs||{},a=s?.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,i]=n;r.addEventListener(e,(e=>t(i(e,r))),o)}}if(i)for(const[t,n]of Object.entries(e.attrs))if(o(t,(e=>{if(i.has(t))r[t]=e;else{const n=Te(e);null==n?r.removeAttribute(t):r.setAttribute(t,n)}})),i.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=Ie(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 i=Te(n);null!==i&&r.setAttribute(t,i),o(t,(e=>{const n=Te(e);null===n?r.removeAttribute(t):r.setAttribute(t,n)}))}})),r}function Pe(e){return null===(e??null)?"":String(e)}function Re(e,t,n,r,o){if(!o){const o=e.insertBefore(document.createTextNode(""),t),i=n.watch(r,(e=>o.textContent=Pe(e)));return()=>{o.remove(),i()}}const i=e.insertBefore(document.createComment(""),t),s=e.insertBefore(document.createComment(""),t),l=document.createElement("div");function a(){for(let e=i.nextSibling;e&&e!==s;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,s)}(Pe(t))}));return()=>{c(),a(),i.remove(),s.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 qe=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);function De(e,t,n,r,o){const i=e.children;if(!i.length)return()=>{};const s=t.insertBefore(document.createComment(""),n);let l=null,a=()=>{};const c=be((()=>i.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=()=>{},s.remove())}}function Ve(e,t,n,r,o,i,s,l,a){const c=e.bind,u=[...i,e.name],d=a?.(u);if(a&&!d)return()=>{};const{context:f,handler:p}=function(e,t,n,r){const o="string"==typeof e?e:e.tag,{attrs:i,events:s}="string"!=typeof e&&e||{attrs:null,events:null};let l=!1;const a=new M.State(!1);let c=!1;const u=new M.State(!1),d=Object.create(null),f=Object.create(null),p=new Set,h=[],m=new $e;return{context:{events:h,props:i?new Set(Object.entries(i).filter((([,e])=>e.isProp)).map((([e])=>e))):null,attrs:f,watch(e,t){if(l)return()=>{};const n=d[e];if(!n)return()=>{};let r=n.get();const o=be((()=>n.get()),(n=>{const o=r;r=n,t(n,o,e)}),!0);return p.add(o),()=>{p.delete(o),o()}},relate(e){if(!n||!r||l)return()=>{};try{const t=r(n,e);return"function"!=typeof t?()=>{}:(p.add(t),()=>{p.delete(t),t()})}catch{return()=>{}}},get destroyed(){return a.get()},get init(){return u.get()},listen:(e,t)=>m.listen(e,t)},handler:{tag:o,set(e,t){if(i&&!(e in i))return;let n=d[e];if(n)return void n.set(t);const r=new M.State(t);d[e]=r,Object.defineProperty(f,e,{configurable:!0,enumerable:!0,get:r.get.bind(r)})},addEvent(e,n){if("function"!=typeof n)return;const[r,...o]=e.split(".").filter(Boolean),i=s?s[r].filters:{};if(!i)return;const l={},a=je(o,i,l);h.push([r,Me(t,n,a),l])},destroy(){if(!l){l=!0,a.set(!0);for(const e of p)e();m.emit("destroy")}},mount(){c||(c=!0,u.set(!0),m.emit("init",{events:h}))}}}}(d||e.name,r,r.getStore(c),l),h=d?.attrs,m=h?function(e,t,n,r,o){let i=new Set;for(const[s,l]of Object.entries(r)){if("class"===s||"style"===s)continue;if(s in n){const r=n[s],{name:o,calc:a,value:c}=n[s];if(!o&&!a){e.set(s,c);continue}l.immutable&&e.set(s,t.exec(r)),i.add(t.watch(r,(t=>e.set(s,t))));continue}const r=l.bind;if(!o||!r){e.set(s,l.default);continue}if("string"==typeof r){const n=t.bind(o,r,(t=>e.set(s,t)));n?i.add(n):e.set(s,l.default);continue}if(!Array.isArray(r)){e.set(s,l.default);continue}const[a,c,u]=r;if(!a||"function"!=typeof c)continue;if(!u){const n=!0===o?"":o;i.add(t.watch({name:n},(t=>e.set(s,t)))),e.addEvent(a,((...e)=>{t.all[n]=c(...e)}));continue}const d=t.bind(o,"state",(t=>e.set(s,t)));if(!d)continue;i.add(d);const f=t.bindSet(o,"state");f&&e.addEvent(a,((...e)=>{f(c(...e))}))}return()=>{const e=i;i=new Set;for(const t of e)t()}}(p,r,e.attrs,h,c):function(e,t,n){const r=e.tag;let o=new Set;for(const[i,s]of Object.entries(n)){if("class"===i||"style"===i)continue;const{name:n,calc:l,value:a}=s;if(n||l)if("string"!=typeof r||"input"!==r.toLocaleLowerCase()||"type"!==i.toLocaleLowerCase())o.add(t.watch(s,(t=>e.set(i,t))));else{const n=t.exec(s);e.set(i,n)}else e.set(i,a)}return()=>{const e=o;o=new Set;for(const t of e)t()}}(p,r,e.attrs);for(const[t,n]of Object.entries(e.events)){const e=r.getEvent(n);e&&p.addEvent(t,e)}const g=function(e,t,n){if(!n)return()=>{};let r=new Set;for(const[o,i]of Object.entries(t.bindAll(n)||{}))"function"==typeof i&&r.add(i((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,r,c),b=d?"function"==typeof d.tag?d.tag(f):Fe(f,d.tag,d.is):Fe(f,e.name,e.is),v=Array.isArray(b)?b[0]:b,y=Array.isArray(b)?b[1]:v;t.insertBefore(v,n);const w=y?He(e.children||[],y,null,r,o,i,s,l,a):()=>{},E=function(e,t,n,r){if(!(e instanceof Element))return()=>{};r&&(e.className+=" "+t.exec(r));let o=new Set;for(const[r,i]of Object.entries(n))i.value?e.classList.add(r):o.add(be((()=>Boolean(t.exec(i))),(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()}}(v,r,e.classes,e.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,i]of Object.entries(n))o.add(be((()=>Se(r,t.exec(i))),(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()}}(v,r,e.styles,e.attrs.style);p.mount();const L=function(e,t,n,r,o,i){let s=new Set;for(const[l,{attrs:a,value:c,events:u,bind:d}]of Object.entries(t)){if(!qe(r,l))continue;const f=r[l];if("function"!=typeof f)continue;let p=!1;const h=new M.State(!1),m=f?.events,g=[],b=Object.create(null),v=new Set,y=new $e;function w(e,t){if("function"!=typeof t)return;const[r,...o]=e.split(".").filter(Boolean),i=m?m[r].filters:{};if(!i)return;const s={},l=je(o,i,s);g.push([r,Me(n,t,l),s])}function E(){if(!p){p=!0,h.set(!0);for(const e of v)e();y.emit("destroy")}}s.add(E);for(const[L,C]of Object.entries(a)){const N=n.get(C);N&&Object.defineProperty(b,L,{...N,configurable:!0,enumerable:!0})}for(const[O,S]of Object.entries(u)){const $=n.getEvent(S);$&&w(O,$)}if(d){for(const[A,j]of Object.entries(n.getBindAll(d)||{}))Object.defineProperty(b,A,{...j,configurable:!0,enumerable:!0});for(const[T,k]of Object.entries(n.bindEvents(d)||{}))w(T,(e=>k(e)))}const x={get value(){return null},events:g,attrs:b,watch(e,t){if(p)return()=>{};let n=b[e];const r=be((()=>b[e]),(r=>{const o=n;n=r,t(r,o,e)}),!0);return v.add(r),()=>{v.delete(r),r()}},get destroyed(){return h.get()},listen:(e,t)=>y.listen(e,t),root:o,slot:i,tag:e};if(c){const I=n.get(c);I&&Object.defineProperty(x,"value",{...I,configurable:!0,enumerable:!0})}f(x)}return()=>{const e=s;s=new Set;for(const t of e)t()}}(p.tag,e.enhancements,r,s,v,y);return()=>{L(),p.destroy(),v.remove(),m(),w(),g(),E(),x()}}function _e(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 We(e,t,n,r,o,i,s,l,a){if("string"==typeof e){const r=document.createTextNode(e);return t.insertBefore(r,n),()=>r.remove()}const c=r.set(e.vars),u=_e(c,o,e.templates);if("divergent"===e.type)return De(e,t,n,c,((e,r,u)=>{const d=c.set(r),f=_e(d,o,u);return He(e,t,n,d,f,i,s,l,a)}));if("value"===e.type){const r=c.child(e.name);return r?He(e.children,t,n,r,u,i,s,l,a):()=>{}}if("enum"===e.type){const r=c.enum(e.value),o=(n,r)=>He(e.children,t,n,r,u,i,s,l,a);return r instanceof Q?function(e,t,n,r,o){const i=e.insertBefore(document.createComment(""),t);let s=new Map;function l(e){for(const[t,n,r]of e.values())r(),t.remove(),n.remove()}const a=new M.State(0),c=be((()=>n.children),(function(t){if(!i.parentNode)return;let c=i.nextSibling;const u=s;s=new Map,a.set(t.length);for(let i of t){const t=u.get(i);if(!t){const t=e.insertBefore(document.createComment(""),c),l=e.insertBefore(document.createComment(""),c),u=o(l,r.setStore(i,n,{get count(){return a.get()},get key(){return i.index},get index(){return i.index},get item(){return i.value}}));s.set(i,[t,l,u]);continue}if(u.delete(i),s.set(i,t),c===t[0]){c=t[1].nextSibling;continue}let l=t[0];for(;l&&l!==t[1];){const t=l;l=l.nextSibling,e.insertBefore(t,c)}e.insertBefore(t[1],c)}l(u)}),!0);return()=>{i.remove(),l(s),c()}}(t,n,r,c,o,e.sort):r instanceof G?function(e,t,n,r,o,i){const s=[],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)s.push(o(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 s)e()}}(0,n,r,c,o,e.sort):"function"==typeof r?function(e,t,n,r,o,i){const s=new M.Computed((()=>{const e=n();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])):[]})),l=i?new M.Computed((()=>{const e=s.get();return e.map((([t,n],o)=>[n,t,r.setObject({get count(){return e.length},get key(){return t},get item(){return n},get index(){return o}}).exec(i)])).sort((([,,e],[,,t])=>Ue(e,t))).map((([e,t],n)=>[t,n,e]))})):new M.Computed((()=>s.get().map((([e,t],n)=>[t,n,e])))),a=e.insertBefore(document.createComment(""),t);let c=[];function u(e){for(const[t,n,r]of e)r(),t.remove(),n.remove()}const d=new M.State(0),f=be((()=>l.get()),(function(t){if(!a.parentNode)return;let n=a.nextSibling;const i=c;c=[],d.set(t.length);for(const[s,l,a]of t){const t=i.findIndex((e=>e[3]===a)),[u]=t>=0?i.splice(t,1):[];if(!u){const t=e.insertBefore(document.createComment(""),n),i=e.insertBefore(document.createComment(""),n),u=new M.State(s),f=new M.State(l),p=o(i,r.setObject({get count(){return d.get()},get key(){return a},get item(){return u.get()},get index(){return f.get()}}));c.push([t,i,p,a,u,f]);continue}if(c.push(u),u[4].set(s),u[5].set(l),n===u[0]){n=u[1].nextSibling;continue}let f=u[0];for(;f&&f!==u[1];){const t=f;f=f.nextSibling,e.insertBefore(t,n)}e.insertBefore(u[1],n)}u(i)}),!0);return()=>{a.remove(),u(c),f()}}(t,n,r,c,o,e.sort):()=>{}}if("content"===e.type)return Re(t,n,c,e.value,e.html);if("template"===e.type){const r=u[e.template];if(!r)return()=>{};const[d,f]=r,p=f.params(d.params,e.attrs,c,e.bind),h=_e(p,o,d.templates);return He(d.children,t,n,p,h,i,s,l,a)}return"fragment"===e.type?He(e.children,t,n,c,u,i,s,l,a):Ve(e,t,n,c,u,i,s,l,a)}function He(e,t,n,r,o,i,s,l,a){const c=e.map((e=>We(e,t,n,r,o,i,s,l,a)));let u=!1;return()=>{if(!u){u=!0;for(const e of c)e()}}}function Ke(e,t,n,{component:r,global:o,relate:i,enhancements:s}={}){return He(t,n,null,new Ne(e,o),Object.create(null),[],s||{},"function"==typeof i?i:null,r)}function ze(e){return t=>(!t.type||"field"===t.type)&&t.field===e}function Ye(e,t,n,r,o,i,s){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")||"",p=d?e.child(d):e;if(!p)return;const h=d?o?.fields?.find(ze(d))||p.layout:{...o,html:""};if("grid"===f){const b=dt(e,t,h,r);return void(b&&n.replaceWith(b))}const m=t(p,o.renderer,r);if(m)return void n.replaceWith(m);const g=n.getAttribute("placeholder")||"";return void n.replaceWith(document.createTextNode(g))}if("nl-form-button"===l){const v=document.createElement("button");v.classList.add("NeeloongForm-item-button");const y=n.getAttribute("click")||"",w=r?.call;y&&"function"==typeof w&&v.addEventListener("click",(t=>w(y,t,e,r)));for(const E of[...n.childNodes])v.appendChild(E);return void n.replaceWith(v)}const a=n.getAttribute("nl-form-field");if(a){const x=a.endsWith("[]"),L=x?a.slice(0,a.length-2):a,C=L?e.child(L):e;if(!C)return;n.removeAttribute("nl-form-field");const N=L?o.fields?.find(ze(L))||C.layout:{...o,html:""};if(!x)return void Ye(C,t,n,r,N,i);if(!(C instanceof Q))return void n.remove();const O=n.parentElement;if(!O)return void n.remove();const S=O.insertBefore(document.createComment(""),n)||null;n.remove();let $=new Map;function A(e){for(const[t,n]of e.values())t instanceof Element&&t.remove(),n.abort()}let j=-1;const M=e=>{if(j<0)return;const t=e?Number(e.index):C.children.length;t<0||j<0||j===t||C.move(j,t)&&(j=t)};return be((()=>C.children),(e=>{let o=S.nextSibling;const i=$;$=new Map;for(const s of e){const e=i.get(s);if(e)i.delete(s),$.set(s,e),o!==e[0]?O.insertBefore(e[0],o):o=o.nextSibling;else{const e=new AbortController,i=O.insertBefore(n.cloneNode(!0),o);Ye(s,t,i,{...r,signal:r?.signal?AbortSignal.any([r?.signal,e.signal]):e.signal},N,i),i.addEventListener("dragenter",(()=>{M(s)})),i.addEventListener("dragstart",(e=>{e.target===e.currentTarget&&(j=Number(s.index))})),i.addEventListener("dragend",(()=>{j=-1})),$.set(s,[i,e])}}A(i)}),!0,r?.signal),void r?.signal?.addEventListener("abort",(()=>{S.remove(),A($)}),{once:!0})}if(null!==n.getAttribute("nl-form-remove")){const T=e.parent;T instanceof Q&&n.addEventListener("click",(()=>{T.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 k=e.child(c);k instanceof Q&&n.addEventListener("click",(()=>{k.add({})}))}const u=r?.call;for(const I of[...n.getAttributeNames()]){const B=I.indexOf(":");if(B<0)continue;const F=I.slice(0,B).toLowerCase(),P=I.slice(B+1);if("nl-form-field"===F){const R=n.getAttribute(I),U=R?e.child(R):e;if(!U)continue;ge((()=>{try{n.setAttribute(P,U.value)}catch{}}),r?.signal)}else if("nl-form-event"===F&&"function"==typeof u){const q=n.getAttribute(I);if(!q)continue;try{n.addEventListener(P,(t=>u(q,t,e,r)))}catch{}}}}if(n instanceof Element||n instanceof DocumentFragment)for(const D of[...n.children])Ye(e,t,D,r,o,i)}}function Ge(e){if(!e)return document.createElement("template").content;if("string"!=typeof e)return e.cloneNode(!0);const t=document.createElement("template");return t.innerHTML=e,t.content}function Qe(e,t,n,r){if(r?.signal?.aborted)return null;const o=n.html;if(o){const i=Ge(o);return Ye(e,t,i,r,n),i}return t(e,n.renderer,r)}function Xe(e,t,n,{columns:r,deletable:o,remove:i,dragenter:s,dragstart:l,dragend:a},c){const u=document.createElement("tbody");u.addEventListener("dragenter",(()=>{s()})),u.addEventListener("dragstart",(e=>{e.target===e.currentTarget&&l()})),u.addEventListener("dragend",a);const d=u.appendChild(document.createElement("tr"));let f=()=>{};const p=[];if(r.find((e=>e.actions?.includes("trigger")))){const o=dt(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 p)e.classList.remove("NeeloongForm-table-line-open"),e.classList.add("NeeloongForm-table-line-close")}else{e.hidden=!0;for(const e of p)e.classList.remove("NeeloongForm-table-line-close"),e.classList.add("NeeloongForm-table-line-open")}}}}function h({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:s,pattern:l}=n;if(!r?.length){const r=d.appendChild(document.createElement("td")),o=s&&e.child(s);if(o){const e=Qe(o,t,n,c);e&&r.appendChild(e)}continue}const a=d.appendChild(document.createElement("th"));a.classList.add("NeeloongForm-table-line-handle");for(const t of r)switch(t){case"trigger":{const e=a.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-table-line-open"),p.push(e),e.addEventListener("click",f);continue}case"move":{if(!c?.editable)continue;const t=a.appendChild(document.createElement("button"));t.classList.add("NeeloongForm-table-move"),t.addEventListener("pointerdown",h),be((()=>e.readonly||e.disabled),(e=>{t.disabled=e}),!0,c.signal);continue}case"remove":{if(!c?.editable)continue;const e=a.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-table-remove"),e.addEventListener("click",i),be((()=>!o.get()),(t=>{e.disabled=t}),!0,c.signal);continue}case"serial":a.appendChild(document.createElement("span")).classList.add("NeeloongForm-table-serial");continue}}return u}function Ze(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}))),i=t.columns;if(Array.isArray(i)){const e=new Map(o.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:o,field:i,placeholder:s,pattern:l,width:a,label:c}=t;if(i){const t=e.get(i);if(t)return{field:i,placeholder:s,width:a,label:c||t.label}}const u=new Set(n),d=[r,o].flat().filter((e=>e&&u.delete(e)));return d.length?{actions:d,width:a,label:c}:l?{pattern:l,placeholder:s,width:a,label:c}:s||a?{placeholder:s,width:a,label:c}:null})).filter(Boolean);if(t.length)return t}return r(o)}function Je(e,t,n,r,o,i){const s=t.appendChild(document.createElement("tr"));for(const{action:t,actions:l,width:a,label:c}of n){const n=s.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"),be((()=>!o.get()),(e=>{u.disabled=e}),!0,e)}}function et(e,t){const{colStart:n,colSpan:r,colEnd:o,rowStart:i,rowSpan:s,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}`),i&&l?e.style.gridRow=`${i} / ${l}`:i&&s?e.style.gridRow=`${i} / span ${s}`:s&&(e.style.gridRow=`span ${s}`)}function tt(e,t){const n=document.createElement("div"),r=n.appendChild(document.createElement("div"));r.classList.add("NeeloongForm-item-label"),ge((()=>r.innerText=t?.label||""),e);const o=n.appendChild(document.createElement("div"));o.classList.add("NeeloongForm-item-content");const i=n.appendChild(document.createElement("div"));i.classList.add("NeeloongForm-item-description"),ge((()=>i.innerText=t?.description||""),e);const s=n.appendChild(document.createElement("div"));return s.classList.add("NeeloongForm-item-error"),ge((()=>s.innerText=t?.error||""),e),[n,o]}function nt(e,t,n,r,o){function i(r){if(!r)return null;if(!o)switch(r){case"inline":{const[r,o]=tt(e,n);return et(r,t),[r,o]}case"base":{const e=document.createElement("div");return et(e,t),[e,e]}}switch(r){case"block":return tt(e,n);case"fieldset":{const t=document.createElement("fieldset"),r=t.appendChild(document.createElement("legend"));return ge((()=>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 ge((()=>r.innerText=n?.label||""),e),[t,t]}}return null}const[s,l]=i(t.cell)||i(r)||tt(e,n);return s.classList.add("NeeloongForm-item"),ge((()=>{n?.error?s.classList.add("NeeloongForm-item-errored"):s.classList.remove("NeeloongForm-item-errored")}),e),ge((()=>{n?.required?s.classList.add("NeeloongForm-item-required"):s.classList.remove("NeeloongForm-item-required")}),e),[s,l]}function rt(e,t,n,r,o,{columns:i,addable:s,deletable:l,remove:a,dragenter:c,dragstart:u,dragend:d,addNode:f,drop:p,createDetails:h},m){const g=document.createElement("div");g.addEventListener("dragstart",(e=>{e.target===e.currentTarget&&u()})),g.addEventListener("dragend",d),g.classList.add("NeeloongForm-tree-item"),ge((()=>{t.get()===e?g.classList.add("NeeloongForm-tree-current"):g.classList.remove("NeeloongForm-tree-current")}),m?.signal),ge((()=>{const e=o.get().level;g.style.setProperty("--NeeloongForm-tree-level",`${e}`)}),m?.signal),ge((()=>{g.hidden=o.get().hidden}),m?.signal);const b=[];function v({pointerId:e}){function t(n){n.pointerId===e&&g&&(g.draggable=!1,window.removeEventListener("pointerup",t,{capture:!0}),window.removeEventListener("pointercancel",t,{capture:!0}))}g.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=h(e)}function x(){t.get()!==e?w=h(e):w()}const L="move"===r.mainMethod?v:null,C=L?null:"collapse"===r.mainMethod?y:"trigger"===r.mainMethod?x:E,N=g.appendChild(document.createElement("div"));N.classList.add("NeeloongForm-tree-line");const O=g.appendChild(document.createElement("div"));O.classList.add("NeeloongForm-tree-drop");const S=g.appendChild(document.createElement("div"));S.classList.add("NeeloongForm-tree-drop-children"),O.addEventListener("dragover",(e=>e.preventDefault())),S.addEventListener("dragover",(e=>e.preventDefault())),O.addEventListener("drop",(()=>p())),S.addEventListener("drop",(()=>p(!0))),ge((()=>{O.hidden=S.hidden=!o.get().droppable}),m?.signal);let $=()=>{};O.addEventListener("dragenter",(()=>$=c(O))),S.addEventListener("dragenter",(()=>$=c(S))),O.addEventListener("dragleave",(()=>$())),S.addEventListener("dragleave",(()=>$()));for(const t of i){const{actions:r,pattern:o,placeholder:i,width:c,field:u}=t;if(r?.length)for(const t of r)switch(t){case"trigger":{const e=N.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-trigger"),e.addEventListener("click",x);continue}case"open":{const e=N.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-open"),e.addEventListener("click",E);continue}case"collapse":{const e=N.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-collapse"),e.addEventListener("click",y),b.push(e);continue}case"move":{if(!m?.editable)continue;const t=N.appendChild(document.createElement("button"));t.classList.add("NeeloongForm-tree-move"),t.addEventListener("pointerdown",v),be((()=>e.readonly||e.disabled),(e=>{t.disabled=e}),!0,m.signal);continue}case"add":{if(!m?.editable)continue;const e=N.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-add"),e.addEventListener("click",f),be((()=>!s.get()),(t=>{e.disabled=t}),!0,m.signal);continue}case"remove":{if(!m?.editable)continue;const e=N.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-remove"),e.addEventListener("click",a),be((()=>!l.get()),(t=>{e.disabled=t}),!0,m.signal);continue}case"serial":N.appendChild(document.createElement("span")).classList.add("NeeloongForm-tree-serial");continue}else{const r=N.appendChild(document.createElement("div"));if(r.classList.add("NeeloongForm-tree-cell"),C&&r.addEventListener("click",C),L&&r.addEventListener("pointerdown",L),u){const o=e.child(u);if(!o)continue;const i=Qe(o,n,t,{...m,editable:!1});i&&r.appendChild(i);continue}"number"==typeof i&&(r.style.flex=`${i}`),"number"==typeof c&&(r.style.width=`${c}px`)}}return ge((()=>{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}),m?.signal),g}const ot=new Set(["vertical-lr","vertical-rl","sideways-lr","sideways-rl"]);function it(e){const t=getComputedStyle(e),n=t.writingMode?.toLowerCase();return[ot.has(n),"rtl"===t.direction.toLowerCase()!=("sideways-lr"===n)]}function st(e,t,n,r,o){const i=new M.Computed((()=>{const t=e.child(o);return t?Math.max(0,Math.floor(t.value?.[r])||0):0})),s=new M.Computed((()=>{if(!e.child(o))return-1;const n=i.get();if(!n)return-1;for(let e=o-1;e>=0;e--)if(n>t[e]?.levelValue)return e;return-1})),l=new M.Computed((()=>{const t=e.children,n=t[o+1];if(!n)return!1;if(!t[o])return!1;const s=i.get();return Math.floor(n.child(r)?.value)>s})),a=new M.Computed((()=>{if(n.get()===o)return!1;const e=s.get(),r=t[e];return!r||r.droppable})),c=new M.Computed((()=>{const e=s.get(),n=t[e];return n?n.level+1:0})),u=new M.State(!1),d=new M.Computed((()=>{const e=s.get(),n=t[e];return!!n&&(n.collapsed||n.hidden)})),f=new M.Computed((()=>{const e=s.get(),n=t[e];if(!n)return new Set;const r=new Set(n.parents);return r.add(e),r}));return{get level(){return c.get()},get levelValue(){return i.get()},get collapsed(){return u.get()},set collapsed(e){u.set(e)},get hidden(){return d.get()},get hasChildren(){return l.get()},get droppable(){return a.get()},get parents(){return f.get()}}}function lt(e,t,n,r){if(r?.signal?.aborted)return null;const o=Ze(e,n,["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 s=i.appendChild(document.createElement("div"));s.classList.add("NeeloongForm-tree-main");const l=i.appendChild(document.createElement("div"));l.classList.add("NeeloongForm-tree-splitter");const a=i.appendChild(document.createElement("div"));a.classList.add("NeeloongForm-tree-details"),l.hidden=!0,a.hidden=!0;let c=null,u=0;function d(){const e=c;null!==e&&(c=null,l.releasePointerCapture(e))}l.addEventListener("pointerdown",(e=>{const{pointerId:t}=e;if([null,t].includes(c))switch(c=t,l.setPointerCapture(t),it(l).map(((e,t)=>e?2**t:0)).reduce(((e,t)=>e+t))){case 0:u=-e.offsetX;break;case 1:u=-e.offsetY;break;case 2:u=e.offsetX-l.offsetWidth;break;case 3:u=e.offsetY-l.offsetHeight}}));const f=e=>{const[t,n]=it(l);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+u)/(e=>e?i.clientHeight-l.offsetHeight:i.clientWidth-l.offsetWidth)(t),1));a.style.inlineSize=100*o+"%"};l.addEventListener("pointermove",(e=>{const{pointerId:t}=e;l.hasPointerCapture(t)&&f(e)})),l.addEventListener("pointerup",(e=>{const{pointerId:t}=e;t===c&&(f(e),d())})),l.addEventListener("pointercancel",(e=>{const{pointerId:t}=e;t===c&&(f(e),d())}));let p=null;const h=new M.State(null);function m(e){if(r?.signal?.aborted)return()=>{};if(h.get()===e&&p){const e=p;return()=>{e.abort()}}p?.abort(),h.set(e);const o=new AbortController;p=o;const i=r?.signal?AbortSignal.any([r?.signal,o.signal]):o.signal,s=dt(e,t,n,{...r,signal:r?.signal?AbortSignal.any([r?.signal,i]):i});return i.addEventListener("abort",(()=>{h.set(null),d()}),{once:!0}),s&&(a.appendChild(s),a.hidden=!1,l.hidden=!1,i.addEventListener("abort",(()=>{s.remove(),l.hidden=!0,a.hidden=!0}),{once:!0})),()=>{o.abort()}}const g=n.levelKey||"level",b=new M.Computed((()=>!e.readonly&&!e.disabled&&e.addable));function v(t){const n={};if(-2===t)return n[g]=0,void e.add(n);n[g]=(A[t]?.levelValue??-1)+1,e.insert(t+1,n)}function y(t){e.remove(Number(t.index))}let w=-1,E=new M.State(w);function x(t,n){if(w<0)return;const r=Number(function(e,t){if(!e)return 0;const n=Number(A[Number(e.index)]?.levelValue)||0;return t?n+1:n}(t,n))||0;let o=function(e){let t=e+1;const n=A[w]?.level??0;for(;(A[t]?.level??-1)>n;t++);return t-w}(w),i=-1;if(t){if(i=Number(t.index),w===i||A[i]?.parents?.has(w))return;if(n||i!==w+o){if(n){for(const e=A[i]?.level||0;A[i+1]?.level>e;i++);i<w&&(i+=1)}else i>w&&(i-=1);if(i<0)return}else i=-1}else if(i=A.length-1,i<0)return;if(i>=0&&w!==i){if(o=e.move(w,i,o),!o)return;w=o>1&&i>w?i-o+1:i,E.set(w)}const s=Array(o).fill(A[w]?.level??0).map(((e,t)=>Math.max((A[t+w]?.level??0)-e,0)));for(let t=0;t<o;t++){const n=e.children[w+t]?.child(g);n&&(n.value=r+s[t])}}function L(e){w=Number(e.index),E.set(w),s.classList.add("NeeloongForm-tree-moving")}let C=null;function N(e){return-1===w?()=>{}:(C?.classList.remove("NeeloongForm-tree-drag-over"),C=e,C?.classList.add("NeeloongForm-tree-drag-over"),()=>{C===e&&(C?.classList.remove("NeeloongForm-tree-drag-over"),C=null)})}function O(){w=-1,E.set(w),s.classList.remove("NeeloongForm-tree-moving"),C?.classList.remove("NeeloongForm-tree-drag-over"),C=null}if(r?.editable){const e=s.appendChild(document.createElement("button"));e.addEventListener("click",(()=>v(-1))),e.classList.add("NeeloongForm-tree-head-add"),be((()=>!b.get()),(t=>{e.disabled=t}),!0,r.signal)}const S=s.appendChild(document.createComment(""));if(r?.editable){const e=s.appendChild(document.createElement("div"));e.classList.add("NeeloongForm-tree-foot");const t=e.appendChild(document.createElement("button"));t.addEventListener("click",(()=>v(-2))),t.classList.add("NeeloongForm-tree-foot-add");const n=e.appendChild(document.createElement("div"));n.classList.add("NeeloongForm-tree-drop");let o=()=>{};n.addEventListener("dragover",(e=>e.preventDefault())),n.addEventListener("dragenter",(()=>o=N(n))),n.addEventListener("dragleave",(()=>o())),n.addEventListener("drop",(()=>x())),be((()=>!b.get()),(e=>{t.disabled=e}),!0,r.signal)}let $=new Map;const A=[];return be((()=>e.children),(i=>{let l=S.nextSibling;const a=$;$=new Map;const c=i.length;for(let t=A.length;t<c;t++)A[t]=st(e,A,E,"level",t);let u=-1;for(let c of i){u++;const i=A[u],d=a.get(c);if(d)a.delete(c),$.set(c,d),d[2](i),l!==d[0]?s.insertBefore(d[0],l):l=l.nextSibling;else{const a=new M.State(i),u=new AbortController,d=rt(c,h,t,n,a,{columns:o,addable:b,deletable:new M.Computed((()=>!e.readonly&&!e.disabled&&c.removable)),remove:y.bind(null,c),dragenter:N,dragstart:L.bind(null,c),dragend:O,addNode:()=>v(Number(c.index)),createDetails:m,drop:x.bind(null,c)},{...r,signal:r?.signal?AbortSignal.any([r?.signal,u.signal]):u.signal});s.insertBefore(d,l),$.set(c,[d,u,e=>a.set(e)])}}A.splice(c);for(const[e,t]of a.values())e.remove(),t.abort()}),!0,r?.signal),i}function at(e,t,n,r,o){return"tree"===e?lt(t,n,r,o):function(e,t,n,r){if(r?.signal?.aborted)return null;const o=Ze(e,n,["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 s=i.appendChild(document.createElement("thead")),l=new M.Computed((()=>!e.readonly&&!e.disabled&&e.addable));function a(){e.add({})}function c(t){e.remove(Number(t.index))}let u=-1;function d(t){if(u<0)return;const n=t?Number(t.index):e.children.length;n<0||u<0||u===n||e.move(u,n)&&(u=n)}function f(e){u=Number(e.index)}function p(){u=-1}switch(Je(r?.signal,s,o,a,l,Boolean(r?.editable)),n.tableFoot){default:case"header":{const e=i.appendChild(document.createElement("tfoot"));e.addEventListener("dragenter",(()=>{d()})),Je(r?.signal,e,o,a,l,Boolean(r?.editable));break}case"add":{const e=i.appendChild(document.createElement("tfoot"));e.addEventListener("dragenter",(()=>{d()}));const t=e.appendChild(document.createElement("tr")).appendChild(document.createElement("th"));t.colSpan=o.length;const n=t.appendChild(document.createElement("button"));n.addEventListener("click",a),n.classList.add("NeeloongForm-table-foot-add"),be((()=>!l.get()),(e=>{n.disabled=e}),!0,r?.signal);break}case"none":}let h=new Map;return be((()=>e.children),(l=>{let a=s.nextSibling;const u=h;h=new Map;for(let s of l){const l=u.get(s);if(l)u.delete(s),h.set(s,l),a!==l[0]?i.insertBefore(l[0],a):a=a.nextSibling;else{const l=new AbortController,u=Xe(s,t,n,{columns:o,deletable:new M.Computed((()=>!e.readonly&&!e.disabled&&s.removable)),remove:c.bind(null,s),dragenter:d.bind(null,s),dragstart:f.bind(null,s),dragend:p},{...r,signal:r?.signal?AbortSignal.any([r?.signal,l.signal]):l.signal});i.insertBefore(u,a),h.set(s,[u,l])}}for(const[e,t]of u.values())e.remove(),t.abort()}),!0,r?.signal),i}(t,n,r,o)}function ct(e,t,n,r){const{type:o}=e,i=Boolean(o&&"object"==typeof o),s=n.html,l=i?e instanceof Q?"collapse":"fieldset":s?"base":"inline",[a,c]=nt(r?.signal,n,e,l,i);ge((()=>a.hidden=e.hidden),r?.signal);const u=s&&function(e,t,n,r,o){const i=Ge(e);return Ye(t,n,i,r,o),i}(s,e,t,r,n)||t(e,n.renderer,r)||e instanceof Q&&at(n.arrayStyle,e,t,n,r)||i&&dt(e,t,n,r);return u&&c.appendChild(u),a}function ut(e,t,n,r){if("button"===n.type)return function(e,t,n){const[r,o]=nt(n?.signal,t,e),i=document.createElement("button");ge((()=>{const r=t.text,o="function"==typeof r?r(e,n):r;i.innerText=o??""}),n?.signal),ge((()=>{const r=t.disabled,o="function"==typeof r?r(e,n):r;i.disabled=Boolean(o)}),n?.signal),i.classList.add("NeeloongForm-item-button"),o.appendChild(i);const s=t.click;if("function"==typeof s)i.addEventListener("click",(t=>s(t,e,n)));else if(s&&"string"==typeof s){const t=n?.call;"function"==typeof t&&i.addEventListener("click",(r=>t(s,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[i,s]=nt(r?.signal,n,e),l=Ge(o);return Ye(e,t,l,r,n),s.appendChild(l),i}(e,t,n,r);const o=n.field;if(!o)return null;const i=e.child(o);return i?ct(i,t,n,r):null}function dt(e,t,n,r,o){if(r?.signal?.aborted)return null;const i=o instanceof HTMLElement?o:document.createElement("div");i.classList.add("NeeloongForm");const s=n.fields||e.layout.fields;if(s?.length)for(const n of s){const o=ut(e,t,n,r);o&&i.appendChild(o)}else{const n=[...e].map((([,e])=>e));for(const e of n){const n=ct(e,t,e.layout,r);n&&i.appendChild(n)}}return i}function ft(e,t,n,r,o){if(o?.signal?.aborted)return;const i=r||e.layout,s=i.html;if(!s)return void dt(e,t,i,o||null,n);const l=Ge(s);Ye(e,t,l,o||null,i),n.appendChild(l),o?.signal?.addEventListener("abort",(()=>{n.removeChild(l)}),{once:!0})}export{Q as ArrayStore,me as Layout,G as ObjectStore,M as Signal,Y as Store,ge as effect,Ke as render,ft as renderStore,be as watch};