@neeloong/form 0.4.1 → 0.4.2

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 CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @neeloong/form v0.4.1
2
+ * @neeloong/form v0.4.2
3
3
  * (c) 2024-2025 Fierflame
4
4
  * @license Apache-2.0
5
5
  */
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @neeloong/form v0.4.1
2
+ * @neeloong/form v0.4.2
3
3
  * (c) 2024-2025 Fierflame
4
4
  * @license Apache-2.0
5
5
  */
@@ -2669,7 +2669,7 @@
2669
2669
  * @param {string} name
2670
2670
  * @returns {Record<string, (value: any) => void> | void}
2671
2671
  */
2672
- bindStateAllSet(name) {
2672
+ bindEvents(name) {
2673
2673
  const item = this.#items[name];
2674
2674
  if (!item?.get) { return; }
2675
2675
  const { store } = item;
@@ -2677,26 +2677,10 @@
2677
2677
  const set = item.set;
2678
2678
  if (typeof set !== 'function') { return; }
2679
2679
  return { '$value': set }
2680
- }
2680
+ }
2681
2681
  return {
2682
2682
  '$value': v => {store.value = v; },
2683
2683
  '$state': v => {store.state = v; },
2684
- }
2685
- }
2686
- /**
2687
- * @param {string} name
2688
- * @returns {Record<string, (value: any) => void> | void}
2689
- */
2690
- bindEvents(name) {
2691
- const item = this.#items[name];
2692
- if (!item?.get) { return; }
2693
- const { store } = item;
2694
- if (!store) {
2695
- const set = item.set;
2696
- if (typeof set !== 'function') { return; }
2697
- return { '$value': set }
2698
- }
2699
- return {
2700
2684
  '$input': v => {store.emit('input', v); },
2701
2685
  '$change': v => {store.emit('change', v); },
2702
2686
  '$click': v => {store.emit('click', v); },
@@ -3103,9 +3087,8 @@
3103
3087
  * @param {Component.Handler} handler
3104
3088
  * @param {Environment} envs
3105
3089
  * @param {Record<string, string | {name: string} | Layout.Calc>} attrs
3106
- * @param {string | boolean | null} [bindValue]
3107
3090
  */
3108
- function bindBaseAttrs(handler, envs, attrs, bindValue) {
3091
+ function bindBaseAttrs(handler, envs, attrs) {
3109
3092
  const tag = handler.tag;
3110
3093
  let bk = new Set();
3111
3094
  for (const [name, attr] of Object.entries(attrs)) {
@@ -3121,16 +3104,6 @@
3121
3104
  }
3122
3105
  bk.add(envs.watch(attrSchema, val => handler.set(name, val)));
3123
3106
  }
3124
- if (bindValue && typeof bindValue !== 'boolean') {
3125
- for (const [key, effect] of Object.entries(envs.bindAll(bindValue) || {})) {
3126
- if (typeof effect !== 'function') { continue; }
3127
- bk.add(effect(val => handler.set(key, val)));
3128
- }
3129
- for (const [key, setter] of Object.entries(envs.bindStateAllSet(bindValue) || {})) {
3130
- if (typeof setter !== 'function') { continue; }
3131
- handler.addEvent(key, $event => setter($event));
3132
- }
3133
- }
3134
3107
 
3135
3108
  return ()=> {
3136
3109
  const list = bk;
@@ -4137,6 +4110,34 @@
4137
4110
  };
4138
4111
  }
4139
4112
 
4113
+ /** @import { Component } from '../types.mjs' */
4114
+
4115
+
4116
+ /**
4117
+ * @param {Component.Handler} handler
4118
+ * @param {Environment} env
4119
+ * @param {string | boolean | null} [bind]
4120
+ */
4121
+ function bindBase(handler, env, bind) {
4122
+ if (!bind || typeof bind === 'boolean') { return () => {}; }
4123
+ let bk = new Set();
4124
+ for (const [key, effect] of Object.entries(env.bindAll(bind) || {})) {
4125
+ if (typeof effect !== 'function') { continue; }
4126
+ bk.add(effect(val => handler.set(key, val)));
4127
+ }
4128
+ for (const [key, setter] of Object.entries(env.bindEvents(bind) || {})) {
4129
+ handler.addEvent(key, $event => setter($event));
4130
+ }
4131
+
4132
+ return ()=> {
4133
+ const list = bk;
4134
+ bk = new Set();
4135
+ for (const s of list) {
4136
+ s();
4137
+ }
4138
+ }
4139
+ }
4140
+
4140
4141
  /** @import Store from '../Store/index.mjs' */
4141
4142
 
4142
4143
  /**
@@ -4174,18 +4175,15 @@
4174
4175
  const componentAttrs = component?.attrs;
4175
4176
  const attrs = componentAttrs
4176
4177
  ? bindAttrs(handler, env, layout.attrs, componentAttrs, bind)
4177
- : bindBaseAttrs(handler, env, layout.attrs, bind);
4178
+ : bindBaseAttrs(handler, env, layout.attrs);
4178
4179
 
4179
4180
  for (const [name, event] of Object.entries(layout.events)) {
4180
4181
  const fn = env.getEvent(event);
4181
4182
  if (fn) { handler.addEvent(name, fn); }
4182
4183
  }
4183
4184
 
4184
- if (bind && typeof bind !== 'boolean') {
4185
- for (const [key, event] of Object.entries(env.bindEvents(bind) || {})) {
4186
- handler.addEvent(key, event);
4187
- }
4188
- }
4185
+ const base = bindBase(handler, env, bind);
4186
+
4189
4187
 
4190
4188
  const r = component ?
4191
4189
  typeof component.tag === 'function'
@@ -4212,6 +4210,7 @@
4212
4210
  handler.destroy();
4213
4211
  attrs();
4214
4212
  children();
4213
+ base();
4215
4214
  };
4216
4215
  }
4217
4216
  /**
package/index.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @neeloong/form v0.4.1
2
+ * @neeloong/form v0.4.2
3
3
  * (c) 2024-2025 Fierflame
4
4
  * @license Apache-2.0
5
5
  */
@@ -57,4 +57,4 @@ function(){throw new Error};function $(){return h(this),this.value}function T(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(N);t.value=e;const n=()=>(h(t),t.value);return n[u]=t,n}(r),a=l[u];if(this[k]=a,a.wrapper=this,o){const t=o.equals;t&&(a.equal=t),a.watched=o[e.subtle.watched],a.unwatched=o[e.subtle.unwatched]}}get(){if(!(0,e.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.get");return $.call(this[k])}set(t){if(!(0,e.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.set");if(a)throw new Error("Writes to signals not permitted during Watcher callback");T(this[k],t)}};c=k,p=new WeakSet,e.isComputed=e=>r(p,e),e.Computed=class{constructor(t,r){s(this,p),n(this,c);const o=function(e){const t=Object.create(A);t.computation=e;const n=()=>S(t);return n[u]=t,n}(t),i=o[u];if(i.consumerAllowSignalWrites=!0,this[k]=i,i.wrapper=this,r){const t=r.equals;t&&(i.equal=t),i.watched=r[e.subtle.watched],i.unwatched=r[e.subtle.unwatched]}}get(){if(!(0,e.isComputed)(this))throw new TypeError("Wrong receiver type for Signal.Computed.prototype.get");return S(this[k])}},(t=>{var i,a,c,u;t.untrack=function(e){let t,n=null;try{n=f(null),t=e()}finally{f(n)}return t},t.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[k].producerNode)?void 0:n.map((e=>e.wrapper)))??[]},t.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[k].liveConsumerNode)?void 0:n.map((e=>e.wrapper)))??[]},t.hasSinks=function(t){if(!(0,e.isComputed)(t)&&!(0,e.isState)(t))throw new TypeError("Called hasSinks without a Signal argument");const n=t[k].liveConsumerNode;return!!n&&n.length>0},t.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[k].producerNode;return!!n&&n.length>0};i=k,a=new WeakSet,c=new WeakSet,u=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=>r(a,e),t.Watcher=class{constructor(e){s(this,a),s(this,c),n(this,i);let t=Object.create(d);t.wrapper=this,t.consumerMarkedDirty=e,t.consumerIsAlwaysLive=!0,t.consumerAllowSignalWrites=!1,t.producerNode=[],this[k]=t}watch(...t){if(!(0,e.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");o(this,c,u).call(this,t);const n=this[k];n.dirty=!1;const r=f(n);for(const e of t)h(e[k]);f(r)}unwatch(...t){if(!(0,e.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");o(this,c,u).call(this,t);const n=this[k];w(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];x(r),r.liveConsumerIndexOfThis[t]=e}}}getPending(){if(!(0,e.isWatcher)(this))throw new TypeError("Called getPending without Watcher receiver");return this[k].producerNode.filter((e=>e.dirty)).map((e=>e.wrapper))}},t.currentComputed=function(){var e;return null==(e=l)?void 0:e.wrapper},t.watched=Symbol("watched"),t.unwatched=Symbol("unwatched")})(e.subtle||(e.subtle={}))})(e.Signal||(e.Signal={}));const M=(t,n,r,s)=>{const o=new e.Signal.State("boolean"==typeof n?n:null);let i;if("function"==typeof r)i=new e.Signal.Computed((()=>Boolean(r(t,t.root))));else{const t=Boolean(r);i=new e.Signal.Computed((()=>t))}const l=()=>{const e=o.get();return null===e?i.get():e},a=s?new e.Signal.Computed((()=>s.get()||l())):new e.Signal.Computed(l);return[o,a]},L=e=>"string"==typeof e&&e||null,I=e=>"number"==typeof e&&e||null,U=Boolean;function q(e){if("number"==typeof e||"string"==typeof e)return{label:e,value:e};if(!e||"object"!=typeof e)return null;const{children:t,label:n,value:r}=e,s=Array.isArray(t)?t.map(q).filter(U):[];return s.length?{children:s,label:n,value:r}:"number"==typeof r||"string"==typeof r?{label:n,value:r}:null}const P=e=>{if(!e||!Array.isArray(e))return null;const t=e.map(q).filter(U);return t.length?t:null};function B(t,n,r,s){const o=new e.Signal.State(n(r));let i;if("function"==typeof s){const r=s;i=new e.Signal.Computed((()=>n(r(t,t.root))))}else{const t=n(s);i=new e.Signal.Computed((()=>t))}const l=new e.Signal.Computed((()=>{const e=o.get();return null===e?i.get():e}));return[o,l]}class R{#e=new Map;emit(e,t){const n="number"==typeof e?String(e):e,r=this.#e;let s=!1;for(const e of[...r.get(n)||[]])s=!1===e(t,this)||s;return!s}listen(e,t){const n=t.bind(this),r=this.#e,s="number"==typeof e?String(e):e;let o=r.get(s);return o||(o=new Set,r.set(s,o)),o.add(n),()=>{o?.delete(n)}}static create(e,t={}){return new V({type:null,props:e},{...t,parent:null})}#t=!1;get null(){return this.#t}get kind(){return""}constructor(t,{null:n,state:r,setValue:s,setState:o,convert:i,onUpdate:l,onUpdateState:a,index:c,length:u,new:f,parent:d,hidden:h,clearable:p,required:g,disabled:m,readonly:y,label:b,description:v,placeholder:w,min:x,max:S,step:O,values:E}){this.schema=t,this.#n.set("object"==typeof r&&r||{});const C=d instanceof R?d:null;C&&(this.#r=C,this.#s=C.#s),this.#o=t.type,this.#i=t.meta,this.#l=t.component;const A=new e.Signal.State(Boolean(f));this.#a=A;const j=C?new e.Signal.Computed((()=>C.#c.get()||A.get())):new e.Signal.Computed((()=>A.get()));this.#c=j;const $=Boolean(t.immutable),T=!1!==t.creatable;this.#u=$,this.#f=T;const N=t.readonly,k=new e.Signal.State("boolean"==typeof y?y:null);let U;if("function"==typeof N)U=new e.Signal.Computed((()=>Boolean(N(this,this.root))));else{const t=Boolean(N);U=new e.Signal.Computed((()=>t))}const q=()=>{if(j.get()?!T:$)return!0;const e=k.get();return null===e?U.get():e},V=C?C.#d:null;if(this.#h=k,this.#d=V?new e.Signal.Computed((()=>V.get()||q())):new e.Signal.Computed(q),[this.#p,this.#g]=M(this,h,t.hidden,C?C.#g:null),[this.#m,this.#y]=M(this,p,t.clearable,C?C.#y:null),[this.#b,this.#v]=M(this,g,t.required,C?C.#v:null),[this.#w,this.#x]=M(this,m,t.disabled,C?C.#x:null),[this.#S,this.#O]=B(this,L,b,t.label),[this.#E,this.#C]=B(this,L,v,t.description),[this.#A,this.#j]=B(this,L,w,t.placeholder),[this.#$,this.#T]=B(this,I,x,t.min),[this.#N,this.#k]=B(this,I,S,t.max),[this.#M,this.#L]=B(this,I,O,t.step),[this.#I,this.#U]=B(this,P,E,t.values),n)this.#t=!0;else{this.#q=l||null,this.#P=a||null,this.#B="function"==typeof s?s:null,this.#R="function"==typeof o?o:null,this.#V="function"==typeof i?i:null,this.#D.set(u||0),this.#W.set(c??"");for(const[e,n]of Object.entries(t.events||{}))"function"==typeof n&&this.listen(e,n)}}#_=!1;#B=null;#R=null;#V=null;#q=null;#P=null;#r=null;#s=this;#o;#i;#l;get store(){return this}get parent(){return this.#r}get root(){return this.#s}get type(){return this.#o}get meta(){return this.#i}get component(){return this.#l}#D=new e.Signal.State(0);get length(){return this.#D.get()}set length(e){this.#D.set(e)}#W=new e.Signal.State("");get index(){return this.#W.get()}set index(e){this.#W.set(e)}get no(){if(this.#t)return"";const e=this.index;return"number"==typeof e?e+1:e}#f=!0;get creatable(){return this.#f}#u=!1;get immutable(){return this.#u}#c;#a;get selfNew(){return this.#a.get()}set selfNew(e){this.#a.set(Boolean(e))}get new(){return this.#c.get()}set new(e){this.#a.set(Boolean(e))}#p;#g;get selfHidden(){return this.#p.get()}set selfHidden(e){this.#p.set("boolean"==typeof e?e:null)}get hidden(){return this.#g.get()}set hidden(e){this.#p.set("boolean"==typeof e?e:null)}#m;#y;get selfClearable(){return this.#m.get()}set selfClearable(e){this.#m.set("boolean"==typeof e?e:null)}get clearable(){return this.#y.get()}set clearable(e){this.#m.set("boolean"==typeof e?e:null)}#b;#v;get selfRequired(){return this.#b.get()}set selfRequired(e){this.#b.set("boolean"==typeof e?e:null)}get required(){return this.#v.get()}set required(e){this.#b.set("boolean"==typeof e?e:null)}#w;#x;get selfDisabled(){return this.#w.get()}set selfDisabled(e){this.#w.set("boolean"==typeof e?e:null)}get disabled(){return this.#x.get()}set disabled(e){this.#w.set("boolean"==typeof e?e:null)}#h;#d;get selfReadonly(){return this.#h.get()}set selfReadonly(e){this.#h.set("boolean"==typeof e?e:null)}get readonly(){return this.#d.get()}set readonly(e){this.#h.set("boolean"==typeof e?e:null)}#S;#O;get selfLabel(){return this.#S.get()}set selfLabel(e){this.#S.set(L(e))}get label(){return this.#O.get()}set label(e){this.#S.set(L(e))}#E;#C;get selfDescription(){return this.#E.get()}set selfDescription(e){this.#E.set(L(e))}get description(){return this.#C.get()}set description(e){this.#E.set(L(e))}#A;#j;get selfPlaceholder(){return this.#A.get()}set selfPlaceholder(e){this.#A.set(L(e))}get placeholder(){return this.#j.get()}set placeholder(e){this.#A.set(L(e))}#$;#T;get selfMin(){return this.#$.get()}set selfMin(e){this.#$.set(I(e))}get min(){return this.#T.get()}set min(e){this.#$.set(I(e))}#N;#k;get selfMax(){return this.#N.get()}set selfMax(e){this.#N.set(I(e))}get max(){return this.#k.get()}set max(e){this.#N.set(I(e))}#M;#L;get selfStep(){return this.#M.get()}set selfStep(e){this.#M.set(I(e))}get step(){return this.#L.get()}set step(e){this.#M.set(I(e))}#I;#U;get selfValues(){return this.#I.get()}set selfValues(e){this.#I.set(P(e))}get values(){return this.#U.get()}set values(e){this.#I.set(P(e))}*[Symbol.iterator](){}child(e){return null}#K=!1;#H=null;#Y=this.#H;#z=new e.Signal.State(this.#H);#n=new e.Signal.State(null);#F=this.#n.get();get changed(){return this.#z.get()===this.#Y}get saved(){return this.#z.get()===this.#H}get value(){return this.#z.get()}set value(e){if(this.#_)return;const t=this.#B?.(e)||e;this.#z.set(t),this.#K||(this.#K=!0,this.#H=e),this.#q?.(this.#z.get(),this.#W.get()),this.#G()}get state(){return this.#n.get()}set state(e){if(this.#_)return;const t=this.#R?.(e)||e;this.#n.set(t),this.#K=!0,this.#P?.(this.#n.get(),this.#W.get()),this.#G()}#G(){this.#Q||(this.#Q=!0,queueMicrotask((()=>{const e=this.#z.get(),t=this.#n.get();return this.#Z(e,t)})))}#Q=!1;#X(e,t){if(this.#_)return e;const[n,r]=this.#V?.(e,t)||[e,t];return this.#z.get()===n&&this.#n.get()===r?[n,r]:(this.#z.set(n),this.#n.set(r),this.#K||(this.#K=!0,this.#H=n),this.#Z(n,r))}#Z(e,t){if(this.#_)return[e,t];if(this.#Q=!1,e&&"object"==typeof e){let n=Array.isArray(e)?[...e]:{...e},r=Array.isArray(e)?Array.isArray(t)?[...t]:[]:{...t},s=!1;for(const[o,i]of this){const l=e[o],a=t?.[o],[c,u]=i.#X(l,a);l!==c&&(n[o]=c,s=!0),a!==u&&(r[o]=u,s=!0)}s&&(e=n,t=r,this.#z.set(e),this.#n.set(r))}return this.#Y===e&&this.#F===t||(this.#Y=e,this.#F=t),[e,t]}get destroyed(){return this.#_}destroy(){if(!this.#_){this.#_=!0;for(const[,e]of this)e.destroy()}}}class V extends R{get kind(){return"object"}#J;*[Symbol.iterator](){yield*Object.entries(this.#J)}child(e){return this.#J[e]||null}constructor(e,{parent:t,index:n,new:r,onUpdate:s,onUpdateState:o}={}){super(e,{parent:t,index:n,new:r,onUpdate:s,onUpdateState:o,setValue:e=>"object"!=typeof e?{}:e,setState:e=>"object"!=typeof e?{}:e,convert:(e,t)=>["object"==typeof e?e:{},"object"==typeof t?t:{}]});const i=Object.create(null),l={parent:this,onUpdate:(e,t)=>{this.value={...this.value,[t]:e}},onUpdateState:(e,t)=>{this.state={...this.state,[t]:e}}};for(const[t,n]of Object.entries(e.props||{})){let e;e="string"==typeof n.type?n.array?new D(n,{...l,index:t}):new R(n,{...l,index:t}):n.array?new D(n,{...l,index:t}):new V(n,{...l,index:t}),i[t]=e}this.#J=i}}class D extends R{#ee=()=>{throw new Error};#J=new e.Signal.State([]);get children(){return[...this.#J.get()]}*[Symbol.iterator](){return yield*[...this.#J.get().entries()]}child(e){const t=this.#J.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,onUpdateState:r,index:s,new:o}={}){const i=e=>{if(this.destroyed)return;const t=Array.isArray(e)&&e.length||0,n=[...this.#J.get()],r=n.length;for(let e=n.length;e<t;e++)n.push(this.#ee(e));for(const e of n.splice(t))e.destroy();r!==t&&(this.length=n.length,this.#J.set(n))};super(e,{index:s,new:o,parent:t,state:[],setValue:e=>Array.isArray(e)?e:null==e?[]:[e],setState:e=>Array.isArray(e)?e:null==e?[]:[e],convert(e,t){const n=Array.isArray(e)?e:null==e?[]:[e];return i(n),[n,Array.isArray(t)?t:null==e?[]:[t]]},onUpdate:(e,t)=>{i(e),n?.(e,t)},onUpdateState:r});const l={parent:this,onUpdate:(e,t)=>{const n=[...this.value||[]];n.length<t&&(n.length=t),n[t]=e,this.value=n},onUpdateState:(e,t)=>{const n=[...this.state||[]];n.length<t&&(n.length=t),n[t]=e,this.state=n}};if("string"==typeof e.type)this.#ee=(t,n)=>{const r=new R(e,{...l,index:t,new:n});return r.index=t,r};else{if(Array.isArray(e.props))throw new Error;this.#ee=(t,n)=>{const r=new V(e,{...l,index:t,new:n});return r.index=t,r}}}insert(e,t,n){if(this.destroyed)return!1;const r=this.value;if(!Array.isArray(r))return!1;const s=[...this.#J.get()],o=Math.max(0,Math.min(Math.floor(e),s.length)),i=this.#ee(o,n);i.new=!0,s.splice(o,0,i);for(let t=e+1;t<s.length;t++)s[t].index=t;const l=[...r];l.splice(o,0,t);const a=this.state;if(Array.isArray(a)){const e=[...a];e.splice(o,0,{}),this.state=e}return this.value=l,this.length=s.length,this.#J.set(s),!0}add(e){return this.insert(this.#J.get().length,e)}remove(e){if(this.destroyed)return;const t=this.value;if(!Array.isArray(t))return;const n=[...this.#J.get()],r=Math.max(0,Math.min(Math.floor(e),n.length)),[s]=n.splice(r,1);if(!s)return;for(let t=e;t<n.length;t++)n[t].index=t;s.destroy();const o=[...t],[i]=o.splice(r,1),l=this.state;if(Array.isArray(l)){const e=[...this.state];e.splice(r,1),this.state=e}return this.value=o,this.length=n.length,this.#J.set(n),i}move(e,t){if(this.destroyed)return!1;const n=this.value;if(!Array.isArray(n))return!1;const r=[...this.#J.get()],[s]=r.splice(e,1);if(!s)return!1;r.splice(t,0,s);let o=Math.min(e,t),i=Math.max(e,t);for(let e=o;e<=i;e++)r[e].index=e;const l=[...n],[a]=l.splice(e,1);l.splice(t,0,a);const c=this.state;if(Array.isArray(c)){const n=[...c],[r={}]=n.splice(e,1);t<=n.length?n.splice(t,0,r):n[t]=r,this.state=n}return this.value=l,this.#J.set(r),!0}exchange(e,t){if(this.destroyed)return!1;const n=this.value;if(!Array.isArray(n))return!1;const r=[...this.#J.get()],s=r[e],o=r[t];if(!s||!o)return!1;r[t]=s,r[e]=o,s.index=t,o.index=e;const i=[...n],l=i[e],a=i[t];i[t]=l,i[e]=a;const c=this.state;if(Array.isArray(c)){const n=[...c],r=n[e],s=n[t];n[t]=r,n[e]=s,this.state=n}return this.value=i,this.#J.set(r),!0}}const W={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 _ extends Error{constructor(e,...t){const n=W[e];super("function"==typeof n?n(...t):n),this.code=e}}const K=/^(?<decorator>[:@!+*\.?]|style:|样式:)?(?<name>-?[\w\p{Unified_Ideograph}_][-\w\p{Unified_Ideograph}_:\d\.]*)$/u,H=/^(?<name>[a-zA-Z$\p{Unified_Ideograph}_][\da-zA-Z$\p{Unified_Ideograph}_]*)?$/u;function Y(e,t,n){const{attrs:r,directives:s,events:o,classes:i,styles:l,vars:a,aliases:c,params:u}=e;return function(e,f){const d=K.exec(e.replace(/./g,".").replace(/:/g,":").replace(/@/g,"@").replace(/+/g,"+").replace(/-/g,"-").replace(/[*×]/g,"*").replace(/!/g,"!"))?.groups;if(!d)throw new _("ATTR",e);const{name:h}=d,p=d.decorator?.toLowerCase();if(p){if(":"===p)r[h]=H.test(f)?{name:f}:t(f);else if("."===p)i[h]=!f||(H.test(f)?f:t(f));else if("style:"===p)l[h]=H.test(f)?f:t(f);else if("@"===p)o[h]=H.test(f)?f:n(f);else if("+"===p)a[h]=f?H.test(f)?f:t(f):"";else if("*"===p)c[h]=H.test(f)?f:t(f);else if("?"===p)u[h]=H.test(f)?f:t(f);else if("!"===p){const e=h.toString();switch(e){case"fragment":s.fragment=f||!0;break;case"else":s.else=!0;break;case"enum":s.enum=!f||(H.test(f)?f:t(f));break;case"if":case"text":case"html":s[e]=H.test(f)?f:t(f);break;case"template":s.template=f;break;case"bind":s.bind=f||!0;break;case"value":s.value=f;break;case"comment":s.comment=f}}}else r[h]=f}}function z(e,t){return{name:e,is:t,children:[],attrs:Object.create(null),events:Object.create(null),directives:Object.create(null),classes:Object.create(null),styles:Object.create(null),vars:Object.create(null),aliases:Object.create(null),params:Object.create(null)}}var F={lt:"<",gt:">",amp:"&",quot:'"',apos:"'",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",times:"×",divide:"÷",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",euro:"€",trade:"™",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"};const G=/^(?<name>[\w\p{Unified_Ideograph}_][-\.\|:|d\w\p{Unified_Ideograph}_:]*)(?:|(?<is>[\w\p{Unified_Ideograph}_][-\.\|:|d\w\p{Unified_Ideograph}_]*))?$/u;function Q(e){return"="!==e&&"/"!==e&&">"!==e&&e&&"'"!==e&&'"'!==e&&!function(e){return"0x80"===e||e<=" "}(e)}function Z(e,t,n,r){let s=r[n];return null==s&&(s=e.lastIndexOf("</"+n+">"),s<t&&(s=e.lastIndexOf("</"+n)),r[n]=s),s<t}function X(...e){console.error(new _(...e))}function J(e){const t=e.slice(1,-1);return"#"===t.charAt(0)?String.fromCodePoint(parseInt(t.substring(1).replace("x","0x"))):t in F?F[t]:(X("ENTITY",e),e)}function ee(e){return("<"==e?"&lt;":">"==e&&"&gt;")||"&"==e&&"&amp;"||'"'==e&&"&quot;"||"&#"+e.charCodeAt()+";"}function*te(e,t=0){const{attrs:n,events:r,directives:s,children:o,is:i,name:l,params:a,classes:c,styles:u,aliases:f,vars:d}=e,h=t>0?"".padEnd(t,"\t"):"";yield h,yield*["<",l||"-"],i&&(yield*["|",i]);for(const[e,t]of Object.entries(a)){if(null==t)continue;const n="function"==typeof t?String(t):t;yield*[" ?",e],n&&"string"==typeof n&&(yield*['="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(s)){if(!1===t||null==t)continue;const n="function"==typeof t?String(t):t;yield*[" !",e],n&&"string"==typeof n&&(yield*['="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(f)){if(null==t)continue;const n="function"==typeof t?String(t):t;yield*[" *",e],n&&"string"==typeof n&&(yield*['="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(d)){if(null==t)continue;const n="function"==typeof t?String(t):t;yield*[" +",e],n&&"string"==typeof n&&(yield*['="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(n)){if(null==t)continue;if("string"==typeof t){yield*[" ",e],t&&(yield*['="',t.replace(/[<&"]/g,ee),'"']);continue}const n="function"==typeof t?String(t):"object"==typeof t?t.name:t;n&&"string"==typeof n&&(yield*[" :",e,'="',n.replace(/[<&"]/g,ee)||"",'"'])}for(const[e,t]of Object.entries(r)){if(null==t)continue;const n="function"==typeof t?String(t):t;n&&"string"==typeof n&&(yield*[" @",e,'="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(c)){if(null==t||0==t)continue;const n="function"==typeof t?String(t):t;yield*[" .",e],n&&"string"==typeof n&&(yield*[" .",e,'="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(u)){if(null==t)continue;const n="function"==typeof t?String(t):t;n&&"string"==typeof n&&(yield*[" style:",e,'="',n.replace(/[<&"]/g,ee),'"'])}if(!o.length)return yield"/>",void(t>=0&&(yield"\n"));if(1===o.length){const[e]=o;if("string"==typeof e&&e.length<80&&!e.includes("\n"))return yield">",yield*[e.replace(/[<&\t]/g,ee).replace(/]]>/g,"]]&gt;")],yield*["</",l,">"],void(t>=0&&(yield"\n"))}yield">",t>=0&&(yield"\n"),yield*ne(o,t>=0?t+1:-1),yield*[h,"</",l,">"],t>=0&&(yield"\n")}function*ne(e,t=0){if(!e.length)return"";const n=t>0?"".padEnd(t,"\t"):"";for(const r of e)if("string"==typeof r){let e=r.replace(/[<&\t]/g,ee).replace(/]]>/g,"]]&gt;");n&&(e=e.replace(/(?<=^|\n)/g,n)),yield e,t>=0&&(yield"\n")}else yield*te(r,t)}var re=Object.freeze({__proto__:null,parse:function(e,{createCalc:t=()=>{throw new _("CALC")},createEvent:n=()=>{throw new _("EVENT")},simpleTag:r=new Set}={}){const s=[],o={children:s},i=[];let l=null,a=o;function c(){l=i.pop()||null,a=l||o}function u(e){(e=e.replace(/^\n|(?<=\n)\t+|\n\t*$/g,""))&&a.children.push(e)}let f={},d=0;function h(t){if(t<=d)return;u(e.substring(d,t).replace(/&#?\w+;/g,J)),d=t}for(;;){const p=e.indexOf("<",d);if(p<0){const E=e.substring(d);E.match(/^\s*$/)||u(E);break}if(p>d&&h(p),"/"===e.charAt(p+1)){d=e.indexOf(">",p+3);let C=e.substring(p+2,d);if(d<0?(C=e.substring(p+2).replace(/[\s<].*/,""),X("UNCOMPLETED",C,l?.name),d=p+1+C.length):C.match(/\s</)&&(C=C.replace(/[\s<].*/,""),X("UNCOMPLETED",C),d=p+1+C.length),l){const A=l.name;if(A===C)c();else{if(A.toLowerCase()!=C.toLowerCase())throw new _("CLOSE",C,l.name);c()}}d++;continue}function g(t){let n=d+1;if(d=e.indexOf(t,n),d<0)throw new _("QUOTE",t);const r=e.slice(n,d).replace(/&#?\w+;/g,J);return d++,r}function m(){let t=e.charAt(d);for(;t<=" "||"€"===t;t=e.charAt(++d));return t}function y(){let t=d,n=e.charAt(d);for(;Q(n);)d++,n=e.charAt(d);return e.slice(t,d)}d=p+1;let b=e.charAt(d);switch(b){case"=":throw new _("EQUAL");case'"':case"'":throw new _("ATTR_VALUE");case">":case"/":throw new _("SYMBOL",b);case"":throw new _("EOF")}const v=y(),w=G.exec(v)?.groups;if(!w)throw new _("TAG",v);i.push(l),l=z(w.name,w.is),a.children.push(l),a=l;const x=Y(l,t,n);let S=!0,O=!1;e:for(;S;){let j=m();switch(j){case"":X("EOF"),d++;break e;case">":d++;break e;case"/":O=!0;break e;case'"':case"'":throw new _("ATTR_VALUE");case"=":throw new _("SYMBOL",j)}const $=y();if(!$){X("EOF"),d++;break e}switch(j=m(),j){case"":X("EOF"),d++;break e;case">":x($,""),d++;break e;case"/":x($,""),O=!0;break e;case"=":d++;break;case"'":case'"':x($,g(j));continue;default:x($,"");continue}switch(j=m(),j){case"":x($,""),X("EOF"),d++;break e;case">":x($,""),d++;break e;case"/":x($,""),O=!0;break e;case"'":case'"':x($,g(j));continue}x($,y())}if(O){for(;;){d++;const T=e.charAt(d);if("/"!==T&&!(T<=" "||"€"===T))break}switch(e.charAt(d)){case"=":throw new _("EQUAL");case'"':case"'":throw new _("ATTR_VALUE");case"":X("EOF");break;case">":d++;break;default:throw new _("CLOSE_SYMBOL")}c()}else(r.has(v)||Z(e,d,v,f))&&c()}return s},stringify:function(e,t){const n=t?0:-1;return Array.isArray(e)?[...ne(e,n)].join(""):[te(e,n)].join()}});let se=!0;const oe=new e.Signal.subtle.Watcher((()=>{se&&(se=!1,queueMicrotask(ie))}));function ie(){se=!0;for(const e of oe.getPending())e.get();oe.watch()}function le(t,n){let r,s=!1;const o=new e.Signal.Computed((()=>{const e=t();s&&Object.is(e,r)||(r=e,s=!0,n(e))}));return oe.watch(o),o.get(),()=>{oe.unwatch(o)}}const ae=new Set(Object.keys({type:!0,meta:!0,component:!0,kind:!0,value:!0,state:!0,store:!0,parent:!0,root:!0,schema:!0,new:!0,readonly:!0,creatable:!0,immutable:!0,required:!0,clearable:!0,hidden:!0,disabled:!0,label:!0,description:!0,placeholder:!0,min:!0,max:!0,step:!0,values:!0,null:!0,index:!0,no:!0,length:!0}));function*ce(e,t="",n="$"){yield[`${t}`,{get:()=>e.value,set:t=>e.value=t,store:e}];for(const r of ae)yield[`${t}${n}${r}`,{get:()=>e[r]}];yield[`${t}${n}value`,{get:()=>e.value,set:t=>e.value=t}],yield[`${t}${n}state`,{get:()=>e.state,set:t=>e.state=t}],e instanceof D&&(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)}])}function ue(e,t,n){for(const[n,r]of t){for(const[t,s]of ce(r,n))e[t]=s;for(const[t,s]of ce(r,n,"$$"))e[t]=s}}function fe(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 de{exec(e){if("string"==typeof e){const t=this.#te[e];if("function"!=typeof t?.get)return;return t.get()}if("function"==typeof e)return e(this.getters)}watch(e,t){return le((()=>this.exec(e)),t)}enum(e){if(!e)return!0;if(!0===e)return this.store;if("function"==typeof e)return()=>e(this.getters);if("string"!=typeof e)return null;const t=this.#te[e];if("function"!=typeof t?.get)return null;const n=t.store;return n instanceof R?n:t.get}bind(e,t,n){const r=this.#te[e];if(!r?.get)return;const{store:s}=r;return s?ae.has(t)?le((()=>s[t]),n):void 0:"value"===t?le((()=>r.get()),n):void 0}bindAll(e){const t=this.#te[e];if(!t?.get)return;const{store:n}=t;if(!n){const e=t.get;if("function"!=typeof e)return;return{$value:t=>le(e,t)}}return Object.fromEntries([...ae].map((e=>[`$${e}`,t=>le((()=>n[e]),t)])))}bindSet(e,t){const n=this.#te[e];if(!n?.get)return;const{store:r}=n;if(r)switch(t){case"value":return e=>{r.value=e};case"state":return e=>{r.state=e}}}bindStateAllSet(e){const t=this.#te[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=>{n.state=e}}}bindEvents(e){const t=this.#te[e];if(!t?.get)return;const{store:n}=t;if(!n){const e=t.set;if("function"!=typeof e)return;return{$value:e}}return{$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)}}}getEvent(e){if("function"==typeof e)return e;const t=this.#te[e];if(!t)return null;const{exec:n,calc:r}=t;return"function"==typeof n?n:"function"==typeof r?r:null}constructor(e,t){if(this.store=e,t instanceof de){this.#ne=t.#ne;const e=this.#re;for(const[n,r]of Object.entries(t.#re))e[n]=r;const n=this.#se;for(const[e,r]of Object.entries(t.#se))n[e]=r}else ue(this.#re,e),this.#ne=function(e){const t=Object.create(null);if(!e||"object"!=typeof e)return t;for(const[n,r]of Object.entries(e)){if(!n||n.includes("$"))continue;if(!r||"object"!=typeof r)continue;if(r instanceof R){for(const[e,s]of ce(r,n))t[e]=s;continue}const{get:e,set:s,exec:o,calc:i}=r;"function"!=typeof e?"function"!=typeof i?"function"!=typeof o||(t[n]={exec:o}):t[n]={calc:i}:t[n]="function"==typeof s?{get:e,set:s}:{get:e}}return t}(t)}#ne;#re=Object.create(null);#se=Object.create(null);store;#oe=null;#r=null;#ie=null;get#te(){const e=this.#ie;if(e)return e;const t=Object.create(null,Object.getOwnPropertyDescriptors({...this.#re,...this.#ne,...this.#se})),n=this.store,r=this.#r,s=this.#oe;if(s)for(const e of Object.keys(s))t[`$${e}`]={get:()=>s[e]};else{for(const[e,r]of ce(n))t[e]=r;for(const[e,s]of function*(e,t,n="",r="$"){if(!(e instanceof D))return yield[`${n}${r}upMovable`,{get:()=>!1}],void(yield[`${n}${r}downMovable`,{get:()=>!1}]);yield[`${n}${r}upMovable`,{get:()=>{const e=t.index;return"number"==typeof e&&!(e<=0)}}],yield[`${n}${r}downMovable`,{get:()=>{const n=t.index;return"number"==typeof n&&!(n>=e.length-1)}}],yield[`${n}${r}remove`,{exec:()=>e.remove(Number(t.index))}],yield[`${n}${r}upMove`,{exec:()=>{const n=t.index;"number"==typeof n&&(n<=0||e.move(n,n-1))}}],yield[`${n}${r}downMove`,{exec:()=>{const n=t.index;"number"==typeof n&&(n>=e.length-1||e.move(n,n+1))}}]}(r,n))t[e]=s}return this.#ie=t,t}setStore(e,t){const n=new de(e,this);return t&&(n.#r=t),ue(n.#re,e),n}child(e){if(!e)return this;const t=this.store.child(e);if(!t)return null;const n=new de(t,this);return ue(n.#re,t),n}params({params:t},{attrs:n},r,s){let o=this.store;if(!0===s)o=r.store;else if(s){const e=r.#te[s],t=e?.get&&e.store;t&&(o=t)}if(0===Object.keys(t).length)return this;const i=new de(o,this);i.#r=this.#r,i.#oe=this.#oe;const l=i.#se,a=i.#te;for(const[s,o]of Object.entries(t)){const t=s in n?n[s]:null;if("string"!=typeof t){if(t&&"object"==typeof t){const e=r.#te[t.name];if(!e?.get)continue;if(!e.store){l[s]=a[s]=e;continue}for(const[t,n]of ce(e.store,s))l[t]=a[t]=n;continue}if("function"==typeof t){const n=new e.Signal.Computed((()=>t(r.getters)));l[s]=a[s]={get:()=>n.get()};continue}if("function"==typeof o){const t=i.getters;i.#le=null;const n=new e.Signal.Computed((()=>o(t)));l[s]=a[s]={get:()=>n.get()};continue}{const e=a[o];if(!e?.get)continue;if(!e.store){l[s]=a[s]=e;continue}for(const[t,n]of ce(e.store,s))l[t]=a[t]=n;continue}}l[s]=a[s]={get:()=>t}}return i}setObject(e){const t=new de(this.store,this);return t.#oe=e,t}set(t,n){if(Object.keys(t).length+Object.keys(n).length===0)return this;const r=new de(this.store,this);r.#r=this.#r,r.#oe=this.#oe;const s=r.#se,o=r.#te;for(const[n,i]of Object.entries(t)){if("function"==typeof i){const t=r.getters;r.#le=null;const l=new e.Signal.Computed((()=>i(t)));s[n]=o[n]={get:()=>l.get()};continue}const t=o[i];if(t)if(t.get&&t.store)for(const[e,r]of ce(t.store,n))s[e]=o[e]=r;else s[n]=o[n]=t}for(const[t,i]of Object.entries(n)){const n=new e.Signal.State(null);if("function"==typeof i){const e=r.settable;r.#ae=null,n.set(i(e))}else if(i&&"string"==typeof i){const e=o[i];if(!e?.get)continue;n.set(e.get())}s[t]=o[t]={get:()=>n.get(),set:e=>{n.set(e)}}}return r}#ce=null;get all(){const e=this.#ce;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#te))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 fe(this.store,t),this.#ce=t,t}#ae=null;get settable(){const e=this.#ae;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#te))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 fe(this.store,t),this.#ae=t,t}#le=null;get getters(){const e=this.#le;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#te))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 fe(this.store,t),this.#le=t,t}}const he={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 pe(e,t){let n=!!Array.isArray(t)&&Boolean(t[1]),r="";if("string"==typeof t)return r=t.replace(/!important\s*$/,""),r?(n=r!==t,[r,n?"important":void 0]):null;const s=Array.isArray(t)?t[0]:t;return"number"==typeof s||"bigint"==typeof s?r=s&&e in he?`${s}${he[e]}`:`${s}`:"string"==typeof s&&(r=s),r?[r,n?"important":void 0]:null}class ge{#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,s="number"==typeof e?String(e):e;let o=r.get(s);return o||(o=new Set,r.set(s,o)),o.add(n),()=>{o?.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 ye(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 ve(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 we={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 xe(e,t,n){const r=document.createElement(t,{is:n||void 0}),{watchAttr:s,props:o}=e;return e.listen("init",(({events:n})=>{const i=we[t.toLowerCase()],l=i?.attrs||{},a=i?.events||{};for(const[e,t,s]of n)if("$"!==e[0])r.addEventListener(e,t,s);else{const n=a[e];if(n){const[e,o]=n;r.addEventListener(e,(e=>t(o(e,r))),s)}}if(o)for(const[t,n]of Object.entries(e.tagAttrs))if(s(t,(e=>{if(o.has(t))r[t]=e;else{const n=ye(e);null==n?r.removeAttribute(t):r.setAttribute(t,n)}})),o.has(t))r[t]=n;else{const e=ye(n);null!==e&&r.setAttribute(t,e)}else for(const[t,n]of Object.entries(e.tagAttrs)){if(r instanceof HTMLInputElement&&"type"===t.toLocaleLowerCase()){const e=ye(n);null!==e&&r.setAttribute(t,e);continue}if("$hidden"===t){n&&(r.hidden=n),s(t,(e=>{r.hidden=e}));continue}if("$"===t[0]){const e=l[t];e&&(e(n,r),s(t,(t=>e(t,r))));continue}const e=ve(r,t);if("function"==typeof e){r[t]=e(n),s(t,(n=>{r[t]=e(n)}));continue}if(e){r[t]=n,s(t,(e=>{r[t]=e}));continue}let o=ye(n);null!==o&&r.setAttribute(t,o),s(t,(e=>{const n=ye(e);null===n?r.removeAttribute(t):r.setAttribute(t,n)}))}})),r}function Se(e){return null===(e??null)?"":String(e)}function Oe(e,t,n,{text:r,html:s}){if(null!=r){const s=e.insertBefore(document.createTextNode(""),t),o=n.watch(r,(e=>s.textContent=Se(e)));return()=>{s.remove(),o()}}if(null==s)return;const o=e.insertBefore(document.createComment(""),t),i=e.insertBefore(document.createComment(""),t),l=document.createElement("div");function a(){for(let e=o.nextSibling;e&&e!==i;e=o.nextSibling)e.remove()}const c=n.watch(s,(t=>{a(),function(t){l.innerHTML=t;for(let t=l.firstChild;t;t=o.firstChild)e.insertBefore(t,i)}(Se(t))}));return()=>{c(),a(),o.remove(),i.remove()}}function Ee(e,t,n,r,s,o){let i=new Set,l=[],a=Object.create(s);for(const t of e){if("string"==typeof t)continue;const e=t.directives.template;e&&(a[e]=[t,r])}function c(e){if(!e.length||!i)return;const s=t.insertBefore(document.createComment(""),n);let l=-1,c=()=>{};i.add((()=>{c(),c=()=>{},s.remove()})),i.add(le((()=>e.findIndex((([e])=>null===e||r.exec(e)))),(t=>{t!==l&&(l=t,c(),c=()=>{},function(t){const n=e[t]?.[1];n&&(c=o(n,a))}(l))})))}for(const r of e){if("string"==typeof r){c(l),l=[];const e=document.createTextNode(r);t.insertBefore(e,n),i.add((()=>e.remove()));continue}if(r.directives.template){c(l),l=[];continue}if(l.length&&r.directives.else){const e=r.directives.if||null;l.push([e,r]),e||(c(l),l=[]);continue}c(l),l=[];const e=r.directives.if;e?l.push([e,r]):i.add(o(r,a))}return()=>{if(!i)return;const e=i;i=null;for(const t of e)t()}}function Ce(e,t,n,r,s,o,i){r=r.set(e.aliases,e.vars);const l=e.directives.bind,a=e.directives.fragment;if(a&&"string"==typeof a){const c=s[a];if(!c)return()=>{};const[u,f]=c,d=f.params(u,e,r,l);return Ae(u,t,n,d,s,o,i)}if(!e.name||e.directives.fragment)return Oe(t,n,r,e.directives)||Ee(e.children||[],t,n,r,s,((e,s)=>Ae(e,t,n,r,s,o,i)));const c=[...o,e.name],u=i?.(c);if(i&&!u)return()=>{};const{context:f,handler:d}=function(e,t){const n="string"==typeof e?e:e.tag,{attrs:r,events:s}="string"!=typeof e&&e||{attrs:null,events:null};let o=!1,i=!1;const l=Object.create(null),a=[],c=new ge,u=new ge;return{context:{events:a,props:r?new Set(Object.entries(r).filter((([,e])=>e.isProp)).map((([e])=>e))):null,tagAttrs:l,watchAttr:(e,t)=>u.listen(e,t),get destroyed(){return o},get init(){return i},listen:(e,t)=>c.listen(e,t)},handler:{tag:n,set(e,t){if(r&&!(e in r))return;e in l||(l[e]=void 0);const n=l[e];n!==t&&(l[e]=t,u.emit(e,t,n,e))},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={},c=[];if(i)for(let e=o.shift();e;e=o.shift()){const t=e.indexOf(":"),n=t>=0?e.slice(0,t):e,r=t>=0?e.slice(t+1).split(":"):[],s=n.replace(/^-+/,""),o=(n.length-s.length)%2==1;let a=i[s]||s;switch(a){case"once":l.once=!o;break;case"passive":l.passive=!o;break;case"capture":l.capture=!o;break;default:"string"==typeof a&&(a=me[a])}"function"==typeof a&&c.push([a,r,o])}a.push([r,e=>{const r=t.all;for(const[t,n,s]of c)if(t(e,n,r)===s)return;n(e,r)},l])},destroy(){o||(o=!0,c.emit("destroy"))},init(){i||(i=!0,c.emit("init",{events:a}))}}}}(u||e.name,r),h=u?.attrs,p=h?function(e,t,n,r,s){let o=new Set;for(const[i,l]of Object.entries(r)){const r=n[i];if(i in n){if("function"!=typeof r&&"object"!=typeof r){e.set(i,r);continue}const n="function"==typeof r?r:r.name;if(l.immutable){e.set(i,t.exec(n));continue}o.add(t.watch(n,(t=>e.set(i,t))));continue}const a=l.bind;if(!s||!a||"boolean"==typeof s){e.set(i,l.default);continue}if("string"==typeof a){const n=t.bind(s,a,(t=>e.set(i,t)));n?o.add(n):e.set(i,l.default);continue}if(!Array.isArray(a)){e.set(i,l.default);continue}const[c,u,f]=a;if(!c||"function"!=typeof u)continue;if(!f){o.add(t.watch(s,(t=>e.set(i,t)))),e.addEvent(c,((...e)=>{t.all[s]=u(...e)}));continue}const d=t.bind(s,"state",(t=>e.set(i,t)));if(!d)continue;o.add(d);const h=t.bindSet(s,"state");h&&e.addEvent(c,((...e)=>{h(u(...e))}))}return()=>{const e=o;o=new Set;for(const t of e)t()}}(d,r,e.attrs,h,l):function(e,t,n,r){const s=e.tag;let o=new Set;for(const[r,i]of Object.entries(n)){if("function"!=typeof i&&"object"!=typeof i){e.set(r,i);continue}const n="function"==typeof i?i:i.name;if("string"!=typeof s||"input"!==s.toLocaleLowerCase()||"type"!==r.toLocaleLowerCase())o.add(t.watch(n,(t=>e.set(r,t))));else{const s=t.exec(n);e.set(r,s)}}if(r&&"boolean"!=typeof r){for(const[n,s]of Object.entries(t.bindAll(r)||{}))"function"==typeof s&&o.add(s((t=>e.set(n,t))));for(const[n,s]of Object.entries(t.bindStateAllSet(r)||{}))"function"==typeof s&&e.addEvent(n,(e=>s(e)))}return()=>{const e=o;o=new Set;for(const t of e)t()}}(d,r,e.attrs,l);for(const[t,n]of Object.entries(e.events)){const e=r.getEvent(n);e&&d.addEvent(t,e)}if(l&&"boolean"!=typeof l)for(const[e,t]of Object.entries(r.bindEvents(l)||{}))d.addEvent(e,t);const g=u?"function"==typeof u.tag?u.tag(f):xe(f,u.tag,u.is):xe(f,e.name,e.is),m=Array.isArray(g)?g[0]:g,y=Array.isArray(g)?g[1]:m;t.insertBefore(m,n);const b=y?Oe(y,null,r,e.directives)||Ee(e.children||[],y,null,r,s,((e,t)=>Ae(e,y,null,r,t,o,i))):()=>{};return function(e,t,n){if(!(e instanceof Element))return()=>{};let r=new Set;for(const[s,o]of Object.entries(t))o&&(!0!==o?r.add(le((()=>Boolean(n.exec(o))),(t=>{t?e.classList.add(s):e.classList.remove(s)}))):e.classList.add(s))}(m,e.classes,r),function(e,t,n){if(!(e instanceof HTMLElement||e instanceof SVGElement))return()=>{};let r=new Set;for(const[s,o]of Object.entries(t))r.add(le((()=>pe(s,n.exec(o))),(t=>{t?e.style.setProperty(s,...t):e.style.removeProperty(s)})))}(m,e.styles,r),d.init(),()=>{m.remove(),d.destroy(),p(),b()}}function Ae(t,n,r,s,o,i,l){const{directives:a}=t,c=s.child(a.value);if(!c)return()=>{};const u=c.enum(a.enum),f=(e,r)=>Ce(t,n,e,r,o,i,l);return!0===u?f(r,c):u instanceof D?function(e,t,n,r,s){const o=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=le((()=>n.children),(function(t){if(!o.parentNode)return;let a=o.nextSibling;const c=i;i=new Map;for(let o of t){const t=c.get(o);if(!t){const t=e.insertBefore(document.createComment(""),a),l=e.insertBefore(document.createComment(""),a),c=s(l,r.setStore(o,n));i.set(o,[t,l,c]);continue}if(c.delete(o),i.set(o,t),a===t[0]){a=t[1].nextSibling;continue}let l=t[0];for(;l&&l!==t[1];){const t=l;l=l.nextSibling,e.insertBefore(t,a)}e.insertBefore(t[1],a)}l(c)}));return()=>{o.remove(),l(i),a()}}(n,r,u,c,f):u instanceof V?function(e,t,n,r,s){const o=[];for(const[e,i]of[...n])o.push(s(t,r.setStore(i,n)));return()=>{for(const e of o)e()}}(0,r,u,c,f):"function"==typeof u?function(t,n,r,s,o){const i=new e.Signal.Computed((()=>{const e=r();if("number"==typeof e){const t=Math.floor(e);return t?Array(t).fill(0).map(((e,t)=>[t+1,t,t])):[]}return e&&"object"==typeof e?Array.isArray(e)?e.map(((e,t)=>[e,t,t])):Object.entries(e).map((([e,t],n)=>[t,n,e])):[]})),l=t.insertBefore(document.createComment(""),n);let a=[];function c(e){for(const[t,n,r]of e)r(),t.remove(),n.remove()}const u=le((()=>i.get()),(function(n){if(!l.parentNode)return;let r=l.nextSibling;const i=a;a=[];for(const[l,c,u]of n){const n=i.findIndex((e=>e[3]===u)),[f]=n>=0?i.splice(n,1):[];if(!f){const n=t.insertBefore(document.createComment(""),r),i=t.insertBefore(document.createComment(""),r),f=new e.Signal.State(l),d=new e.Signal.State(c),h=o(i,s.setObject({get key(){return u},get value(){return f.get()},get index(){return d.get()}}));a.push([n,i,h,u,f,d]);continue}if(a.push(f),f[4].set(l),f[5].set(c),r===f[0]){r=f[1].nextSibling;continue}let d=f[0];for(;d&&d!==f[1];){const e=d;d=d.nextSibling,t.insertBefore(e,r)}t.insertBefore(f[1],r)}c(i)}));return()=>{l.remove(),c(a),u()}}(n,r,u,c,f):()=>{}}e.Layout=re,e.Store=R,e.render=function(e,t,n,r,s){const o=[r,s],i=o.find((e=>"function"==typeof e)),l=o.find((e=>"object"==typeof e)),a=new de(e,l),c=Object.create(null);return Ee(t,n,null,a,c,((e,t)=>Ae(e,n,null,a,t,[],i)))}}));
60
+ function(e){const t=Object.create(N);t.value=e;const n=()=>(h(t),t.value);return n[u]=t,n}(r),a=l[u];if(this[k]=a,a.wrapper=this,o){const t=o.equals;t&&(a.equal=t),a.watched=o[e.subtle.watched],a.unwatched=o[e.subtle.unwatched]}}get(){if(!(0,e.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.get");return $.call(this[k])}set(t){if(!(0,e.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.set");if(a)throw new Error("Writes to signals not permitted during Watcher callback");T(this[k],t)}};c=k,p=new WeakSet,e.isComputed=e=>r(p,e),e.Computed=class{constructor(t,r){s(this,p),n(this,c);const o=function(e){const t=Object.create(A);t.computation=e;const n=()=>S(t);return n[u]=t,n}(t),i=o[u];if(i.consumerAllowSignalWrites=!0,this[k]=i,i.wrapper=this,r){const t=r.equals;t&&(i.equal=t),i.watched=r[e.subtle.watched],i.unwatched=r[e.subtle.unwatched]}}get(){if(!(0,e.isComputed)(this))throw new TypeError("Wrong receiver type for Signal.Computed.prototype.get");return S(this[k])}},(t=>{var i,a,c,u;t.untrack=function(e){let t,n=null;try{n=f(null),t=e()}finally{f(n)}return t},t.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[k].producerNode)?void 0:n.map((e=>e.wrapper)))??[]},t.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[k].liveConsumerNode)?void 0:n.map((e=>e.wrapper)))??[]},t.hasSinks=function(t){if(!(0,e.isComputed)(t)&&!(0,e.isState)(t))throw new TypeError("Called hasSinks without a Signal argument");const n=t[k].liveConsumerNode;return!!n&&n.length>0},t.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[k].producerNode;return!!n&&n.length>0};i=k,a=new WeakSet,c=new WeakSet,u=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=>r(a,e),t.Watcher=class{constructor(e){s(this,a),s(this,c),n(this,i);let t=Object.create(d);t.wrapper=this,t.consumerMarkedDirty=e,t.consumerIsAlwaysLive=!0,t.consumerAllowSignalWrites=!1,t.producerNode=[],this[k]=t}watch(...t){if(!(0,e.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");o(this,c,u).call(this,t);const n=this[k];n.dirty=!1;const r=f(n);for(const e of t)h(e[k]);f(r)}unwatch(...t){if(!(0,e.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");o(this,c,u).call(this,t);const n=this[k];w(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];x(r),r.liveConsumerIndexOfThis[t]=e}}}getPending(){if(!(0,e.isWatcher)(this))throw new TypeError("Called getPending without Watcher receiver");return this[k].producerNode.filter((e=>e.dirty)).map((e=>e.wrapper))}},t.currentComputed=function(){var e;return null==(e=l)?void 0:e.wrapper},t.watched=Symbol("watched"),t.unwatched=Symbol("unwatched")})(e.subtle||(e.subtle={}))})(e.Signal||(e.Signal={}));const M=(t,n,r,s)=>{const o=new e.Signal.State("boolean"==typeof n?n:null);let i;if("function"==typeof r)i=new e.Signal.Computed((()=>Boolean(r(t,t.root))));else{const t=Boolean(r);i=new e.Signal.Computed((()=>t))}const l=()=>{const e=o.get();return null===e?i.get():e},a=s?new e.Signal.Computed((()=>s.get()||l())):new e.Signal.Computed(l);return[o,a]},L=e=>"string"==typeof e&&e||null,I=e=>"number"==typeof e&&e||null,U=Boolean;function q(e){if("number"==typeof e||"string"==typeof e)return{label:e,value:e};if(!e||"object"!=typeof e)return null;const{children:t,label:n,value:r}=e,s=Array.isArray(t)?t.map(q).filter(U):[];return s.length?{children:s,label:n,value:r}:"number"==typeof r||"string"==typeof r?{label:n,value:r}:null}const P=e=>{if(!e||!Array.isArray(e))return null;const t=e.map(q).filter(U);return t.length?t:null};function B(t,n,r,s){const o=new e.Signal.State(n(r));let i;if("function"==typeof s){const r=s;i=new e.Signal.Computed((()=>n(r(t,t.root))))}else{const t=n(s);i=new e.Signal.Computed((()=>t))}const l=new e.Signal.Computed((()=>{const e=o.get();return null===e?i.get():e}));return[o,l]}class R{#e=new Map;emit(e,t){const n="number"==typeof e?String(e):e,r=this.#e;let s=!1;for(const e of[...r.get(n)||[]])s=!1===e(t,this)||s;return!s}listen(e,t){const n=t.bind(this),r=this.#e,s="number"==typeof e?String(e):e;let o=r.get(s);return o||(o=new Set,r.set(s,o)),o.add(n),()=>{o?.delete(n)}}static create(e,t={}){return new V({type:null,props:e},{...t,parent:null})}#t=!1;get null(){return this.#t}get kind(){return""}constructor(t,{null:n,state:r,setValue:s,setState:o,convert:i,onUpdate:l,onUpdateState:a,index:c,length:u,new:f,parent:d,hidden:h,clearable:p,required:g,disabled:m,readonly:y,label:b,description:v,placeholder:w,min:x,max:S,step:O,values:E}){this.schema=t,this.#n.set("object"==typeof r&&r||{});const C=d instanceof R?d:null;C&&(this.#r=C,this.#s=C.#s),this.#o=t.type,this.#i=t.meta,this.#l=t.component;const A=new e.Signal.State(Boolean(f));this.#a=A;const j=C?new e.Signal.Computed((()=>C.#c.get()||A.get())):new e.Signal.Computed((()=>A.get()));this.#c=j;const $=Boolean(t.immutable),T=!1!==t.creatable;this.#u=$,this.#f=T;const N=t.readonly,k=new e.Signal.State("boolean"==typeof y?y:null);let U;if("function"==typeof N)U=new e.Signal.Computed((()=>Boolean(N(this,this.root))));else{const t=Boolean(N);U=new e.Signal.Computed((()=>t))}const q=()=>{if(j.get()?!T:$)return!0;const e=k.get();return null===e?U.get():e},V=C?C.#d:null;if(this.#h=k,this.#d=V?new e.Signal.Computed((()=>V.get()||q())):new e.Signal.Computed(q),[this.#p,this.#g]=M(this,h,t.hidden,C?C.#g:null),[this.#m,this.#y]=M(this,p,t.clearable,C?C.#y:null),[this.#b,this.#v]=M(this,g,t.required,C?C.#v:null),[this.#w,this.#x]=M(this,m,t.disabled,C?C.#x:null),[this.#S,this.#O]=B(this,L,b,t.label),[this.#E,this.#C]=B(this,L,v,t.description),[this.#A,this.#j]=B(this,L,w,t.placeholder),[this.#$,this.#T]=B(this,I,x,t.min),[this.#N,this.#k]=B(this,I,S,t.max),[this.#M,this.#L]=B(this,I,O,t.step),[this.#I,this.#U]=B(this,P,E,t.values),n)this.#t=!0;else{this.#q=l||null,this.#P=a||null,this.#B="function"==typeof s?s:null,this.#R="function"==typeof o?o:null,this.#V="function"==typeof i?i:null,this.#D.set(u||0),this.#W.set(c??"");for(const[e,n]of Object.entries(t.events||{}))"function"==typeof n&&this.listen(e,n)}}#_=!1;#B=null;#R=null;#V=null;#q=null;#P=null;#r=null;#s=this;#o;#i;#l;get store(){return this}get parent(){return this.#r}get root(){return this.#s}get type(){return this.#o}get meta(){return this.#i}get component(){return this.#l}#D=new e.Signal.State(0);get length(){return this.#D.get()}set length(e){this.#D.set(e)}#W=new e.Signal.State("");get index(){return this.#W.get()}set index(e){this.#W.set(e)}get no(){if(this.#t)return"";const e=this.index;return"number"==typeof e?e+1:e}#f=!0;get creatable(){return this.#f}#u=!1;get immutable(){return this.#u}#c;#a;get selfNew(){return this.#a.get()}set selfNew(e){this.#a.set(Boolean(e))}get new(){return this.#c.get()}set new(e){this.#a.set(Boolean(e))}#p;#g;get selfHidden(){return this.#p.get()}set selfHidden(e){this.#p.set("boolean"==typeof e?e:null)}get hidden(){return this.#g.get()}set hidden(e){this.#p.set("boolean"==typeof e?e:null)}#m;#y;get selfClearable(){return this.#m.get()}set selfClearable(e){this.#m.set("boolean"==typeof e?e:null)}get clearable(){return this.#y.get()}set clearable(e){this.#m.set("boolean"==typeof e?e:null)}#b;#v;get selfRequired(){return this.#b.get()}set selfRequired(e){this.#b.set("boolean"==typeof e?e:null)}get required(){return this.#v.get()}set required(e){this.#b.set("boolean"==typeof e?e:null)}#w;#x;get selfDisabled(){return this.#w.get()}set selfDisabled(e){this.#w.set("boolean"==typeof e?e:null)}get disabled(){return this.#x.get()}set disabled(e){this.#w.set("boolean"==typeof e?e:null)}#h;#d;get selfReadonly(){return this.#h.get()}set selfReadonly(e){this.#h.set("boolean"==typeof e?e:null)}get readonly(){return this.#d.get()}set readonly(e){this.#h.set("boolean"==typeof e?e:null)}#S;#O;get selfLabel(){return this.#S.get()}set selfLabel(e){this.#S.set(L(e))}get label(){return this.#O.get()}set label(e){this.#S.set(L(e))}#E;#C;get selfDescription(){return this.#E.get()}set selfDescription(e){this.#E.set(L(e))}get description(){return this.#C.get()}set description(e){this.#E.set(L(e))}#A;#j;get selfPlaceholder(){return this.#A.get()}set selfPlaceholder(e){this.#A.set(L(e))}get placeholder(){return this.#j.get()}set placeholder(e){this.#A.set(L(e))}#$;#T;get selfMin(){return this.#$.get()}set selfMin(e){this.#$.set(I(e))}get min(){return this.#T.get()}set min(e){this.#$.set(I(e))}#N;#k;get selfMax(){return this.#N.get()}set selfMax(e){this.#N.set(I(e))}get max(){return this.#k.get()}set max(e){this.#N.set(I(e))}#M;#L;get selfStep(){return this.#M.get()}set selfStep(e){this.#M.set(I(e))}get step(){return this.#L.get()}set step(e){this.#M.set(I(e))}#I;#U;get selfValues(){return this.#I.get()}set selfValues(e){this.#I.set(P(e))}get values(){return this.#U.get()}set values(e){this.#I.set(P(e))}*[Symbol.iterator](){}child(e){return null}#K=!1;#H=null;#Y=this.#H;#z=new e.Signal.State(this.#H);#n=new e.Signal.State(null);#F=this.#n.get();get changed(){return this.#z.get()===this.#Y}get saved(){return this.#z.get()===this.#H}get value(){return this.#z.get()}set value(e){if(this.#_)return;const t=this.#B?.(e)||e;this.#z.set(t),this.#K||(this.#K=!0,this.#H=e),this.#q?.(this.#z.get(),this.#W.get()),this.#G()}get state(){return this.#n.get()}set state(e){if(this.#_)return;const t=this.#R?.(e)||e;this.#n.set(t),this.#K=!0,this.#P?.(this.#n.get(),this.#W.get()),this.#G()}#G(){this.#Q||(this.#Q=!0,queueMicrotask((()=>{const e=this.#z.get(),t=this.#n.get();return this.#Z(e,t)})))}#Q=!1;#X(e,t){if(this.#_)return e;const[n,r]=this.#V?.(e,t)||[e,t];return this.#z.get()===n&&this.#n.get()===r?[n,r]:(this.#z.set(n),this.#n.set(r),this.#K||(this.#K=!0,this.#H=n),this.#Z(n,r))}#Z(e,t){if(this.#_)return[e,t];if(this.#Q=!1,e&&"object"==typeof e){let n=Array.isArray(e)?[...e]:{...e},r=Array.isArray(e)?Array.isArray(t)?[...t]:[]:{...t},s=!1;for(const[o,i]of this){const l=e[o],a=t?.[o],[c,u]=i.#X(l,a);l!==c&&(n[o]=c,s=!0),a!==u&&(r[o]=u,s=!0)}s&&(e=n,t=r,this.#z.set(e),this.#n.set(r))}return this.#Y===e&&this.#F===t||(this.#Y=e,this.#F=t),[e,t]}get destroyed(){return this.#_}destroy(){if(!this.#_){this.#_=!0;for(const[,e]of this)e.destroy()}}}class V extends R{get kind(){return"object"}#J;*[Symbol.iterator](){yield*Object.entries(this.#J)}child(e){return this.#J[e]||null}constructor(e,{parent:t,index:n,new:r,onUpdate:s,onUpdateState:o}={}){super(e,{parent:t,index:n,new:r,onUpdate:s,onUpdateState:o,setValue:e=>"object"!=typeof e?{}:e,setState:e=>"object"!=typeof e?{}:e,convert:(e,t)=>["object"==typeof e?e:{},"object"==typeof t?t:{}]});const i=Object.create(null),l={parent:this,onUpdate:(e,t)=>{this.value={...this.value,[t]:e}},onUpdateState:(e,t)=>{this.state={...this.state,[t]:e}}};for(const[t,n]of Object.entries(e.props||{})){let e;e="string"==typeof n.type?n.array?new D(n,{...l,index:t}):new R(n,{...l,index:t}):n.array?new D(n,{...l,index:t}):new V(n,{...l,index:t}),i[t]=e}this.#J=i}}class D extends R{#ee=()=>{throw new Error};#J=new e.Signal.State([]);get children(){return[...this.#J.get()]}*[Symbol.iterator](){return yield*[...this.#J.get().entries()]}child(e){const t=this.#J.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,onUpdateState:r,index:s,new:o}={}){const i=e=>{if(this.destroyed)return;const t=Array.isArray(e)&&e.length||0,n=[...this.#J.get()],r=n.length;for(let e=n.length;e<t;e++)n.push(this.#ee(e));for(const e of n.splice(t))e.destroy();r!==t&&(this.length=n.length,this.#J.set(n))};super(e,{index:s,new:o,parent:t,state:[],setValue:e=>Array.isArray(e)?e:null==e?[]:[e],setState:e=>Array.isArray(e)?e:null==e?[]:[e],convert(e,t){const n=Array.isArray(e)?e:null==e?[]:[e];return i(n),[n,Array.isArray(t)?t:null==e?[]:[t]]},onUpdate:(e,t)=>{i(e),n?.(e,t)},onUpdateState:r});const l={parent:this,onUpdate:(e,t)=>{const n=[...this.value||[]];n.length<t&&(n.length=t),n[t]=e,this.value=n},onUpdateState:(e,t)=>{const n=[...this.state||[]];n.length<t&&(n.length=t),n[t]=e,this.state=n}};if("string"==typeof e.type)this.#ee=(t,n)=>{const r=new R(e,{...l,index:t,new:n});return r.index=t,r};else{if(Array.isArray(e.props))throw new Error;this.#ee=(t,n)=>{const r=new V(e,{...l,index:t,new:n});return r.index=t,r}}}insert(e,t,n){if(this.destroyed)return!1;const r=this.value;if(!Array.isArray(r))return!1;const s=[...this.#J.get()],o=Math.max(0,Math.min(Math.floor(e),s.length)),i=this.#ee(o,n);i.new=!0,s.splice(o,0,i);for(let t=e+1;t<s.length;t++)s[t].index=t;const l=[...r];l.splice(o,0,t);const a=this.state;if(Array.isArray(a)){const e=[...a];e.splice(o,0,{}),this.state=e}return this.value=l,this.length=s.length,this.#J.set(s),!0}add(e){return this.insert(this.#J.get().length,e)}remove(e){if(this.destroyed)return;const t=this.value;if(!Array.isArray(t))return;const n=[...this.#J.get()],r=Math.max(0,Math.min(Math.floor(e),n.length)),[s]=n.splice(r,1);if(!s)return;for(let t=e;t<n.length;t++)n[t].index=t;s.destroy();const o=[...t],[i]=o.splice(r,1),l=this.state;if(Array.isArray(l)){const e=[...this.state];e.splice(r,1),this.state=e}return this.value=o,this.length=n.length,this.#J.set(n),i}move(e,t){if(this.destroyed)return!1;const n=this.value;if(!Array.isArray(n))return!1;const r=[...this.#J.get()],[s]=r.splice(e,1);if(!s)return!1;r.splice(t,0,s);let o=Math.min(e,t),i=Math.max(e,t);for(let e=o;e<=i;e++)r[e].index=e;const l=[...n],[a]=l.splice(e,1);l.splice(t,0,a);const c=this.state;if(Array.isArray(c)){const n=[...c],[r={}]=n.splice(e,1);t<=n.length?n.splice(t,0,r):n[t]=r,this.state=n}return this.value=l,this.#J.set(r),!0}exchange(e,t){if(this.destroyed)return!1;const n=this.value;if(!Array.isArray(n))return!1;const r=[...this.#J.get()],s=r[e],o=r[t];if(!s||!o)return!1;r[t]=s,r[e]=o,s.index=t,o.index=e;const i=[...n],l=i[e],a=i[t];i[t]=l,i[e]=a;const c=this.state;if(Array.isArray(c)){const n=[...c],r=n[e],s=n[t];n[t]=r,n[e]=s,this.state=n}return this.value=i,this.#J.set(r),!0}}const W={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 _ extends Error{constructor(e,...t){const n=W[e];super("function"==typeof n?n(...t):n),this.code=e}}const K=/^(?<decorator>[:@!+*\.?]|style:|样式:)?(?<name>-?[\w\p{Unified_Ideograph}_][-\w\p{Unified_Ideograph}_:\d\.]*)$/u,H=/^(?<name>[a-zA-Z$\p{Unified_Ideograph}_][\da-zA-Z$\p{Unified_Ideograph}_]*)?$/u;function Y(e,t,n){const{attrs:r,directives:s,events:o,classes:i,styles:l,vars:a,aliases:c,params:u}=e;return function(e,f){const d=K.exec(e.replace(/./g,".").replace(/:/g,":").replace(/@/g,"@").replace(/+/g,"+").replace(/-/g,"-").replace(/[*×]/g,"*").replace(/!/g,"!"))?.groups;if(!d)throw new _("ATTR",e);const{name:h}=d,p=d.decorator?.toLowerCase();if(p){if(":"===p)r[h]=H.test(f)?{name:f}:t(f);else if("."===p)i[h]=!f||(H.test(f)?f:t(f));else if("style:"===p)l[h]=H.test(f)?f:t(f);else if("@"===p)o[h]=H.test(f)?f:n(f);else if("+"===p)a[h]=f?H.test(f)?f:t(f):"";else if("*"===p)c[h]=H.test(f)?f:t(f);else if("?"===p)u[h]=H.test(f)?f:t(f);else if("!"===p){const e=h.toString();switch(e){case"fragment":s.fragment=f||!0;break;case"else":s.else=!0;break;case"enum":s.enum=!f||(H.test(f)?f:t(f));break;case"if":case"text":case"html":s[e]=H.test(f)?f:t(f);break;case"template":s.template=f;break;case"bind":s.bind=f||!0;break;case"value":s.value=f;break;case"comment":s.comment=f}}}else r[h]=f}}function z(e,t){return{name:e,is:t,children:[],attrs:Object.create(null),events:Object.create(null),directives:Object.create(null),classes:Object.create(null),styles:Object.create(null),vars:Object.create(null),aliases:Object.create(null),params:Object.create(null)}}var F={lt:"<",gt:">",amp:"&",quot:'"',apos:"'",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",times:"×",divide:"÷",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",euro:"€",trade:"™",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"};const G=/^(?<name>[\w\p{Unified_Ideograph}_][-\.\|:|d\w\p{Unified_Ideograph}_:]*)(?:|(?<is>[\w\p{Unified_Ideograph}_][-\.\|:|d\w\p{Unified_Ideograph}_]*))?$/u;function Q(e){return"="!==e&&"/"!==e&&">"!==e&&e&&"'"!==e&&'"'!==e&&!function(e){return"0x80"===e||e<=" "}(e)}function Z(e,t,n,r){let s=r[n];return null==s&&(s=e.lastIndexOf("</"+n+">"),s<t&&(s=e.lastIndexOf("</"+n)),r[n]=s),s<t}function X(...e){console.error(new _(...e))}function J(e){const t=e.slice(1,-1);return"#"===t.charAt(0)?String.fromCodePoint(parseInt(t.substring(1).replace("x","0x"))):t in F?F[t]:(X("ENTITY",e),e)}function ee(e){return("<"==e?"&lt;":">"==e&&"&gt;")||"&"==e&&"&amp;"||'"'==e&&"&quot;"||"&#"+e.charCodeAt()+";"}function*te(e,t=0){const{attrs:n,events:r,directives:s,children:o,is:i,name:l,params:a,classes:c,styles:u,aliases:f,vars:d}=e,h=t>0?"".padEnd(t,"\t"):"";yield h,yield*["<",l||"-"],i&&(yield*["|",i]);for(const[e,t]of Object.entries(a)){if(null==t)continue;const n="function"==typeof t?String(t):t;yield*[" ?",e],n&&"string"==typeof n&&(yield*['="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(s)){if(!1===t||null==t)continue;const n="function"==typeof t?String(t):t;yield*[" !",e],n&&"string"==typeof n&&(yield*['="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(f)){if(null==t)continue;const n="function"==typeof t?String(t):t;yield*[" *",e],n&&"string"==typeof n&&(yield*['="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(d)){if(null==t)continue;const n="function"==typeof t?String(t):t;yield*[" +",e],n&&"string"==typeof n&&(yield*['="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(n)){if(null==t)continue;if("string"==typeof t){yield*[" ",e],t&&(yield*['="',t.replace(/[<&"]/g,ee),'"']);continue}const n="function"==typeof t?String(t):"object"==typeof t?t.name:t;n&&"string"==typeof n&&(yield*[" :",e,'="',n.replace(/[<&"]/g,ee)||"",'"'])}for(const[e,t]of Object.entries(r)){if(null==t)continue;const n="function"==typeof t?String(t):t;n&&"string"==typeof n&&(yield*[" @",e,'="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(c)){if(null==t||0==t)continue;const n="function"==typeof t?String(t):t;yield*[" .",e],n&&"string"==typeof n&&(yield*[" .",e,'="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(u)){if(null==t)continue;const n="function"==typeof t?String(t):t;n&&"string"==typeof n&&(yield*[" style:",e,'="',n.replace(/[<&"]/g,ee),'"'])}if(!o.length)return yield"/>",void(t>=0&&(yield"\n"));if(1===o.length){const[e]=o;if("string"==typeof e&&e.length<80&&!e.includes("\n"))return yield">",yield*[e.replace(/[<&\t]/g,ee).replace(/]]>/g,"]]&gt;")],yield*["</",l,">"],void(t>=0&&(yield"\n"))}yield">",t>=0&&(yield"\n"),yield*ne(o,t>=0?t+1:-1),yield*[h,"</",l,">"],t>=0&&(yield"\n")}function*ne(e,t=0){if(!e.length)return"";const n=t>0?"".padEnd(t,"\t"):"";for(const r of e)if("string"==typeof r){let e=r.replace(/[<&\t]/g,ee).replace(/]]>/g,"]]&gt;");n&&(e=e.replace(/(?<=^|\n)/g,n)),yield e,t>=0&&(yield"\n")}else yield*te(r,t)}var re=Object.freeze({__proto__:null,parse:function(e,{createCalc:t=()=>{throw new _("CALC")},createEvent:n=()=>{throw new _("EVENT")},simpleTag:r=new Set}={}){const s=[],o={children:s},i=[];let l=null,a=o;function c(){l=i.pop()||null,a=l||o}function u(e){(e=e.replace(/^\n|(?<=\n)\t+|\n\t*$/g,""))&&a.children.push(e)}let f={},d=0;function h(t){if(t<=d)return;u(e.substring(d,t).replace(/&#?\w+;/g,J)),d=t}for(;;){const p=e.indexOf("<",d);if(p<0){const E=e.substring(d);E.match(/^\s*$/)||u(E);break}if(p>d&&h(p),"/"===e.charAt(p+1)){d=e.indexOf(">",p+3);let C=e.substring(p+2,d);if(d<0?(C=e.substring(p+2).replace(/[\s<].*/,""),X("UNCOMPLETED",C,l?.name),d=p+1+C.length):C.match(/\s</)&&(C=C.replace(/[\s<].*/,""),X("UNCOMPLETED",C),d=p+1+C.length),l){const A=l.name;if(A===C)c();else{if(A.toLowerCase()!=C.toLowerCase())throw new _("CLOSE",C,l.name);c()}}d++;continue}function g(t){let n=d+1;if(d=e.indexOf(t,n),d<0)throw new _("QUOTE",t);const r=e.slice(n,d).replace(/&#?\w+;/g,J);return d++,r}function m(){let t=e.charAt(d);for(;t<=" "||"€"===t;t=e.charAt(++d));return t}function y(){let t=d,n=e.charAt(d);for(;Q(n);)d++,n=e.charAt(d);return e.slice(t,d)}d=p+1;let b=e.charAt(d);switch(b){case"=":throw new _("EQUAL");case'"':case"'":throw new _("ATTR_VALUE");case">":case"/":throw new _("SYMBOL",b);case"":throw new _("EOF")}const v=y(),w=G.exec(v)?.groups;if(!w)throw new _("TAG",v);i.push(l),l=z(w.name,w.is),a.children.push(l),a=l;const x=Y(l,t,n);let S=!0,O=!1;e:for(;S;){let j=m();switch(j){case"":X("EOF"),d++;break e;case">":d++;break e;case"/":O=!0;break e;case'"':case"'":throw new _("ATTR_VALUE");case"=":throw new _("SYMBOL",j)}const $=y();if(!$){X("EOF"),d++;break e}switch(j=m(),j){case"":X("EOF"),d++;break e;case">":x($,""),d++;break e;case"/":x($,""),O=!0;break e;case"=":d++;break;case"'":case'"':x($,g(j));continue;default:x($,"");continue}switch(j=m(),j){case"":x($,""),X("EOF"),d++;break e;case">":x($,""),d++;break e;case"/":x($,""),O=!0;break e;case"'":case'"':x($,g(j));continue}x($,y())}if(O){for(;;){d++;const T=e.charAt(d);if("/"!==T&&!(T<=" "||"€"===T))break}switch(e.charAt(d)){case"=":throw new _("EQUAL");case'"':case"'":throw new _("ATTR_VALUE");case"":X("EOF");break;case">":d++;break;default:throw new _("CLOSE_SYMBOL")}c()}else(r.has(v)||Z(e,d,v,f))&&c()}return s},stringify:function(e,t){const n=t?0:-1;return Array.isArray(e)?[...ne(e,n)].join(""):[te(e,n)].join()}});let se=!0;const oe=new e.Signal.subtle.Watcher((()=>{se&&(se=!1,queueMicrotask(ie))}));function ie(){se=!0;for(const e of oe.getPending())e.get();oe.watch()}function le(t,n){let r,s=!1;const o=new e.Signal.Computed((()=>{const e=t();s&&Object.is(e,r)||(r=e,s=!0,n(e))}));return oe.watch(o),o.get(),()=>{oe.unwatch(o)}}const ae=new Set(Object.keys({type:!0,meta:!0,component:!0,kind:!0,value:!0,state:!0,store:!0,parent:!0,root:!0,schema:!0,new:!0,readonly:!0,creatable:!0,immutable:!0,required:!0,clearable:!0,hidden:!0,disabled:!0,label:!0,description:!0,placeholder:!0,min:!0,max:!0,step:!0,values:!0,null:!0,index:!0,no:!0,length:!0}));function*ce(e,t="",n="$"){yield[`${t}`,{get:()=>e.value,set:t=>e.value=t,store:e}];for(const r of ae)yield[`${t}${n}${r}`,{get:()=>e[r]}];yield[`${t}${n}value`,{get:()=>e.value,set:t=>e.value=t}],yield[`${t}${n}state`,{get:()=>e.state,set:t=>e.state=t}],e instanceof D&&(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)}])}function ue(e,t,n){for(const[n,r]of t){for(const[t,s]of ce(r,n))e[t]=s;for(const[t,s]of ce(r,n,"$$"))e[t]=s}}function fe(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 de{exec(e){if("string"==typeof e){const t=this.#te[e];if("function"!=typeof t?.get)return;return t.get()}if("function"==typeof e)return e(this.getters)}watch(e,t){return le((()=>this.exec(e)),t)}enum(e){if(!e)return!0;if(!0===e)return this.store;if("function"==typeof e)return()=>e(this.getters);if("string"!=typeof e)return null;const t=this.#te[e];if("function"!=typeof t?.get)return null;const n=t.store;return n instanceof R?n:t.get}bind(e,t,n){const r=this.#te[e];if(!r?.get)return;const{store:s}=r;return s?ae.has(t)?le((()=>s[t]),n):void 0:"value"===t?le((()=>r.get()),n):void 0}bindAll(e){const t=this.#te[e];if(!t?.get)return;const{store:n}=t;if(!n){const e=t.get;if("function"!=typeof e)return;return{$value:t=>le(e,t)}}return Object.fromEntries([...ae].map((e=>[`$${e}`,t=>le((()=>n[e]),t)])))}bindSet(e,t){const n=this.#te[e];if(!n?.get)return;const{store:r}=n;if(r)switch(t){case"value":return e=>{r.value=e};case"state":return e=>{r.state=e}}}bindEvents(e){const t=this.#te[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=>{n.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)}}}getEvent(e){if("function"==typeof e)return e;const t=this.#te[e];if(!t)return null;const{exec:n,calc:r}=t;return"function"==typeof n?n:"function"==typeof r?r:null}constructor(e,t){if(this.store=e,t instanceof de){this.#ne=t.#ne;const e=this.#re;for(const[n,r]of Object.entries(t.#re))e[n]=r;const n=this.#se;for(const[e,r]of Object.entries(t.#se))n[e]=r}else ue(this.#re,e),this.#ne=function(e){const t=Object.create(null);if(!e||"object"!=typeof e)return t;for(const[n,r]of Object.entries(e)){if(!n||n.includes("$"))continue;if(!r||"object"!=typeof r)continue;if(r instanceof R){for(const[e,s]of ce(r,n))t[e]=s;continue}const{get:e,set:s,exec:o,calc:i}=r;"function"!=typeof e?"function"!=typeof i?"function"!=typeof o||(t[n]={exec:o}):t[n]={calc:i}:t[n]="function"==typeof s?{get:e,set:s}:{get:e}}return t}(t)}#ne;#re=Object.create(null);#se=Object.create(null);store;#oe=null;#r=null;#ie=null;get#te(){const e=this.#ie;if(e)return e;const t=Object.create(null,Object.getOwnPropertyDescriptors({...this.#re,...this.#ne,...this.#se})),n=this.store,r=this.#r,s=this.#oe;if(s)for(const e of Object.keys(s))t[`$${e}`]={get:()=>s[e]};else{for(const[e,r]of ce(n))t[e]=r;for(const[e,s]of function*(e,t,n="",r="$"){if(!(e instanceof D))return yield[`${n}${r}upMovable`,{get:()=>!1}],void(yield[`${n}${r}downMovable`,{get:()=>!1}]);yield[`${n}${r}upMovable`,{get:()=>{const e=t.index;return"number"==typeof e&&!(e<=0)}}],yield[`${n}${r}downMovable`,{get:()=>{const n=t.index;return"number"==typeof n&&!(n>=e.length-1)}}],yield[`${n}${r}remove`,{exec:()=>e.remove(Number(t.index))}],yield[`${n}${r}upMove`,{exec:()=>{const n=t.index;"number"==typeof n&&(n<=0||e.move(n,n-1))}}],yield[`${n}${r}downMove`,{exec:()=>{const n=t.index;"number"==typeof n&&(n>=e.length-1||e.move(n,n+1))}}]}(r,n))t[e]=s}return this.#ie=t,t}setStore(e,t){const n=new de(e,this);return t&&(n.#r=t),ue(n.#re,e),n}child(e){if(!e)return this;const t=this.store.child(e);if(!t)return null;const n=new de(t,this);return ue(n.#re,t),n}params({params:t},{attrs:n},r,s){let o=this.store;if(!0===s)o=r.store;else if(s){const e=r.#te[s],t=e?.get&&e.store;t&&(o=t)}if(0===Object.keys(t).length)return this;const i=new de(o,this);i.#r=this.#r,i.#oe=this.#oe;const l=i.#se,a=i.#te;for(const[s,o]of Object.entries(t)){const t=s in n?n[s]:null;if("string"!=typeof t){if(t&&"object"==typeof t){const e=r.#te[t.name];if(!e?.get)continue;if(!e.store){l[s]=a[s]=e;continue}for(const[t,n]of ce(e.store,s))l[t]=a[t]=n;continue}if("function"==typeof t){const n=new e.Signal.Computed((()=>t(r.getters)));l[s]=a[s]={get:()=>n.get()};continue}if("function"==typeof o){const t=i.getters;i.#le=null;const n=new e.Signal.Computed((()=>o(t)));l[s]=a[s]={get:()=>n.get()};continue}{const e=a[o];if(!e?.get)continue;if(!e.store){l[s]=a[s]=e;continue}for(const[t,n]of ce(e.store,s))l[t]=a[t]=n;continue}}l[s]=a[s]={get:()=>t}}return i}setObject(e){const t=new de(this.store,this);return t.#oe=e,t}set(t,n){if(Object.keys(t).length+Object.keys(n).length===0)return this;const r=new de(this.store,this);r.#r=this.#r,r.#oe=this.#oe;const s=r.#se,o=r.#te;for(const[n,i]of Object.entries(t)){if("function"==typeof i){const t=r.getters;r.#le=null;const l=new e.Signal.Computed((()=>i(t)));s[n]=o[n]={get:()=>l.get()};continue}const t=o[i];if(t)if(t.get&&t.store)for(const[e,r]of ce(t.store,n))s[e]=o[e]=r;else s[n]=o[n]=t}for(const[t,i]of Object.entries(n)){const n=new e.Signal.State(null);if("function"==typeof i){const e=r.settable;r.#ae=null,n.set(i(e))}else if(i&&"string"==typeof i){const e=o[i];if(!e?.get)continue;n.set(e.get())}s[t]=o[t]={get:()=>n.get(),set:e=>{n.set(e)}}}return r}#ce=null;get all(){const e=this.#ce;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#te))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 fe(this.store,t),this.#ce=t,t}#ae=null;get settable(){const e=this.#ae;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#te))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 fe(this.store,t),this.#ae=t,t}#le=null;get getters(){const e=this.#le;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#te))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 fe(this.store,t),this.#le=t,t}}const he={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 pe(e,t){let n=!!Array.isArray(t)&&Boolean(t[1]),r="";if("string"==typeof t)return r=t.replace(/!important\s*$/,""),r?(n=r!==t,[r,n?"important":void 0]):null;const s=Array.isArray(t)?t[0]:t;return"number"==typeof s||"bigint"==typeof s?r=s&&e in he?`${s}${he[e]}`:`${s}`:"string"==typeof s&&(r=s),r?[r,n?"important":void 0]:null}class ge{#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,s="number"==typeof e?String(e):e;let o=r.get(s);return o||(o=new Set,r.set(s,o)),o.add(n),()=>{o?.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 ye(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 ve(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 we={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 xe(e,t,n){const r=document.createElement(t,{is:n||void 0}),{watchAttr:s,props:o}=e;return e.listen("init",(({events:n})=>{const i=we[t.toLowerCase()],l=i?.attrs||{},a=i?.events||{};for(const[e,t,s]of n)if("$"!==e[0])r.addEventListener(e,t,s);else{const n=a[e];if(n){const[e,o]=n;r.addEventListener(e,(e=>t(o(e,r))),s)}}if(o)for(const[t,n]of Object.entries(e.tagAttrs))if(s(t,(e=>{if(o.has(t))r[t]=e;else{const n=ye(e);null==n?r.removeAttribute(t):r.setAttribute(t,n)}})),o.has(t))r[t]=n;else{const e=ye(n);null!==e&&r.setAttribute(t,e)}else for(const[t,n]of Object.entries(e.tagAttrs)){if(r instanceof HTMLInputElement&&"type"===t.toLocaleLowerCase()){const e=ye(n);null!==e&&r.setAttribute(t,e);continue}if("$hidden"===t){n&&(r.hidden=n),s(t,(e=>{r.hidden=e}));continue}if("$"===t[0]){const e=l[t];e&&(e(n,r),s(t,(t=>e(t,r))));continue}const e=ve(r,t);if("function"==typeof e){r[t]=e(n),s(t,(n=>{r[t]=e(n)}));continue}if(e){r[t]=n,s(t,(e=>{r[t]=e}));continue}let o=ye(n);null!==o&&r.setAttribute(t,o),s(t,(e=>{const n=ye(e);null===n?r.removeAttribute(t):r.setAttribute(t,n)}))}})),r}function Se(e){return null===(e??null)?"":String(e)}function Oe(e,t,n,{text:r,html:s}){if(null!=r){const s=e.insertBefore(document.createTextNode(""),t),o=n.watch(r,(e=>s.textContent=Se(e)));return()=>{s.remove(),o()}}if(null==s)return;const o=e.insertBefore(document.createComment(""),t),i=e.insertBefore(document.createComment(""),t),l=document.createElement("div");function a(){for(let e=o.nextSibling;e&&e!==i;e=o.nextSibling)e.remove()}const c=n.watch(s,(t=>{a(),function(t){l.innerHTML=t;for(let t=l.firstChild;t;t=o.firstChild)e.insertBefore(t,i)}(Se(t))}));return()=>{c(),a(),o.remove(),i.remove()}}function Ee(e,t,n,r,s,o){let i=new Set,l=[],a=Object.create(s);for(const t of e){if("string"==typeof t)continue;const e=t.directives.template;e&&(a[e]=[t,r])}function c(e){if(!e.length||!i)return;const s=t.insertBefore(document.createComment(""),n);let l=-1,c=()=>{};i.add((()=>{c(),c=()=>{},s.remove()})),i.add(le((()=>e.findIndex((([e])=>null===e||r.exec(e)))),(t=>{t!==l&&(l=t,c(),c=()=>{},function(t){const n=e[t]?.[1];n&&(c=o(n,a))}(l))})))}for(const r of e){if("string"==typeof r){c(l),l=[];const e=document.createTextNode(r);t.insertBefore(e,n),i.add((()=>e.remove()));continue}if(r.directives.template){c(l),l=[];continue}if(l.length&&r.directives.else){const e=r.directives.if||null;l.push([e,r]),e||(c(l),l=[]);continue}c(l),l=[];const e=r.directives.if;e?l.push([e,r]):i.add(o(r,a))}return()=>{if(!i)return;const e=i;i=null;for(const t of e)t()}}function Ce(e,t,n,r,s,o,i){r=r.set(e.aliases,e.vars);const l=e.directives.bind,a=e.directives.fragment;if(a&&"string"==typeof a){const c=s[a];if(!c)return()=>{};const[u,f]=c,d=f.params(u,e,r,l);return Ae(u,t,n,d,s,o,i)}if(!e.name||e.directives.fragment)return Oe(t,n,r,e.directives)||Ee(e.children||[],t,n,r,s,((e,s)=>Ae(e,t,n,r,s,o,i)));const c=[...o,e.name],u=i?.(c);if(i&&!u)return()=>{};const{context:f,handler:d}=function(e,t){const n="string"==typeof e?e:e.tag,{attrs:r,events:s}="string"!=typeof e&&e||{attrs:null,events:null};let o=!1,i=!1;const l=Object.create(null),a=[],c=new ge,u=new ge;return{context:{events:a,props:r?new Set(Object.entries(r).filter((([,e])=>e.isProp)).map((([e])=>e))):null,tagAttrs:l,watchAttr:(e,t)=>u.listen(e,t),get destroyed(){return o},get init(){return i},listen:(e,t)=>c.listen(e,t)},handler:{tag:n,set(e,t){if(r&&!(e in r))return;e in l||(l[e]=void 0);const n=l[e];n!==t&&(l[e]=t,u.emit(e,t,n,e))},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={},c=[];if(i)for(let e=o.shift();e;e=o.shift()){const t=e.indexOf(":"),n=t>=0?e.slice(0,t):e,r=t>=0?e.slice(t+1).split(":"):[],s=n.replace(/^-+/,""),o=(n.length-s.length)%2==1;let a=i[s]||s;switch(a){case"once":l.once=!o;break;case"passive":l.passive=!o;break;case"capture":l.capture=!o;break;default:"string"==typeof a&&(a=me[a])}"function"==typeof a&&c.push([a,r,o])}a.push([r,e=>{const r=t.all;for(const[t,n,s]of c)if(t(e,n,r)===s)return;n(e,r)},l])},destroy(){o||(o=!0,c.emit("destroy"))},init(){i||(i=!0,c.emit("init",{events:a}))}}}}(u||e.name,r),h=u?.attrs,p=h?function(e,t,n,r,s){let o=new Set;for(const[i,l]of Object.entries(r)){const r=n[i];if(i in n){if("function"!=typeof r&&"object"!=typeof r){e.set(i,r);continue}const n="function"==typeof r?r:r.name;if(l.immutable){e.set(i,t.exec(n));continue}o.add(t.watch(n,(t=>e.set(i,t))));continue}const a=l.bind;if(!s||!a||"boolean"==typeof s){e.set(i,l.default);continue}if("string"==typeof a){const n=t.bind(s,a,(t=>e.set(i,t)));n?o.add(n):e.set(i,l.default);continue}if(!Array.isArray(a)){e.set(i,l.default);continue}const[c,u,f]=a;if(!c||"function"!=typeof u)continue;if(!f){o.add(t.watch(s,(t=>e.set(i,t)))),e.addEvent(c,((...e)=>{t.all[s]=u(...e)}));continue}const d=t.bind(s,"state",(t=>e.set(i,t)));if(!d)continue;o.add(d);const h=t.bindSet(s,"state");h&&e.addEvent(c,((...e)=>{h(u(...e))}))}return()=>{const e=o;o=new Set;for(const t of e)t()}}(d,r,e.attrs,h,l):function(e,t,n){const r=e.tag;let s=new Set;for(const[o,i]of Object.entries(n)){if("function"!=typeof i&&"object"!=typeof i){e.set(o,i);continue}const n="function"==typeof i?i:i.name;if("string"!=typeof r||"input"!==r.toLocaleLowerCase()||"type"!==o.toLocaleLowerCase())s.add(t.watch(n,(t=>e.set(o,t))));else{const r=t.exec(n);e.set(o,r)}}return()=>{const e=s;s=new Set;for(const t of e)t()}}(d,r,e.attrs);for(const[t,n]of Object.entries(e.events)){const e=r.getEvent(n);e&&d.addEvent(t,e)}const g=function(e,t,n){if(!n||"boolean"==typeof n)return()=>{};let r=new Set;for(const[s,o]of Object.entries(t.bindAll(n)||{}))"function"==typeof o&&r.add(o((t=>e.set(s,t))));for(const[r,s]of Object.entries(t.bindEvents(n)||{}))e.addEvent(r,(e=>s(e)));return()=>{const e=r;r=new Set;for(const t of e)t()}}(d,r,l),m=u?"function"==typeof u.tag?u.tag(f):xe(f,u.tag,u.is):xe(f,e.name,e.is),y=Array.isArray(m)?m[0]:m,b=Array.isArray(m)?m[1]:y;t.insertBefore(y,n);const v=b?Oe(b,null,r,e.directives)||Ee(e.children||[],b,null,r,s,((e,t)=>Ae(e,b,null,r,t,o,i))):()=>{};return function(e,t,n){if(!(e instanceof Element))return()=>{};let r=new Set;for(const[s,o]of Object.entries(t))o&&(!0!==o?r.add(le((()=>Boolean(n.exec(o))),(t=>{t?e.classList.add(s):e.classList.remove(s)}))):e.classList.add(s))}(y,e.classes,r),function(e,t,n){if(!(e instanceof HTMLElement||e instanceof SVGElement))return()=>{};let r=new Set;for(const[s,o]of Object.entries(t))r.add(le((()=>pe(s,n.exec(o))),(t=>{t?e.style.setProperty(s,...t):e.style.removeProperty(s)})))}(y,e.styles,r),d.init(),()=>{y.remove(),d.destroy(),p(),v(),g()}}function Ae(t,n,r,s,o,i,l){const{directives:a}=t,c=s.child(a.value);if(!c)return()=>{};const u=c.enum(a.enum),f=(e,r)=>Ce(t,n,e,r,o,i,l);return!0===u?f(r,c):u instanceof D?function(e,t,n,r,s){const o=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=le((()=>n.children),(function(t){if(!o.parentNode)return;let a=o.nextSibling;const c=i;i=new Map;for(let o of t){const t=c.get(o);if(!t){const t=e.insertBefore(document.createComment(""),a),l=e.insertBefore(document.createComment(""),a),c=s(l,r.setStore(o,n));i.set(o,[t,l,c]);continue}if(c.delete(o),i.set(o,t),a===t[0]){a=t[1].nextSibling;continue}let l=t[0];for(;l&&l!==t[1];){const t=l;l=l.nextSibling,e.insertBefore(t,a)}e.insertBefore(t[1],a)}l(c)}));return()=>{o.remove(),l(i),a()}}(n,r,u,c,f):u instanceof V?function(e,t,n,r,s){const o=[];for(const[e,i]of[...n])o.push(s(t,r.setStore(i,n)));return()=>{for(const e of o)e()}}(0,r,u,c,f):"function"==typeof u?function(t,n,r,s,o){const i=new e.Signal.Computed((()=>{const e=r();if("number"==typeof e){const t=Math.floor(e);return t?Array(t).fill(0).map(((e,t)=>[t+1,t,t])):[]}return e&&"object"==typeof e?Array.isArray(e)?e.map(((e,t)=>[e,t,t])):Object.entries(e).map((([e,t],n)=>[t,n,e])):[]})),l=t.insertBefore(document.createComment(""),n);let a=[];function c(e){for(const[t,n,r]of e)r(),t.remove(),n.remove()}const u=le((()=>i.get()),(function(n){if(!l.parentNode)return;let r=l.nextSibling;const i=a;a=[];for(const[l,c,u]of n){const n=i.findIndex((e=>e[3]===u)),[f]=n>=0?i.splice(n,1):[];if(!f){const n=t.insertBefore(document.createComment(""),r),i=t.insertBefore(document.createComment(""),r),f=new e.Signal.State(l),d=new e.Signal.State(c),h=o(i,s.setObject({get key(){return u},get value(){return f.get()},get index(){return d.get()}}));a.push([n,i,h,u,f,d]);continue}if(a.push(f),f[4].set(l),f[5].set(c),r===f[0]){r=f[1].nextSibling;continue}let d=f[0];for(;d&&d!==f[1];){const e=d;d=d.nextSibling,t.insertBefore(e,r)}t.insertBefore(f[1],r)}c(i)}));return()=>{l.remove(),c(a),u()}}(n,r,u,c,f):()=>{}}e.Layout=re,e.Store=R,e.render=function(e,t,n,r,s){const o=[r,s],i=o.find((e=>"function"==typeof e)),l=o.find((e=>"object"==typeof e)),a=new de(e,l),c=Object.create(null);return Ee(t,n,null,a,c,((e,t)=>Ae(e,n,null,a,t,[],i)))}}));
package/index.min.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @neeloong/form v0.4.1
2
+ * @neeloong/form v0.4.2
3
3
  * (c) 2024-2025 Fierflame
4
4
  * @license Apache-2.0
5
5
  */
@@ -25,7 +25,7 @@ function o(e,t){return Object.is(e,t)}
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 x(e){if(h(e),d(e),e.value===E)throw e.error;return e.value}const S=Symbol("UNSET"),O=Symbol("COMPUTING"),E=Symbol("ERRORED"),C=(()=>({...f,value:S,dirty:!0,error:null,equal:o,producerMustRecompute:e=>e.value===S||e.value===O,producerRecomputeValue(e){if(e.value===O)throw new Error("Detected cycle in computations.");const t=e.value;e.value=O;const n=function(e){return e&&(e.nextProducerIndex=0),u(e)}(e);let r,s=!1;try{r=e.computation.call(e.wrapper);s=t!==S&&t!==E&&e.equal.call(e.wrapper,t,r)}catch(t){r=E,e.error=t}finally{!function(e,t){if(u(t),e&&void 0!==e.producerNode&&void 0!==e.producerIndexOfThis&&void 0!==e.producerLastReadVersion){if(b(e))for(let t=e.nextProducerIndex;t<e.producerNode.length;t++)y(e.producerNode[t],e.producerIndexOfThis[t]);for(;e.producerNode.length>e.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}(e,n)}s?e.value=t:(e.value=r,e.version++)}}))();let A=
28
+ */function x(e){if(h(e),d(e),e.value===E)throw e.error;return e.value}const O=Symbol("UNSET"),S=Symbol("COMPUTING"),E=Symbol("ERRORED"),C=(()=>({...f,value:O,dirty:!0,error:null,equal:o,producerMustRecompute:e=>e.value===O||e.value===S,producerRecomputeValue(e){if(e.value===S)throw new Error("Detected cycle in computations.");const t=e.value;e.value=S;const n=function(e){return e&&(e.nextProducerIndex=0),u(e)}(e);let r,s=!1;try{r=e.computation.call(e.wrapper);s=t!==O&&t!==E&&e.equal.call(e.wrapper,t,r)}catch(t){r=E,e.error=t}finally{!function(e,t){if(u(t),e&&void 0!==e.producerNode&&void 0!==e.producerIndexOfThis&&void 0!==e.producerLastReadVersion){if(b(e))for(let t=e.nextProducerIndex;t<e.producerNode.length;t++)y(e.producerNode[t],e.producerIndexOfThis[t]);for(;e.producerNode.length>e.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}(e,n)}s?e.value=t:(e.value=r,e.version++)}}))();let A=
29
29
  /**
30
30
  * @license
31
31
  * Copyright Google LLC All Rights Reserved.
@@ -57,4 +57,4 @@ function(){throw new Error};function j(){return d(this),this.value}function $(e,
57
57
  * Use of this source code is governed by an MIT-style license that can be
58
58
  * found in the LICENSE file at https://angular.io/license
59
59
  */
60
- function(e){const t=Object.create(T);t.value=e;const n=()=>(d(t),t.value);return n[c]=t,n}(n),a=i[c];if(this[N]=a,a.wrapper=this,s){const t=s.equals;t&&(a.equal=t),a.watched=s[e.subtle.watched],a.unwatched=s[e.subtle.unwatched]}}get(){if(!(0,e.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.get");return j.call(this[N])}set(t){if(!(0,e.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.set");if(a)throw new Error("Writes to signals not permitted during Watcher callback");$(this[N],t)}};h=N,p=new WeakSet,e.isComputed=e=>n(p,e),e.Computed=class{constructor(n,s){r(this,p),t(this,h);const o=function(e){const t=Object.create(C);t.computation=e;const n=()=>x(t);return n[c]=t,n}(n),i=o[c];if(i.consumerAllowSignalWrites=!0,this[N]=i,i.wrapper=this,s){const t=s.equals;t&&(i.equal=t),i.watched=s[e.subtle.watched],i.unwatched=s[e.subtle.unwatched]}}get(){if(!(0,e.isComputed)(this))throw new TypeError("Wrong receiver type for Signal.Computed.prototype.get");return x(this[N])}},(o=>{var a,l,c,h;o.untrack=function(e){let t,n=null;try{n=u(null),t=e()}finally{u(n)}return t},o.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[N].producerNode)?void 0:n.map((e=>e.wrapper)))??[]},o.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[N].liveConsumerNode)?void 0:n.map((e=>e.wrapper)))??[]},o.hasSinks=function(t){if(!(0,e.isComputed)(t)&&!(0,e.isState)(t))throw new TypeError("Called hasSinks without a Signal argument");const n=t[N].liveConsumerNode;return!!n&&n.length>0},o.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[N].producerNode;return!!n&&n.length>0};a=N,l=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(l,e),o.Watcher=class{constructor(e){r(this,l),r(this,c),t(this,a);let n=Object.create(f);n.wrapper=this,n.consumerMarkedDirty=e,n.consumerIsAlwaysLive=!0,n.consumerAllowSignalWrites=!1,n.producerNode=[],this[N]=n}watch(...t){if(!(0,e.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");s(this,c,h).call(this,t);const n=this[N];n.dirty=!1;const r=u(n);for(const e of t)d(e[N]);u(r)}unwatch(...t){if(!(0,e.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");s(this,c,h).call(this,t);const n=this[N];v(n);for(let e=n.producerNode.length-1;e>=0;e--)if(t.includes(n.producerNode[e].wrapper)){y(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[N].producerNode.filter((e=>e.dirty)).map((e=>e.wrapper))}},o.currentComputed=function(){var e;return null==(e=i)?void 0:e.wrapper},o.watched=Symbol("watched"),o.unwatched=Symbol("unwatched")})(e.subtle||(e.subtle={}))})(k||(k={}));const M=(e,t,n,r)=>{const s=new k.State("boolean"==typeof t?t:null);let o;if("function"==typeof n)o=new k.Computed((()=>Boolean(n(e,e.root))));else{const e=Boolean(n);o=new k.Computed((()=>e))}const i=()=>{const e=s.get();return null===e?o.get():e},a=r?new k.Computed((()=>r.get()||i())):new k.Computed(i);return[s,a]},L=e=>"string"==typeof e&&e||null,I=e=>"number"==typeof e&&e||null,U=Boolean;function q(e){if("number"==typeof e||"string"==typeof e)return{label:e,value:e};if(!e||"object"!=typeof e)return null;const{children:t,label:n,value:r}=e,s=Array.isArray(t)?t.map(q).filter(U):[];return s.length?{children:s,label:n,value:r}:"number"==typeof r||"string"==typeof r?{label:n,value:r}:null}const P=e=>{if(!e||!Array.isArray(e))return null;const t=e.map(q).filter(U);return t.length?t:null};function B(e,t,n,r){const s=new k.State(t(n));let o;if("function"==typeof r){const n=r;o=new k.Computed((()=>t(n(e,e.root))))}else{const e=t(r);o=new k.Computed((()=>e))}const i=new k.Computed((()=>{const e=s.get();return null===e?o.get():e}));return[s,i]}class R{#e=new Map;emit(e,t){const n="number"==typeof e?String(e):e,r=this.#e;let s=!1;for(const e of[...r.get(n)||[]])s=!1===e(t,this)||s;return!s}listen(e,t){const n=t.bind(this),r=this.#e,s="number"==typeof e?String(e):e;let o=r.get(s);return o||(o=new Set,r.set(s,o)),o.add(n),()=>{o?.delete(n)}}static create(e,t={}){return new V({type:null,props:e},{...t,parent:null})}#t=!1;get null(){return this.#t}get kind(){return""}constructor(e,{null:t,state:n,setValue:r,setState:s,convert:o,onUpdate:i,onUpdateState:a,index:l,length:c,new:u,parent:f,hidden:d,clearable:h,required:p,disabled:g,readonly:m,label:y,description:b,placeholder:v,min:w,max:x,step:S,values:O}){this.schema=e,this.#n.set("object"==typeof n&&n||{});const E=f instanceof R?f:null;E&&(this.#r=E,this.#s=E.#s),this.#o=e.type,this.#i=e.meta,this.#a=e.component;const C=new k.State(Boolean(u));this.#l=C;const A=E?new k.Computed((()=>E.#c.get()||C.get())):new k.Computed((()=>C.get()));this.#c=A;const j=Boolean(e.immutable),$=!1!==e.creatable;this.#u=j,this.#f=$;const T=e.readonly,N=new k.State("boolean"==typeof m?m:null);let U;if("function"==typeof T)U=new k.Computed((()=>Boolean(T(this,this.root))));else{const e=Boolean(T);U=new k.Computed((()=>e))}const q=()=>{if(A.get()?!$:j)return!0;const e=N.get();return null===e?U.get():e},V=E?E.#d:null;if(this.#h=N,this.#d=V?new k.Computed((()=>V.get()||q())):new k.Computed(q),[this.#p,this.#g]=M(this,d,e.hidden,E?E.#g:null),[this.#m,this.#y]=M(this,h,e.clearable,E?E.#y:null),[this.#b,this.#v]=M(this,p,e.required,E?E.#v:null),[this.#w,this.#x]=M(this,g,e.disabled,E?E.#x:null),[this.#S,this.#O]=B(this,L,y,e.label),[this.#E,this.#C]=B(this,L,b,e.description),[this.#A,this.#j]=B(this,L,v,e.placeholder),[this.#$,this.#T]=B(this,I,w,e.min),[this.#N,this.#k]=B(this,I,x,e.max),[this.#M,this.#L]=B(this,I,S,e.step),[this.#I,this.#U]=B(this,P,O,e.values),t)this.#t=!0;else{this.#q=i||null,this.#P=a||null,this.#B="function"==typeof r?r:null,this.#R="function"==typeof s?s:null,this.#V="function"==typeof o?o:null,this.#D.set(c||0),this.#W.set(l??"");for(const[t,n]of Object.entries(e.events||{}))"function"==typeof n&&this.listen(t,n)}}#_=!1;#B=null;#R=null;#V=null;#q=null;#P=null;#r=null;#s=this;#o;#i;#a;get store(){return this}get parent(){return this.#r}get root(){return this.#s}get type(){return this.#o}get meta(){return this.#i}get component(){return this.#a}#D=new k.State(0);get length(){return this.#D.get()}set length(e){this.#D.set(e)}#W=new k.State("");get index(){return this.#W.get()}set index(e){this.#W.set(e)}get no(){if(this.#t)return"";const e=this.index;return"number"==typeof e?e+1:e}#f=!0;get creatable(){return this.#f}#u=!1;get immutable(){return this.#u}#c;#l;get selfNew(){return this.#l.get()}set selfNew(e){this.#l.set(Boolean(e))}get new(){return this.#c.get()}set new(e){this.#l.set(Boolean(e))}#p;#g;get selfHidden(){return this.#p.get()}set selfHidden(e){this.#p.set("boolean"==typeof e?e:null)}get hidden(){return this.#g.get()}set hidden(e){this.#p.set("boolean"==typeof e?e:null)}#m;#y;get selfClearable(){return this.#m.get()}set selfClearable(e){this.#m.set("boolean"==typeof e?e:null)}get clearable(){return this.#y.get()}set clearable(e){this.#m.set("boolean"==typeof e?e:null)}#b;#v;get selfRequired(){return this.#b.get()}set selfRequired(e){this.#b.set("boolean"==typeof e?e:null)}get required(){return this.#v.get()}set required(e){this.#b.set("boolean"==typeof e?e:null)}#w;#x;get selfDisabled(){return this.#w.get()}set selfDisabled(e){this.#w.set("boolean"==typeof e?e:null)}get disabled(){return this.#x.get()}set disabled(e){this.#w.set("boolean"==typeof e?e:null)}#h;#d;get selfReadonly(){return this.#h.get()}set selfReadonly(e){this.#h.set("boolean"==typeof e?e:null)}get readonly(){return this.#d.get()}set readonly(e){this.#h.set("boolean"==typeof e?e:null)}#S;#O;get selfLabel(){return this.#S.get()}set selfLabel(e){this.#S.set(L(e))}get label(){return this.#O.get()}set label(e){this.#S.set(L(e))}#E;#C;get selfDescription(){return this.#E.get()}set selfDescription(e){this.#E.set(L(e))}get description(){return this.#C.get()}set description(e){this.#E.set(L(e))}#A;#j;get selfPlaceholder(){return this.#A.get()}set selfPlaceholder(e){this.#A.set(L(e))}get placeholder(){return this.#j.get()}set placeholder(e){this.#A.set(L(e))}#$;#T;get selfMin(){return this.#$.get()}set selfMin(e){this.#$.set(I(e))}get min(){return this.#T.get()}set min(e){this.#$.set(I(e))}#N;#k;get selfMax(){return this.#N.get()}set selfMax(e){this.#N.set(I(e))}get max(){return this.#k.get()}set max(e){this.#N.set(I(e))}#M;#L;get selfStep(){return this.#M.get()}set selfStep(e){this.#M.set(I(e))}get step(){return this.#L.get()}set step(e){this.#M.set(I(e))}#I;#U;get selfValues(){return this.#I.get()}set selfValues(e){this.#I.set(P(e))}get values(){return this.#U.get()}set values(e){this.#I.set(P(e))}*[Symbol.iterator](){}child(e){return null}#K=!1;#H=null;#Y=this.#H;#z=new k.State(this.#H);#n=new k.State(null);#F=this.#n.get();get changed(){return this.#z.get()===this.#Y}get saved(){return this.#z.get()===this.#H}get value(){return this.#z.get()}set value(e){if(this.#_)return;const t=this.#B?.(e)||e;this.#z.set(t),this.#K||(this.#K=!0,this.#H=e),this.#q?.(this.#z.get(),this.#W.get()),this.#G()}get state(){return this.#n.get()}set state(e){if(this.#_)return;const t=this.#R?.(e)||e;this.#n.set(t),this.#K=!0,this.#P?.(this.#n.get(),this.#W.get()),this.#G()}#G(){this.#Q||(this.#Q=!0,queueMicrotask((()=>{const e=this.#z.get(),t=this.#n.get();return this.#Z(e,t)})))}#Q=!1;#X(e,t){if(this.#_)return e;const[n,r]=this.#V?.(e,t)||[e,t];return this.#z.get()===n&&this.#n.get()===r?[n,r]:(this.#z.set(n),this.#n.set(r),this.#K||(this.#K=!0,this.#H=n),this.#Z(n,r))}#Z(e,t){if(this.#_)return[e,t];if(this.#Q=!1,e&&"object"==typeof e){let n=Array.isArray(e)?[...e]:{...e},r=Array.isArray(e)?Array.isArray(t)?[...t]:[]:{...t},s=!1;for(const[o,i]of this){const a=e[o],l=t?.[o],[c,u]=i.#X(a,l);a!==c&&(n[o]=c,s=!0),l!==u&&(r[o]=u,s=!0)}s&&(e=n,t=r,this.#z.set(e),this.#n.set(r))}return this.#Y===e&&this.#F===t||(this.#Y=e,this.#F=t),[e,t]}get destroyed(){return this.#_}destroy(){if(!this.#_){this.#_=!0;for(const[,e]of this)e.destroy()}}}class V extends R{get kind(){return"object"}#J;*[Symbol.iterator](){yield*Object.entries(this.#J)}child(e){return this.#J[e]||null}constructor(e,{parent:t,index:n,new:r,onUpdate:s,onUpdateState:o}={}){super(e,{parent:t,index:n,new:r,onUpdate:s,onUpdateState:o,setValue:e=>"object"!=typeof e?{}:e,setState:e=>"object"!=typeof e?{}:e,convert:(e,t)=>["object"==typeof e?e:{},"object"==typeof t?t:{}]});const i=Object.create(null),a={parent:this,onUpdate:(e,t)=>{this.value={...this.value,[t]:e}},onUpdateState:(e,t)=>{this.state={...this.state,[t]:e}}};for(const[t,n]of Object.entries(e.props||{})){let e;e="string"==typeof n.type?n.array?new D(n,{...a,index:t}):new R(n,{...a,index:t}):n.array?new D(n,{...a,index:t}):new V(n,{...a,index:t}),i[t]=e}this.#J=i}}class D extends R{#ee=()=>{throw new Error};#J=new k.State([]);get children(){return[...this.#J.get()]}*[Symbol.iterator](){return yield*[...this.#J.get().entries()]}child(e){const t=this.#J.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,onUpdateState:r,index:s,new:o}={}){const i=e=>{if(this.destroyed)return;const t=Array.isArray(e)&&e.length||0,n=[...this.#J.get()],r=n.length;for(let e=n.length;e<t;e++)n.push(this.#ee(e));for(const e of n.splice(t))e.destroy();r!==t&&(this.length=n.length,this.#J.set(n))};super(e,{index:s,new:o,parent:t,state:[],setValue:e=>Array.isArray(e)?e:null==e?[]:[e],setState:e=>Array.isArray(e)?e:null==e?[]:[e],convert(e,t){const n=Array.isArray(e)?e:null==e?[]:[e];return i(n),[n,Array.isArray(t)?t:null==e?[]:[t]]},onUpdate:(e,t)=>{i(e),n?.(e,t)},onUpdateState:r});const a={parent:this,onUpdate:(e,t)=>{const n=[...this.value||[]];n.length<t&&(n.length=t),n[t]=e,this.value=n},onUpdateState:(e,t)=>{const n=[...this.state||[]];n.length<t&&(n.length=t),n[t]=e,this.state=n}};if("string"==typeof e.type)this.#ee=(t,n)=>{const r=new R(e,{...a,index:t,new:n});return r.index=t,r};else{if(Array.isArray(e.props))throw new Error;this.#ee=(t,n)=>{const r=new V(e,{...a,index:t,new:n});return r.index=t,r}}}insert(e,t,n){if(this.destroyed)return!1;const r=this.value;if(!Array.isArray(r))return!1;const s=[...this.#J.get()],o=Math.max(0,Math.min(Math.floor(e),s.length)),i=this.#ee(o,n);i.new=!0,s.splice(o,0,i);for(let t=e+1;t<s.length;t++)s[t].index=t;const a=[...r];a.splice(o,0,t);const l=this.state;if(Array.isArray(l)){const e=[...l];e.splice(o,0,{}),this.state=e}return this.value=a,this.length=s.length,this.#J.set(s),!0}add(e){return this.insert(this.#J.get().length,e)}remove(e){if(this.destroyed)return;const t=this.value;if(!Array.isArray(t))return;const n=[...this.#J.get()],r=Math.max(0,Math.min(Math.floor(e),n.length)),[s]=n.splice(r,1);if(!s)return;for(let t=e;t<n.length;t++)n[t].index=t;s.destroy();const o=[...t],[i]=o.splice(r,1),a=this.state;if(Array.isArray(a)){const e=[...this.state];e.splice(r,1),this.state=e}return this.value=o,this.length=n.length,this.#J.set(n),i}move(e,t){if(this.destroyed)return!1;const n=this.value;if(!Array.isArray(n))return!1;const r=[...this.#J.get()],[s]=r.splice(e,1);if(!s)return!1;r.splice(t,0,s);let o=Math.min(e,t),i=Math.max(e,t);for(let e=o;e<=i;e++)r[e].index=e;const a=[...n],[l]=a.splice(e,1);a.splice(t,0,l);const c=this.state;if(Array.isArray(c)){const n=[...c],[r={}]=n.splice(e,1);t<=n.length?n.splice(t,0,r):n[t]=r,this.state=n}return this.value=a,this.#J.set(r),!0}exchange(e,t){if(this.destroyed)return!1;const n=this.value;if(!Array.isArray(n))return!1;const r=[...this.#J.get()],s=r[e],o=r[t];if(!s||!o)return!1;r[t]=s,r[e]=o,s.index=t,o.index=e;const i=[...n],a=i[e],l=i[t];i[t]=a,i[e]=l;const c=this.state;if(Array.isArray(c)){const n=[...c],r=n[e],s=n[t];n[t]=r,n[e]=s,this.state=n}return this.value=i,this.#J.set(r),!0}}const W={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 _ extends Error{constructor(e,...t){const n=W[e];super("function"==typeof n?n(...t):n),this.code=e}}const K=/^(?<decorator>[:@!+*\.?]|style:|样式:)?(?<name>-?[\w\p{Unified_Ideograph}_][-\w\p{Unified_Ideograph}_:\d\.]*)$/u,H=/^(?<name>[a-zA-Z$\p{Unified_Ideograph}_][\da-zA-Z$\p{Unified_Ideograph}_]*)?$/u;function Y(e,t,n){const{attrs:r,directives:s,events:o,classes:i,styles:a,vars:l,aliases:c,params:u}=e;return function(e,f){const d=K.exec(e.replace(/./g,".").replace(/:/g,":").replace(/@/g,"@").replace(/+/g,"+").replace(/-/g,"-").replace(/[*×]/g,"*").replace(/!/g,"!"))?.groups;if(!d)throw new _("ATTR",e);const{name:h}=d,p=d.decorator?.toLowerCase();if(p){if(":"===p)r[h]=H.test(f)?{name:f}:t(f);else if("."===p)i[h]=!f||(H.test(f)?f:t(f));else if("style:"===p)a[h]=H.test(f)?f:t(f);else if("@"===p)o[h]=H.test(f)?f:n(f);else if("+"===p)l[h]=f?H.test(f)?f:t(f):"";else if("*"===p)c[h]=H.test(f)?f:t(f);else if("?"===p)u[h]=H.test(f)?f:t(f);else if("!"===p){const e=h.toString();switch(e){case"fragment":s.fragment=f||!0;break;case"else":s.else=!0;break;case"enum":s.enum=!f||(H.test(f)?f:t(f));break;case"if":case"text":case"html":s[e]=H.test(f)?f:t(f);break;case"template":s.template=f;break;case"bind":s.bind=f||!0;break;case"value":s.value=f;break;case"comment":s.comment=f}}}else r[h]=f}}function z(e,t){return{name:e,is:t,children:[],attrs:Object.create(null),events:Object.create(null),directives:Object.create(null),classes:Object.create(null),styles:Object.create(null),vars:Object.create(null),aliases:Object.create(null),params:Object.create(null)}}var F={lt:"<",gt:">",amp:"&",quot:'"',apos:"'",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",times:"×",divide:"÷",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",euro:"€",trade:"™",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"};const G=/^(?<name>[\w\p{Unified_Ideograph}_][-\.\|:|d\w\p{Unified_Ideograph}_:]*)(?:|(?<is>[\w\p{Unified_Ideograph}_][-\.\|:|d\w\p{Unified_Ideograph}_]*))?$/u;function Q(e){return"="!==e&&"/"!==e&&">"!==e&&e&&"'"!==e&&'"'!==e&&!function(e){return"0x80"===e||e<=" "}(e)}function Z(e,t,n,r){let s=r[n];return null==s&&(s=e.lastIndexOf("</"+n+">"),s<t&&(s=e.lastIndexOf("</"+n)),r[n]=s),s<t}function X(...e){console.error(new _(...e))}function J(e){const t=e.slice(1,-1);return"#"===t.charAt(0)?String.fromCodePoint(parseInt(t.substring(1).replace("x","0x"))):t in F?F[t]:(X("ENTITY",e),e)}function ee(e){return("<"==e?"&lt;":">"==e&&"&gt;")||"&"==e&&"&amp;"||'"'==e&&"&quot;"||"&#"+e.charCodeAt()+";"}function*te(e,t=0){const{attrs:n,events:r,directives:s,children:o,is:i,name:a,params:l,classes:c,styles:u,aliases:f,vars:d}=e,h=t>0?"".padEnd(t,"\t"):"";yield h,yield*["<",a||"-"],i&&(yield*["|",i]);for(const[e,t]of Object.entries(l)){if(null==t)continue;const n="function"==typeof t?String(t):t;yield*[" ?",e],n&&"string"==typeof n&&(yield*['="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(s)){if(!1===t||null==t)continue;const n="function"==typeof t?String(t):t;yield*[" !",e],n&&"string"==typeof n&&(yield*['="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(f)){if(null==t)continue;const n="function"==typeof t?String(t):t;yield*[" *",e],n&&"string"==typeof n&&(yield*['="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(d)){if(null==t)continue;const n="function"==typeof t?String(t):t;yield*[" +",e],n&&"string"==typeof n&&(yield*['="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(n)){if(null==t)continue;if("string"==typeof t){yield*[" ",e],t&&(yield*['="',t.replace(/[<&"]/g,ee),'"']);continue}const n="function"==typeof t?String(t):"object"==typeof t?t.name:t;n&&"string"==typeof n&&(yield*[" :",e,'="',n.replace(/[<&"]/g,ee)||"",'"'])}for(const[e,t]of Object.entries(r)){if(null==t)continue;const n="function"==typeof t?String(t):t;n&&"string"==typeof n&&(yield*[" @",e,'="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(c)){if(null==t||0==t)continue;const n="function"==typeof t?String(t):t;yield*[" .",e],n&&"string"==typeof n&&(yield*[" .",e,'="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(u)){if(null==t)continue;const n="function"==typeof t?String(t):t;n&&"string"==typeof n&&(yield*[" style:",e,'="',n.replace(/[<&"]/g,ee),'"'])}if(!o.length)return yield"/>",void(t>=0&&(yield"\n"));if(1===o.length){const[e]=o;if("string"==typeof e&&e.length<80&&!e.includes("\n"))return yield">",yield*[e.replace(/[<&\t]/g,ee).replace(/]]>/g,"]]&gt;")],yield*["</",a,">"],void(t>=0&&(yield"\n"))}yield">",t>=0&&(yield"\n"),yield*ne(o,t>=0?t+1:-1),yield*[h,"</",a,">"],t>=0&&(yield"\n")}function*ne(e,t=0){if(!e.length)return"";const n=t>0?"".padEnd(t,"\t"):"";for(const r of e)if("string"==typeof r){let e=r.replace(/[<&\t]/g,ee).replace(/]]>/g,"]]&gt;");n&&(e=e.replace(/(?<=^|\n)/g,n)),yield e,t>=0&&(yield"\n")}else yield*te(r,t)}var re=Object.freeze({__proto__:null,parse:function(e,{createCalc:t=()=>{throw new _("CALC")},createEvent:n=()=>{throw new _("EVENT")},simpleTag:r=new Set}={}){const s=[],o={children:s},i=[];let a=null,l=o;function c(){a=i.pop()||null,l=a||o}function u(e){(e=e.replace(/^\n|(?<=\n)\t+|\n\t*$/g,""))&&l.children.push(e)}let f={},d=0;function h(t){if(t<=d)return;u(e.substring(d,t).replace(/&#?\w+;/g,J)),d=t}for(;;){const p=e.indexOf("<",d);if(p<0){const E=e.substring(d);E.match(/^\s*$/)||u(E);break}if(p>d&&h(p),"/"===e.charAt(p+1)){d=e.indexOf(">",p+3);let C=e.substring(p+2,d);if(d<0?(C=e.substring(p+2).replace(/[\s<].*/,""),X("UNCOMPLETED",C,a?.name),d=p+1+C.length):C.match(/\s</)&&(C=C.replace(/[\s<].*/,""),X("UNCOMPLETED",C),d=p+1+C.length),a){const A=a.name;if(A===C)c();else{if(A.toLowerCase()!=C.toLowerCase())throw new _("CLOSE",C,a.name);c()}}d++;continue}function g(t){let n=d+1;if(d=e.indexOf(t,n),d<0)throw new _("QUOTE",t);const r=e.slice(n,d).replace(/&#?\w+;/g,J);return d++,r}function m(){let t=e.charAt(d);for(;t<=" "||"€"===t;t=e.charAt(++d));return t}function y(){let t=d,n=e.charAt(d);for(;Q(n);)d++,n=e.charAt(d);return e.slice(t,d)}d=p+1;let b=e.charAt(d);switch(b){case"=":throw new _("EQUAL");case'"':case"'":throw new _("ATTR_VALUE");case">":case"/":throw new _("SYMBOL",b);case"":throw new _("EOF")}const v=y(),w=G.exec(v)?.groups;if(!w)throw new _("TAG",v);i.push(a),a=z(w.name,w.is),l.children.push(a),l=a;const x=Y(a,t,n);let S=!0,O=!1;e:for(;S;){let j=m();switch(j){case"":X("EOF"),d++;break e;case">":d++;break e;case"/":O=!0;break e;case'"':case"'":throw new _("ATTR_VALUE");case"=":throw new _("SYMBOL",j)}const $=y();if(!$){X("EOF"),d++;break e}switch(j=m(),j){case"":X("EOF"),d++;break e;case">":x($,""),d++;break e;case"/":x($,""),O=!0;break e;case"=":d++;break;case"'":case'"':x($,g(j));continue;default:x($,"");continue}switch(j=m(),j){case"":x($,""),X("EOF"),d++;break e;case">":x($,""),d++;break e;case"/":x($,""),O=!0;break e;case"'":case'"':x($,g(j));continue}x($,y())}if(O){for(;;){d++;const T=e.charAt(d);if("/"!==T&&!(T<=" "||"€"===T))break}switch(e.charAt(d)){case"=":throw new _("EQUAL");case'"':case"'":throw new _("ATTR_VALUE");case"":X("EOF");break;case">":d++;break;default:throw new _("CLOSE_SYMBOL")}c()}else(r.has(v)||Z(e,d,v,f))&&c()}return s},stringify:function(e,t){const n=t?0:-1;return Array.isArray(e)?[...ne(e,n)].join(""):[te(e,n)].join()}});let se=!0;const oe=new k.subtle.Watcher((()=>{se&&(se=!1,queueMicrotask(ie))}));function ie(){se=!0;for(const e of oe.getPending())e.get();oe.watch()}function ae(e,t){let n,r=!1;const s=new k.Computed((()=>{const s=e();r&&Object.is(s,n)||(n=s,r=!0,t(s))}));return oe.watch(s),s.get(),()=>{oe.unwatch(s)}}const le=new Set(Object.keys({type:!0,meta:!0,component:!0,kind:!0,value:!0,state:!0,store:!0,parent:!0,root:!0,schema:!0,new:!0,readonly:!0,creatable:!0,immutable:!0,required:!0,clearable:!0,hidden:!0,disabled:!0,label:!0,description:!0,placeholder:!0,min:!0,max:!0,step:!0,values:!0,null:!0,index:!0,no:!0,length:!0}));function*ce(e,t="",n="$"){yield[`${t}`,{get:()=>e.value,set:t=>e.value=t,store:e}];for(const r of le)yield[`${t}${n}${r}`,{get:()=>e[r]}];yield[`${t}${n}value`,{get:()=>e.value,set:t=>e.value=t}],yield[`${t}${n}state`,{get:()=>e.state,set:t=>e.state=t}],e instanceof D&&(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)}])}function ue(e,t,n){for(const[n,r]of t){for(const[t,s]of ce(r,n))e[t]=s;for(const[t,s]of ce(r,n,"$$"))e[t]=s}}function fe(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 de{exec(e){if("string"==typeof e){const t=this.#te[e];if("function"!=typeof t?.get)return;return t.get()}if("function"==typeof e)return e(this.getters)}watch(e,t){return ae((()=>this.exec(e)),t)}enum(e){if(!e)return!0;if(!0===e)return this.store;if("function"==typeof e)return()=>e(this.getters);if("string"!=typeof e)return null;const t=this.#te[e];if("function"!=typeof t?.get)return null;const n=t.store;return n instanceof R?n:t.get}bind(e,t,n){const r=this.#te[e];if(!r?.get)return;const{store:s}=r;return s?le.has(t)?ae((()=>s[t]),n):void 0:"value"===t?ae((()=>r.get()),n):void 0}bindAll(e){const t=this.#te[e];if(!t?.get)return;const{store:n}=t;if(!n){const e=t.get;if("function"!=typeof e)return;return{$value:t=>ae(e,t)}}return Object.fromEntries([...le].map((e=>[`$${e}`,t=>ae((()=>n[e]),t)])))}bindSet(e,t){const n=this.#te[e];if(!n?.get)return;const{store:r}=n;if(r)switch(t){case"value":return e=>{r.value=e};case"state":return e=>{r.state=e}}}bindStateAllSet(e){const t=this.#te[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=>{n.state=e}}}bindEvents(e){const t=this.#te[e];if(!t?.get)return;const{store:n}=t;if(!n){const e=t.set;if("function"!=typeof e)return;return{$value:e}}return{$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)}}}getEvent(e){if("function"==typeof e)return e;const t=this.#te[e];if(!t)return null;const{exec:n,calc:r}=t;return"function"==typeof n?n:"function"==typeof r?r:null}constructor(e,t){if(this.store=e,t instanceof de){this.#ne=t.#ne;const e=this.#re;for(const[n,r]of Object.entries(t.#re))e[n]=r;const n=this.#se;for(const[e,r]of Object.entries(t.#se))n[e]=r}else ue(this.#re,e),this.#ne=function(e){const t=Object.create(null);if(!e||"object"!=typeof e)return t;for(const[n,r]of Object.entries(e)){if(!n||n.includes("$"))continue;if(!r||"object"!=typeof r)continue;if(r instanceof R){for(const[e,s]of ce(r,n))t[e]=s;continue}const{get:e,set:s,exec:o,calc:i}=r;"function"!=typeof e?"function"!=typeof i?"function"!=typeof o||(t[n]={exec:o}):t[n]={calc:i}:t[n]="function"==typeof s?{get:e,set:s}:{get:e}}return t}(t)}#ne;#re=Object.create(null);#se=Object.create(null);store;#oe=null;#r=null;#ie=null;get#te(){const e=this.#ie;if(e)return e;const t=Object.create(null,Object.getOwnPropertyDescriptors({...this.#re,...this.#ne,...this.#se})),n=this.store,r=this.#r,s=this.#oe;if(s)for(const e of Object.keys(s))t[`$${e}`]={get:()=>s[e]};else{for(const[e,r]of ce(n))t[e]=r;for(const[e,s]of function*(e,t,n="",r="$"){if(!(e instanceof D))return yield[`${n}${r}upMovable`,{get:()=>!1}],void(yield[`${n}${r}downMovable`,{get:()=>!1}]);yield[`${n}${r}upMovable`,{get:()=>{const e=t.index;return"number"==typeof e&&!(e<=0)}}],yield[`${n}${r}downMovable`,{get:()=>{const n=t.index;return"number"==typeof n&&!(n>=e.length-1)}}],yield[`${n}${r}remove`,{exec:()=>e.remove(Number(t.index))}],yield[`${n}${r}upMove`,{exec:()=>{const n=t.index;"number"==typeof n&&(n<=0||e.move(n,n-1))}}],yield[`${n}${r}downMove`,{exec:()=>{const n=t.index;"number"==typeof n&&(n>=e.length-1||e.move(n,n+1))}}]}(r,n))t[e]=s}return this.#ie=t,t}setStore(e,t){const n=new de(e,this);return t&&(n.#r=t),ue(n.#re,e),n}child(e){if(!e)return this;const t=this.store.child(e);if(!t)return null;const n=new de(t,this);return ue(n.#re,t),n}params({params:e},{attrs:t},n,r){let s=this.store;if(!0===r)s=n.store;else if(r){const e=n.#te[r],t=e?.get&&e.store;t&&(s=t)}if(0===Object.keys(e).length)return this;const o=new de(s,this);o.#r=this.#r,o.#oe=this.#oe;const i=o.#se,a=o.#te;for(const[r,s]of Object.entries(e)){const e=r in t?t[r]:null;if("string"!=typeof e){if(e&&"object"==typeof e){const t=n.#te[e.name];if(!t?.get)continue;if(!t.store){i[r]=a[r]=t;continue}for(const[e,n]of ce(t.store,r))i[e]=a[e]=n;continue}if("function"==typeof e){const t=new k.Computed((()=>e(n.getters)));i[r]=a[r]={get:()=>t.get()};continue}if("function"==typeof s){const e=o.getters;o.#ae=null;const t=new k.Computed((()=>s(e)));i[r]=a[r]={get:()=>t.get()};continue}{const e=a[s];if(!e?.get)continue;if(!e.store){i[r]=a[r]=e;continue}for(const[t,n]of ce(e.store,r))i[t]=a[t]=n;continue}}i[r]=a[r]={get:()=>e}}return o}setObject(e){const t=new de(this.store,this);return t.#oe=e,t}set(e,t){if(Object.keys(e).length+Object.keys(t).length===0)return this;const n=new de(this.store,this);n.#r=this.#r,n.#oe=this.#oe;const r=n.#se,s=n.#te;for(const[t,o]of Object.entries(e)){if("function"==typeof o){const e=n.getters;n.#ae=null;const i=new k.Computed((()=>o(e)));r[t]=s[t]={get:()=>i.get()};continue}const e=s[o];if(e)if(e.get&&e.store)for(const[n,o]of ce(e.store,t))r[n]=s[n]=o;else r[t]=s[t]=e}for(const[e,o]of Object.entries(t)){const t=new k.State(null);if("function"==typeof o){const e=n.settable;n.#le=null,t.set(o(e))}else if(o&&"string"==typeof o){const e=s[o];if(!e?.get)continue;t.set(e.get())}r[e]=s[e]={get:()=>t.get(),set:e=>{t.set(e)}}}return n}#ce=null;get all(){const e=this.#ce;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#te))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 fe(this.store,t),this.#ce=t,t}#le=null;get settable(){const e=this.#le;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#te))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 fe(this.store,t),this.#le=t,t}#ae=null;get getters(){const e=this.#ae;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#te))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 fe(this.store,t),this.#ae=t,t}}const he={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 pe(e,t){let n=!!Array.isArray(t)&&Boolean(t[1]),r="";if("string"==typeof t)return r=t.replace(/!important\s*$/,""),r?(n=r!==t,[r,n?"important":void 0]):null;const s=Array.isArray(t)?t[0]:t;return"number"==typeof s||"bigint"==typeof s?r=s&&e in he?`${s}${he[e]}`:`${s}`:"string"==typeof s&&(r=s),r?[r,n?"important":void 0]:null}class ge{#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,s="number"==typeof e?String(e):e;let o=r.get(s);return o||(o=new Set,r.set(s,o)),o.add(n),()=>{o?.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 ye(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 ve(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 we={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 xe(e,t,n){const r=document.createElement(t,{is:n||void 0}),{watchAttr:s,props:o}=e;return e.listen("init",(({events:n})=>{const i=we[t.toLowerCase()],a=i?.attrs||{},l=i?.events||{};for(const[e,t,s]of n)if("$"!==e[0])r.addEventListener(e,t,s);else{const n=l[e];if(n){const[e,o]=n;r.addEventListener(e,(e=>t(o(e,r))),s)}}if(o)for(const[t,n]of Object.entries(e.tagAttrs))if(s(t,(e=>{if(o.has(t))r[t]=e;else{const n=ye(e);null==n?r.removeAttribute(t):r.setAttribute(t,n)}})),o.has(t))r[t]=n;else{const e=ye(n);null!==e&&r.setAttribute(t,e)}else for(const[t,n]of Object.entries(e.tagAttrs)){if(r instanceof HTMLInputElement&&"type"===t.toLocaleLowerCase()){const e=ye(n);null!==e&&r.setAttribute(t,e);continue}if("$hidden"===t){n&&(r.hidden=n),s(t,(e=>{r.hidden=e}));continue}if("$"===t[0]){const e=a[t];e&&(e(n,r),s(t,(t=>e(t,r))));continue}const e=ve(r,t);if("function"==typeof e){r[t]=e(n),s(t,(n=>{r[t]=e(n)}));continue}if(e){r[t]=n,s(t,(e=>{r[t]=e}));continue}let o=ye(n);null!==o&&r.setAttribute(t,o),s(t,(e=>{const n=ye(e);null===n?r.removeAttribute(t):r.setAttribute(t,n)}))}})),r}function Se(e){return null===(e??null)?"":String(e)}function Oe(e,t,n,{text:r,html:s}){if(null!=r){const s=e.insertBefore(document.createTextNode(""),t),o=n.watch(r,(e=>s.textContent=Se(e)));return()=>{s.remove(),o()}}if(null==s)return;const o=e.insertBefore(document.createComment(""),t),i=e.insertBefore(document.createComment(""),t),a=document.createElement("div");function l(){for(let e=o.nextSibling;e&&e!==i;e=o.nextSibling)e.remove()}const c=n.watch(s,(t=>{l(),function(t){a.innerHTML=t;for(let t=a.firstChild;t;t=o.firstChild)e.insertBefore(t,i)}(Se(t))}));return()=>{c(),l(),o.remove(),i.remove()}}function Ee(e,t,n,r,s,o){let i=new Set,a=[],l=Object.create(s);for(const t of e){if("string"==typeof t)continue;const e=t.directives.template;e&&(l[e]=[t,r])}function c(e){if(!e.length||!i)return;const s=t.insertBefore(document.createComment(""),n);let a=-1,c=()=>{};i.add((()=>{c(),c=()=>{},s.remove()})),i.add(ae((()=>e.findIndex((([e])=>null===e||r.exec(e)))),(t=>{t!==a&&(a=t,c(),c=()=>{},function(t){const n=e[t]?.[1];n&&(c=o(n,l))}(a))})))}for(const r of e){if("string"==typeof r){c(a),a=[];const e=document.createTextNode(r);t.insertBefore(e,n),i.add((()=>e.remove()));continue}if(r.directives.template){c(a),a=[];continue}if(a.length&&r.directives.else){const e=r.directives.if||null;a.push([e,r]),e||(c(a),a=[]);continue}c(a),a=[];const e=r.directives.if;e?a.push([e,r]):i.add(o(r,l))}return()=>{if(!i)return;const e=i;i=null;for(const t of e)t()}}function Ce(e,t,n,r,s,o,i){r=r.set(e.aliases,e.vars);const a=e.directives.bind,l=e.directives.fragment;if(l&&"string"==typeof l){const c=s[l];if(!c)return()=>{};const[u,f]=c,d=f.params(u,e,r,a);return Ae(u,t,n,d,s,o,i)}if(!e.name||e.directives.fragment)return Oe(t,n,r,e.directives)||Ee(e.children||[],t,n,r,s,((e,s)=>Ae(e,t,n,r,s,o,i)));const c=[...o,e.name],u=i?.(c);if(i&&!u)return()=>{};const{context:f,handler:d}=function(e,t){const n="string"==typeof e?e:e.tag,{attrs:r,events:s}="string"!=typeof e&&e||{attrs:null,events:null};let o=!1,i=!1;const a=Object.create(null),l=[],c=new ge,u=new ge;return{context:{events:l,props:r?new Set(Object.entries(r).filter((([,e])=>e.isProp)).map((([e])=>e))):null,tagAttrs:a,watchAttr:(e,t)=>u.listen(e,t),get destroyed(){return o},get init(){return i},listen:(e,t)=>c.listen(e,t)},handler:{tag:n,set(e,t){if(r&&!(e in r))return;e in a||(a[e]=void 0);const n=a[e];n!==t&&(a[e]=t,u.emit(e,t,n,e))},addEvent(e,n){if("function"!=typeof n)return;const[r,...o]=e.split(".").filter(Boolean),i=s?s[r].filters:{};if(!i)return;const a={},c=[];if(i)for(let e=o.shift();e;e=o.shift()){const t=e.indexOf(":"),n=t>=0?e.slice(0,t):e,r=t>=0?e.slice(t+1).split(":"):[],s=n.replace(/^-+/,""),o=(n.length-s.length)%2==1;let l=i[s]||s;switch(l){case"once":a.once=!o;break;case"passive":a.passive=!o;break;case"capture":a.capture=!o;break;default:"string"==typeof l&&(l=me[l])}"function"==typeof l&&c.push([l,r,o])}l.push([r,e=>{const r=t.all;for(const[t,n,s]of c)if(t(e,n,r)===s)return;n(e,r)},a])},destroy(){o||(o=!0,c.emit("destroy"))},init(){i||(i=!0,c.emit("init",{events:l}))}}}}(u||e.name,r),h=u?.attrs,p=h?function(e,t,n,r,s){let o=new Set;for(const[i,a]of Object.entries(r)){const r=n[i];if(i in n){if("function"!=typeof r&&"object"!=typeof r){e.set(i,r);continue}const n="function"==typeof r?r:r.name;if(a.immutable){e.set(i,t.exec(n));continue}o.add(t.watch(n,(t=>e.set(i,t))));continue}const l=a.bind;if(!s||!l||"boolean"==typeof s){e.set(i,a.default);continue}if("string"==typeof l){const n=t.bind(s,l,(t=>e.set(i,t)));n?o.add(n):e.set(i,a.default);continue}if(!Array.isArray(l)){e.set(i,a.default);continue}const[c,u,f]=l;if(!c||"function"!=typeof u)continue;if(!f){o.add(t.watch(s,(t=>e.set(i,t)))),e.addEvent(c,((...e)=>{t.all[s]=u(...e)}));continue}const d=t.bind(s,"state",(t=>e.set(i,t)));if(!d)continue;o.add(d);const h=t.bindSet(s,"state");h&&e.addEvent(c,((...e)=>{h(u(...e))}))}return()=>{const e=o;o=new Set;for(const t of e)t()}}(d,r,e.attrs,h,a):function(e,t,n,r){const s=e.tag;let o=new Set;for(const[r,i]of Object.entries(n)){if("function"!=typeof i&&"object"!=typeof i){e.set(r,i);continue}const n="function"==typeof i?i:i.name;if("string"!=typeof s||"input"!==s.toLocaleLowerCase()||"type"!==r.toLocaleLowerCase())o.add(t.watch(n,(t=>e.set(r,t))));else{const s=t.exec(n);e.set(r,s)}}if(r&&"boolean"!=typeof r){for(const[n,s]of Object.entries(t.bindAll(r)||{}))"function"==typeof s&&o.add(s((t=>e.set(n,t))));for(const[n,s]of Object.entries(t.bindStateAllSet(r)||{}))"function"==typeof s&&e.addEvent(n,(e=>s(e)))}return()=>{const e=o;o=new Set;for(const t of e)t()}}(d,r,e.attrs,a);for(const[t,n]of Object.entries(e.events)){const e=r.getEvent(n);e&&d.addEvent(t,e)}if(a&&"boolean"!=typeof a)for(const[e,t]of Object.entries(r.bindEvents(a)||{}))d.addEvent(e,t);const g=u?"function"==typeof u.tag?u.tag(f):xe(f,u.tag,u.is):xe(f,e.name,e.is),m=Array.isArray(g)?g[0]:g,y=Array.isArray(g)?g[1]:m;t.insertBefore(m,n);const b=y?Oe(y,null,r,e.directives)||Ee(e.children||[],y,null,r,s,((e,t)=>Ae(e,y,null,r,t,o,i))):()=>{};return function(e,t,n){if(!(e instanceof Element))return()=>{};let r=new Set;for(const[s,o]of Object.entries(t))o&&(!0!==o?r.add(ae((()=>Boolean(n.exec(o))),(t=>{t?e.classList.add(s):e.classList.remove(s)}))):e.classList.add(s))}(m,e.classes,r),function(e,t,n){if(!(e instanceof HTMLElement||e instanceof SVGElement))return()=>{};let r=new Set;for(const[s,o]of Object.entries(t))r.add(ae((()=>pe(s,n.exec(o))),(t=>{t?e.style.setProperty(s,...t):e.style.removeProperty(s)})))}(m,e.styles,r),d.init(),()=>{m.remove(),d.destroy(),p(),b()}}function Ae(e,t,n,r,s,o,i){const{directives:a}=e,l=r.child(a.value);if(!l)return()=>{};const c=l.enum(a.enum),u=(n,r)=>Ce(e,t,n,r,s,o,i);return!0===c?u(n,l):c instanceof D?function(e,t,n,r,s){const o=e.insertBefore(document.createComment(""),t);let i=new Map;function a(e){for(const[t,n,r]of e.values())r(),t.remove(),n.remove()}const l=ae((()=>n.children),(function(t){if(!o.parentNode)return;let l=o.nextSibling;const c=i;i=new Map;for(let o of t){const t=c.get(o);if(!t){const t=e.insertBefore(document.createComment(""),l),a=e.insertBefore(document.createComment(""),l),c=s(a,r.setStore(o,n));i.set(o,[t,a,c]);continue}if(c.delete(o),i.set(o,t),l===t[0]){l=t[1].nextSibling;continue}let a=t[0];for(;a&&a!==t[1];){const t=a;a=a.nextSibling,e.insertBefore(t,l)}e.insertBefore(t[1],l)}a(c)}));return()=>{o.remove(),a(i),l()}}(t,n,c,l,u):c instanceof V?function(e,t,n,r,s){const o=[];for(const[e,i]of[...n])o.push(s(t,r.setStore(i,n)));return()=>{for(const e of o)e()}}(0,n,c,l,u):"function"==typeof c?function(e,t,n,r,s){const o=new k.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,t])):[]}return e&&"object"==typeof e?Array.isArray(e)?e.map(((e,t)=>[e,t,t])):Object.entries(e).map((([e,t],n)=>[t,n,e])):[]})),i=e.insertBefore(document.createComment(""),t);let a=[];function l(e){for(const[t,n,r]of e)r(),t.remove(),n.remove()}const c=ae((()=>o.get()),(function(t){if(!i.parentNode)return;let n=i.nextSibling;const o=a;a=[];for(const[i,l,c]of t){const t=o.findIndex((e=>e[3]===c)),[u]=t>=0?o.splice(t,1):[];if(!u){const t=e.insertBefore(document.createComment(""),n),o=e.insertBefore(document.createComment(""),n),u=new k.State(i),f=new k.State(l),d=s(o,r.setObject({get key(){return c},get value(){return u.get()},get index(){return f.get()}}));a.push([t,o,d,c,u,f]);continue}if(a.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)}l(o)}));return()=>{i.remove(),l(a),c()}}(t,n,c,l,u):()=>{}}function je(e,t,n,r,s){const o=[r,s],i=o.find((e=>"function"==typeof e)),a=o.find((e=>"object"==typeof e)),l=new de(e,a),c=Object.create(null);return Ee(t,n,null,l,c,((e,t)=>Ae(e,n,null,l,t,[],i)))}export{re as Layout,k as Signal,R as Store,je as render};
60
+ function(e){const t=Object.create(T);t.value=e;const n=()=>(d(t),t.value);return n[c]=t,n}(n),a=i[c];if(this[N]=a,a.wrapper=this,s){const t=s.equals;t&&(a.equal=t),a.watched=s[e.subtle.watched],a.unwatched=s[e.subtle.unwatched]}}get(){if(!(0,e.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.get");return j.call(this[N])}set(t){if(!(0,e.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.set");if(a)throw new Error("Writes to signals not permitted during Watcher callback");$(this[N],t)}};h=N,p=new WeakSet,e.isComputed=e=>n(p,e),e.Computed=class{constructor(n,s){r(this,p),t(this,h);const o=function(e){const t=Object.create(C);t.computation=e;const n=()=>x(t);return n[c]=t,n}(n),i=o[c];if(i.consumerAllowSignalWrites=!0,this[N]=i,i.wrapper=this,s){const t=s.equals;t&&(i.equal=t),i.watched=s[e.subtle.watched],i.unwatched=s[e.subtle.unwatched]}}get(){if(!(0,e.isComputed)(this))throw new TypeError("Wrong receiver type for Signal.Computed.prototype.get");return x(this[N])}},(o=>{var a,l,c,h;o.untrack=function(e){let t,n=null;try{n=u(null),t=e()}finally{u(n)}return t},o.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[N].producerNode)?void 0:n.map((e=>e.wrapper)))??[]},o.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[N].liveConsumerNode)?void 0:n.map((e=>e.wrapper)))??[]},o.hasSinks=function(t){if(!(0,e.isComputed)(t)&&!(0,e.isState)(t))throw new TypeError("Called hasSinks without a Signal argument");const n=t[N].liveConsumerNode;return!!n&&n.length>0},o.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[N].producerNode;return!!n&&n.length>0};a=N,l=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(l,e),o.Watcher=class{constructor(e){r(this,l),r(this,c),t(this,a);let n=Object.create(f);n.wrapper=this,n.consumerMarkedDirty=e,n.consumerIsAlwaysLive=!0,n.consumerAllowSignalWrites=!1,n.producerNode=[],this[N]=n}watch(...t){if(!(0,e.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");s(this,c,h).call(this,t);const n=this[N];n.dirty=!1;const r=u(n);for(const e of t)d(e[N]);u(r)}unwatch(...t){if(!(0,e.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");s(this,c,h).call(this,t);const n=this[N];v(n);for(let e=n.producerNode.length-1;e>=0;e--)if(t.includes(n.producerNode[e].wrapper)){y(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[N].producerNode.filter((e=>e.dirty)).map((e=>e.wrapper))}},o.currentComputed=function(){var e;return null==(e=i)?void 0:e.wrapper},o.watched=Symbol("watched"),o.unwatched=Symbol("unwatched")})(e.subtle||(e.subtle={}))})(k||(k={}));const M=(e,t,n,r)=>{const s=new k.State("boolean"==typeof t?t:null);let o;if("function"==typeof n)o=new k.Computed((()=>Boolean(n(e,e.root))));else{const e=Boolean(n);o=new k.Computed((()=>e))}const i=()=>{const e=s.get();return null===e?o.get():e},a=r?new k.Computed((()=>r.get()||i())):new k.Computed(i);return[s,a]},L=e=>"string"==typeof e&&e||null,I=e=>"number"==typeof e&&e||null,U=Boolean;function q(e){if("number"==typeof e||"string"==typeof e)return{label:e,value:e};if(!e||"object"!=typeof e)return null;const{children:t,label:n,value:r}=e,s=Array.isArray(t)?t.map(q).filter(U):[];return s.length?{children:s,label:n,value:r}:"number"==typeof r||"string"==typeof r?{label:n,value:r}:null}const P=e=>{if(!e||!Array.isArray(e))return null;const t=e.map(q).filter(U);return t.length?t:null};function B(e,t,n,r){const s=new k.State(t(n));let o;if("function"==typeof r){const n=r;o=new k.Computed((()=>t(n(e,e.root))))}else{const e=t(r);o=new k.Computed((()=>e))}const i=new k.Computed((()=>{const e=s.get();return null===e?o.get():e}));return[s,i]}class R{#e=new Map;emit(e,t){const n="number"==typeof e?String(e):e,r=this.#e;let s=!1;for(const e of[...r.get(n)||[]])s=!1===e(t,this)||s;return!s}listen(e,t){const n=t.bind(this),r=this.#e,s="number"==typeof e?String(e):e;let o=r.get(s);return o||(o=new Set,r.set(s,o)),o.add(n),()=>{o?.delete(n)}}static create(e,t={}){return new V({type:null,props:e},{...t,parent:null})}#t=!1;get null(){return this.#t}get kind(){return""}constructor(e,{null:t,state:n,setValue:r,setState:s,convert:o,onUpdate:i,onUpdateState:a,index:l,length:c,new:u,parent:f,hidden:d,clearable:h,required:p,disabled:g,readonly:m,label:y,description:b,placeholder:v,min:w,max:x,step:O,values:S}){this.schema=e,this.#n.set("object"==typeof n&&n||{});const E=f instanceof R?f:null;E&&(this.#r=E,this.#s=E.#s),this.#o=e.type,this.#i=e.meta,this.#a=e.component;const C=new k.State(Boolean(u));this.#l=C;const A=E?new k.Computed((()=>E.#c.get()||C.get())):new k.Computed((()=>C.get()));this.#c=A;const j=Boolean(e.immutable),$=!1!==e.creatable;this.#u=j,this.#f=$;const T=e.readonly,N=new k.State("boolean"==typeof m?m:null);let U;if("function"==typeof T)U=new k.Computed((()=>Boolean(T(this,this.root))));else{const e=Boolean(T);U=new k.Computed((()=>e))}const q=()=>{if(A.get()?!$:j)return!0;const e=N.get();return null===e?U.get():e},V=E?E.#d:null;if(this.#h=N,this.#d=V?new k.Computed((()=>V.get()||q())):new k.Computed(q),[this.#p,this.#g]=M(this,d,e.hidden,E?E.#g:null),[this.#m,this.#y]=M(this,h,e.clearable,E?E.#y:null),[this.#b,this.#v]=M(this,p,e.required,E?E.#v:null),[this.#w,this.#x]=M(this,g,e.disabled,E?E.#x:null),[this.#O,this.#S]=B(this,L,y,e.label),[this.#E,this.#C]=B(this,L,b,e.description),[this.#A,this.#j]=B(this,L,v,e.placeholder),[this.#$,this.#T]=B(this,I,w,e.min),[this.#N,this.#k]=B(this,I,x,e.max),[this.#M,this.#L]=B(this,I,O,e.step),[this.#I,this.#U]=B(this,P,S,e.values),t)this.#t=!0;else{this.#q=i||null,this.#P=a||null,this.#B="function"==typeof r?r:null,this.#R="function"==typeof s?s:null,this.#V="function"==typeof o?o:null,this.#D.set(c||0),this.#W.set(l??"");for(const[t,n]of Object.entries(e.events||{}))"function"==typeof n&&this.listen(t,n)}}#_=!1;#B=null;#R=null;#V=null;#q=null;#P=null;#r=null;#s=this;#o;#i;#a;get store(){return this}get parent(){return this.#r}get root(){return this.#s}get type(){return this.#o}get meta(){return this.#i}get component(){return this.#a}#D=new k.State(0);get length(){return this.#D.get()}set length(e){this.#D.set(e)}#W=new k.State("");get index(){return this.#W.get()}set index(e){this.#W.set(e)}get no(){if(this.#t)return"";const e=this.index;return"number"==typeof e?e+1:e}#f=!0;get creatable(){return this.#f}#u=!1;get immutable(){return this.#u}#c;#l;get selfNew(){return this.#l.get()}set selfNew(e){this.#l.set(Boolean(e))}get new(){return this.#c.get()}set new(e){this.#l.set(Boolean(e))}#p;#g;get selfHidden(){return this.#p.get()}set selfHidden(e){this.#p.set("boolean"==typeof e?e:null)}get hidden(){return this.#g.get()}set hidden(e){this.#p.set("boolean"==typeof e?e:null)}#m;#y;get selfClearable(){return this.#m.get()}set selfClearable(e){this.#m.set("boolean"==typeof e?e:null)}get clearable(){return this.#y.get()}set clearable(e){this.#m.set("boolean"==typeof e?e:null)}#b;#v;get selfRequired(){return this.#b.get()}set selfRequired(e){this.#b.set("boolean"==typeof e?e:null)}get required(){return this.#v.get()}set required(e){this.#b.set("boolean"==typeof e?e:null)}#w;#x;get selfDisabled(){return this.#w.get()}set selfDisabled(e){this.#w.set("boolean"==typeof e?e:null)}get disabled(){return this.#x.get()}set disabled(e){this.#w.set("boolean"==typeof e?e:null)}#h;#d;get selfReadonly(){return this.#h.get()}set selfReadonly(e){this.#h.set("boolean"==typeof e?e:null)}get readonly(){return this.#d.get()}set readonly(e){this.#h.set("boolean"==typeof e?e:null)}#O;#S;get selfLabel(){return this.#O.get()}set selfLabel(e){this.#O.set(L(e))}get label(){return this.#S.get()}set label(e){this.#O.set(L(e))}#E;#C;get selfDescription(){return this.#E.get()}set selfDescription(e){this.#E.set(L(e))}get description(){return this.#C.get()}set description(e){this.#E.set(L(e))}#A;#j;get selfPlaceholder(){return this.#A.get()}set selfPlaceholder(e){this.#A.set(L(e))}get placeholder(){return this.#j.get()}set placeholder(e){this.#A.set(L(e))}#$;#T;get selfMin(){return this.#$.get()}set selfMin(e){this.#$.set(I(e))}get min(){return this.#T.get()}set min(e){this.#$.set(I(e))}#N;#k;get selfMax(){return this.#N.get()}set selfMax(e){this.#N.set(I(e))}get max(){return this.#k.get()}set max(e){this.#N.set(I(e))}#M;#L;get selfStep(){return this.#M.get()}set selfStep(e){this.#M.set(I(e))}get step(){return this.#L.get()}set step(e){this.#M.set(I(e))}#I;#U;get selfValues(){return this.#I.get()}set selfValues(e){this.#I.set(P(e))}get values(){return this.#U.get()}set values(e){this.#I.set(P(e))}*[Symbol.iterator](){}child(e){return null}#K=!1;#H=null;#Y=this.#H;#z=new k.State(this.#H);#n=new k.State(null);#F=this.#n.get();get changed(){return this.#z.get()===this.#Y}get saved(){return this.#z.get()===this.#H}get value(){return this.#z.get()}set value(e){if(this.#_)return;const t=this.#B?.(e)||e;this.#z.set(t),this.#K||(this.#K=!0,this.#H=e),this.#q?.(this.#z.get(),this.#W.get()),this.#G()}get state(){return this.#n.get()}set state(e){if(this.#_)return;const t=this.#R?.(e)||e;this.#n.set(t),this.#K=!0,this.#P?.(this.#n.get(),this.#W.get()),this.#G()}#G(){this.#Q||(this.#Q=!0,queueMicrotask((()=>{const e=this.#z.get(),t=this.#n.get();return this.#Z(e,t)})))}#Q=!1;#X(e,t){if(this.#_)return e;const[n,r]=this.#V?.(e,t)||[e,t];return this.#z.get()===n&&this.#n.get()===r?[n,r]:(this.#z.set(n),this.#n.set(r),this.#K||(this.#K=!0,this.#H=n),this.#Z(n,r))}#Z(e,t){if(this.#_)return[e,t];if(this.#Q=!1,e&&"object"==typeof e){let n=Array.isArray(e)?[...e]:{...e},r=Array.isArray(e)?Array.isArray(t)?[...t]:[]:{...t},s=!1;for(const[o,i]of this){const a=e[o],l=t?.[o],[c,u]=i.#X(a,l);a!==c&&(n[o]=c,s=!0),l!==u&&(r[o]=u,s=!0)}s&&(e=n,t=r,this.#z.set(e),this.#n.set(r))}return this.#Y===e&&this.#F===t||(this.#Y=e,this.#F=t),[e,t]}get destroyed(){return this.#_}destroy(){if(!this.#_){this.#_=!0;for(const[,e]of this)e.destroy()}}}class V extends R{get kind(){return"object"}#J;*[Symbol.iterator](){yield*Object.entries(this.#J)}child(e){return this.#J[e]||null}constructor(e,{parent:t,index:n,new:r,onUpdate:s,onUpdateState:o}={}){super(e,{parent:t,index:n,new:r,onUpdate:s,onUpdateState:o,setValue:e=>"object"!=typeof e?{}:e,setState:e=>"object"!=typeof e?{}:e,convert:(e,t)=>["object"==typeof e?e:{},"object"==typeof t?t:{}]});const i=Object.create(null),a={parent:this,onUpdate:(e,t)=>{this.value={...this.value,[t]:e}},onUpdateState:(e,t)=>{this.state={...this.state,[t]:e}}};for(const[t,n]of Object.entries(e.props||{})){let e;e="string"==typeof n.type?n.array?new D(n,{...a,index:t}):new R(n,{...a,index:t}):n.array?new D(n,{...a,index:t}):new V(n,{...a,index:t}),i[t]=e}this.#J=i}}class D extends R{#ee=()=>{throw new Error};#J=new k.State([]);get children(){return[...this.#J.get()]}*[Symbol.iterator](){return yield*[...this.#J.get().entries()]}child(e){const t=this.#J.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,onUpdateState:r,index:s,new:o}={}){const i=e=>{if(this.destroyed)return;const t=Array.isArray(e)&&e.length||0,n=[...this.#J.get()],r=n.length;for(let e=n.length;e<t;e++)n.push(this.#ee(e));for(const e of n.splice(t))e.destroy();r!==t&&(this.length=n.length,this.#J.set(n))};super(e,{index:s,new:o,parent:t,state:[],setValue:e=>Array.isArray(e)?e:null==e?[]:[e],setState:e=>Array.isArray(e)?e:null==e?[]:[e],convert(e,t){const n=Array.isArray(e)?e:null==e?[]:[e];return i(n),[n,Array.isArray(t)?t:null==e?[]:[t]]},onUpdate:(e,t)=>{i(e),n?.(e,t)},onUpdateState:r});const a={parent:this,onUpdate:(e,t)=>{const n=[...this.value||[]];n.length<t&&(n.length=t),n[t]=e,this.value=n},onUpdateState:(e,t)=>{const n=[...this.state||[]];n.length<t&&(n.length=t),n[t]=e,this.state=n}};if("string"==typeof e.type)this.#ee=(t,n)=>{const r=new R(e,{...a,index:t,new:n});return r.index=t,r};else{if(Array.isArray(e.props))throw new Error;this.#ee=(t,n)=>{const r=new V(e,{...a,index:t,new:n});return r.index=t,r}}}insert(e,t,n){if(this.destroyed)return!1;const r=this.value;if(!Array.isArray(r))return!1;const s=[...this.#J.get()],o=Math.max(0,Math.min(Math.floor(e),s.length)),i=this.#ee(o,n);i.new=!0,s.splice(o,0,i);for(let t=e+1;t<s.length;t++)s[t].index=t;const a=[...r];a.splice(o,0,t);const l=this.state;if(Array.isArray(l)){const e=[...l];e.splice(o,0,{}),this.state=e}return this.value=a,this.length=s.length,this.#J.set(s),!0}add(e){return this.insert(this.#J.get().length,e)}remove(e){if(this.destroyed)return;const t=this.value;if(!Array.isArray(t))return;const n=[...this.#J.get()],r=Math.max(0,Math.min(Math.floor(e),n.length)),[s]=n.splice(r,1);if(!s)return;for(let t=e;t<n.length;t++)n[t].index=t;s.destroy();const o=[...t],[i]=o.splice(r,1),a=this.state;if(Array.isArray(a)){const e=[...this.state];e.splice(r,1),this.state=e}return this.value=o,this.length=n.length,this.#J.set(n),i}move(e,t){if(this.destroyed)return!1;const n=this.value;if(!Array.isArray(n))return!1;const r=[...this.#J.get()],[s]=r.splice(e,1);if(!s)return!1;r.splice(t,0,s);let o=Math.min(e,t),i=Math.max(e,t);for(let e=o;e<=i;e++)r[e].index=e;const a=[...n],[l]=a.splice(e,1);a.splice(t,0,l);const c=this.state;if(Array.isArray(c)){const n=[...c],[r={}]=n.splice(e,1);t<=n.length?n.splice(t,0,r):n[t]=r,this.state=n}return this.value=a,this.#J.set(r),!0}exchange(e,t){if(this.destroyed)return!1;const n=this.value;if(!Array.isArray(n))return!1;const r=[...this.#J.get()],s=r[e],o=r[t];if(!s||!o)return!1;r[t]=s,r[e]=o,s.index=t,o.index=e;const i=[...n],a=i[e],l=i[t];i[t]=a,i[e]=l;const c=this.state;if(Array.isArray(c)){const n=[...c],r=n[e],s=n[t];n[t]=r,n[e]=s,this.state=n}return this.value=i,this.#J.set(r),!0}}const W={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 _ extends Error{constructor(e,...t){const n=W[e];super("function"==typeof n?n(...t):n),this.code=e}}const K=/^(?<decorator>[:@!+*\.?]|style:|样式:)?(?<name>-?[\w\p{Unified_Ideograph}_][-\w\p{Unified_Ideograph}_:\d\.]*)$/u,H=/^(?<name>[a-zA-Z$\p{Unified_Ideograph}_][\da-zA-Z$\p{Unified_Ideograph}_]*)?$/u;function Y(e,t,n){const{attrs:r,directives:s,events:o,classes:i,styles:a,vars:l,aliases:c,params:u}=e;return function(e,f){const d=K.exec(e.replace(/./g,".").replace(/:/g,":").replace(/@/g,"@").replace(/+/g,"+").replace(/-/g,"-").replace(/[*×]/g,"*").replace(/!/g,"!"))?.groups;if(!d)throw new _("ATTR",e);const{name:h}=d,p=d.decorator?.toLowerCase();if(p){if(":"===p)r[h]=H.test(f)?{name:f}:t(f);else if("."===p)i[h]=!f||(H.test(f)?f:t(f));else if("style:"===p)a[h]=H.test(f)?f:t(f);else if("@"===p)o[h]=H.test(f)?f:n(f);else if("+"===p)l[h]=f?H.test(f)?f:t(f):"";else if("*"===p)c[h]=H.test(f)?f:t(f);else if("?"===p)u[h]=H.test(f)?f:t(f);else if("!"===p){const e=h.toString();switch(e){case"fragment":s.fragment=f||!0;break;case"else":s.else=!0;break;case"enum":s.enum=!f||(H.test(f)?f:t(f));break;case"if":case"text":case"html":s[e]=H.test(f)?f:t(f);break;case"template":s.template=f;break;case"bind":s.bind=f||!0;break;case"value":s.value=f;break;case"comment":s.comment=f}}}else r[h]=f}}function z(e,t){return{name:e,is:t,children:[],attrs:Object.create(null),events:Object.create(null),directives:Object.create(null),classes:Object.create(null),styles:Object.create(null),vars:Object.create(null),aliases:Object.create(null),params:Object.create(null)}}var F={lt:"<",gt:">",amp:"&",quot:'"',apos:"'",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",times:"×",divide:"÷",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",euro:"€",trade:"™",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"};const G=/^(?<name>[\w\p{Unified_Ideograph}_][-\.\|:|d\w\p{Unified_Ideograph}_:]*)(?:|(?<is>[\w\p{Unified_Ideograph}_][-\.\|:|d\w\p{Unified_Ideograph}_]*))?$/u;function Q(e){return"="!==e&&"/"!==e&&">"!==e&&e&&"'"!==e&&'"'!==e&&!function(e){return"0x80"===e||e<=" "}(e)}function Z(e,t,n,r){let s=r[n];return null==s&&(s=e.lastIndexOf("</"+n+">"),s<t&&(s=e.lastIndexOf("</"+n)),r[n]=s),s<t}function X(...e){console.error(new _(...e))}function J(e){const t=e.slice(1,-1);return"#"===t.charAt(0)?String.fromCodePoint(parseInt(t.substring(1).replace("x","0x"))):t in F?F[t]:(X("ENTITY",e),e)}function ee(e){return("<"==e?"&lt;":">"==e&&"&gt;")||"&"==e&&"&amp;"||'"'==e&&"&quot;"||"&#"+e.charCodeAt()+";"}function*te(e,t=0){const{attrs:n,events:r,directives:s,children:o,is:i,name:a,params:l,classes:c,styles:u,aliases:f,vars:d}=e,h=t>0?"".padEnd(t,"\t"):"";yield h,yield*["<",a||"-"],i&&(yield*["|",i]);for(const[e,t]of Object.entries(l)){if(null==t)continue;const n="function"==typeof t?String(t):t;yield*[" ?",e],n&&"string"==typeof n&&(yield*['="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(s)){if(!1===t||null==t)continue;const n="function"==typeof t?String(t):t;yield*[" !",e],n&&"string"==typeof n&&(yield*['="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(f)){if(null==t)continue;const n="function"==typeof t?String(t):t;yield*[" *",e],n&&"string"==typeof n&&(yield*['="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(d)){if(null==t)continue;const n="function"==typeof t?String(t):t;yield*[" +",e],n&&"string"==typeof n&&(yield*['="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(n)){if(null==t)continue;if("string"==typeof t){yield*[" ",e],t&&(yield*['="',t.replace(/[<&"]/g,ee),'"']);continue}const n="function"==typeof t?String(t):"object"==typeof t?t.name:t;n&&"string"==typeof n&&(yield*[" :",e,'="',n.replace(/[<&"]/g,ee)||"",'"'])}for(const[e,t]of Object.entries(r)){if(null==t)continue;const n="function"==typeof t?String(t):t;n&&"string"==typeof n&&(yield*[" @",e,'="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(c)){if(null==t||0==t)continue;const n="function"==typeof t?String(t):t;yield*[" .",e],n&&"string"==typeof n&&(yield*[" .",e,'="',n.replace(/[<&"]/g,ee),'"'])}for(const[e,t]of Object.entries(u)){if(null==t)continue;const n="function"==typeof t?String(t):t;n&&"string"==typeof n&&(yield*[" style:",e,'="',n.replace(/[<&"]/g,ee),'"'])}if(!o.length)return yield"/>",void(t>=0&&(yield"\n"));if(1===o.length){const[e]=o;if("string"==typeof e&&e.length<80&&!e.includes("\n"))return yield">",yield*[e.replace(/[<&\t]/g,ee).replace(/]]>/g,"]]&gt;")],yield*["</",a,">"],void(t>=0&&(yield"\n"))}yield">",t>=0&&(yield"\n"),yield*ne(o,t>=0?t+1:-1),yield*[h,"</",a,">"],t>=0&&(yield"\n")}function*ne(e,t=0){if(!e.length)return"";const n=t>0?"".padEnd(t,"\t"):"";for(const r of e)if("string"==typeof r){let e=r.replace(/[<&\t]/g,ee).replace(/]]>/g,"]]&gt;");n&&(e=e.replace(/(?<=^|\n)/g,n)),yield e,t>=0&&(yield"\n")}else yield*te(r,t)}var re=Object.freeze({__proto__:null,parse:function(e,{createCalc:t=()=>{throw new _("CALC")},createEvent:n=()=>{throw new _("EVENT")},simpleTag:r=new Set}={}){const s=[],o={children:s},i=[];let a=null,l=o;function c(){a=i.pop()||null,l=a||o}function u(e){(e=e.replace(/^\n|(?<=\n)\t+|\n\t*$/g,""))&&l.children.push(e)}let f={},d=0;function h(t){if(t<=d)return;u(e.substring(d,t).replace(/&#?\w+;/g,J)),d=t}for(;;){const p=e.indexOf("<",d);if(p<0){const E=e.substring(d);E.match(/^\s*$/)||u(E);break}if(p>d&&h(p),"/"===e.charAt(p+1)){d=e.indexOf(">",p+3);let C=e.substring(p+2,d);if(d<0?(C=e.substring(p+2).replace(/[\s<].*/,""),X("UNCOMPLETED",C,a?.name),d=p+1+C.length):C.match(/\s</)&&(C=C.replace(/[\s<].*/,""),X("UNCOMPLETED",C),d=p+1+C.length),a){const A=a.name;if(A===C)c();else{if(A.toLowerCase()!=C.toLowerCase())throw new _("CLOSE",C,a.name);c()}}d++;continue}function g(t){let n=d+1;if(d=e.indexOf(t,n),d<0)throw new _("QUOTE",t);const r=e.slice(n,d).replace(/&#?\w+;/g,J);return d++,r}function m(){let t=e.charAt(d);for(;t<=" "||"€"===t;t=e.charAt(++d));return t}function y(){let t=d,n=e.charAt(d);for(;Q(n);)d++,n=e.charAt(d);return e.slice(t,d)}d=p+1;let b=e.charAt(d);switch(b){case"=":throw new _("EQUAL");case'"':case"'":throw new _("ATTR_VALUE");case">":case"/":throw new _("SYMBOL",b);case"":throw new _("EOF")}const v=y(),w=G.exec(v)?.groups;if(!w)throw new _("TAG",v);i.push(a),a=z(w.name,w.is),l.children.push(a),l=a;const x=Y(a,t,n);let O=!0,S=!1;e:for(;O;){let j=m();switch(j){case"":X("EOF"),d++;break e;case">":d++;break e;case"/":S=!0;break e;case'"':case"'":throw new _("ATTR_VALUE");case"=":throw new _("SYMBOL",j)}const $=y();if(!$){X("EOF"),d++;break e}switch(j=m(),j){case"":X("EOF"),d++;break e;case">":x($,""),d++;break e;case"/":x($,""),S=!0;break e;case"=":d++;break;case"'":case'"':x($,g(j));continue;default:x($,"");continue}switch(j=m(),j){case"":x($,""),X("EOF"),d++;break e;case">":x($,""),d++;break e;case"/":x($,""),S=!0;break e;case"'":case'"':x($,g(j));continue}x($,y())}if(S){for(;;){d++;const T=e.charAt(d);if("/"!==T&&!(T<=" "||"€"===T))break}switch(e.charAt(d)){case"=":throw new _("EQUAL");case'"':case"'":throw new _("ATTR_VALUE");case"":X("EOF");break;case">":d++;break;default:throw new _("CLOSE_SYMBOL")}c()}else(r.has(v)||Z(e,d,v,f))&&c()}return s},stringify:function(e,t){const n=t?0:-1;return Array.isArray(e)?[...ne(e,n)].join(""):[te(e,n)].join()}});let se=!0;const oe=new k.subtle.Watcher((()=>{se&&(se=!1,queueMicrotask(ie))}));function ie(){se=!0;for(const e of oe.getPending())e.get();oe.watch()}function ae(e,t){let n,r=!1;const s=new k.Computed((()=>{const s=e();r&&Object.is(s,n)||(n=s,r=!0,t(s))}));return oe.watch(s),s.get(),()=>{oe.unwatch(s)}}const le=new Set(Object.keys({type:!0,meta:!0,component:!0,kind:!0,value:!0,state:!0,store:!0,parent:!0,root:!0,schema:!0,new:!0,readonly:!0,creatable:!0,immutable:!0,required:!0,clearable:!0,hidden:!0,disabled:!0,label:!0,description:!0,placeholder:!0,min:!0,max:!0,step:!0,values:!0,null:!0,index:!0,no:!0,length:!0}));function*ce(e,t="",n="$"){yield[`${t}`,{get:()=>e.value,set:t=>e.value=t,store:e}];for(const r of le)yield[`${t}${n}${r}`,{get:()=>e[r]}];yield[`${t}${n}value`,{get:()=>e.value,set:t=>e.value=t}],yield[`${t}${n}state`,{get:()=>e.state,set:t=>e.state=t}],e instanceof D&&(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)}])}function ue(e,t,n){for(const[n,r]of t){for(const[t,s]of ce(r,n))e[t]=s;for(const[t,s]of ce(r,n,"$$"))e[t]=s}}function fe(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 de{exec(e){if("string"==typeof e){const t=this.#te[e];if("function"!=typeof t?.get)return;return t.get()}if("function"==typeof e)return e(this.getters)}watch(e,t){return ae((()=>this.exec(e)),t)}enum(e){if(!e)return!0;if(!0===e)return this.store;if("function"==typeof e)return()=>e(this.getters);if("string"!=typeof e)return null;const t=this.#te[e];if("function"!=typeof t?.get)return null;const n=t.store;return n instanceof R?n:t.get}bind(e,t,n){const r=this.#te[e];if(!r?.get)return;const{store:s}=r;return s?le.has(t)?ae((()=>s[t]),n):void 0:"value"===t?ae((()=>r.get()),n):void 0}bindAll(e){const t=this.#te[e];if(!t?.get)return;const{store:n}=t;if(!n){const e=t.get;if("function"!=typeof e)return;return{$value:t=>ae(e,t)}}return Object.fromEntries([...le].map((e=>[`$${e}`,t=>ae((()=>n[e]),t)])))}bindSet(e,t){const n=this.#te[e];if(!n?.get)return;const{store:r}=n;if(r)switch(t){case"value":return e=>{r.value=e};case"state":return e=>{r.state=e}}}bindEvents(e){const t=this.#te[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=>{n.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)}}}getEvent(e){if("function"==typeof e)return e;const t=this.#te[e];if(!t)return null;const{exec:n,calc:r}=t;return"function"==typeof n?n:"function"==typeof r?r:null}constructor(e,t){if(this.store=e,t instanceof de){this.#ne=t.#ne;const e=this.#re;for(const[n,r]of Object.entries(t.#re))e[n]=r;const n=this.#se;for(const[e,r]of Object.entries(t.#se))n[e]=r}else ue(this.#re,e),this.#ne=function(e){const t=Object.create(null);if(!e||"object"!=typeof e)return t;for(const[n,r]of Object.entries(e)){if(!n||n.includes("$"))continue;if(!r||"object"!=typeof r)continue;if(r instanceof R){for(const[e,s]of ce(r,n))t[e]=s;continue}const{get:e,set:s,exec:o,calc:i}=r;"function"!=typeof e?"function"!=typeof i?"function"!=typeof o||(t[n]={exec:o}):t[n]={calc:i}:t[n]="function"==typeof s?{get:e,set:s}:{get:e}}return t}(t)}#ne;#re=Object.create(null);#se=Object.create(null);store;#oe=null;#r=null;#ie=null;get#te(){const e=this.#ie;if(e)return e;const t=Object.create(null,Object.getOwnPropertyDescriptors({...this.#re,...this.#ne,...this.#se})),n=this.store,r=this.#r,s=this.#oe;if(s)for(const e of Object.keys(s))t[`$${e}`]={get:()=>s[e]};else{for(const[e,r]of ce(n))t[e]=r;for(const[e,s]of function*(e,t,n="",r="$"){if(!(e instanceof D))return yield[`${n}${r}upMovable`,{get:()=>!1}],void(yield[`${n}${r}downMovable`,{get:()=>!1}]);yield[`${n}${r}upMovable`,{get:()=>{const e=t.index;return"number"==typeof e&&!(e<=0)}}],yield[`${n}${r}downMovable`,{get:()=>{const n=t.index;return"number"==typeof n&&!(n>=e.length-1)}}],yield[`${n}${r}remove`,{exec:()=>e.remove(Number(t.index))}],yield[`${n}${r}upMove`,{exec:()=>{const n=t.index;"number"==typeof n&&(n<=0||e.move(n,n-1))}}],yield[`${n}${r}downMove`,{exec:()=>{const n=t.index;"number"==typeof n&&(n>=e.length-1||e.move(n,n+1))}}]}(r,n))t[e]=s}return this.#ie=t,t}setStore(e,t){const n=new de(e,this);return t&&(n.#r=t),ue(n.#re,e),n}child(e){if(!e)return this;const t=this.store.child(e);if(!t)return null;const n=new de(t,this);return ue(n.#re,t),n}params({params:e},{attrs:t},n,r){let s=this.store;if(!0===r)s=n.store;else if(r){const e=n.#te[r],t=e?.get&&e.store;t&&(s=t)}if(0===Object.keys(e).length)return this;const o=new de(s,this);o.#r=this.#r,o.#oe=this.#oe;const i=o.#se,a=o.#te;for(const[r,s]of Object.entries(e)){const e=r in t?t[r]:null;if("string"!=typeof e){if(e&&"object"==typeof e){const t=n.#te[e.name];if(!t?.get)continue;if(!t.store){i[r]=a[r]=t;continue}for(const[e,n]of ce(t.store,r))i[e]=a[e]=n;continue}if("function"==typeof e){const t=new k.Computed((()=>e(n.getters)));i[r]=a[r]={get:()=>t.get()};continue}if("function"==typeof s){const e=o.getters;o.#ae=null;const t=new k.Computed((()=>s(e)));i[r]=a[r]={get:()=>t.get()};continue}{const e=a[s];if(!e?.get)continue;if(!e.store){i[r]=a[r]=e;continue}for(const[t,n]of ce(e.store,r))i[t]=a[t]=n;continue}}i[r]=a[r]={get:()=>e}}return o}setObject(e){const t=new de(this.store,this);return t.#oe=e,t}set(e,t){if(Object.keys(e).length+Object.keys(t).length===0)return this;const n=new de(this.store,this);n.#r=this.#r,n.#oe=this.#oe;const r=n.#se,s=n.#te;for(const[t,o]of Object.entries(e)){if("function"==typeof o){const e=n.getters;n.#ae=null;const i=new k.Computed((()=>o(e)));r[t]=s[t]={get:()=>i.get()};continue}const e=s[o];if(e)if(e.get&&e.store)for(const[n,o]of ce(e.store,t))r[n]=s[n]=o;else r[t]=s[t]=e}for(const[e,o]of Object.entries(t)){const t=new k.State(null);if("function"==typeof o){const e=n.settable;n.#le=null,t.set(o(e))}else if(o&&"string"==typeof o){const e=s[o];if(!e?.get)continue;t.set(e.get())}r[e]=s[e]={get:()=>t.get(),set:e=>{t.set(e)}}}return n}#ce=null;get all(){const e=this.#ce;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#te))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 fe(this.store,t),this.#ce=t,t}#le=null;get settable(){const e=this.#le;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#te))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 fe(this.store,t),this.#le=t,t}#ae=null;get getters(){const e=this.#ae;if(e)return e;const t={};for(const[e,n]of Object.entries(this.#te))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 fe(this.store,t),this.#ae=t,t}}const he={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 pe(e,t){let n=!!Array.isArray(t)&&Boolean(t[1]),r="";if("string"==typeof t)return r=t.replace(/!important\s*$/,""),r?(n=r!==t,[r,n?"important":void 0]):null;const s=Array.isArray(t)?t[0]:t;return"number"==typeof s||"bigint"==typeof s?r=s&&e in he?`${s}${he[e]}`:`${s}`:"string"==typeof s&&(r=s),r?[r,n?"important":void 0]:null}class ge{#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,s="number"==typeof e?String(e):e;let o=r.get(s);return o||(o=new Set,r.set(s,o)),o.add(n),()=>{o?.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 ye(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 ve(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 we={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 xe(e,t,n){const r=document.createElement(t,{is:n||void 0}),{watchAttr:s,props:o}=e;return e.listen("init",(({events:n})=>{const i=we[t.toLowerCase()],a=i?.attrs||{},l=i?.events||{};for(const[e,t,s]of n)if("$"!==e[0])r.addEventListener(e,t,s);else{const n=l[e];if(n){const[e,o]=n;r.addEventListener(e,(e=>t(o(e,r))),s)}}if(o)for(const[t,n]of Object.entries(e.tagAttrs))if(s(t,(e=>{if(o.has(t))r[t]=e;else{const n=ye(e);null==n?r.removeAttribute(t):r.setAttribute(t,n)}})),o.has(t))r[t]=n;else{const e=ye(n);null!==e&&r.setAttribute(t,e)}else for(const[t,n]of Object.entries(e.tagAttrs)){if(r instanceof HTMLInputElement&&"type"===t.toLocaleLowerCase()){const e=ye(n);null!==e&&r.setAttribute(t,e);continue}if("$hidden"===t){n&&(r.hidden=n),s(t,(e=>{r.hidden=e}));continue}if("$"===t[0]){const e=a[t];e&&(e(n,r),s(t,(t=>e(t,r))));continue}const e=ve(r,t);if("function"==typeof e){r[t]=e(n),s(t,(n=>{r[t]=e(n)}));continue}if(e){r[t]=n,s(t,(e=>{r[t]=e}));continue}let o=ye(n);null!==o&&r.setAttribute(t,o),s(t,(e=>{const n=ye(e);null===n?r.removeAttribute(t):r.setAttribute(t,n)}))}})),r}function Oe(e){return null===(e??null)?"":String(e)}function Se(e,t,n,{text:r,html:s}){if(null!=r){const s=e.insertBefore(document.createTextNode(""),t),o=n.watch(r,(e=>s.textContent=Oe(e)));return()=>{s.remove(),o()}}if(null==s)return;const o=e.insertBefore(document.createComment(""),t),i=e.insertBefore(document.createComment(""),t),a=document.createElement("div");function l(){for(let e=o.nextSibling;e&&e!==i;e=o.nextSibling)e.remove()}const c=n.watch(s,(t=>{l(),function(t){a.innerHTML=t;for(let t=a.firstChild;t;t=o.firstChild)e.insertBefore(t,i)}(Oe(t))}));return()=>{c(),l(),o.remove(),i.remove()}}function Ee(e,t,n,r,s,o){let i=new Set,a=[],l=Object.create(s);for(const t of e){if("string"==typeof t)continue;const e=t.directives.template;e&&(l[e]=[t,r])}function c(e){if(!e.length||!i)return;const s=t.insertBefore(document.createComment(""),n);let a=-1,c=()=>{};i.add((()=>{c(),c=()=>{},s.remove()})),i.add(ae((()=>e.findIndex((([e])=>null===e||r.exec(e)))),(t=>{t!==a&&(a=t,c(),c=()=>{},function(t){const n=e[t]?.[1];n&&(c=o(n,l))}(a))})))}for(const r of e){if("string"==typeof r){c(a),a=[];const e=document.createTextNode(r);t.insertBefore(e,n),i.add((()=>e.remove()));continue}if(r.directives.template){c(a),a=[];continue}if(a.length&&r.directives.else){const e=r.directives.if||null;a.push([e,r]),e||(c(a),a=[]);continue}c(a),a=[];const e=r.directives.if;e?a.push([e,r]):i.add(o(r,l))}return()=>{if(!i)return;const e=i;i=null;for(const t of e)t()}}function Ce(e,t,n,r,s,o,i){r=r.set(e.aliases,e.vars);const a=e.directives.bind,l=e.directives.fragment;if(l&&"string"==typeof l){const c=s[l];if(!c)return()=>{};const[u,f]=c,d=f.params(u,e,r,a);return Ae(u,t,n,d,s,o,i)}if(!e.name||e.directives.fragment)return Se(t,n,r,e.directives)||Ee(e.children||[],t,n,r,s,((e,s)=>Ae(e,t,n,r,s,o,i)));const c=[...o,e.name],u=i?.(c);if(i&&!u)return()=>{};const{context:f,handler:d}=function(e,t){const n="string"==typeof e?e:e.tag,{attrs:r,events:s}="string"!=typeof e&&e||{attrs:null,events:null};let o=!1,i=!1;const a=Object.create(null),l=[],c=new ge,u=new ge;return{context:{events:l,props:r?new Set(Object.entries(r).filter((([,e])=>e.isProp)).map((([e])=>e))):null,tagAttrs:a,watchAttr:(e,t)=>u.listen(e,t),get destroyed(){return o},get init(){return i},listen:(e,t)=>c.listen(e,t)},handler:{tag:n,set(e,t){if(r&&!(e in r))return;e in a||(a[e]=void 0);const n=a[e];n!==t&&(a[e]=t,u.emit(e,t,n,e))},addEvent(e,n){if("function"!=typeof n)return;const[r,...o]=e.split(".").filter(Boolean),i=s?s[r].filters:{};if(!i)return;const a={},c=[];if(i)for(let e=o.shift();e;e=o.shift()){const t=e.indexOf(":"),n=t>=0?e.slice(0,t):e,r=t>=0?e.slice(t+1).split(":"):[],s=n.replace(/^-+/,""),o=(n.length-s.length)%2==1;let l=i[s]||s;switch(l){case"once":a.once=!o;break;case"passive":a.passive=!o;break;case"capture":a.capture=!o;break;default:"string"==typeof l&&(l=me[l])}"function"==typeof l&&c.push([l,r,o])}l.push([r,e=>{const r=t.all;for(const[t,n,s]of c)if(t(e,n,r)===s)return;n(e,r)},a])},destroy(){o||(o=!0,c.emit("destroy"))},init(){i||(i=!0,c.emit("init",{events:l}))}}}}(u||e.name,r),h=u?.attrs,p=h?function(e,t,n,r,s){let o=new Set;for(const[i,a]of Object.entries(r)){const r=n[i];if(i in n){if("function"!=typeof r&&"object"!=typeof r){e.set(i,r);continue}const n="function"==typeof r?r:r.name;if(a.immutable){e.set(i,t.exec(n));continue}o.add(t.watch(n,(t=>e.set(i,t))));continue}const l=a.bind;if(!s||!l||"boolean"==typeof s){e.set(i,a.default);continue}if("string"==typeof l){const n=t.bind(s,l,(t=>e.set(i,t)));n?o.add(n):e.set(i,a.default);continue}if(!Array.isArray(l)){e.set(i,a.default);continue}const[c,u,f]=l;if(!c||"function"!=typeof u)continue;if(!f){o.add(t.watch(s,(t=>e.set(i,t)))),e.addEvent(c,((...e)=>{t.all[s]=u(...e)}));continue}const d=t.bind(s,"state",(t=>e.set(i,t)));if(!d)continue;o.add(d);const h=t.bindSet(s,"state");h&&e.addEvent(c,((...e)=>{h(u(...e))}))}return()=>{const e=o;o=new Set;for(const t of e)t()}}(d,r,e.attrs,h,a):function(e,t,n){const r=e.tag;let s=new Set;for(const[o,i]of Object.entries(n)){if("function"!=typeof i&&"object"!=typeof i){e.set(o,i);continue}const n="function"==typeof i?i:i.name;if("string"!=typeof r||"input"!==r.toLocaleLowerCase()||"type"!==o.toLocaleLowerCase())s.add(t.watch(n,(t=>e.set(o,t))));else{const r=t.exec(n);e.set(o,r)}}return()=>{const e=s;s=new Set;for(const t of e)t()}}(d,r,e.attrs);for(const[t,n]of Object.entries(e.events)){const e=r.getEvent(n);e&&d.addEvent(t,e)}const g=function(e,t,n){if(!n||"boolean"==typeof n)return()=>{};let r=new Set;for(const[s,o]of Object.entries(t.bindAll(n)||{}))"function"==typeof o&&r.add(o((t=>e.set(s,t))));for(const[r,s]of Object.entries(t.bindEvents(n)||{}))e.addEvent(r,(e=>s(e)));return()=>{const e=r;r=new Set;for(const t of e)t()}}(d,r,a),m=u?"function"==typeof u.tag?u.tag(f):xe(f,u.tag,u.is):xe(f,e.name,e.is),y=Array.isArray(m)?m[0]:m,b=Array.isArray(m)?m[1]:y;t.insertBefore(y,n);const v=b?Se(b,null,r,e.directives)||Ee(e.children||[],b,null,r,s,((e,t)=>Ae(e,b,null,r,t,o,i))):()=>{};return function(e,t,n){if(!(e instanceof Element))return()=>{};let r=new Set;for(const[s,o]of Object.entries(t))o&&(!0!==o?r.add(ae((()=>Boolean(n.exec(o))),(t=>{t?e.classList.add(s):e.classList.remove(s)}))):e.classList.add(s))}(y,e.classes,r),function(e,t,n){if(!(e instanceof HTMLElement||e instanceof SVGElement))return()=>{};let r=new Set;for(const[s,o]of Object.entries(t))r.add(ae((()=>pe(s,n.exec(o))),(t=>{t?e.style.setProperty(s,...t):e.style.removeProperty(s)})))}(y,e.styles,r),d.init(),()=>{y.remove(),d.destroy(),p(),v(),g()}}function Ae(e,t,n,r,s,o,i){const{directives:a}=e,l=r.child(a.value);if(!l)return()=>{};const c=l.enum(a.enum),u=(n,r)=>Ce(e,t,n,r,s,o,i);return!0===c?u(n,l):c instanceof D?function(e,t,n,r,s){const o=e.insertBefore(document.createComment(""),t);let i=new Map;function a(e){for(const[t,n,r]of e.values())r(),t.remove(),n.remove()}const l=ae((()=>n.children),(function(t){if(!o.parentNode)return;let l=o.nextSibling;const c=i;i=new Map;for(let o of t){const t=c.get(o);if(!t){const t=e.insertBefore(document.createComment(""),l),a=e.insertBefore(document.createComment(""),l),c=s(a,r.setStore(o,n));i.set(o,[t,a,c]);continue}if(c.delete(o),i.set(o,t),l===t[0]){l=t[1].nextSibling;continue}let a=t[0];for(;a&&a!==t[1];){const t=a;a=a.nextSibling,e.insertBefore(t,l)}e.insertBefore(t[1],l)}a(c)}));return()=>{o.remove(),a(i),l()}}(t,n,c,l,u):c instanceof V?function(e,t,n,r,s){const o=[];for(const[e,i]of[...n])o.push(s(t,r.setStore(i,n)));return()=>{for(const e of o)e()}}(0,n,c,l,u):"function"==typeof c?function(e,t,n,r,s){const o=new k.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,t])):[]}return e&&"object"==typeof e?Array.isArray(e)?e.map(((e,t)=>[e,t,t])):Object.entries(e).map((([e,t],n)=>[t,n,e])):[]})),i=e.insertBefore(document.createComment(""),t);let a=[];function l(e){for(const[t,n,r]of e)r(),t.remove(),n.remove()}const c=ae((()=>o.get()),(function(t){if(!i.parentNode)return;let n=i.nextSibling;const o=a;a=[];for(const[i,l,c]of t){const t=o.findIndex((e=>e[3]===c)),[u]=t>=0?o.splice(t,1):[];if(!u){const t=e.insertBefore(document.createComment(""),n),o=e.insertBefore(document.createComment(""),n),u=new k.State(i),f=new k.State(l),d=s(o,r.setObject({get key(){return c},get value(){return u.get()},get index(){return f.get()}}));a.push([t,o,d,c,u,f]);continue}if(a.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)}l(o)}));return()=>{i.remove(),l(a),c()}}(t,n,c,l,u):()=>{}}function je(e,t,n,r,s){const o=[r,s],i=o.find((e=>"function"==typeof e)),a=o.find((e=>"object"==typeof e)),l=new de(e,a),c=Object.create(null);return Ee(t,n,null,l,c,((e,t)=>Ae(e,n,null,l,t,[],i)))}export{re as Layout,k as Signal,R as Store,je as render};
package/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @neeloong/form v0.4.1
2
+ * @neeloong/form v0.4.2
3
3
  * (c) 2024-2025 Fierflame
4
4
  * @license Apache-2.0
5
5
  */
@@ -2091,7 +2091,7 @@ class Environment {
2091
2091
  * @param {string} name
2092
2092
  * @returns {Record<string, (value: any) => void> | void}
2093
2093
  */
2094
- bindStateAllSet(name) {
2094
+ bindEvents(name) {
2095
2095
  const item = this.#items[name];
2096
2096
  if (!item?.get) { return; }
2097
2097
  const { store } = item;
@@ -2099,26 +2099,10 @@ class Environment {
2099
2099
  const set = item.set;
2100
2100
  if (typeof set !== 'function') { return; }
2101
2101
  return { '$value': set }
2102
- }
2102
+ }
2103
2103
  return {
2104
2104
  '$value': v => {store.value = v; },
2105
2105
  '$state': v => {store.state = v; },
2106
- }
2107
- }
2108
- /**
2109
- * @param {string} name
2110
- * @returns {Record<string, (value: any) => void> | void}
2111
- */
2112
- bindEvents(name) {
2113
- const item = this.#items[name];
2114
- if (!item?.get) { return; }
2115
- const { store } = item;
2116
- if (!store) {
2117
- const set = item.set;
2118
- if (typeof set !== 'function') { return; }
2119
- return { '$value': set }
2120
- }
2121
- return {
2122
2106
  '$input': v => {store.emit('input', v); },
2123
2107
  '$change': v => {store.emit('change', v); },
2124
2108
  '$click': v => {store.emit('click', v); },
@@ -2525,9 +2509,8 @@ function bindAttrs(handler, envs, attrs, componentAttrs, bindValue) {
2525
2509
  * @param {Component.Handler} handler
2526
2510
  * @param {Environment} envs
2527
2511
  * @param {Record<string, string | {name: string} | Layout.Calc>} attrs
2528
- * @param {string | boolean | null} [bindValue]
2529
2512
  */
2530
- function bindBaseAttrs(handler, envs, attrs, bindValue) {
2513
+ function bindBaseAttrs(handler, envs, attrs) {
2531
2514
  const tag = handler.tag;
2532
2515
  let bk = new Set();
2533
2516
  for (const [name, attr] of Object.entries(attrs)) {
@@ -2543,16 +2526,6 @@ function bindBaseAttrs(handler, envs, attrs, bindValue) {
2543
2526
  }
2544
2527
  bk.add(envs.watch(attrSchema, val => handler.set(name, val)));
2545
2528
  }
2546
- if (bindValue && typeof bindValue !== 'boolean') {
2547
- for (const [key, effect] of Object.entries(envs.bindAll(bindValue) || {})) {
2548
- if (typeof effect !== 'function') { continue; }
2549
- bk.add(effect(val => handler.set(key, val)));
2550
- }
2551
- for (const [key, setter] of Object.entries(envs.bindStateAllSet(bindValue) || {})) {
2552
- if (typeof setter !== 'function') { continue; }
2553
- handler.addEvent(key, $event => setter($event));
2554
- }
2555
- }
2556
2529
 
2557
2530
  return ()=> {
2558
2531
  const list = bk;
@@ -3559,6 +3532,34 @@ function renderEnum(parent, next, getter, env, renderItem) {
3559
3532
  };
3560
3533
  }
3561
3534
 
3535
+ /** @import { Component } from '../types.mjs' */
3536
+
3537
+
3538
+ /**
3539
+ * @param {Component.Handler} handler
3540
+ * @param {Environment} env
3541
+ * @param {string | boolean | null} [bind]
3542
+ */
3543
+ function bindBase(handler, env, bind) {
3544
+ if (!bind || typeof bind === 'boolean') { return () => {}; }
3545
+ let bk = new Set();
3546
+ for (const [key, effect] of Object.entries(env.bindAll(bind) || {})) {
3547
+ if (typeof effect !== 'function') { continue; }
3548
+ bk.add(effect(val => handler.set(key, val)));
3549
+ }
3550
+ for (const [key, setter] of Object.entries(env.bindEvents(bind) || {})) {
3551
+ handler.addEvent(key, $event => setter($event));
3552
+ }
3553
+
3554
+ return ()=> {
3555
+ const list = bk;
3556
+ bk = new Set();
3557
+ for (const s of list) {
3558
+ s();
3559
+ }
3560
+ }
3561
+ }
3562
+
3562
3563
  /** @import Store from '../Store/index.mjs' */
3563
3564
 
3564
3565
  /**
@@ -3596,18 +3597,15 @@ function renderItem(layout, parent, next, env, templates, componentPath, getComp
3596
3597
  const componentAttrs = component?.attrs;
3597
3598
  const attrs = componentAttrs
3598
3599
  ? bindAttrs(handler, env, layout.attrs, componentAttrs, bind)
3599
- : bindBaseAttrs(handler, env, layout.attrs, bind);
3600
+ : bindBaseAttrs(handler, env, layout.attrs);
3600
3601
 
3601
3602
  for (const [name, event] of Object.entries(layout.events)) {
3602
3603
  const fn = env.getEvent(event);
3603
3604
  if (fn) { handler.addEvent(name, fn); }
3604
3605
  }
3605
3606
 
3606
- if (bind && typeof bind !== 'boolean') {
3607
- for (const [key, event] of Object.entries(env.bindEvents(bind) || {})) {
3608
- handler.addEvent(key, event);
3609
- }
3610
- }
3607
+ const base = bindBase(handler, env, bind);
3608
+
3611
3609
 
3612
3610
  const r = component ?
3613
3611
  typeof component.tag === 'function'
@@ -3634,6 +3632,7 @@ function renderItem(layout, parent, next, env, templates, componentPath, getComp
3634
3632
  handler.destroy();
3635
3633
  attrs();
3636
3634
  children();
3635
+ base();
3637
3636
  };
3638
3637
  }
3639
3638
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neeloong/form",
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "from",