@neeloong/form 0.27.0 → 0.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.mts +35 -7
- package/index.full.js +175 -68
- package/index.full.min.js +6 -6
- package/index.full.min.mjs +7 -7
- package/index.min.mjs +2 -2
- package/index.mjs +175 -68
- package/package.json +1 -1
package/index.full.min.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @neeloong/form v0.
|
|
2
|
+
* @neeloong/form v0.28.0
|
|
3
3
|
* (c) 2024-2026 Fierflame
|
|
4
4
|
* @license Apache-2.0
|
|
5
5
|
*/
|
|
@@ -11,21 +11,21 @@ var e=Object.defineProperty,t=(t,n,r)=>(((t,n,r)=>{n in t?e(t,n,{enumerable:!0,c
|
|
|
11
11
|
* Use of this source code is governed by an MIT-style license that can be
|
|
12
12
|
* found in the LICENSE file at https://angular.io/license
|
|
13
13
|
*/
|
|
14
|
-
function
|
|
14
|
+
function s(e,t){return Object.is(e,t)}
|
|
15
15
|
/**
|
|
16
16
|
* @license
|
|
17
17
|
* Copyright Google LLC All Rights Reserved.
|
|
18
18
|
*
|
|
19
19
|
* Use of this source code is governed by an MIT-style license that can be
|
|
20
20
|
* found in the LICENSE file at https://angular.io/license
|
|
21
|
-
*/let
|
|
21
|
+
*/let i=null,l=!1,a=1;const c=Symbol("SIGNAL");function u(e){const t=i;return i=e,t}const d={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function f(e){if(l)throw new Error("undefined"!=typeof ngDevMode&&ngDevMode?"Assertion error: signal read during notification phase":"");if(null===i)return;i.consumerOnSignalRead(e);const t=i.nextProducerIndex++;if(y(i),t<i.producerNode.length&&i.producerNode[t]!==e&&v(i)){b(i.producerNode[t],i.producerIndexOfThis[t])}i.producerNode[t]!==e&&(i.producerNode[t]=e,i.producerIndexOfThis[t]=v(i)?g(e,i,t):0),i.producerLastReadVersion[t]=e.version}function h(e){if(e.dirty||e.lastCleanEpoch!==a){if(!e.producerMustRecompute(e)&&!function(e){y(e);for(let t=0;t<e.producerNode.length;t++){const n=e.producerNode[t],r=e.producerLastReadVersion[t];if(r!==n.version)return!0;if(h(n),r!==n.version)return!0}return!1}(e))return e.dirty=!1,void(e.lastCleanEpoch=a);e.producerRecomputeValue(e),e.dirty=!1,e.lastCleanEpoch=a}}function p(e){if(void 0===e.liveConsumerNode)return;const t=l;l=!0;try{for(const t of e.liveConsumerNode)t.dirty||m(t)}finally{l=t}}function m(e){var t;e.dirty=!0,p(e),null==(t=e.consumerMarkedDirty)||t.call(e.wrapper??e)}function g(e,t,n){var r;if(w(e),y(e),0===e.liveConsumerNode.length){null==(r=e.watched)||r.call(e.wrapper);for(let t=0;t<e.producerNode.length;t++)e.producerIndexOfThis[t]=g(e.producerNode[t],e,t)}return e.liveConsumerIndexOfThis.push(n),e.liveConsumerNode.push(t)-1}function b(e,t){var n;if(w(e),y(e),"undefined"!=typeof ngDevMode&&ngDevMode&&t>=e.liveConsumerNode.length)throw new Error(`Assertion error: active consumer index ${t} is out of bounds of ${e.liveConsumerNode.length} consumers)`);if(1===e.liveConsumerNode.length){null==(n=e.unwatched)||n.call(e.wrapper);for(let t=0;t<e.producerNode.length;t++)b(e.producerNode[t],e.producerIndexOfThis[t])}const r=e.liveConsumerNode.length-1;if(e.liveConsumerNode[t]=e.liveConsumerNode[r],e.liveConsumerIndexOfThis[t]=e.liveConsumerIndexOfThis[r],e.liveConsumerNode.length--,e.liveConsumerIndexOfThis.length--,t<e.liveConsumerNode.length){const n=e.liveConsumerIndexOfThis[t],r=e.liveConsumerNode[t];y(r),r.producerIndexOfThis[n]=t}}function v(e){var t;return e.consumerIsAlwaysLive||((null==(t=null==e?void 0:e.liveConsumerNode)?void 0:t.length)??0)>0}function y(e){e.producerNode??(e.producerNode=[]),e.producerIndexOfThis??(e.producerIndexOfThis=[]),e.producerLastReadVersion??(e.producerLastReadVersion=[])}function w(e){e.liveConsumerNode??(e.liveConsumerNode=[]),e.liveConsumerIndexOfThis??(e.liveConsumerIndexOfThis=[])}
|
|
22
22
|
/**
|
|
23
23
|
* @license
|
|
24
24
|
* Copyright Google LLC All Rights Reserved.
|
|
25
25
|
*
|
|
26
26
|
* Use of this source code is governed by an MIT-style license that can be
|
|
27
27
|
* found in the LICENSE file at https://angular.io/license
|
|
28
|
-
*/function E(e){if(h(e),f(e),e.value===C)throw e.error;return e.value}const x=Symbol("UNSET"),L=Symbol("COMPUTING"),C=Symbol("ERRORED"),
|
|
28
|
+
*/function E(e){if(h(e),f(e),e.value===C)throw e.error;return e.value}const x=Symbol("UNSET"),L=Symbol("COMPUTING"),C=Symbol("ERRORED"),S=(()=>({...d,value:x,dirty:!0,error:null,equal:s,producerMustRecompute:e=>e.value===x||e.value===L,producerRecomputeValue(e){if(e.value===L)throw new Error("Detected cycle in computations.");const t=e.value;e.value=L;const n=function(e){return e&&(e.nextProducerIndex=0),u(e)}(e);let r,o=!1;try{r=e.computation.call(e.wrapper);o=t!==x&&t!==C&&e.equal.call(e.wrapper,t,r)}catch(t){r=C,e.error=t}finally{!function(e,t){if(u(t),e&&void 0!==e.producerNode&&void 0!==e.producerIndexOfThis&&void 0!==e.producerLastReadVersion){if(v(e))for(let t=e.nextProducerIndex;t<e.producerNode.length;t++)b(e.producerNode[t],e.producerIndexOfThis[t]);for(;e.producerNode.length>e.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}(e,n)}o?e.value=t:(e.value=r,e.version++)}}))();let O=
|
|
29
29
|
/**
|
|
30
30
|
* @license
|
|
31
31
|
* Copyright Google LLC All Rights Reserved.
|
|
@@ -33,7 +33,7 @@ function i(e,t){return Object.is(e,t)}
|
|
|
33
33
|
* Use of this source code is governed by an MIT-style license that can be
|
|
34
34
|
* found in the LICENSE file at https://angular.io/license
|
|
35
35
|
*/
|
|
36
|
-
function(){throw new Error};function
|
|
36
|
+
function(){throw new Error};function N(){return f(this),this.value}function A(e,t){!1===(null==i?void 0:i.consumerAllowSignalWrites)&&O(),e.equal.call(e.wrapper,e.value,t)||(e.value=t,function(e){e.version++,a++,p(e)}
|
|
37
37
|
/**
|
|
38
38
|
* @license
|
|
39
39
|
* Copyright 2024 Bloomberg Finance L.P.
|
|
@@ -49,7 +49,7 @@ function(){throw new Error};function S(){return f(this),this.value}function A(e,
|
|
|
49
49
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
50
50
|
* See the License for the specific language governing permissions and
|
|
51
51
|
* limitations under the License.
|
|
52
|
-
*/(e))}const $=(()=>({...d,equal:
|
|
52
|
+
*/(e))}const $=(()=>({...d,equal:s,value:void 0}))();const j=Symbol("node");var M;function k(e,t,n,r){const o=new M.State("boolean"==typeof t?t:null),s="function"==typeof n?new M.Computed((()=>Boolean(n(e)))):new M.State(Boolean(n)),i=()=>{const e=o.get();return null===e?s.get():e},l=r?new M.Computed((()=>r.get()||i())):new M.Computed(i);return[o,l]}(e=>{var s,a,h,p;s=j,a=new WeakSet,e.isState=e=>n(a,e),e.State=class{constructor(n,o={}){r(this,a),t(this,s);const i=
|
|
53
53
|
/**
|
|
54
54
|
* @license
|
|
55
55
|
* Copyright Google LLC All Rights Reserved.
|
|
@@ -57,4 +57,4 @@ function(){throw new Error};function S(){return f(this),this.value}function A(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($);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");A(this[j],t)}};h=j,p=new WeakSet,e.isComputed=e=>n(p,e),e.Computed=class{constructor(n,o){r(this,p),t(this,h);const i=function(e){const t=Object.create(O);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,h;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,h=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,h).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,h).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 T=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 z(e){return e?e instanceof Error?e.message:"string"!=typeof e?"":e:""}function K(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(z).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,states:l,validator:a,validators:c,index:u,size:d,new:f,parent:h,hidden:p,clearable:m,required:g,disabled:b,readonly:v,removable:y,label:w,description:E,placeholder:x,min:L,max:C,step:O,minLength:N,maxLength:S,pattern:A,values:$}={}){this.schema=e;const j=h instanceof Y?h:null;var F,P;j&&(this.#r=j,this.#o=j.#o,this.#i=j.#i),this.#s=(F=this,"function"!=typeof(P=r??e.default)?()=>structuredClone(P):e=>structuredClone(P(F,e)));const q=new M.State(!1);this.#l=q,this.#i=q,this.#a=e.type,this.#c=e.meta,this.#u=e.component,this.#d=e.layout||{};const V=new M.State(Boolean(f));this.#f=V;const _=j?new M.Computed((()=>j.#h.get()||V.get())):new M.Computed((()=>V.get()));this.#h=_;const W=Boolean(e.immutable),H=!1!==e.creatable;this.#p=W,this.#m=H;const G=e.readonly,Q=new M.State("boolean"==typeof v?v:null);let X;if("function"==typeof G)X=new M.Computed((()=>Boolean(G(this))));else{const e=Boolean(G);X=new M.Computed((()=>e))}const Z=()=>{if(_.get()?!H:W)return!0;const e=Q.get();return null===e?X.get():e},J=j?j.#g:null;this.#b=Q,this.#g=J?new M.Computed((()=>J.get()||Z())):new M.Computed(Z),[this.#v,this.#y]=k(this,p,e.hidden,j?j.#y:null),[this.#w,this.#E]=k(this,m,e.clearable,j?j.#E:null),[this.#x,this.#L]=k(this,g,e.required,j?j.#L:null),[this.#C,this.#O]=k(this,b,e.disabled,j?j.#O:null),[this.#N,this.#S]=U(this,T,w,e.label),[this.#A,this.#$]=U(this,T,E,e.description),[this.#j,this.#M]=U(this,T,x,e.placeholder),[this.#k,this.#T]=U(this,I,L,e.min),[this.#I,this.#B]=U(this,I,C,e.max),[this.#F,this.#P]=U(this,I,O,e.step),[this.#R,this.#U]=U(this,I,N,e.minLength),[this.#q,this.#D]=U(this,I,S,e.maxLength),[this.#V,this.#_]=U(this,B,A,e.pattern),[this.#W,this.#H]=U(this,R,$,e.values),[this.#z,this.#K]=k(this,y,e.removable??!0);const ee=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(z).filter(Boolean)})):new M.Computed((()=>[]))}(this,e.validator,a),te=e.states;this.#Y=te?Object.defineProperties(Object.create(null),Object.fromEntries(Object.entries(te).map((([e,{get:t,set:n,toState:r}])=>{const o=new M.State(r?.(l?.[e])),i=new M.Computed((()=>t(this,o)));return[e,{configurable:!0,enumerable:!0,get:()=>i.get(),set(e){return n?.(this,o,e)}}]})))):null;const[ne,re,oe]=K(this,e.validators?.change,c?.change),[ie,se,le]=K(this,e.validators?.blur,c?.blur);if(this.listen("change",(()=>{ne()})),this.listen("blur",(()=>{ie()})),this.#G=function(...e){const t=e.filter(Boolean);return new M.Computed((()=>t.flatMap((e=>e.get()))))}(ee,re,se),this.#Q=ee,this.#X=ne,this.#Z=ie,this.#J=oe,this.#ee=le,d instanceof M.State||d instanceof M.Computed?this.#te=d:this.#te=new M.State(d||0),t)return this.#t=!0,void(this.#n=D(this));this.#n=n||null,this.#ne=s||null,this.#re="function"==typeof o?o:null,this.#oe="function"==typeof i?i:null,this.#ie.set(u??"");for(const[t,n]of Object.entries(e.events||{}))"function"==typeof n&&this.listen(t,n)}#Y;get states(){return this.#Y}#d;get layout(){return this.#d}#s;createDefault(e){return this.#s(e)}#re=null;#oe=null;#ne=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}#te;get size(){return this.#te.get()}#ie=new M.State("");get index(){return this.#ie.get()}set index(e){this.#ie.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}#p=!1;get immutable(){return this.#p}#h;#f;get selfNew(){return this.#f.get()}set selfNew(e){this.#f.set(Boolean(e))}get new(){return this.#h.get()}set new(e){this.#f.set(Boolean(e))}#v;#y;get selfHidden(){return this.#v.get()}set selfHidden(e){this.#v.set("boolean"==typeof e?e:null)}get hidden(){return this.#y.get()}set hidden(e){this.#v.set("boolean"==typeof e?e:null)}#w;#E;get selfClearable(){return this.#w.get()}set selfClearable(e){this.#w.set("boolean"==typeof e?e:null)}get clearable(){return this.#E.get()}set clearable(e){this.#w.set("boolean"==typeof e?e:null)}#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;#O;get selfDisabled(){return this.#C.get()}set selfDisabled(e){this.#C.set("boolean"==typeof e?e:null)}get disabled(){return this.#O.get()}set disabled(e){this.#C.set("boolean"==typeof e?e:null)}#b;#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)}#z;#K;get selfRemovable(){return this.#z.get()}set selfRemovable(e){this.#z.set("boolean"==typeof e?e:null)}get removable(){return this.#K.get()}set removable(e){this.#z.set("boolean"==typeof e?e:null)}#N;#S;get selfLabel(){return this.#N.get()}set selfLabel(e){this.#N.set(T(e))}get label(){return this.#S.get()}set label(e){this.#N.set(T(e))}#A;#$;get selfDescription(){return this.#A.get()}set selfDescription(e){this.#A.set(T(e))}get description(){return this.#$.get()}set description(e){this.#A.set(T(e))}#j;#M;get selfPlaceholder(){return this.#j.get()}set selfPlaceholder(e){this.#j.set(T(e))}get placeholder(){return this.#M.get()}set placeholder(e){this.#j.set(T(e))}#k;#T;get selfMin(){return this.#k.get()}set selfMin(e){this.#k.set(I(e))}get min(){return this.#T.get()}set min(e){this.#k.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))}#G;#Q;#X;#Z;#J;#ee;get errors(){return this.#G.get()}get error(){return this.#G.get()[0]}*[Symbol.iterator](){}child(e){return null}#se=!1;#le=new M.State(null);#ae=new M.State(this.#le.get());bindObject(e){const t=this.#ce,n=[];for(const[r,o]of Object.entries(e)){const e=H(o,{index:r,parent:this,onUpdate:(e,n,o)=>{if(r!==n)return;if(t.has(o))return;const i=this.#ae??null;"object"!=typeof i||Array.isArray(i)||(this.value={...i,[n]:e})}});n.push(e),t.set(e,r)}return this.#ue(),()=>{for(const e of n)t.delete(e)}}#ce=new Map;get changed(){return!Object.is(this.#ae.get(),this.#le.get())}get value(){return this.#ae.get()}set value(e){const t=this.#re?.(e),n=void 0===t?e:t;this.#ae.set(n),this.#se||this.#le.set(n),this.#ne?.(n,this.#ie.get(),this),this.#ue()}#ue(){this.#de||(this.#de=!0,queueMicrotask((()=>{const e=this.#ae.get();this.#fe(e)})))}reset(e=(this.#se?this.#le.get():this.#s()),t=this.#f.get()){this.#he(e,Boolean(t))}#he(e,t){this.#f.set(t);const n=this.#re?.(e),r=void 0===n?e:n;if(this.#J(),this.#ee(),this.#se=!0,!r||"object"!=typeof r){for(const[,e]of this)e.#he(null,!1);for(const[e]of this.#ce)e.#he(null,!1);return this.#ae.set(r),this.#le.set(r),this.#ne?.(r,this.#ie.get(),this),r}const o=Array.isArray(r)?[...r]:{...r};for(const[e,t]of this)o[e]=t.#he(Object.hasOwn(o,e)?o[e]:void 0,!1);for(const[e,t]of this.#ce)o[t]=e.#he(Object.hasOwn(o,t)?o[t]:void 0,!1);return this.#ae.set(o),this.#le.set(o),this.#ne?.(o,this.#ie.get(),this),o}#de=!1;#pe(e){let t=this.#oe?.(e)??e;return void 0===t&&(t=e),Object.is(this.#ae.get(),t)?t:this.#fe(t)}#fe(e){this.#de=!1;let t=e;if(e&&"object"==typeof e){let n=Array.isArray(e)?[...e]:{...e},r=!1;for(const[t,o]of this){const i=Object.hasOwn(e,t)?e[t]:void 0,s=o.#pe(i);Object.is(i,s)||(n[t]=s,r=!0)}for(const[t,o]of this.#ce){const i=Object.hasOwn(e,o)?e[o]:void 0,s=t.#pe(i);Object.is(i,s)||(n[o]=s,r=!0)}r&&(t=e=n,this.#ae.set(e))}return this.#se||(this.#se=!0,this.#le.set(t)),this.#ae.set(e),e}validate(e){if(!0===e)return Promise.all([this.#Q.get(),this.#X(),this.#Z()]).then((e=>{const t=e.flat();return t.length?t:null}));const t=Array.isArray(e)?e:[];if(this.#y.get())return Promise.resolve([]);const n=[this.validate(!0).then((e=>e?.length?[{path:[...t],store:this,errors:e}]:[]))];for(const[e,r]of this)n.push(r.validate([...t,e]));for(const[e,r]of this.#ce)n.push(e.validate([...t,r]));return Promise.all(n).then((e=>e.flat()))}}class G extends Y{get kind(){return"object"}#me;*[Symbol.iterator](){yield*Object.entries(this.#me)}child(e){return this.#me[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.#me[t]&&(this.value={...this.value,[t]:e})}};for(const[e,t]of i)s[e]=H(t,{...l,index:e});this.#me=s}}V=G;class Q extends Y{#ge=()=>{throw new Error};#me;get children(){return[...this.#me.get()]}*[Symbol.iterator](){return yield*[...this.#me.get().entries()]}child(e){const t=this.#me.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.#ge(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.#be,this.#ve]=k(this,i,e.addable??!0),this.#me=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.#ge=(t,n)=>{const r=H({...e,creatable:!0},{...a,index:t,new:n});return r.index=t,r}}bindObject(){throw new Error("ArrayStore 不支持 bindObject()方法")}#be;#ve;get selfAddable(){return this.#be.get()}set selfAddable(e){this.#be.set("boolean"==typeof e?e:null)}get addable(){return this.#ve.get()}set addable(e){this.#be.set("boolean"==typeof e?e:null)}insert(e,t=null,n){if(!this.addable)return!1;const r=this.value||[];if(!Array.isArray(r))return!1;const o=[...this.#me.get()],i=Math.max(0,Math.min(Math.floor(e),o.length)),s=this.#ge(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.#me.set(o),this.value=l,!0}add(e=null){return this.insert(this.#me.get().length,e)}remove(e){const t=this.value;if(!Array.isArray(t))return;const n=[...this.#me.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.#me.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.#me.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.#me.set(i),this.value=d,l}exchange(e,t){const n=this.value;if(!Array.isArray(n))return!1;const r=[...this.#me.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.#me.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,h){const p=f.replace(/./g,".").replace(/:/g,":").replace(/@/g,"@").replace(/+/g,"+").replace(/-/g,"-").replace(/[*×]/g,"*").replace(/!/g,"!"),m=(ne.exec(p)||re.exec(p))?.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]=h?se(h,t):{name:g};else if("@"===v)ie(d,b).events[g]=h?oe.test(h)?{name:h}:{event:r(h)}:{name:g};else if("!"===v){if("bind"===g)ie(d,b).bind=h||!0}else ie(d,b).value=se(h,t);return}if(!v)return void(i[g]={value:h});if(":"===v)return void(i[g]=h?se(h,t):{name:g});if("."===v)return void(l[g]=h?se(h,t):{name:g});if("style:"===v)return void(a[g]=se(h,t));if("@"===v)return void(s[g]=h?oe.test(h)?{name:h}:{event:r(h)}:{name:g});if("+"===v)return void c.push({...h?se(h,n):{value:void 0},variable:g,init:!0});if("*"===v)return void c.push({...se(h,t),variable:g,init:!1});if("?"===v)return void(u[g]=se(h,t));if("!"!==v)return;switch(g.toString()){case"fragment":e.fragment=h||!0;break;case"else":e.else=!0;break;case"enum":e.enum=h?se(h,t):{value:!0};break;case"sort":e.sort=h?se(h,t):{value:!0};break;case"if":e.if=se(h,t);break;case"text":e.text=se(h,t);break;case"html":o&&(e.html=se(h,t));break;case"template":e.template=h;break;case"bind":e.bind=h||!0;break;case"value":e.value=h;break;case"comment":e.comment=h}}}function 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 he(...e){console.error(new te(...e))}function pe(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]:(he("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 h={},p=0;function m(t){if(t<=p)return;f(e.substring(p,t).replace(/&#?\w+;/g,pe)),p=t}for(;;){const g=e.indexOf("<",p);if(g<0){const S=e.substring(p);S.match(/^\s*$/)||f(S);break}g>p&&m(g);const b=e.charAt(g+1);if("!"===b){let A=g+2,$=">";if("--"===e.slice(g+2,g+4)&&(A+=4,$="--\x3e"),p=e.indexOf($,A),p<0)break;p++;continue}if("/"===b){p=e.indexOf(">",g+3);let j=e.substring(g+2,p);if(p<0?(j=e.substring(g+2).replace(/[\s<].*/,""),he("UNCOMPLETED",j,c?.name),p=g+1+j.length):j.match(/\s</)&&(j=j.replace(/[\s<].*/,""),he("UNCOMPLETED",j),p=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()}}p++;continue}function v(t){let n=p+1;if(p=e.indexOf(t,n),p<0)throw new te("QUOTE",t);const r=e.slice(n,p).replace(/&#?\w+;/g,pe);return p++,r}function y(){let t=e.charAt(p);for(;t<=" "||""===t;t=e.charAt(++p));return t}function w(){let t=p,n=e.charAt(p);for(;de(n);)p++,n=e.charAt(p);return e.slice(t,p)}p=g+1;let E=e.charAt(p);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 O=!0,N=!1;e:for(;O;){let k=y();switch(k){case"":he("EOF"),p++;break e;case">":p++;break e;case"/":N=!0;break e;case'"':case"'":throw new te("ATTR_VALUE");case"=":throw new te("SYMBOL",k)}const T=w();if(!T){he("EOF"),p++;break e}switch(k=y(),k){case"":he("EOF"),p++;break e;case">":C(T,""),p++;break e;case"/":C(T,""),N=!0;break e;case"=":p++;break;case"'":case'"':C(T,v(k));continue;default:C(T,"");continue}switch(k=y(),k){case"":C(T,""),he("EOF"),p++;break e;case">":C(T,""),p++;break e;case"/":C(T,""),N=!0;break e;case"'":case'"':C(T,v(k));continue}C(T,w())}if(N){for(;;){p++;const I=e.charAt(p);if("/"!==I&&!(I<=" "||""===I))break}switch(e.charAt(p)){case"=":throw new te("EQUAL");case'"':case"'":throw new te("ATTR_VALUE");case"":he("EOF");break;case">":p++;break;default:throw new te("CLOSE_SYMBOL")}d()}else(o.has(x)||fe(e,p,x,h))&&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 Oe{exec({name:e,calc:t,value:n}){if("string"==typeof e){const t=this.#ye[e];if("function"!=typeof t?.get)return;return t.get()}return"function"==typeof t?t(this.getters):n}get({name:e,calc:t,value:n}){if("string"==typeof e){const t=this.#ye[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.#ye[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.#ye[!0===e?"":e];return t?.get&&t.store||null}bind(e,t,n){const r=this.#ye[!0===e?"":e];if(!r?.get)return;const{store:o}=r;return o?ve.has(t)?be((()=>o[t]),n,!0):void 0:"value"===t?be((()=>r.get()),n,!0):void 0}bindAll(e){const t=this.#ye[!0===e?"":e];if(!t?.get)return;const{store:n}=t;if(!n){const e=t.get;if("function"!=typeof e)return;return{$value:t=>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.#ye[!0===e?"":e];if(!t?.get)return{};const{store:n}=t;if(!n){const{get:e,set:n}=t;return{$value:{get:e,set:n}}}const r=Object.fromEntries([...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.#ye[!0===e?"":e];if(!n?.get)return;const{store:r}=n;if(r)switch(t){case"value":return e=>{r.value=e};case"state":return e=>{}}}bindEvents(e){const t=this.#ye[!0===e?"":e];if(!t?.get)return;const{store:n}=t;if(!n){const e=t.set;if("function"!=typeof e)return;return{$value:e}}return{$value:e=>{n.value=e},$state:e=>{},$input:e=>{n.emit("input",e)},$change:e=>{n.emit("change",e)},$click:e=>{n.emit("click",e)},$focus:e=>{n.emit("focus",e)},$blur:e=>{n.emit("blur",e)},$reset:e=>{n.reset()},$validate:e=>{n.validate(e?[]:null)}}}getEvent({name:e,event:t}){if("function"==typeof t)return t;const n=this.#ye[e];if(!n)return null;const{exec:r,calc:o}=n;return"function"==typeof r?r:"function"==typeof o?o:null}constructor(e,t){if(this.store=e,t instanceof Oe){this.#we=t.#we;const e=this.#Ee;for(const[n,r]of Object.entries(t.#Ee))e[n]=r;const n=this.#xe;for(const[e,r]of Object.entries(t.#xe))n[e]=r}else we(this.#Ee,e),this.#we=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)}#we;#Ee=Object.create(null);#xe=Object.create(null);store;#Le=null;#r=null;#Ce=null;get#ye(){const e=this.#Ce;if(e)return e;const t=Object.create(null,Object.getOwnPropertyDescriptors({...this.#Ee,...this.#we,...this.#xe})),n=this.store,r=this.#r,o=this.#Le;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.#Ce=t,t}setStore(e,t,n){const r=new Oe(e,this);return t&&(r.#r=t),we(r.#Ee,e),n&&(r.#Le=n),r}child(e){if(!e)return this;const t=this.store.child(e);if(!t)return null;const n=new Oe(t,this);return we(n.#Ee,t),n}params(e,t,n,r){let o=this.store;if(!0===r)o=n.store;else if(r){const e=n.#ye[r],t=e?.get&&e.store;t&&(o=t)}if(0===Object.keys(e).length)return this;const i=new Oe(o,this);i.#r=this.#r,i.#Le=this.#Le;const s=i.#xe,l=i.#ye;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.#ye[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.#Oe=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 Oe(this.store,this);return t.#Le=e,t}set(e){if(!e?.length)return this;const t=new Oe(this.store,this);t.#r=this.#r,t.#Le=this.#Le;const n=t.#xe,r=t.#ye;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.#Ne=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.#Oe=null;const i=new M.Computed((()=>s(e)));n[o]=r[o]={get:()=>i.get()}}return t}#Se=null;get all(){const e=this.#Se;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#ye))n.get?Object.defineProperty(t,e,{get:n.get,set:n.set,configurable:!0,enumerable:!0}):n.calc?Object.defineProperty(t,e,{value:n.calc,writable:!1,configurable:!0,enumerable:!1}):Object.defineProperty(t,e,{value:n.exec,writable:!1,configurable:!0,enumerable:!1});return Ce(this.store,t),this.#Se=t,t}#Ne=null;get settable(){const e=this.#Ne;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#ye))n.get?Object.defineProperty(t,e,{get:n.get,set:n.set,configurable:!0,enumerable:!0}):n.calc&&Object.defineProperty(t,e,{value:n.calc,writable:!1,configurable:!0,enumerable:!1});return Ce(this.store,t),this.#Ne=t,t}#Oe=null;get getters(){const e=this.#Oe;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#ye))n.get?Object.defineProperty(t,e,{get:n.get,configurable:!0,enumerable:!0}):n.calc&&Object.defineProperty(t,e,{value:n.calc,writable:!1,configurable:!0,enumerable:!1});return Ce(this.store,t),this.#Oe=t,t}}const Ne={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 Ne?`${o}${Ne[e]}`:`${o}`:"string"==typeof o&&(r=o),r?[r,n?"important":void 0]:null}class Ae{#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 $e={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=$e[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 ke(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 Te(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 Te;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=Te(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=Te(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=Te(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=ke(e);null==n?r.removeAttribute(t):r.setAttribute(t,n)}})),i.has(t))r[t]=n;else{const e=ke(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=ke(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=ke(n);null!==i&&r.setAttribute(t,i),o(t,(e=>{const n=ke(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:h}=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),h=new Set,p=[],m=new Ae;return{context:{events:p,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 h.add(o),()=>{h.delete(o),o()}},relate(e){if(!n||!r||l)return()=>{};try{const t=r(n,e);return"function"!=typeof t?()=>{}:(h.add(t),()=>{h.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);p.push([r,Me(t,n,a),l])},destroy(){if(!l){l=!0,a.set(!0);for(const e of h)e();m.emit("destroy")}},mount(){c||(c=!0,u.set(!0),m.emit("init",{events:p}))}}}}(d||e.name,r,r.getStore(c),l),p=d?.attrs,m=p?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()}}(h,r,e.attrs,p,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()}}(h,r,e.attrs);for(const[t,n]of Object.entries(e.events)){const e=r.getEvent(n);e&&h.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()}}(h,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);h.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 h=!1;const p=new M.State(!1),m=f?.events,g=[],b=Object.create(null),v=new Set,y=new Ae;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(!h){h=!0,p.set(!0);for(const e of v)e();y.emit("destroy")}}s.add(E);for(const[L,C]of Object.entries(a)){const O=n.get(C);O&&Object.defineProperty(b,L,{...O,configurable:!0,enumerable:!0})}for(const[N,S]of Object.entries(u)){const A=n.getEvent(S);A&&w(N,A)}if(d){for(const[$,j]of Object.entries(n.getBindAll(d)||{}))Object.defineProperty(b,$,{...j,configurable:!0,enumerable:!0});for(const[k,T]of Object.entries(n.bindEvents(d)||{}))w(k,(e=>T(e)))}const x={get value(){return null},events:g,attrs:b,watch(e,t){if(h)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 p.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()}}(h.tag,e.enhancements,r,s,v,y);return()=>{L(),h.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),h=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,h,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,h=f.params(d.params,e.attrs,c,e.bind),p=_e(h,o,d.templates);return He(d.children,t,n,h,p,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 ze(e,t,n,{component:r,global:o,relate:i,enhancements:s}={}){return He(t,n,null,new Oe(e,o),Object.create(null),[],s||{},"function"==typeof i?i:null,r)}function Ke(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")||"",h=n.getAttribute("renderer")||"",p=r?.editable&&!n.hasAttribute("non-editable"),m=d?e.child(d):e;if(!m)return;let g=null;switch(f){case"grid":{const y=d?o?.fields?.find(Ke(d))||m.layout:{...o,html:""};g=dt(m,t,y,{...r,editable:p});break}default:g=t(m,h||o.renderer,{...r,editable:p})}if(!g){const w=n.getAttribute("placeholder")||"";return void n.replaceWith(document.createTextNode(w))}const b=n.getAttribute("class")||"";b&&g.setAttribute("class",[g.getAttribute("class")||"",b].filter(Boolean).join(" "));const v=n.getAttribute("style")||"";return v&&g.setAttribute("style",[g.getAttribute("style")||"",v].filter(Boolean).join(" ")),void n.replaceWith(g)}if("nl-form-button"===l){const E=document.createElement("button"),x=n.getAttribute("class")||"",L=n.getAttribute("style")||"";x&&E.setAttribute("class",x),L&&E.setAttribute("style",L),E.classList.add("NeeloongForm-item-button");const C=n.getAttribute("click")||"",O=r?.call;C&&"function"==typeof O&&E.addEventListener("click",(t=>O(C,t,e,r)));for(const N of[...n.childNodes])E.appendChild(N);return void n.replaceWith(E)}const a=n.getAttribute("nl-form-field");if(a){const S=a.endsWith("[]"),A=S?a.slice(0,a.length-2):a,$=A?e.child(A):e;if(!$)return;n.removeAttribute("nl-form-field");const j=A?o.fields?.find(Ke(A))||$.layout:{...o,html:""};if(!S)return void Ye($,t,n,r,j,i);if(!($ instanceof Q))return void n.remove();const M=n.parentElement;if(!M)return void n.remove();const k=M.insertBefore(document.createComment(""),n)||null;n.remove();let T=new Map;function I(e){for(const[t,n]of e.values())t instanceof Element&&t.remove(),n.abort()}let B=-1;const F=e=>{if(B<0)return;const t=e?Number(e.index):$.children.length;t<0||B<0||B===t||$.move(B,t)&&(B=t)};return be((()=>$.children),(e=>{let o=k.nextSibling;const i=T;T=new Map;for(const s of e){const e=i.get(s);if(e)i.delete(s),T.set(s,e),o!==e[0]?M.insertBefore(e[0],o):o=o.nextSibling;else{const e=new AbortController,i=M.insertBefore(n.cloneNode(!0),o);Ye(s,t,i,{...r,signal:r?.signal?AbortSignal.any([r?.signal,e.signal]):e.signal},j,i),i.addEventListener("dragenter",(()=>{F(s)})),i.addEventListener("dragstart",(e=>{e.target===e.currentTarget&&(B=Number(s.index))})),i.addEventListener("dragend",(()=>{B=-1})),T.set(s,[i,e])}}I(i)}),!0,r?.signal),void r?.signal?.addEventListener("abort",(()=>{k.remove(),I(T)}),{once:!0})}if(null!==n.getAttribute("nl-form-remove")){const P=e.parent;P instanceof Q&&n.addEventListener("click",(()=>{P.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 R=e.child(c);R instanceof Q&&n.addEventListener("click",(()=>{R.add({})}))}const u=r?.call;for(const U of[...n.getAttributeNames()]){const q=U.indexOf(":");if(q<0)continue;const D=U.slice(0,q).toLowerCase(),V=U.slice(q+1);if("nl-form-field"===D){const _=n.getAttribute(U),W=_?e.child(_):e;if(!W)continue;ge((()=>{try{n.setAttribute(V,W.value)}catch{}}),r?.signal)}else if("nl-form-event"===D&&"function"==typeof u){const H=n.getAttribute(U);if(!H)continue;try{n.addEventListener(V,(t=>u(H,t,e,r)))}catch{}}}}if(n instanceof Element||n instanceof DocumentFragment)for(const z of[...n.children])Ye(e,t,z,r,o,i)}}function Ge(e,t){if(!e)return document.createElement("template").content;if("string"!=typeof e)return e.cloneNode(!0);const n=document.createElement("template");return n.innerHTML=t?t(e):e,n.content}function Qe(e,t,n,r){if(r?.signal?.aborted)return null;const o=n.html;if(o){const i=Ge(o,r?.sanitizeHtml);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 h=[];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 h)e.classList.remove("NeeloongForm-table-line-open"),e.classList.add("NeeloongForm-table-line-close")}else{e.hidden=!0;for(const e of h)e.classList.remove("NeeloongForm-table-line-close"),e.classList.add("NeeloongForm-table-line-open")}}}}function p({pointerId:e}){function t(n){n.pointerId===e&&u&&(u.draggable=!1,window.removeEventListener("pointerup",t,{capture:!0}),window.removeEventListener("pointercancel",t,{capture:!0}))}u.draggable=!0,window.addEventListener("pointerup",t,{capture:!0}),window.addEventListener("pointercancel",t,{capture:!0})}for(const n of r){const{actions:r,field:s,pattern:l,editable:a}=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,editable:c?.editable&&!1!==a});e&&r.appendChild(e)}continue}const u=d.appendChild(document.createElement("th"));u.classList.add("NeeloongForm-table-line-handle");for(const t of r)switch(t){case"trigger":{const e=u.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-table-line-open"),h.push(e),e.addEventListener("click",f);continue}case"move":{if(!c?.editable)continue;const t=u.appendChild(document.createElement("button"));t.classList.add("NeeloongForm-table-move"),t.addEventListener("pointerdown",p),be((()=>e.readonly||e.disabled),(e=>{t.disabled=e}),!0,c.signal);continue}case"remove":{if(!c?.editable)continue;const e=u.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-table-remove"),e.addEventListener("click",i),be((()=>!o.get()),(t=>{e.disabled=t}),!0,c.signal);continue}case"serial":u.appendChild(document.createElement("span")).classList.add("NeeloongForm-table-serial");continue}}return u}function 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,editable:u}=t;if(i){const t=e.get(i);if(t)return{field:i,placeholder:s,width:a,label:c||t.label,editable:u}}const d=new Set(n),f=[r,o].flat().filter((e=>e&&d.delete(e)));return f.length?{actions:f,width:a,label:c,editable:u}:l?{pattern:l,placeholder:s,width:a,label:c,editable:u}:s||a?{placeholder:s,width:a,label:c,editable:u}: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:h,createDetails:p},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=p(e)}function x(){t.get()!==e?w=p(e):w()}const L="move"===r.mainMethod?v:null,C=L?null:"collapse"===r.mainMethod?y:"trigger"===r.mainMethod?x:E,O=g.appendChild(document.createElement("div"));O.classList.add("NeeloongForm-tree-line");const N=g.appendChild(document.createElement("div"));N.classList.add("NeeloongForm-tree-drop");const S=g.appendChild(document.createElement("div"));S.classList.add("NeeloongForm-tree-drop-children"),N.addEventListener("dragover",(e=>e.preventDefault())),S.addEventListener("dragover",(e=>e.preventDefault())),N.addEventListener("drop",(()=>h())),S.addEventListener("drop",(()=>h(!0))),ge((()=>{N.hidden=S.hidden=!o.get().droppable}),m?.signal);let A=()=>{};N.addEventListener("dragenter",(()=>A=c(N))),S.addEventListener("dragenter",(()=>A=c(S))),N.addEventListener("dragleave",(()=>A())),S.addEventListener("dragleave",(()=>A()));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=O.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-trigger"),e.addEventListener("click",x);continue}case"open":{const e=O.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-open"),e.addEventListener("click",E);continue}case"collapse":{const e=O.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-collapse"),e.addEventListener("click",y),b.push(e);continue}case"move":{if(!m?.editable)continue;const t=O.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=O.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=O.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":O.appendChild(document.createElement("span")).classList.add("NeeloongForm-tree-serial");continue}else{const r=O.appendChild(document.createElement("div"));if(r.classList.add("NeeloongForm-tree-cell"),C&&r.addEventListener("click",C),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 h=null;const p=new M.State(null);function m(e){if(r?.signal?.aborted)return()=>{};if(p.get()===e&&h){const e=h;return()=>{e.abort()}}h?.abort(),p.set(e);const o=new AbortController;h=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",(()=>{p.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]=($[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($[Number(e.index)]?.levelValue)||0;return t?n+1:n}(t,n))||0;let o=function(e){let t=e+1;const n=$[w]?.level??0;for(;($[t]?.level??-1)>n;t++);return t-w}(w),i=-1;if(t){if(i=Number(t.index),w===i||$[i]?.parents?.has(w))return;if(n||i!==w+o){if(n){for(const e=$[i]?.level||0;$[i+1]?.level>e;i++);i<w&&(i+=1)}else i>w&&(i-=1);if(i<0)return}else i=-1}else if(i=$.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($[w]?.level??0).map(((e,t)=>Math.max(($[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 O(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 N(){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=O(n))),n.addEventListener("dragleave",(()=>o())),n.addEventListener("drop",(()=>x())),be((()=>!b.get()),(e=>{t.disabled=e}),!0,r.signal)}let A=new Map;const $=[];return be((()=>e.children),(i=>{let l=S.nextSibling;const a=A;A=new Map;const c=i.length;for(let t=$.length;t<c;t++)$[t]=st(e,$,E,"level",t);let u=-1;for(let c of i){u++;const i=$[u],d=a.get(c);if(d)a.delete(c),A.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,p,t,n,a,{columns:o,addable:b,deletable:new M.Computed((()=>!e.readonly&&!e.disabled&&c.removable)),remove:y.bind(null,c),dragenter:O,dragstart:L.bind(null,c),dragend:N,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),A.set(c,[d,u,e=>a.set(e)])}}$.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 h(){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 p=new Map;return be((()=>e.children),(l=>{let a=s.nextSibling;const u=p;p=new Map;for(let s of l){const l=u.get(s);if(l)u.delete(s),p.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:h},{...r,signal:r?.signal?AbortSignal.any([r?.signal,l.signal]):l.signal});i.insertBefore(u,a),p.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,r?.sanitizeHtml);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,r?.sanitizeHtml);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,o?.sanitizeHtml);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,ze as render,ft as renderStore,be as watch};
|
|
60
|
+
function(e){const t=Object.create($);t.value=e;const n=()=>(f(t),t.value);return n[c]=t,n}(n),l=i[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 N.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");A(this[j],t)}};h=j,p=new WeakSet,e.isComputed=e=>n(p,e),e.Computed=class{constructor(n,o){r(this,p),t(this,h);const s=function(e){const t=Object.create(S);t.computation=e;const n=()=>E(t);return n[c]=t,n}(n),i=s[c];if(i.consumerAllowSignalWrites=!0,this[j]=i,i.wrapper=this,o){const t=o.equals;t&&(i.equal=t),i.watched=o[e.subtle.watched],i.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])}},(s=>{var l,a,c,h;s.untrack=function(e){let t,n=null;try{n=u(null),t=e()}finally{u(n)}return t},s.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)))??[]},s.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)))??[]},s.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},s.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,h=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),s.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,h).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,h).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))}},s.currentComputed=function(){var e;return null==(e=i)?void 0:e.wrapper},s.watched=Symbol("watched"),s.unwatched=Symbol("unwatched")})(e.subtle||(e.subtle={}))})(M||(M={}));const T=e=>"string"==typeof e&&e||null,I=e=>"number"==typeof e&&e||null,B=e=>e instanceof RegExp?e:null,P=Boolean;function F(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(F).filter(P):[];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(F).filter(P);return t.length?t:null};function U(e,t,n,r){const o=new M.State(t(n));let s;if("function"==typeof r){const n=r;s=new M.Computed((()=>t(n(e))))}else{const e=t(r);s=new M.Computed((()=>e))}const i=new M.Computed((()=>{const e=o.get();return null===e?s.get():e}));return[o,i]}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=Q;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 z(e){V=e}function K(e){return e?e instanceof Error?e.message:"string"!=typeof e?"":e:""}function Y(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 s=o.flat().map(K).filter(Boolean);return!n.aborted&&s.length&&r.set([...r.get(),...s]),s}(n,t)))).then((e=>e.flat()))},new M.Computed((()=>r.get())),()=>{o?.abort(),r.set([])}]}class G extends Q{get kind(){return"object"}#e=Object.create(null);*[Symbol.iterator](){yield*Object.entries(this.#e)}child(e){return this.#e[e]||null}constructor(e,t){super(t);const n=this.#e;for(const[t,r]of Object.entries(e)){const e=H(r,{index:t,parent:this,onUpdate:(e,t,r)=>{if(r!==n[t])return;const o=this.value??null;"object"!=typeof o||Array.isArray(o)||(this.value={...o,[t]:e})}});n[t]=e}}}z(ObjectStore);class Q{#t=null;#n;get schema(){return this.#n}#r=new Map;emit(e,t){const n=this.#t;if(n)return n.emit(e,t);const r="number"==typeof e?String(e):e,o=this.#r;let s=!1;for(const e of[...o.get(r)||[]])s=!1===e(t,this)||s;return!s}listen(e,t){const n=this.#t;if(n)return n.listen(e,(e=>t.call(this,e,this)));const r=t.bind(this),o=this.#r,s="number"==typeof e?String(e):e;let i=o.get(s);return i||(i=new Set,o.set(s,i)),i.add(r),()=>{i?.delete(r)}}static create(e,t={}){return H({type:e},{...t,parent:null})}static setStore(e,t){return function(e,t){W[e]=t}(e,t)}#o=!1;get null(){return this.#o}get kind(){return""}#s=null;get ref(){return this.#s||D(this)}constructor(e,{null:t,ref:n,default:r,setValue:o,convert:s,onUpdate:i,states:l,validator:a,validators:c,index:u,size:d,new:f,parent:h,hidden:p,clearable:m,required:g,disabled:b,readonly:v,removable:y,label:w,description:E,placeholder:x,min:L,max:C,step:S,minLength:O,maxLength:N,pattern:A,values:$}={}){if(e instanceof Q)return this.#t=e,this.#n=e.#n,this.#o=e.#o,this.#s=e.#s,this.#i=e.#i,this.#l=e.#l,this.#a=e.#a,this.#c=e.#c,this.#u=e.#u,this.#d=e.#d,this.#f=e.#f,this.#h=e.#h,this.#p=e.#p,this.#m=e.#m,this.#g=e.#g,this.#b=e.#b,this.#v=e.#v,this.#y=e.#y,this.#w=e.#w,this.#E=e.#E,this.#x=e.#x,this.#L=e.#L,this.#C=e.#C,this.#S=e.#S,this.#O=e.#O,this.#N=e.#N,this.#A=e.#A,this.#$=e.#$,this.#j=e.#j,this.#M=e.#M,this.#k=e.#k,this.#T=e.#T,this.#I=e.#I,this.#B=e.#B,this.#P=e.#P,this.#F=e.#F,this.#R=e.#R,this.#U=e.#U,this.#q=e.#q,this.#D=e.#D,this.#V=e.#V,this.#_=e.#_,this.#W=e.#W,this.#H=e.#H,this.#z=e.#z,this.#K=e.#K,this.#Y=e.#Y,this.#G=e.#G,this.#Q=e.#Q,this.#X=e.#X,this.#Z=e.#Z,this.#J=e.#J,this.#ee=e.#ee,this.#te=e.#te,this.#ne=e.#ne,this.#re=e.#re,this.#oe=e.#oe,this.#se=e.#se,this.#ie=e.#ie,this.#le=e.#le,this.#ae=e.#ae,this.#ce=e.#ce,this.#ue=e.#ue,void(this.#de=e.#de);this.#n=e;const j=h instanceof Q?h:null;var P,F;j&&(this.#f=j,this.#h=j.#h,this.#v=j.#v),this.#a=(P=this,"function"!=typeof(F=r??e.default)?()=>structuredClone(F):e=>structuredClone(F(P,e)));const q=new M.State(!1);this.#b=q,this.#v=q,this.#p=e.type,this.#m=e.meta,this.#g=e.component,this.#l=e.layout||{};const V=new M.State(Boolean(f));this.#C=V;const _=j?new M.Computed((()=>j.#L.get()||V.get())):new M.Computed((()=>V.get()));this.#L=_;const W=Boolean(e.immutable),H=!1!==e.creatable;this.#x=W,this.#E=H;const z=e.readonly,G=new M.State("boolean"==typeof v?v:null);let X;if("function"==typeof z)X=new M.Computed((()=>Boolean(z(this))));else{const e=Boolean(z);X=new M.Computed((()=>e))}const Z=()=>{if(_.get()?!H:W)return!0;const e=G.get();return null===e?X.get():e},J=j?j.#I:null;this.#T=G,this.#I=J?new M.Computed((()=>J.get()||Z())):new M.Computed(Z),[this.#S,this.#O]=k(this,p,e.hidden,j?j.#O:null),[this.#N,this.#A]=k(this,m,e.clearable,j?j.#A:null),[this.#$,this.#j]=k(this,g,e.required,j?j.#j:null),[this.#M,this.#k]=k(this,b,e.disabled,j?j.#k:null),[this.#F,this.#R]=U(this,T,w,e.label),[this.#U,this.#q]=U(this,T,E,e.description),[this.#D,this.#V]=U(this,T,x,e.placeholder),[this.#_,this.#W]=U(this,I,L,e.min),[this.#H,this.#z]=U(this,I,C,e.max),[this.#K,this.#Y]=U(this,I,S,e.step),[this.#G,this.#Q]=U(this,I,O,e.minLength),[this.#X,this.#Z]=U(this,I,N,e.maxLength),[this.#J,this.#ee]=U(this,B,A,e.pattern),[this.#te,this.#ne]=U(this,R,$,e.values),[this.#B,this.#P]=k(this,y,e.removable??!0);const ee=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,a),te=e.states;this.#i=te?Object.defineProperties(Object.create(null),Object.fromEntries(Object.entries(te).map((([e,{get:t,set:n,toState:r}])=>{const o=new M.State(r?.(l?.[e])),s=new M.Computed((()=>t(this,o)));return[e,{configurable:!0,enumerable:!0,get:()=>s.get(),set(e){return n?.(this,o,e)}}]})))):null;const[ne,re,oe]=Y(this,e.validators?.change,c?.change),[se,ie,le]=Y(this,e.validators?.blur,c?.blur);if(this.listen("change",(()=>{ne()})),this.listen("blur",(()=>{se()})),this.#re=function(...e){const t=e.filter(Boolean);return new M.Computed((()=>t.flatMap((e=>e.get()))))}(ee,re,ie),this.#oe=ee,this.#se=ne,this.#ie=se,this.#le=oe,this.#ae=le,d instanceof M.State||d instanceof M.Computed?this.#y=d:this.#y=new M.State(d||0),t)return this.#o=!0,void(this.#s=D(this));this.#s=n||null,this.#d=i||null,this.#c="function"==typeof o?o:null,this.#u="function"==typeof s?s:null,this.#w.set(u??"");for(const[t,n]of Object.entries(e.events||{}))"function"==typeof n&&this.listen(t,n)}#i;get states(){return this.#i}#l;get layout(){return this.#l}#a;createDefault(e){return this.#a(e)}#c=null;#u=null;#d=null;#f=null;#h=this;#p;#m;#g;#b=null;#v;get loading(){return this.#v.get()}set loading(e){const t=this.#b;t&&t.set(Boolean(e))}get store(){return this}get parent(){return this.#f}get root(){return this.#h}get type(){return this.#p}get meta(){return this.#m}get component(){return this.#g}#y;get size(){return this.#y.get()}#w=new M.State("");get index(){return this.#w.get()}set index(e){this.#w.set(e)}get no(){if(this.#o)return"";const e=this.index;return"number"==typeof e?e+1:e}#E=!0;get creatable(){return this.#E}#x=!1;get immutable(){return this.#x}#L;#C;get selfNew(){return this.#C.get()}set selfNew(e){this.#C.set(Boolean(e))}get new(){return this.#L.get()}set new(e){this.#C.set(Boolean(e))}#S;#O;get selfHidden(){return this.#S.get()}set selfHidden(e){this.#S.set("boolean"==typeof e?e:null)}get hidden(){return this.#O.get()}set hidden(e){this.#S.set("boolean"==typeof e?e:null)}#N;#A;get selfClearable(){return this.#N.get()}set selfClearable(e){this.#N.set("boolean"==typeof e?e:null)}get clearable(){return this.#A.get()}set clearable(e){this.#N.set("boolean"==typeof e?e:null)}#$;#j;get selfRequired(){return this.#$.get()}set selfRequired(e){this.#$.set("boolean"==typeof e?e:null)}get required(){return this.#j.get()}set required(e){this.#$.set("boolean"==typeof e?e:null)}#M;#k;get selfDisabled(){return this.#M.get()}set selfDisabled(e){this.#M.set("boolean"==typeof e?e:null)}get disabled(){return this.#k.get()}set disabled(e){this.#M.set("boolean"==typeof e?e:null)}#T;#I;get selfReadonly(){return this.#T.get()}set selfReadonly(e){this.#T.set("boolean"==typeof e?e:null)}get readonly(){return this.#I.get()}set readonly(e){this.#T.set("boolean"==typeof e?e:null)}#B;#P;get selfRemovable(){return this.#B.get()}set selfRemovable(e){this.#B.set("boolean"==typeof e?e:null)}get removable(){return this.#P.get()}set removable(e){this.#B.set("boolean"==typeof e?e:null)}#F;#R;get selfLabel(){return this.#F.get()}set selfLabel(e){this.#F.set(T(e))}get label(){return this.#R.get()}set label(e){this.#F.set(T(e))}#U;#q;get selfDescription(){return this.#U.get()}set selfDescription(e){this.#U.set(T(e))}get description(){return this.#q.get()}set description(e){this.#U.set(T(e))}#D;#V;get selfPlaceholder(){return this.#D.get()}set selfPlaceholder(e){this.#D.set(T(e))}get placeholder(){return this.#V.get()}set placeholder(e){this.#D.set(T(e))}#_;#W;get selfMin(){return this.#_.get()}set selfMin(e){this.#_.set(I(e))}get min(){return this.#W.get()}set min(e){this.#_.set(I(e))}#H;#z;get selfMax(){return this.#H.get()}set selfMax(e){this.#H.set(I(e))}get max(){return this.#z.get()}set max(e){this.#H.set(I(e))}#K;#Y;get selfStep(){return this.#K.get()}set selfStep(e){this.#K.set(I(e))}get step(){return this.#Y.get()}set step(e){this.#K.set(I(e))}#G;#Q;get selfMinLength(){return this.#G.get()}set selfMinLength(e){this.#G.set(I(e))}get minLength(){return this.#Q.get()}set minLength(e){this.#G.set(I(e))}#X;#Z;get selfMaxLength(){return this.#X.get()}set selfMaxLength(e){this.#X.set(I(e))}get maxLength(){return this.#Z.get()}set maxLength(e){this.#X.set(I(e))}#J;#ee;get selfPattern(){return this.#J.get()}set selfPattern(e){this.#J.set(B(e))}get pattern(){return this.#ee.get()}set pattern(e){this.#J.set(B(e))}#te;#ne;get selfValues(){return this.#te.get()}set selfValues(e){this.#te.set(R(e))}get values(){return this.#ne.get()}set values(e){this.#te.set(R(e))}#re;#oe;#se;#ie;#le;#ae;get errors(){return this.#re.get()}get error(){return this.#re.get()[0]}*[Symbol.iterator](){}child(e){return null}#ce=!1;#ue=new M.State(null);#de=new M.State(this.#ue.get());#fe=new Set;bindObject(e,t){const n=this.#t;if(n)return n.bindObject(e,t);const r=new G(e,this);if(t?.aborted)return r;const o=this.#fe;return o.add(r),t?.addEventListener("abort",(()=>o.delete(r))),this.#he(),r}get changed(){return!Object.is(this.#de.get(),this.#ue.get())}get value(){return this.#de.get()}set value(e){const t=this.#t;if(t)return void(t.value=e);const n=this.#c?.(e),r=void 0===n?e:n;this.#de.set(r),this.#ce||this.#ue.set(r),this.#d?.(r,this.#w.get(),this),this.#he()}#he(){this.#pe||(this.#pe=!0,queueMicrotask((()=>{const e=this.#de.get();this.#me(e)})))}reset(e=(this.#ce?this.#ue.get():this.#a()),t=this.#C.get()){const n=this.#t;n?n.reset(e,t):this.#ge(e,Boolean(t))}#ge(e,t){this.#C.set(t);const n=this.#c?.(e),r=void 0===n?e:n;if(this.#le(),this.#ae(),this.#ce=!0,!r||"object"!=typeof r){for(const e of[this,...this.#fe])for(const[,t]of e)t.#ge(null,!1);return this.#de.set(r),this.#ue.set(r),this.#d?.(r,this.#w.get(),this),r}const o=Array.isArray(r)?[...r]:{...r};for(const e of[this,...this.#fe])for(const[t,n]of e)o[t]=n.#ge(Object.hasOwn(o,t)?o[t]:void 0,!1);return this.#de.set(o),this.#ue.set(o),this.#d?.(o,this.#w.get(),this),o}#pe=!1;#be(e){let t=this.#u?.(e)??e;return void 0===t&&(t=e),Object.is(this.#de.get(),t)?t:this.#me(t)}#me(e){this.#pe=!1;let t=e;if(e&&"object"==typeof e){let n=Array.isArray(e)?[...e]:{...e},r=!1;for(const t of[this,...this.#fe])for(const[o,s]of t){const t=Object.hasOwn(e,o)?e[o]:void 0,i=s.#be(t);Object.is(t,i)||(n[o]=i,r=!0)}r&&(t=e=n,this.#de.set(e))}return this.#ce||(this.#ce=!0,this.#ue.set(t)),this.#de.set(e),e}validate(e){if(!0===e)return this.#t?Promise.resolve(null):Promise.all([this.#oe.get(),this.#se(),this.#ie()]).then((e=>{const t=e.flat();return t.length?t:null}));const t=Array.isArray(e)?e:[];if(!this.#t&&this.#O.get())return Promise.resolve([]);const n=[this.validate(!0).then((e=>e?.length?[{path:[...t],store:this,errors:e}]:[]))];for(const[e,r]of this)n.push(r.validate([...t,e]));for(const e of this.#fe)n.push(e.validate(t));return Promise.all(n).then((e=>e.flat()))}}let X=class extends Q{get kind(){return"object"}#e;*[Symbol.iterator](){yield*Object.entries(this.#e)}child(e){return this.#e[e]||null}constructor(e,{parent:t,index:n,new:r,onUpdate:o}={}){const s=Object.entries(e.type),i=Object.create(null);super(e,{parent:t,index:n,new:r,onUpdate:o,size:s.length,setValue:e=>"object"==typeof e?e:null,convert:e=>"object"==typeof e?e:{},default:e.default??((t,n)=>{const r=Object.entries(i);let o=n;return o&&"object"==typeof o||(o=e.default),o&&"object"==typeof o||(o={}),Object.fromEntries(r.map((([e,t])=>[e,t.createDefault(Object.hasOwn(o,e)?o[e]:null)])))})});const l={parent:this,onUpdate:(e,t,n)=>{n===this.#e[t]&&(this.value={...this.value,[t]:e})}};for(const[e,t]of s)i[e]=H(t,{...l,index:e});this.#e=i}};z(X);class Z extends Q{#ve=()=>{throw new Error};#e;get children(){return[...this.#e.get()]}*[Symbol.iterator](){return yield*[...this.#e.get().entries()]}child(e){const t=this.#e.get();return"number"==typeof e&&e<0?t[t.length+e]||null:t[Number(e)]||null}get kind(){return"array"}constructor(e,{parent:t,onUpdate:n,index:r,new:o,addable:s}={}){const i=new M.State([]),l=e=>{const t=Array.isArray(e)&&e.length||0,n=[...i.get()],r=n.length;for(let e=n.length;e<t;e++)n.push(this.#ve(e));n.length=t,r!==t&&i.set(n)};super({...e,immutable:!1},{index:r,new:o,parent:t,size:new M.Computed((()=>i.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.#ye,this.#we]=k(this,s,e.addable??!0),this.#e=i;const a={parent:this,onUpdate:(e,t,n)=>{if(i.get()[t]!==n)return;const r=[...this.value||[]];r.length<t&&(r.length=t),r[t]=e,this.value=r}};this.#ve=(t,n)=>{const r=H({...e,creatable:!0},{...a,index:t,new:n});return r.index=t,r}}bindObject(){throw new Error("ArrayStore 不支持 bindObject()方法")}#ye;#we;get selfAddable(){return this.#ye.get()}set selfAddable(e){this.#ye.set("boolean"==typeof e?e:null)}get addable(){return this.#we.get()}set addable(e){this.#ye.set("boolean"==typeof e?e:null)}insert(e,t=null,n){if(!this.addable)return!1;const r=this.value||[];if(!Array.isArray(r))return!1;const o=[...this.#e.get()],s=Math.max(0,Math.min(Math.floor(e),o.length)),i=this.#ve(s,n);i.new=!0,o.splice(s,0,i);for(let t=e+1;t<o.length;t++)o[t].index=t;const l=[...r];return l.splice(s,0,i.createDefault(t)),this.#e.set(o),this.value=l,!0}add(e=null){return this.insert(this.#e.get().length,e)}remove(e){const t=this.value;if(!Array.isArray(t))return;const n=[...this.#e.get()],r=Math.max(0,Math.min(Math.floor(e),n.length)),[o]=n.splice(r,1);if(!o)return;for(let t=e;t<n.length;t++)n[t].index=t;const s=[...t],[i]=s.splice(r,1);return this.#e.set(n),this.value=s,i}move(e,t,n=1){const r=Math.floor(n);if(r<1)return 0;if(e<=t&&e+r>t)return 0;const o=this.value;if(!Array.isArray(o))return 0;const s=[...this.#e.get()],i=s.splice(e,r),l=i.length;if(!l)return 0;const a=r>1&&t>e?t-r+1:t;s.splice(a,0,...i);let c=Math.min(e,a),u=Math.max(e+r-1,t);for(let e=c;e<=u;e++)s[e].index=e;const d=[...o],f=d.splice(e,l);for(let e=f.length;e<l;e++)f.push(null);for(;a>d.length;)d.push(null);return d.splice(a,0,...f),this.#e.set(s),this.value=d,l}exchange(e,t){const n=this.value;if(!Array.isArray(n))return!1;const r=[...this.#e.get()],o=r[e],s=r[t];if(!o||!s)return!1;r[t]=o,r[e]=s,o.index=t,s.index=e;const i=[...n],l=i[e],a=i[t];return i[t]=l,i[e]=a,this.#e.set(r),this.value=i,!0}}function J(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=ee(t);r[e]={params:t.params,children:n?[n]:[]}}function s(e){e.length&&t.push({type:"divergent",children:e.map((([e,t])=>{const n=ee(t);return n?"string"!=typeof n&&"fragment"===n.type?[n,e]:[{children:[n]},e]:[{children:[]},e]}))})}for(const r of e){if("string"==typeof r){s(n),n=[],t.push(r);continue}if(r.template){s(n),n=[];continue}if(n.length&&r.else){const e=r.if||null;n.push([e,r]),e||(s(n),n=[]);continue}s(n),n=[];const e=r.if;if(e){n.push([e,r]);continue}const o=ee(r);o&&t.push(o)}return s(n),o?[{type:"fragment",templates:r,children:t}]:t}function ee(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]:J(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}_=Z;const te=/^([+-]?(\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 ne={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 re extends Error{constructor(e,...t){const n=ne[e];super("function"==typeof n?n(...t):n),this.code=e}}const oe=/^(?<decorator>[:@!+*\.?]|style:|样式:)?(?<name>-?[\w\p{Unified_Ideograph}_][-\w\p{Unified_Ideograph}_:\d\.]*)$/u,se=/^~(?<enhancement>[\w\p{Unified_Ideograph}_][-\w\p{Unified_Ideograph}_\d\.]*)(?:(?<decorator>[:@!])(?<name>-?[\w\p{Unified_Ideograph}_][-\w\p{Unified_Ideograph}_:\d\.]*))?$/u,ie=/^(?<name>[a-zA-Z$\p{Unified_Ideograph}_][\da-zA-Z$\p{Unified_Ideograph}_]*)?$/u;function le(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 ae(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 te.test(e)?Number(e.replaceAll("_","")):NaN}(n);return Number.isNaN(r)?ie.test(n)?{name:n}:{calc:t(e)}:{value:r}}function ce(e,t,n,r,o){const{attrs:s,events:i,classes:l,styles:a,vars:c,params:u,enhancements:d}=e;return function(f,h){const p=f.replace(/./g,".").replace(/:/g,":").replace(/@/g,"@").replace(/+/g,"+").replace(/-/g,"-").replace(/[*×]/g,"*").replace(/!/g,"!"),m=(oe.exec(p)||se.exec(p))?.groups;if(!m)throw new re("ATTR",f);const{name:g,enhancement:b}=m,v=m.decorator?.toLowerCase();if(b){if(":"===v)le(d,b).attrs[g]=h?ae(h,t):{name:g};else if("@"===v)le(d,b).events[g]=h?ie.test(h)?{name:h}:{event:r(h)}:{name:g};else if("!"===v){if("bind"===g)le(d,b).bind=h||!0}else le(d,b).value=ae(h,t);return}if(!v)return void(s[g]={value:h});if(":"===v)return void(s[g]=h?ae(h,t):{name:g});if("."===v)return void(l[g]=h?ae(h,t):{name:g});if("style:"===v)return void(a[g]=ae(h,t));if("@"===v)return void(i[g]=h?ie.test(h)?{name:h}:{event:r(h)}:{name:g});if("+"===v)return void c.push({...h?ae(h,n):{value:void 0},variable:g,init:!0});if("*"===v)return void c.push({...ae(h,t),variable:g,init:!1});if("?"===v)return void(u[g]=ae(h,t));if("!"!==v)return;switch(g.toString()){case"fragment":e.fragment=h||!0;break;case"else":e.else=!0;break;case"enum":e.enum=h?ae(h,t):{value:!0};break;case"sort":e.sort=h?ae(h,t):{value:!0};break;case"if":e.if=ae(h,t);break;case"text":e.text=ae(h,t);break;case"html":o&&(e.html=ae(h,t));break;case"template":e.template=h;break;case"bind":e.bind=h||!0;break;case"value":e.value=h;break;case"comment":e.comment=h}}}function ue(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 de={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 fe=/^(?<name>[\w\p{Unified_Ideograph}_][-\.\|:|d\w\p{Unified_Ideograph}_:]*)(?:|(?<is>[\w\p{Unified_Ideograph}_][-\.\|:|d\w\p{Unified_Ideograph}_]*))?$/u;function he(e){return"="!==e&&"/"!==e&&">"!==e&&e&&"'"!==e&&'"'!==e&&!function(e){return"0x80"===e||e<=" "}(e)}function pe(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 me(...e){console.error(new re(...e))}function ge(e){const t=e.slice(1,-1);return"#"===t.charAt(0)?String.fromCodePoint(parseInt(t.substring(1).replace("x","0x"))):t in de?de[t]:(me("ENTITY",e),e)}var be=Object.freeze({__proto__:null,parse:function(e,{createCalc:t=()=>{throw new re("CALC")},createInit:n=t,createEvent:r=()=>{throw new re("EVENT")},simpleTag:o=new Set,enableHTML:s=!1}={}){const i=[],l={children:i},a=[];let c=null,u=l;function d(){c=a.pop()||null,u=c||l}function f(e){(e=e.replace(/^\n|(?<=\n)\t+|\n\t*$/g,""))&&u.children.push(e)}let h={},p=0;function m(t){if(t<=p)return;f(e.substring(p,t).replace(/&#?\w+;/g,ge)),p=t}for(;;){const g=e.indexOf("<",p);if(g<0){const N=e.substring(p);N.match(/^\s*$/)||f(N);break}g>p&&m(g);const b=e.charAt(g+1);if("!"===b){let A=g+2,$=">";if("--"===e.slice(g+2,g+4)&&(A+=4,$="--\x3e"),p=e.indexOf($,A),p<0)break;p++;continue}if("/"===b){p=e.indexOf(">",g+3);let j=e.substring(g+2,p);if(p<0?(j=e.substring(g+2).replace(/[\s<].*/,""),me("UNCOMPLETED",j,c?.name),p=g+1+j.length):j.match(/\s</)&&(j=j.replace(/[\s<].*/,""),me("UNCOMPLETED",j),p=g+1+j.length),c){const M=c.name;if(M===j)d();else{if(M.toLowerCase()!=j.toLowerCase())throw new re("CLOSE",j,c.name);d()}}p++;continue}function v(t){let n=p+1;if(p=e.indexOf(t,n),p<0)throw new re("QUOTE",t);const r=e.slice(n,p).replace(/&#?\w+;/g,ge);return p++,r}function y(){let t=e.charAt(p);for(;t<=" "||""===t;t=e.charAt(++p));return t}function w(){let t=p,n=e.charAt(p);for(;he(n);)p++,n=e.charAt(p);return e.slice(t,p)}p=g+1;let E=e.charAt(p);switch(E){case"=":throw new re("EQUAL");case'"':case"'":throw new re("ATTR_VALUE");case">":case"/":throw new re("SYMBOL",E);case"":throw new re("EOF")}const x=w(),L=fe.exec(x)?.groups;if(!L)throw new re("TAG",x);a.push(c),c=ue(L.name,L.is),u.children.push(c),u=c;const C=ce(c,t,n,r,s);let S=!0,O=!1;e:for(;S;){let k=y();switch(k){case"":me("EOF"),p++;break e;case">":p++;break e;case"/":O=!0;break e;case'"':case"'":throw new re("ATTR_VALUE");case"=":throw new re("SYMBOL",k)}const T=w();if(!T){me("EOF"),p++;break e}switch(k=y(),k){case"":me("EOF"),p++;break e;case">":C(T,""),p++;break e;case"/":C(T,""),O=!0;break e;case"=":p++;break;case"'":case'"':C(T,v(k));continue;default:C(T,"");continue}switch(k=y(),k){case"":C(T,""),me("EOF"),p++;break e;case">":C(T,""),p++;break e;case"/":C(T,""),O=!0;break e;case"'":case'"':C(T,v(k));continue}C(T,w())}if(O){for(;;){p++;const I=e.charAt(p);if("/"!==I&&!(I<=" "||""===I))break}switch(e.charAt(p)){case"=":throw new re("EQUAL");case'"':case"'":throw new re("ATTR_VALUE");case"":me("EOF");break;case">":p++;break;default:throw new re("CLOSE_SYMBOL")}d()}else(o.has(x)||pe(e,p,x,h))&&d()}return J(i)}});function ve(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 ye(e,t,n,r){let o,s=!1;return ve((()=>{const r=e();if(!s)return s=!0,o=r,void(n&&t(r));Object.is(r,o)||(o=r,t(r))}),r)}const we=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*Ee(e,t="",n="$"){yield[`${t}`,{get:()=>e.value,set:t=>e.value=t,store:e}];for(const r of we)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 Z?(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 xe(e,t,n){for(const[n,r]of t){for(const[t,o]of Ee(r,n))e[t]=o;for(const[t,o]of Ee(r,n,"$$"))e[t]=o}}const Le={value$:{calc:e=>e?.[q].value},state$:{calc:e=>e?.[q].state}};var Ce=Object.getOwnPropertyDescriptors(Le);function Se(e){if(!e)return!1;const t=e.indexOf("$");return t<0||(e.indexOf("$",t+2)>0||"$"===e[0]&&"_$".includes(e[1]))}function Oe(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.#Ee[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.#Ee[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 ye((()=>this.exec(e)),t,!0)}enum(e){const{name:t,calc:n}=e;if("function"==typeof n)return()=>n(this.getters);if("string"==typeof t){const e=this.#Ee[t];if("function"!=typeof e?.get)return null;const n=e.store;return n instanceof Q?n:e.get}return this.store}getStore(e){if(!e)return null;const t=this.#Ee[!0===e?"":e];return t?.get&&t.store||null}bind(e,t,n){const r=this.#Ee[!0===e?"":e];if(!r?.get)return;const{store:o}=r;return o?we.has(t)?ye((()=>o[t]),n,!0):void 0:"value"===t?ye((()=>r.get()),n,!0):void 0}bindAll(e){const t=this.#Ee[!0===e?"":e];if(!t?.get)return;const{store:n}=t;if(!n){const e=t.get;if("function"!=typeof e)return;return{$value:t=>ye(e,t,!0)}}const r=Object.fromEntries([...we].map((e=>[`$${e}`,t=>ye((()=>n[e]),t,!0)])));return r.$$state=e=>ye((()=>null),e,!0),r}getBindAll(e){const t=this.#Ee[!0===e?"":e];if(!t?.get)return{};const{store:n}=t;if(!n){const{get:e,set:n}=t;return{$value:{get:e,set:n}}}const r=Object.fromEntries([...we].map((e=>[`$${e}`,"value"===e?{get:()=>n[e],set:t=>{n[e]=t}}:{get:()=>n[e]}])));return r.$$state={get:()=>null,set:()=>{}},r}bindSet(e,t){const n=this.#Ee[!0===e?"":e];if(!n?.get)return;const{store:r}=n;if(r)switch(t){case"value":return e=>{r.value=e};case"state":return e=>{}}}bindEvents(e){const t=this.#Ee[!0===e?"":e];if(!t?.get)return;const{store:n}=t;if(!n){const e=t.set;if("function"!=typeof e)return;return{$value:e}}return{$value:e=>{n.value=e},$state:e=>{},$input:e=>{n.emit("input",e)},$change:e=>{n.emit("change",e)},$click:e=>{n.emit("click",e)},$focus:e=>{n.emit("focus",e)},$blur:e=>{n.emit("blur",e)},$reset:e=>{n.reset()},$validate:e=>{n.validate(e?[]:null)}}}getEvent({name:e,event:t}){if("function"==typeof t)return t;const n=this.#Ee[e];if(!n)return null;const{exec:r,calc:o}=n;return"function"==typeof r?r:"function"==typeof o?o:null}constructor(e,t){if(this.store=e,t instanceof Ne){this.#xe=t.#xe;const e=this.#Le;for(const[n,r]of Object.entries(t.#Le))e[n]=r;const n=this.#Ce;for(const[e,r]of Object.entries(t.#Ce))n[e]=r}else xe(this.#Le,e),this.#xe=function(e){const t=Object.create(null,Ce);if(!e||"object"!=typeof e)return t;for(const[n,r]of Object.entries(e)){if(!Se(n))continue;if(!r||"object"!=typeof r)continue;if(r instanceof Q){for(const[e,o]of Ee(r,n))t[e]=o;continue}const{get:e,set:o,exec:s,calc:i}=r;"function"!=typeof e?"function"==typeof i||i&&"object"==typeof i?t[n]={calc:i}:("function"==typeof s||i&&"object"==typeof i)&&(t[n]={exec:s}):t[n]="function"==typeof o?{get:e,set:o}:{get:e}}return t}(t)}#xe;#Le=Object.create(null);#Ce=Object.create(null);store;#Se=null;#f=null;#Oe=null;get#Ee(){const e=this.#Oe;if(e)return e;const t=Object.create(null,Object.getOwnPropertyDescriptors({...this.#Le,...this.#xe,...this.#Ce})),n=this.store,r=this.#f,o=this.#Se;for(const[e,r]of Ee(n))t[e]=r;for(const[e,o]of function*(e,t,n="",r="$"){if(!(e instanceof Z))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.#Oe=t,t}setStore(e,t,n){const r=new Ne(e,this);return t&&(r.#f=t),xe(r.#Le,e),n&&(r.#Se=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 xe(n.#Le,t),n}params(e,t,n,r){let o=this.store;if(!0===r)o=n.store;else if(r){const e=n.#Ee[r],t=e?.get&&e.store;t&&(o=t)}if(0===Object.keys(e).length)return this;const s=new Ne(o,this);s.#f=this.#f,s.#Se=this.#Se;const i=s.#Ce,l=s.#Ee;for(const[r,o]of Object.entries(e)){const e=r in t?t[r]:null;if(e){const{name:t,calc:o,value:s}=e;if(t){const e=n.#Ee[t];if(!e?.get)continue;if(!e.store){i[r]=l[r]=e;continue}for(const[t,n]of Ee(e.store,r))i[t]=l[t]=n;continue}if("function"==typeof o){const e=new M.Computed((()=>o(n.getters)));i[r]=l[r]={get:()=>e.get()};continue}i[r]=l[r]={get:()=>s}}else{const{name:e,calc:t,value:n}=o;if("function"==typeof t){const e=s.getters;s.#Ne=null;const n=new M.Computed((()=>t(e)));i[r]=l[r]={get:()=>n.get()};continue}if(e){const t=l[e];if(!t?.get)continue;if(!t.store){i[r]=l[r]=t;continue}for(const[e,n]of Ee(t.store,r))i[e]=l[e]=n;continue}i[r]=l[r]={get:()=>n}}}return s}setObject(e){const t=new Ne(this.store,this);return t.#Se=e,t}set(e){if(!e?.length)return this;const t=new Ne(this.store,this);t.#f=this.#f,t.#Se=this.#Se;const n=t.#Ce,r=t.#Ee;for(const{variable:o,name:s,calc:i,value:l,init:a}of e)if(a){const e=new M.State(l);if("function"==typeof i){const n=t.settable;t.#Ae=null,e.set(i(n))}else if(s){const t=r[s];if(!t?.get)continue;e.set(t.get())}n[o]=r[o]={get:()=>e.get(),set:t=>{e.set(t)}}}else if("function"!=typeof i)if(s){const e=r[s];if(!e)continue;if(!e.get||!e.store){n[o]=r[o]=e;continue}for(const[t,s]of Ee(e.store,o))n[t]=r[t]=s}else n[o]=r[o]={get:()=>l};else{const e=t.getters;t.#Ne=null;const s=new M.Computed((()=>i(e)));n[o]=r[o]={get:()=>s.get()}}return t}#$e=null;get all(){const e=this.#$e;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#Ee))n.get?Object.defineProperty(t,e,{get:n.get,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 Oe(this.store,t),this.#$e=t,t}#Ae=null;get settable(){const e=this.#Ae;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#Ee))n.get?Object.defineProperty(t,e,{get:n.get,set:n.set,configurable:!0,enumerable:!0}):n.calc&&Object.defineProperty(t,e,{value:n.calc,writable:!1,configurable:!0,enumerable:!1});return Oe(this.store,t),this.#Ae=t,t}#Ne=null;get getters(){const e=this.#Ne;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#Ee))n.get?Object.defineProperty(t,e,{get:n.get,configurable:!0,enumerable:!0}):n.calc&&Object.defineProperty(t,e,{value:n.calc,writable:!1,configurable:!0,enumerable:!1});return Oe(this.store,t),this.#Ne=t,t}}const Ae={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 $e(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 Ae?`${o}${Ae[e]}`:`${o}`:"string"==typeof o&&(r=o),r?[r,n?"important":void 0]:null}class je{#r=new Map;emit(e,...t){const n="number"==typeof e?String(e):e,r=this.#r;for(const e of[...r.get(n)||[]])e(...t)}listen(e,t){const n=t.bind(this),r=this.#r,o="number"==typeof e?String(e):e;let s=r.get(o);return s||(s=new Set,r.set(o,s)),s.add(n),()=>{s?.delete(n)}}}const Me={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 ke(e,t,n){const r=[];if(t)for(let o=e.shift();o;o=e.shift()){const e=o.indexOf(":"),s=e>=0?o.slice(0,e):o,i=e>=0?o.slice(e+1).split(":"):[],l=s.replace(/^-+/,""),a=(s.length-l.length)%2==1;let c=t[l]||l;if(n)switch(c){case"once":case"passive":case"capture":n[c]=!a;continue}"string"==typeof c&&(c=Me[c]),"function"==typeof c&&r.push([c,i,a])}return r}function Te(e,t,n){return r=>{const o=e.all;for(const[e,t,s]of n)if(e(r,t,o)===s)return;t(r,o)}}function Ie(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 Be(e){return null===(e??null)?"":String(e)}function Pe(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 Be;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 Fe={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=Be(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=Be(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=Be(e)}},events:{$value:["change",(e,t)=>t.value]}}};function Re(e,t,n){const r=document.createElement(t,{is:n||void 0}),{watch:o,props:s}=e;return["input","textarea","select"].includes(t.toLowerCase())&&e.relate(r),e.listen("init",(({events:n})=>{const i=Fe[t.toLowerCase()],l=i?.attrs||{},a=i?.events||{};for(const[e,t,o]of n)if("$"!==e[0])r.addEventListener(e,t,o);else{const n=a[e];if(n){const[e,s]=n;r.addEventListener(e,(e=>t(s(e,r))),o)}}if(s)for(const[t,n]of Object.entries(e.attrs))if(o(t,(e=>{if(s.has(t))r[t]=e;else{const n=Ie(e);null==n?r.removeAttribute(t):r.setAttribute(t,n)}})),s.has(t))r[t]=n;else{const e=Ie(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=Ie(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=Pe(r,t);if("function"==typeof e){r[t]=e(n),o(t,(n=>{r[t]=e(n)}));continue}if(e){r[t]=n,o(t,(e=>{r[t]=e}));continue}let s=Ie(n);null!==s&&r.setAttribute(t,s),o(t,(e=>{const n=Ie(e);null===n?r.removeAttribute(t):r.setAttribute(t,n)}))}})),r}function Ue(e){return null===(e??null)?"":String(e)}function qe(e,t,n,r,o){if(!o){const o=e.insertBefore(document.createTextNode(""),t),s=n.watch(r,(e=>o.textContent=Ue(e)));return()=>{o.remove(),s()}}const s=e.insertBefore(document.createComment(""),t),i=e.insertBefore(document.createComment(""),t),l=document.createElement("div");function a(){for(let e=s.nextSibling;e&&e!==i;e=s.nextSibling)e.remove()}const c=n.watch(r,(t=>{a(),function(t){l.innerHTML=t;for(let t=l.firstChild;t;t=s.firstChild)e.insertBefore(t,i)}(Ue(t))}));return()=>{c(),a(),s.remove(),i.remove()}}function De(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 Ve=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);function _e(e,t,n,r,o){const s=e.children;if(!s.length)return()=>{};const i=t.insertBefore(document.createComment(""),n);let l=null,a=()=>{};const c=ye((()=>s.find((([,e])=>!e||r.exec(e)))||null),(e=>{if(e===l)return;l=e,a(),a=()=>{};const t=e?.[0];t&&(a=o(t.children,t.vars,t.templates))}),!0);let u=!1;return()=>{u||(u=!0,c(),a(),a=()=>{},i.remove())}}function We(e,t,n,r,o,s,i,l,a){const c=e.bind,u=[...s,e.name],d=a?.(u);if(a&&!d)return()=>{};const{context:f,handler:h}=function(e,t,n,r){const o="string"==typeof e?e:e.tag,{attrs:s,events:i}="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),h=new Set,p=[],m=new je;return{context:{events:p,props:s?new Set(Object.entries(s).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=ye((()=>n.get()),(n=>{const o=r;r=n,t(n,o,e)}),!0);return h.add(o),()=>{h.delete(o),o()}},relate(e){if(!n||!r||l)return()=>{};try{const t=r(n,e);return"function"!=typeof t?()=>{}:(h.add(t),()=>{h.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(s&&!(e in s))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),s=i?i[r].filters:{};if(!s)return;const l={},a=ke(o,s,l);p.push([r,Te(t,n,a),l])},destroy(){if(!l){l=!0,a.set(!0);for(const e of h)e();m.emit("destroy")}},mount(){c||(c=!0,u.set(!0),m.emit("init",{events:p}))}}}}(d||e.name,r,r.getStore(c),l),p=d?.attrs,m=p?function(e,t,n,r,o){let s=new Set;for(const[i,l]of Object.entries(r)){if("class"===i||"style"===i)continue;if(i in n){const r=n[i],{name:o,calc:a,value:c}=n[i];if(!o&&!a){e.set(i,c);continue}l.immutable&&e.set(i,t.exec(r)),s.add(t.watch(r,(t=>e.set(i,t))));continue}const r=l.bind;if(!o||!r){e.set(i,l.default);continue}if("string"==typeof r){const n=t.bind(o,r,(t=>e.set(i,t)));n?s.add(n):e.set(i,l.default);continue}if(!Array.isArray(r)){e.set(i,l.default);continue}const[a,c,u]=r;if(!a||"function"!=typeof c)continue;if(!u){const n=!0===o?"":o;s.add(t.watch({name:n},(t=>e.set(i,t)))),e.addEvent(a,((...e)=>{t.all[n]=c(...e)}));continue}const d=t.bind(o,"state",(t=>e.set(i,t)));if(!d)continue;s.add(d);const f=t.bindSet(o,"state");f&&e.addEvent(a,((...e)=>{f(c(...e))}))}return()=>{const e=s;s=new Set;for(const t of e)t()}}(h,r,e.attrs,p,c):function(e,t,n){const r=e.tag;let o=new Set;for(const[s,i]of Object.entries(n)){if("class"===s||"style"===s)continue;const{name:n,calc:l,value:a}=i;if(n||l)if("string"!=typeof r||"input"!==r.toLocaleLowerCase()||"type"!==s.toLocaleLowerCase())o.add(t.watch(i,(t=>e.set(s,t))));else{const n=t.exec(i);e.set(s,n)}else e.set(s,a)}return()=>{const e=o;o=new Set;for(const t of e)t()}}(h,r,e.attrs);for(const[t,n]of Object.entries(e.events)){const e=r.getEvent(n);e&&h.addEvent(t,e)}const g=function(e,t,n){if(!n)return()=>{};let r=new Set;for(const[o,s]of Object.entries(t.bindAll(n)||{}))"function"==typeof s&&r.add(s((t=>e.set(o,t))));for(const[r,o]of Object.entries(t.bindEvents(n)||{}))e.addEvent(r,(e=>o(e)));return()=>{const e=r;r=new Set;for(const t of e)t()}}(h,r,c),b=d?"function"==typeof d.tag?d.tag(f):Re(f,d.tag,d.is):Re(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?Ke(e.children||[],y,null,r,o,s,i,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,s]of Object.entries(n))s.value?e.classList.add(r):o.add(ye((()=>Boolean(t.exec(s))),(t=>{t?e.classList.add(r):e.classList.remove(r)}),!0));return()=>{if(!o)return;const e=o;o=null;for(const t of e)t()}}(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,s]of Object.entries(n))o.add(ye((()=>$e(r,t.exec(s))),(t=>{t?e.style.setProperty(r,...t):e.style.removeProperty(r)}),!0));return()=>{if(!o)return;const e=o;o=null;for(const t of e)t()}}(v,r,e.styles,e.attrs.style);h.mount();const L=function(e,t,n,r,o,s){let i=new Set;for(const[l,{attrs:a,value:c,events:u,bind:d}]of Object.entries(t)){if(!Ve(r,l))continue;const f=r[l];if("function"!=typeof f)continue;let h=!1;const p=new M.State(!1),m=f?.events,g=[],b=Object.create(null),v=new Set,y=new je;function w(e,t){if("function"!=typeof t)return;const[r,...o]=e.split(".").filter(Boolean),s=m?m[r].filters:{};if(!s)return;const i={},l=ke(o,s,i);g.push([r,Te(n,t,l),i])}function E(){if(!h){h=!0,p.set(!0);for(const e of v)e();y.emit("destroy")}}i.add(E);for(const[L,C]of Object.entries(a)){const S=n.get(C);S&&Object.defineProperty(b,L,{...S,configurable:!0,enumerable:!0})}for(const[O,N]of Object.entries(u)){const A=n.getEvent(N);A&&w(O,A)}if(d){for(const[$,j]of Object.entries(n.getBindAll(d)||{}))Object.defineProperty(b,$,{...j,configurable:!0,enumerable:!0});for(const[k,T]of Object.entries(n.bindEvents(d)||{}))w(k,(e=>T(e)))}const x={get value(){return null},events:g,attrs:b,watch(e,t){if(h)return()=>{};let n=b[e];const r=ye((()=>b[e]),(r=>{const o=n;n=r,t(r,o,e)}),!0);return v.add(r),()=>{v.delete(r),r()}},get destroyed(){return p.get()},listen:(e,t)=>y.listen(e,t),root:o,slot:s,tag:e};if(c){const I=n.get(c);I&&Object.defineProperty(x,"value",{...I,configurable:!0,enumerable:!0})}f(x)}return()=>{const e=i;i=new Set;for(const t of e)t()}}(h.tag,e.enhancements,r,i,v,y);return()=>{L(),h.destroy(),v.remove(),m(),w(),g(),E(),x()}}function He(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 ze(e,t,n,r,o,s,i,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=He(c,o,e.templates);if("divergent"===e.type)return _e(e,t,n,c,((e,r,u)=>{const d=c.set(r),f=He(d,o,u);return Ke(e,t,n,d,f,s,i,l,a)}));if("value"===e.type){const r=c.child(e.name);return r?Ke(e.children,t,n,r,u,s,i,l,a):()=>{}}if("enum"===e.type){const r=c.enum(e.value),o=(n,r)=>Ke(e.children,t,n,r,u,s,i,l,a);return r instanceof Z?function(e,t,n,r,o){const s=e.insertBefore(document.createComment(""),t);let i=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=ye((()=>n.children),(function(t){if(!s.parentNode)return;let c=s.nextSibling;const u=i;i=new Map,a.set(t.length);for(let s of t){const t=u.get(s);if(!t){const t=e.insertBefore(document.createComment(""),c),l=e.insertBefore(document.createComment(""),c),u=o(l,r.setStore(s,n,{get count(){return a.get()},get key(){return s.index},get index(){return s.index},get item(){return s.value}}));i.set(s,[t,l,u]);continue}if(u.delete(s),i.set(s,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()=>{s.remove(),l(i),c()}}(t,n,r,c,o,e.sort):r instanceof X?function(e,t,n,r,o,s){const i=[],l=[...n],a=l.length,c=s?l.map((([e,t])=>[e,t,r.setStore(t,n).exec(s)])).sort((([,,e],[,,t])=>De(e,t))).map((([e,t],n)=>[e,t,n])):l.map((([e,t],n)=>[e,t,n]));for(const[e,s,l]of c)i.push(o(t,r.setStore(s,n,{get count(){return a},get key(){return e},get index(){return l},get item(){return s.value}})));return()=>{for(const e of i)e()}}(0,n,r,c,o,e.sort):"function"==typeof r?function(e,t,n,r,o,s){const i=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=s?new M.Computed((()=>{const e=i.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(s)])).sort((([,,e],[,,t])=>De(e,t))).map((([e,t],n)=>[t,n,e]))})):new M.Computed((()=>i.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=ye((()=>l.get()),(function(t){if(!a.parentNode)return;let n=a.nextSibling;const s=c;c=[],d.set(t.length);for(const[i,l,a]of t){const t=s.findIndex((e=>e[3]===a)),[u]=t>=0?s.splice(t,1):[];if(!u){const t=e.insertBefore(document.createComment(""),n),s=e.insertBefore(document.createComment(""),n),u=new M.State(i),f=new M.State(l),h=o(s,r.setObject({get count(){return d.get()},get key(){return a},get item(){return u.get()},get index(){return f.get()}}));c.push([t,s,h,a,u,f]);continue}if(c.push(u),u[4].set(i),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(s)}),!0);return()=>{a.remove(),u(c),f()}}(t,n,r,c,o,e.sort):()=>{}}if("content"===e.type)return qe(t,n,c,e.value,e.html);if("template"===e.type){const r=u[e.template];if(!r)return()=>{};const[d,f]=r,h=f.params(d.params,e.attrs,c,e.bind),p=He(h,o,d.templates);return Ke(d.children,t,n,h,p,s,i,l,a)}return"fragment"===e.type?Ke(e.children,t,n,c,u,s,i,l,a):We(e,t,n,c,u,s,i,l,a)}function Ke(e,t,n,r,o,s,i,l,a){const c=e.map((e=>ze(e,t,n,r,o,s,i,l,a)));let u=!1;return()=>{if(!u){u=!0;for(const e of c)e()}}}function Ye(e,t,n,{component:r,global:o,relate:s,enhancements:i}={}){return Ke(t,n,null,new Ne(e,o),Object.create(null),[],i||{},"function"==typeof s?s:null,r)}function Ge(e){return t=>(!t.type||"field"===t.type)&&t.field===e}function Qe(e,t,n,r,o,s,i){if(!r?.signal?.aborted){if(n instanceof Element){const l=n.tagName.toLowerCase();if(!n.parentNode)return;if("nl-form-field"===l){const d=n.getAttribute("name")||"",f=n.getAttribute("mode")||"",h=n.getAttribute("renderer")||"",p=r?.editable&&!n.hasAttribute("non-editable"),m=d?e.child(d):e;if(!m)return;let g=null;switch(f){case"grid":{const y=d?o?.fields?.find(Ge(d))||m.layout:{...o,html:""};g=ht(m,t,y,{...r,editable:p});break}default:g=t(m,h||o.renderer,{...r,editable:p})}if(!g){const w=n.getAttribute("placeholder")||"";return void n.replaceWith(document.createTextNode(w))}const b=n.getAttribute("class")||"";b&&g.setAttribute("class",[g.getAttribute("class")||"",b].filter(Boolean).join(" "));const v=n.getAttribute("style")||"";return v&&g.setAttribute("style",[g.getAttribute("style")||"",v].filter(Boolean).join(" ")),void n.replaceWith(g)}if("nl-form-button"===l){const E=document.createElement("button"),x=n.getAttribute("class")||"",L=n.getAttribute("style")||"";x&&E.setAttribute("class",x),L&&E.setAttribute("style",L),E.classList.add("NeeloongForm-item-button");const C=n.getAttribute("click")||"",S=r?.call;C&&"function"==typeof S&&E.addEventListener("click",(t=>S(C,t,e,r)));for(const O of[...n.childNodes])E.appendChild(O);return void n.replaceWith(E)}const a=n.getAttribute("nl-form-field");if(a){const N=a.endsWith("[]"),A=N?a.slice(0,a.length-2):a,$=A?e.child(A):e;if(!$)return;n.removeAttribute("nl-form-field");const j=A?o.fields?.find(Ge(A))||$.layout:{...o,html:""};if(!N)return void Qe($,t,n,r,j,s);if(!($ instanceof Z))return void n.remove();const M=n.parentElement;if(!M)return void n.remove();const k=M.insertBefore(document.createComment(""),n)||null;n.remove();let T=new Map;function I(e){for(const[t,n]of e.values())t instanceof Element&&t.remove(),n.abort()}let B=-1;const P=e=>{if(B<0)return;const t=e?Number(e.index):$.children.length;t<0||B<0||B===t||$.move(B,t)&&(B=t)};return ye((()=>$.children),(e=>{let o=k.nextSibling;const s=T;T=new Map;for(const i of e){const e=s.get(i);if(e)s.delete(i),T.set(i,e),o!==e[0]?M.insertBefore(e[0],o):o=o.nextSibling;else{const e=new AbortController,s=M.insertBefore(n.cloneNode(!0),o);Qe(i,t,s,{...r,signal:r?.signal?AbortSignal.any([r?.signal,e.signal]):e.signal},j,s),s.addEventListener("dragenter",(()=>{P(i)})),s.addEventListener("dragstart",(e=>{e.target===e.currentTarget&&(B=Number(i.index))})),s.addEventListener("dragend",(()=>{B=-1})),T.set(i,[s,e])}}I(s)}),!0,r?.signal),void r?.signal?.addEventListener("abort",(()=>{k.remove(),I(T)}),{once:!0})}if(null!==n.getAttribute("nl-form-remove")){const F=e.parent;F instanceof Z&&n.addEventListener("click",(()=>{F.remove(Number(e.index))}))}null!==n.getAttribute("nl-form-move")&&s instanceof HTMLElement&&n.addEventListener("pointerdown",(({pointerId:e})=>{s.draggable=!0;const t=n=>{n.pointerId===e&&(s.draggable=!1,window.removeEventListener("pointerup",t,{capture:!0}),window.removeEventListener("pointercancel",t,{capture:!0}))};window.addEventListener("pointerup",t,{capture:!0}),window.addEventListener("pointercancel",t,{capture:!0})}));const c=n.getAttribute("nl-form-add");if(c){const R=e.child(c);R instanceof Z&&n.addEventListener("click",(()=>{R.add({})}))}const u=r?.call;for(const U of[...n.getAttributeNames()]){const q=U.indexOf(":");if(q<0)continue;const D=U.slice(0,q).toLowerCase(),V=U.slice(q+1);if("nl-form-field"===D){const _=n.getAttribute(U),W=_?e.child(_):e;if(!W)continue;ve((()=>{try{n.setAttribute(V,W.value)}catch{}}),r?.signal)}else if("nl-form-event"===D&&"function"==typeof u){const H=n.getAttribute(U);if(!H)continue;try{n.addEventListener(V,(t=>u(H,t,e,r)))}catch{}}}}if(n instanceof Element||n instanceof DocumentFragment)for(const z of[...n.children])Qe(e,t,z,r,o,s)}}function Xe(e,t){if(!e)return document.createElement("template").content;if("string"!=typeof e)return e.cloneNode(!0);const n=document.createElement("template");return n.innerHTML=t?t(e):e,n.content}function Ze(e,t,n,r){if(r?.signal?.aborted)return null;const o=n.html;if(o){const s=Xe(o,r?.sanitizeHtml);return Qe(e,t,s,r,n),s}return t(e,n.renderer,r)}function Je(e,t,n,{columns:r,deletable:o,remove:s,dragenter:i,dragstart:l,dragend:a},c){const u=document.createElement("tbody");u.addEventListener("dragenter",(()=>{i()})),u.addEventListener("dragstart",(e=>{e.target===e.currentTarget&&l()})),u.addEventListener("dragend",a);const d=u.appendChild(document.createElement("tr"));let f=()=>{};const h=[];if(r.find((e=>e.actions?.includes("trigger")))){const o=ht(e,t,n,c);if(o){const e=u.appendChild(document.createElement("tr")),t=e.appendChild(document.createElement("td"));t.colSpan=r.length,t.appendChild(o),e.hidden=!0,f=()=>{if(e.hidden){e.hidden=!1;for(const e of h)e.classList.remove("NeeloongForm-table-line-open"),e.classList.add("NeeloongForm-table-line-close")}else{e.hidden=!0;for(const e of h)e.classList.remove("NeeloongForm-table-line-close"),e.classList.add("NeeloongForm-table-line-open")}}}}function p({pointerId:e}){function t(n){n.pointerId===e&&u&&(u.draggable=!1,window.removeEventListener("pointerup",t,{capture:!0}),window.removeEventListener("pointercancel",t,{capture:!0}))}u.draggable=!0,window.addEventListener("pointerup",t,{capture:!0}),window.addEventListener("pointercancel",t,{capture:!0})}for(const n of r){const{actions:r,field:i,pattern:l,editable:a}=n;if(!r?.length){const r=d.appendChild(document.createElement("td")),o=i&&e.child(i);if(o){const e=Ze(o,t,n,{...c,editable:c?.editable&&!1!==a});e&&r.appendChild(e)}continue}const u=d.appendChild(document.createElement("th"));u.classList.add("NeeloongForm-table-line-handle");for(const t of r)switch(t){case"trigger":{const e=u.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-table-line-open"),h.push(e),e.addEventListener("click",f);continue}case"move":{if(!c?.editable)continue;const t=u.appendChild(document.createElement("button"));t.classList.add("NeeloongForm-table-move"),t.addEventListener("pointerdown",p),ye((()=>e.readonly||e.disabled),(e=>{t.disabled=e}),!0,c.signal);continue}case"remove":{if(!c?.editable)continue;const e=u.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-table-remove"),e.addEventListener("click",s),ye((()=>!o.get()),(t=>{e.disabled=t}),!0,c.signal);continue}case"serial":u.appendChild(document.createElement("span")).classList.add("NeeloongForm-table-serial");continue}}return u}function et(e,t,n,r){const o=Object.entries(e.type||{}).filter((([e,t])=>"object"!=typeof t?.type)).map((([e,{width:t,label:n}])=>({field:e,width:t,label:n}))),s=t.columns;if(Array.isArray(s)){const e=new Map(o.map((e=>[e.field,e]))),t=s.map((t=>{if(!t)return null;if("number"==typeof t)return{placeholder:t};if("string"==typeof t)return e.get(t)||null;if("object"!=typeof t)return null;if(Array.isArray(t)){const e=new Set(n),r=t.filter((t=>e.delete(t)));return r?{actions:r}:null}const{action:r,actions:o,field:s,placeholder:i,pattern:l,width:a,label:c,editable:u}=t;if(s){const t=e.get(s);if(t)return{field:s,placeholder:i,width:a,label:c||t.label,editable:u}}const d=new Set(n),f=[r,o].flat().filter((e=>e&&d.delete(e)));return f.length?{actions:f,width:a,label:c,editable:u}:l?{pattern:l,placeholder:i,width:a,label:c,editable:u}:i||a?{placeholder:i,width:a,label:c,editable:u}:null})).filter(Boolean);if(t.length)return t}return r(o)}function tt(e,t,n,r,o,s){const i=t.appendChild(document.createElement("tr"));for(const{action:t,actions:l,width:a,label:c}of n){const n=i.appendChild(document.createElement("th"));if(a&&n.setAttribute("width",`${a}`),![t,l].flat().includes("add")){n.innerText=c||"";continue}if(!s)continue;const u=n.appendChild(document.createElement("button"));u.addEventListener("click",r),u.classList.add("NeeloongForm-table-add"),ye((()=>!o.get()),(e=>{u.disabled=e}),!0,e)}}function nt(e,t){const{colStart:n,colSpan:r,colEnd:o,rowStart:s,rowSpan:i,rowEnd:l}=t;e.classList.add("NeeloongForm-item-grid"),n&&o?e.style.gridColumn=`${n} / ${o}`:n&&r?e.style.gridColumn=`${n} / span ${r}`:r&&(e.style.gridColumn=`span ${r}`),s&&l?e.style.gridRow=`${s} / ${l}`:s&&i?e.style.gridRow=`${s} / span ${i}`:i&&(e.style.gridRow=`span ${i}`)}function rt(e,t){const n=document.createElement("div"),r=n.appendChild(document.createElement("div"));r.classList.add("NeeloongForm-item-label"),ve((()=>r.innerText=t?.label||""),e);const o=n.appendChild(document.createElement("div"));o.classList.add("NeeloongForm-item-content");const s=n.appendChild(document.createElement("div"));s.classList.add("NeeloongForm-item-description"),ve((()=>s.innerText=t?.description||""),e);const i=n.appendChild(document.createElement("div"));return i.classList.add("NeeloongForm-item-error"),ve((()=>i.innerText=t?.error||""),e),[n,o]}function ot(e,t,n,r,o){function s(r){if(!r)return null;if(!o)switch(r){case"inline":{const[r,o]=rt(e,n);return nt(r,t),[r,o]}case"base":{const e=document.createElement("div");return nt(e,t),[e,e]}}switch(r){case"block":return rt(e,n);case"fieldset":{const t=document.createElement("fieldset"),r=t.appendChild(document.createElement("legend"));return ve((()=>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 ve((()=>r.innerText=n?.label||""),e),[t,t]}}return null}const[i,l]=s(t.cell)||s(r)||rt(e,n);return i.classList.add("NeeloongForm-item"),ve((()=>{n?.error?i.classList.add("NeeloongForm-item-errored"):i.classList.remove("NeeloongForm-item-errored")}),e),ve((()=>{n?.required?i.classList.add("NeeloongForm-item-required"):i.classList.remove("NeeloongForm-item-required")}),e),[i,l]}function st(e,t,n,r,o,{columns:s,addable:i,deletable:l,remove:a,dragenter:c,dragstart:u,dragend:d,addNode:f,drop:h,createDetails:p},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"),ve((()=>{t.get()===e?g.classList.add("NeeloongForm-tree-current"):g.classList.remove("NeeloongForm-tree-current")}),m?.signal),ve((()=>{const e=o.get().level;g.style.setProperty("--NeeloongForm-tree-level",`${e}`)}),m?.signal),ve((()=>{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=p(e)}function x(){t.get()!==e?w=p(e):w()}const L="move"===r.mainMethod?v:null,C=L?null:"collapse"===r.mainMethod?y:"trigger"===r.mainMethod?x:E,S=g.appendChild(document.createElement("div"));S.classList.add("NeeloongForm-tree-line");const O=g.appendChild(document.createElement("div"));O.classList.add("NeeloongForm-tree-drop");const N=g.appendChild(document.createElement("div"));N.classList.add("NeeloongForm-tree-drop-children"),O.addEventListener("dragover",(e=>e.preventDefault())),N.addEventListener("dragover",(e=>e.preventDefault())),O.addEventListener("drop",(()=>h())),N.addEventListener("drop",(()=>h(!0))),ve((()=>{O.hidden=N.hidden=!o.get().droppable}),m?.signal);let A=()=>{};O.addEventListener("dragenter",(()=>A=c(O))),N.addEventListener("dragenter",(()=>A=c(N))),O.addEventListener("dragleave",(()=>A())),N.addEventListener("dragleave",(()=>A()));for(const t of s){const{actions:r,pattern:o,placeholder:s,width:c,field:u}=t;if(r?.length)for(const t of r)switch(t){case"trigger":{const e=S.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-trigger"),e.addEventListener("click",x);continue}case"open":{const e=S.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-open"),e.addEventListener("click",E);continue}case"collapse":{const e=S.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=S.appendChild(document.createElement("button"));t.classList.add("NeeloongForm-tree-move"),t.addEventListener("pointerdown",v),ye((()=>e.readonly||e.disabled),(e=>{t.disabled=e}),!0,m.signal);continue}case"add":{if(!m?.editable)continue;const e=S.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-add"),e.addEventListener("click",f),ye((()=>!i.get()),(t=>{e.disabled=t}),!0,m.signal);continue}case"remove":{if(!m?.editable)continue;const e=S.appendChild(document.createElement("button"));e.classList.add("NeeloongForm-tree-remove"),e.addEventListener("click",a),ye((()=>!l.get()),(t=>{e.disabled=t}),!0,m.signal);continue}case"serial":S.appendChild(document.createElement("span")).classList.add("NeeloongForm-tree-serial");continue}else{const r=S.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 s=Ze(o,n,t,{...m,editable:!1});s&&r.appendChild(s);continue}"number"==typeof s&&(r.style.flex=`${s}`),"number"==typeof c&&(r.style.width=`${c}px`)}}return ve((()=>{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 it=new Set(["vertical-lr","vertical-rl","sideways-lr","sideways-rl"]);function lt(e){const t=getComputedStyle(e),n=t.writingMode?.toLowerCase();return[it.has(n),"rtl"===t.direction.toLowerCase()!=("sideways-lr"===n)]}function at(e,t,n,r,o){const s=new M.Computed((()=>{const t=e.child(o);return t?Math.max(0,Math.floor(t.value?.[r])||0):0})),i=new M.Computed((()=>{if(!e.child(o))return-1;const n=s.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 i=s.get();return Math.floor(n.child(r)?.value)>i})),a=new M.Computed((()=>{if(n.get()===o)return!1;const e=i.get(),r=t[e];return!r||r.droppable})),c=new M.Computed((()=>{const e=i.get(),n=t[e];return n?n.level+1:0})),u=new M.State(!1),d=new M.Computed((()=>{const e=i.get(),n=t[e];return!!n&&(n.collapsed||n.hidden)})),f=new M.Computed((()=>{const e=i.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 s.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 ct(e,t,n,r){if(r?.signal?.aborted)return null;const o=et(e,n,["add","move","trigger","remove","serial","open","collapse"],(e=>[{actions:["collapse","move"]},e[0],{actions:["add","remove"]}])),s=document.createElement("div");s.classList.add("NeeloongForm-tree");const i=s.appendChild(document.createElement("div"));i.classList.add("NeeloongForm-tree-main");const l=s.appendChild(document.createElement("div"));l.classList.add("NeeloongForm-tree-splitter");const a=s.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),lt(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]=lt(l);let r=0;switch([t,n].map(((e,t)=>e?2**t:0)).reduce(((e,t)=>e+t))){case 0:r=e.clientX-s.getBoundingClientRect().left;break;case 1:r=e.clientY-s.getBoundingClientRect().top;break;case 2:r=s.getBoundingClientRect().right-e.clientX;break;case 3:r=s.getBoundingClientRect().bottom-e.clientY}const o=1-Math.max(0,Math.min((r+u)/(e=>e?s.clientHeight-l.offsetHeight:s.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 h=null;const p=new M.State(null);function m(e){if(r?.signal?.aborted)return()=>{};if(p.get()===e&&h){const e=h;return()=>{e.abort()}}h?.abort(),p.set(e);const o=new AbortController;h=o;const s=r?.signal?AbortSignal.any([r?.signal,o.signal]):o.signal,i=ht(e,t,n,{...r,signal:r?.signal?AbortSignal.any([r?.signal,s]):s});return s.addEventListener("abort",(()=>{p.set(null),d()}),{once:!0}),i&&(a.appendChild(i),a.hidden=!1,l.hidden=!1,s.addEventListener("abort",(()=>{i.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]=($[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($[Number(e.index)]?.levelValue)||0;return t?n+1:n}(t,n))||0;let o=function(e){let t=e+1;const n=$[w]?.level??0;for(;($[t]?.level??-1)>n;t++);return t-w}(w),s=-1;if(t){if(s=Number(t.index),w===s||$[s]?.parents?.has(w))return;if(n||s!==w+o){if(n){for(const e=$[s]?.level||0;$[s+1]?.level>e;s++);s<w&&(s+=1)}else s>w&&(s-=1);if(s<0)return}else s=-1}else if(s=$.length-1,s<0)return;if(s>=0&&w!==s){if(o=e.move(w,s,o),!o)return;w=o>1&&s>w?s-o+1:s,E.set(w)}const i=Array(o).fill($[w]?.level??0).map(((e,t)=>Math.max(($[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+i[t])}}function L(e){w=Number(e.index),E.set(w),i.classList.add("NeeloongForm-tree-moving")}let C=null;function S(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),i.classList.remove("NeeloongForm-tree-moving"),C?.classList.remove("NeeloongForm-tree-drag-over"),C=null}if(r?.editable){const e=i.appendChild(document.createElement("button"));e.addEventListener("click",(()=>v(-1))),e.classList.add("NeeloongForm-tree-head-add"),ye((()=>!b.get()),(t=>{e.disabled=t}),!0,r.signal)}const N=i.appendChild(document.createComment(""));if(r?.editable){const e=i.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=S(n))),n.addEventListener("dragleave",(()=>o())),n.addEventListener("drop",(()=>x())),ye((()=>!b.get()),(e=>{t.disabled=e}),!0,r.signal)}let A=new Map;const $=[];return ye((()=>e.children),(s=>{let l=N.nextSibling;const a=A;A=new Map;const c=s.length;for(let t=$.length;t<c;t++)$[t]=at(e,$,E,"level",t);let u=-1;for(let c of s){u++;const s=$[u],d=a.get(c);if(d)a.delete(c),A.set(c,d),d[2](s),l!==d[0]?i.insertBefore(d[0],l):l=l.nextSibling;else{const a=new M.State(s),u=new AbortController,d=st(c,p,t,n,a,{columns:o,addable:b,deletable:new M.Computed((()=>!e.readonly&&!e.disabled&&c.removable)),remove:y.bind(null,c),dragenter:S,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});i.insertBefore(d,l),A.set(c,[d,u,e=>a.set(e)])}}$.splice(c);for(const[e,t]of a.values())e.remove(),t.abort()}),!0,r?.signal),s}function ut(e,t,n,r,o){return"tree"===e?ct(t,n,r,o):function(e,t,n,r){if(r?.signal?.aborted)return null;const o=et(e,n,["add","move","trigger","remove","serial"],(e=>[{actions:["add","trigger","move","remove","serial"]},...e.slice(0,3)])),s=document.createElement("table");s.classList.add("NeeloongForm-table");const i=s.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 h(){u=-1}switch(tt(r?.signal,i,o,a,l,Boolean(r?.editable)),n.tableFoot){default:case"header":{const e=s.appendChild(document.createElement("tfoot"));e.addEventListener("dragenter",(()=>{d()})),tt(r?.signal,e,o,a,l,Boolean(r?.editable));break}case"add":{const e=s.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"),ye((()=>!l.get()),(e=>{n.disabled=e}),!0,r?.signal);break}case"none":}let p=new Map;return ye((()=>e.children),(l=>{let a=i.nextSibling;const u=p;p=new Map;for(let i of l){const l=u.get(i);if(l)u.delete(i),p.set(i,l),a!==l[0]?s.insertBefore(l[0],a):a=a.nextSibling;else{const l=new AbortController,u=Je(i,t,n,{columns:o,deletable:new M.Computed((()=>!e.readonly&&!e.disabled&&i.removable)),remove:c.bind(null,i),dragenter:d.bind(null,i),dragstart:f.bind(null,i),dragend:h},{...r,signal:r?.signal?AbortSignal.any([r?.signal,l.signal]):l.signal});s.insertBefore(u,a),p.set(i,[u,l])}}for(const[e,t]of u.values())e.remove(),t.abort()}),!0,r?.signal),s}(t,n,r,o)}function dt(e,t,n,r){const{type:o}=e,s=Boolean(o&&"object"==typeof o),i=n.html,l=s?e instanceof Z?"collapse":"fieldset":i?"base":"inline",[a,c]=ot(r?.signal,n,e,l,s);ve((()=>a.hidden=e.hidden),r?.signal);const u=i&&function(e,t,n,r,o){const s=Xe(e,r?.sanitizeHtml);return Qe(t,n,s,r,o),s}(i,e,t,r,n)||t(e,n.renderer,r)||e instanceof Z&&ut(n.arrayStyle,e,t,n,r)||s&&ht(e,t,n,r);return u&&c.appendChild(u),a}function ft(e,t,n,r){if("button"===n.type)return function(e,t,n){const[r,o]=ot(n?.signal,t,e),s=document.createElement("button");ve((()=>{const r=t.text,o="function"==typeof r?r(e,n):r;s.innerText=o??""}),n?.signal),ve((()=>{const r=t.disabled,o="function"==typeof r?r(e,n):r;s.disabled=Boolean(o)}),n?.signal),s.classList.add("NeeloongForm-item-button"),o.appendChild(s);const i=t.click;if("function"==typeof i)s.addEventListener("click",(t=>i(t,e,n)));else if(i&&"string"==typeof i){const t=n?.call;"function"==typeof t&&s.addEventListener("click",(r=>t(i,r,e,n)))}return r}(e,n,r);if("html"===n.type)return function(e,t,n,r){const o=n.html;if(!o)return null;const[s,i]=ot(r?.signal,n,e),l=Xe(o,r?.sanitizeHtml);return Qe(e,t,l,r,n),i.appendChild(l),s}(e,t,n,r);const o=n.field;if(!o)return null;const s=e.child(o);return s?dt(s,t,n,r):null}function ht(e,t,n,r,o){if(r?.signal?.aborted)return null;const s=o instanceof HTMLElement?o:document.createElement("div");s.classList.add("NeeloongForm");const i=n.fields||e.layout.fields;if(i?.length)for(const n of i){const o=ft(e,t,n,r);o&&s.appendChild(o)}else{const n=[...e].map((([,e])=>e));for(const e of n){const n=dt(e,t,e.layout,r);n&&s.appendChild(n)}}return s}function pt(e,t,n,r,o){if(o?.signal?.aborted)return;const s=r||e.layout,i=s.html;if(!i)return void ht(e,t,s,o||null,n);const l=Xe(i,o?.sanitizeHtml);Qe(e,t,l,o||null,s),n.appendChild(l),o?.signal?.addEventListener("abort",(()=>{n.removeChild(l)}),{once:!0})}export{Z as ArrayStore,be as Layout,X as ObjectStore,M as Signal,Q as Store,ve as effect,Ye as render,pt as renderStore,ye as watch};
|