essor 0.0.6 → 0.0.7-beta.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/dist/essor.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { ExcludeType } from 'essor-shared';
2
2
  import * as csstype from 'csstype';
3
3
 
4
- declare const __essor_version = "0.0.6-beta.16";
4
+ declare const __essor_version = "0.0.7-beta.1";
5
5
 
6
6
  type EffectFn = () => void;
7
7
  /**
@@ -9,14 +9,12 @@ type EffectFn = () => void;
9
9
  */
10
10
  declare class Signal$1<T> {
11
11
  private _value;
12
- private _reactive;
13
- private __activeEffect;
14
12
  constructor(value: T);
15
13
  valueOf(): T;
16
14
  toString(): string;
17
15
  toJSON(): T;
18
16
  get value(): T;
19
- __triggerObject(): void;
17
+ private __triggerObject;
20
18
  set value(newValue: T);
21
19
  peek(): T;
22
20
  update(): void;
@@ -36,7 +34,7 @@ declare function isSignal<T>(value: any): value is Signal$1<T>;
36
34
  /**
37
35
  * Computed class representing a computed reactive value.
38
36
  */
39
- declare class Computed<T> {
37
+ declare class Computed<T = unknown> {
40
38
  private readonly fn;
41
39
  private _value;
42
40
  private _deps;
@@ -18,7 +18,7 @@ var __spreadValues = (a, b) => {
18
18
  };
19
19
 
20
20
  // src/version.ts
21
- var __essor_version = "0.0.6-beta.16";
21
+ var __essor_version = "0.0.7-beta.1";
22
22
 
23
23
  // ../shared/dist/essor-shared.js
24
24
  var isObject = (val) => val !== null && typeof val === "object";
@@ -167,15 +167,17 @@ var capitalizeFirstLetter = (inputString) => {
167
167
  // src/signal/signal.ts
168
168
  var activeEffect = null;
169
169
  var activeComputed = null;
170
- var computedSet = /* @__PURE__ */ new Set();
171
- var targetMap = /* @__PURE__ */ new WeakMap();
172
- var EffectDeps = /* @__PURE__ */ new Set();
170
+ var computedMap = /* @__PURE__ */ new WeakMap();
171
+ var signalMap = /* @__PURE__ */ new WeakMap();
172
+ var effectDeps = /* @__PURE__ */ new Set();
173
+ var reactiveMap = /* @__PURE__ */ new WeakMap();
173
174
  var arrayMethods = ["push", "pop", "shift", "unshift", "splice", "sort", "reverse"];
174
175
  function track(target, key) {
175
- let depsMap = targetMap.get(target);
176
+ if (!activeEffect && !activeComputed) return;
177
+ let depsMap = signalMap.get(target);
176
178
  if (!depsMap) {
177
179
  depsMap = /* @__PURE__ */ new Map();
178
- targetMap.set(target, depsMap);
180
+ signalMap.set(target, depsMap);
179
181
  }
180
182
  let dep = depsMap.get(key);
181
183
  if (!dep) {
@@ -183,27 +185,35 @@ function track(target, key) {
183
185
  depsMap.set(key, dep);
184
186
  }
185
187
  if (activeEffect) dep.add(activeEffect);
186
- if (activeComputed) {
187
- computedSet.add(activeComputed);
188
+ let depsMap2 = computedMap.get(target);
189
+ if (!depsMap2) {
190
+ depsMap2 = /* @__PURE__ */ new Map();
191
+ computedMap.set(target, depsMap2);
192
+ }
193
+ let dep2 = depsMap2.get(key);
194
+ if (!dep2) {
195
+ dep2 = /* @__PURE__ */ new Set();
196
+ depsMap2.set(key, dep2);
188
197
  }
198
+ if (activeComputed) dep2.add(activeComputed);
189
199
  }
190
200
  function trigger(target, key) {
191
- if (computedSet.size > 0) {
192
- computedSet.forEach((computedSignal) => computedSignal.run());
193
- }
194
- const depsMap = targetMap.get(target);
195
- if (!depsMap) {
196
- return;
197
- }
201
+ const depsMap = signalMap.get(target);
202
+ if (!depsMap) return;
198
203
  const dep = depsMap.get(key);
199
204
  if (dep) {
200
- dep.forEach((effect) => EffectDeps.has(effect) && effect());
205
+ dep.forEach((effect) => effectDeps.has(effect) && effect());
206
+ }
207
+ const computedDeps = computedMap.get(target);
208
+ if (computedDeps) {
209
+ const computeds = computedDeps.get(key);
210
+ if (computeds) {
211
+ computeds.forEach((computed) => computed.run());
212
+ }
201
213
  }
202
214
  }
203
215
  var Signal = class {
204
216
  constructor(value) {
205
- // @ts-ignore
206
- this.__activeEffect = null;
207
217
  this._value = value;
208
218
  }
209
219
  valueOf() {
@@ -224,12 +234,10 @@ var Signal = class {
224
234
  this.__triggerObject();
225
235
  return this._value;
226
236
  }
227
- // if the value is not a primitive or an HTML element, create a reactive proxy
228
237
  __triggerObject() {
229
- if (activeEffect) {
230
- this.__activeEffect = activeEffect;
238
+ if (!isPrimitive(this._value) && !isHtmlElement(this._value)) {
239
+ useReactive(this._value);
231
240
  }
232
- this._reactive = isPrimitive(this._value) || isHtmlElement(this._value) ? this._value : useReactive(this._value);
233
241
  }
234
242
  set value(newValue) {
235
243
  if (isSignal(newValue)) {
@@ -238,10 +246,8 @@ var Signal = class {
238
246
  }
239
247
  if (hasChanged(newValue, this._value)) {
240
248
  this._value = newValue;
241
- if (!isPrimitive(this._value) && !isHtmlElement(this._value) && !activeEffect) {
242
- activeEffect = this.__activeEffect;
249
+ if (!isPrimitive(this._value) && !isHtmlElement(this._value)) {
243
250
  this.__triggerObject();
244
- activeEffect = null;
245
251
  }
246
252
  trigger(this, "value");
247
253
  }
@@ -302,10 +308,10 @@ function useEffect(fn) {
302
308
  fn();
303
309
  activeEffect = prev;
304
310
  }
305
- EffectDeps.add(effectFn);
311
+ effectDeps.add(effectFn);
306
312
  effectFn();
307
313
  return () => {
308
- EffectDeps.delete(effectFn);
314
+ effectDeps.delete(effectFn);
309
315
  activeEffect = null;
310
316
  };
311
317
  }
@@ -344,9 +350,8 @@ function unReactive(obj) {
344
350
  if (!isReactive(obj)) {
345
351
  return obj;
346
352
  }
347
- return Object.assign({}, obj);
353
+ return __spreadValues({}, obj);
348
354
  }
349
- var reactiveMap = /* @__PURE__ */ new WeakMap();
350
355
  function useReactive(initialValue, exclude) {
351
356
  if (!isObject(initialValue)) {
352
357
  return initialValue;
@@ -985,11 +990,9 @@ function convertToHtmlTag(tag) {
985
990
  function patchChildren(parent, childrenMap, nextChildren, before) {
986
991
  const result = /* @__PURE__ */ new Map();
987
992
  const children = childrenMap.values();
988
- const parentChildNodesLength = parent.childNodes.length;
989
993
  if (childrenMap.size > 0 && nextChildren.length === 0) {
990
- if (parentChildNodesLength === childrenMap.size + (before ? 1 : 0)) {
991
- const parentElement = parent;
992
- parentElement.innerHTML = "";
994
+ if (parent.childNodes.length === childrenMap.size + (before ? 1 : 0)) {
995
+ parent.innerHTML = "";
993
996
  if (before) {
994
997
  insertChild(parent, before);
995
998
  }
@@ -1029,7 +1032,7 @@ function patchChildren(parent, childrenMap, nextChildren, before) {
1029
1032
  child = patch(parent, origChild, child);
1030
1033
  }
1031
1034
  if (currChild) {
1032
- if (currChild) {
1035
+ if (currChild === origChild) ; else if (currChild) {
1033
1036
  const placeholder = document.createComment("");
1034
1037
  insertChild(parent, placeholder, currChild);
1035
1038
  replaces.push([placeholder, child]);
@@ -1075,7 +1078,7 @@ function mapKeys(children) {
1075
1078
  return result;
1076
1079
  }
1077
1080
  function getKey(node, index) {
1078
- const id = node instanceof Element ? node.id : void 0;
1081
+ const id = node == null ? void 0 : node.id;
1079
1082
  const result = id === "" ? void 0 : id;
1080
1083
  return result != null ? result : `_$${index}$`;
1081
1084
  }
@@ -16,7 +16,7 @@ var __spreadValues = (a, b) => {
16
16
  };
17
17
 
18
18
  // src/version.ts
19
- var __essor_version = "0.0.6-beta.16";
19
+ var __essor_version = "0.0.7-beta.1";
20
20
 
21
21
  // ../shared/dist/essor-shared.js
22
22
  var isObject = (val) => val !== null && typeof val === "object";
@@ -165,15 +165,17 @@ var capitalizeFirstLetter = (inputString) => {
165
165
  // src/signal/signal.ts
166
166
  var activeEffect = null;
167
167
  var activeComputed = null;
168
- var computedSet = /* @__PURE__ */ new Set();
169
- var targetMap = /* @__PURE__ */ new WeakMap();
170
- var EffectDeps = /* @__PURE__ */ new Set();
168
+ var computedMap = /* @__PURE__ */ new WeakMap();
169
+ var signalMap = /* @__PURE__ */ new WeakMap();
170
+ var effectDeps = /* @__PURE__ */ new Set();
171
+ var reactiveMap = /* @__PURE__ */ new WeakMap();
171
172
  var arrayMethods = ["push", "pop", "shift", "unshift", "splice", "sort", "reverse"];
172
173
  function track(target, key) {
173
- let depsMap = targetMap.get(target);
174
+ if (!activeEffect && !activeComputed) return;
175
+ let depsMap = signalMap.get(target);
174
176
  if (!depsMap) {
175
177
  depsMap = /* @__PURE__ */ new Map();
176
- targetMap.set(target, depsMap);
178
+ signalMap.set(target, depsMap);
177
179
  }
178
180
  let dep = depsMap.get(key);
179
181
  if (!dep) {
@@ -181,27 +183,35 @@ function track(target, key) {
181
183
  depsMap.set(key, dep);
182
184
  }
183
185
  if (activeEffect) dep.add(activeEffect);
184
- if (activeComputed) {
185
- computedSet.add(activeComputed);
186
+ let depsMap2 = computedMap.get(target);
187
+ if (!depsMap2) {
188
+ depsMap2 = /* @__PURE__ */ new Map();
189
+ computedMap.set(target, depsMap2);
190
+ }
191
+ let dep2 = depsMap2.get(key);
192
+ if (!dep2) {
193
+ dep2 = /* @__PURE__ */ new Set();
194
+ depsMap2.set(key, dep2);
186
195
  }
196
+ if (activeComputed) dep2.add(activeComputed);
187
197
  }
188
198
  function trigger(target, key) {
189
- if (computedSet.size > 0) {
190
- computedSet.forEach((computedSignal) => computedSignal.run());
191
- }
192
- const depsMap = targetMap.get(target);
193
- if (!depsMap) {
194
- return;
195
- }
199
+ const depsMap = signalMap.get(target);
200
+ if (!depsMap) return;
196
201
  const dep = depsMap.get(key);
197
202
  if (dep) {
198
- dep.forEach((effect) => EffectDeps.has(effect) && effect());
203
+ dep.forEach((effect) => effectDeps.has(effect) && effect());
204
+ }
205
+ const computedDeps = computedMap.get(target);
206
+ if (computedDeps) {
207
+ const computeds = computedDeps.get(key);
208
+ if (computeds) {
209
+ computeds.forEach((computed) => computed.run());
210
+ }
199
211
  }
200
212
  }
201
213
  var Signal = class {
202
214
  constructor(value) {
203
- // @ts-ignore
204
- this.__activeEffect = null;
205
215
  this._value = value;
206
216
  }
207
217
  valueOf() {
@@ -222,12 +232,10 @@ var Signal = class {
222
232
  this.__triggerObject();
223
233
  return this._value;
224
234
  }
225
- // if the value is not a primitive or an HTML element, create a reactive proxy
226
235
  __triggerObject() {
227
- if (activeEffect) {
228
- this.__activeEffect = activeEffect;
236
+ if (!isPrimitive(this._value) && !isHtmlElement(this._value)) {
237
+ useReactive(this._value);
229
238
  }
230
- this._reactive = isPrimitive(this._value) || isHtmlElement(this._value) ? this._value : useReactive(this._value);
231
239
  }
232
240
  set value(newValue) {
233
241
  if (isSignal(newValue)) {
@@ -236,10 +244,8 @@ var Signal = class {
236
244
  }
237
245
  if (hasChanged(newValue, this._value)) {
238
246
  this._value = newValue;
239
- if (!isPrimitive(this._value) && !isHtmlElement(this._value) && !activeEffect) {
240
- activeEffect = this.__activeEffect;
247
+ if (!isPrimitive(this._value) && !isHtmlElement(this._value)) {
241
248
  this.__triggerObject();
242
- activeEffect = null;
243
249
  }
244
250
  trigger(this, "value");
245
251
  }
@@ -300,10 +306,10 @@ function useEffect(fn) {
300
306
  fn();
301
307
  activeEffect = prev;
302
308
  }
303
- EffectDeps.add(effectFn);
309
+ effectDeps.add(effectFn);
304
310
  effectFn();
305
311
  return () => {
306
- EffectDeps.delete(effectFn);
312
+ effectDeps.delete(effectFn);
307
313
  activeEffect = null;
308
314
  };
309
315
  }
@@ -342,9 +348,8 @@ function unReactive(obj) {
342
348
  if (!isReactive(obj)) {
343
349
  return obj;
344
350
  }
345
- return Object.assign({}, obj);
351
+ return __spreadValues({}, obj);
346
352
  }
347
- var reactiveMap = /* @__PURE__ */ new WeakMap();
348
353
  function useReactive(initialValue, exclude) {
349
354
  if (!isObject(initialValue)) {
350
355
  return initialValue;
@@ -983,11 +988,9 @@ function convertToHtmlTag(tag) {
983
988
  function patchChildren(parent, childrenMap, nextChildren, before) {
984
989
  const result = /* @__PURE__ */ new Map();
985
990
  const children = childrenMap.values();
986
- const parentChildNodesLength = parent.childNodes.length;
987
991
  if (childrenMap.size > 0 && nextChildren.length === 0) {
988
- if (parentChildNodesLength === childrenMap.size + (before ? 1 : 0)) {
989
- const parentElement = parent;
990
- parentElement.innerHTML = "";
992
+ if (parent.childNodes.length === childrenMap.size + (before ? 1 : 0)) {
993
+ parent.innerHTML = "";
991
994
  if (before) {
992
995
  insertChild(parent, before);
993
996
  }
@@ -1027,7 +1030,7 @@ function patchChildren(parent, childrenMap, nextChildren, before) {
1027
1030
  child = patch(parent, origChild, child);
1028
1031
  }
1029
1032
  if (currChild) {
1030
- if (currChild) {
1033
+ if (currChild === origChild) ; else if (currChild) {
1031
1034
  const placeholder = document.createComment("");
1032
1035
  insertChild(parent, placeholder, currChild);
1033
1036
  replaces.push([placeholder, child]);
@@ -1073,7 +1076,7 @@ function mapKeys(children) {
1073
1076
  return result;
1074
1077
  }
1075
1078
  function getKey(node, index) {
1076
- const id = node instanceof Element ? node.id : void 0;
1079
+ const id = node == null ? void 0 : node.id;
1077
1080
  const result = id === "" ? void 0 : id;
1078
1081
  return result != null ? result : `_$${index}$`;
1079
1082
  }
package/dist/essor.esm.js CHANGED
@@ -1,6 +1,6 @@
1
- var Oe=Object.defineProperty;var de=Object.getOwnPropertySymbols;var je=Object.prototype.hasOwnProperty,_e=Object.prototype.propertyIsEnumerable;var me=(e,t,n)=>t in e?Oe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,j=(e,t)=>{for(var n in t||(t={}))je.call(t,n)&&me(e,n,t[n]);if(de)for(var n of de(t))_e.call(t,n)&&me(e,n,t[n]);return e};var he="0.0.6-beta.16";var S=e=>e!==null&&typeof e=="object";var k=Array.isArray;function q(e){return typeof e=="string"}function Re(e){return e===null}function ge(e){return e==null}var d=e=>typeof e=="function";function U(e){return e===!1||e===null||e===void 0||e===""}var M=e=>["string","number","boolean","symbol","undefined"].includes(typeof e)||Re(e),Z=e=>e instanceof HTMLElement||e instanceof SVGElement;function Q(e){return Array.isArray(e)?e.flat():[e]}var J=(e,t)=>e!==t&&(e===e||t===t),ye=Function.prototype;function y(e,t){return q(e)?e.indexOf(t)===0:!1}function w(e,t=new WeakMap){if(e===null||typeof e!="object")return e;if(t.has(e))return t.get(e);if(e instanceof Date)return new Date(e);if(e instanceof RegExp)return new RegExp(e);if(e instanceof Map){let o=new Map;return t.set(e,o),e.forEach((s,i)=>{o.set(w(i,t),w(s,t));}),o}if(e instanceof Set){let o=new Set;return t.set(e,o),e.forEach(s=>{o.add(w(s,t));}),o}let n=Array.isArray(e)?[]:{};t.set(e,n);let r=Object.keys(e);for(let o of r)n[o]=w(e[o],t);return n}function _(e,t,n=new WeakMap){if(M(e)&&M(t))return e===t;if(e===t)return !0;if(e==null||t==null||typeof e!="object"||typeof t!="object"||e.constructor!==t.constructor)return !1;if(n.has(e))return n.get(e)===t;if(n.set(e,t),Array.isArray(e)){if(e.length!==t.length)return !1;for(let[s,i]of e.entries())if(!_(i,t[s],n))return !1;return !0}if(e instanceof Map){if(e.size!==t.size)return !1;for(let[s,i]of e)if(!t.has(s)||!_(i,t.get(s),n))return !1;return !0}if(e instanceof Set){if(e.size!==t.size)return !1;let s=Array.from(e).sort(),i=Array.from(t).sort();for(let[a,c]of s.entries())if(!_(c,i[a],n))return !1;return !0}let r=Object.keys(e),o=new Set(Object.keys(t));if(r.length!==o.size)return !1;for(let s of r)if(!o.has(s)||!_(e[s],t[s],n))return !1;return !0}function K(e,t){return Array.isArray(t)?t.includes(e):d(t)?t(e):!1}var Te=e=>e.replaceAll(/[A-Z]+/g,(t,n)=>`${n>0?"-":""}${t.toLocaleLowerCase()}`);var ve=e=>e.charAt(0).toUpperCase()+e.slice(1);var g=null,F=null,ee=new Set,te=new WeakMap,ne=new Set,Le=["push","pop","shift","unshift","splice","sort","reverse"];function R(e,t){let n=te.get(e);n||(n=new Map,te.set(e,n));let r=n.get(t);r||(r=new Set,n.set(t,r)),g&&r.add(g),F&&ee.add(F);}function I(e,t){ee.size>0&&ee.forEach(o=>o.run());let n=te.get(e);if(!n)return;let r=n.get(t);r&&r.forEach(o=>ne.has(o)&&o());}var G=class{constructor(t){this.__activeEffect=null;this._value=t;}valueOf(){return R(this,"value"),this.__triggerObject(),this._value}toString(){return R(this,"value"),this.__triggerObject(),String(this._value)}toJSON(){return this._value}get value(){return R(this,"value"),this.__triggerObject(),this._value}__triggerObject(){g&&(this.__activeEffect=g),this._reactive=M(this._value)||Z(this._value)?this._value:A(this._value);}set value(t){p(t)&&(console.warn("Signal cannot be set to another signal, use .peek() instead"),t=t.peek()),J(t,this._value)&&(this._value=t,!M(this._value)&&!Z(this._value)&&!g&&(g=this.__activeEffect,this.__triggerObject(),g=null),I(this,"value"));}peek(){return this._value}update(){I(this,"value");}};function L(e){return p(e)?e:new G(e)}function p(e){return e instanceof G}var z=class{constructor(t){this.fn=t;this._deps=new Set;let n=F;F=this,this._value=this.fn(),F=n;}peek(){return this._value}run(){let t=this.fn();J(t,this._value)&&(this._value=t,this._deps.forEach(n=>n()));}get value(){return g&&this._deps.add(g),R(this,"_value"),this._value}};function re(e){return new z(e)}function X(e){return e instanceof z}function N(e){function t(){let n=g;g=t,e(),g=n;}return ne.add(t),t(),()=>{ne.delete(t),g=null;}}function oe(e,t){return Object.entries(e).reduce((r,[o,s])=>(r[o]=K(o,t)||p(s)?s:L(s),r),{})}function be(e,t){return e?p(e)?e.peek():k(e)?e.map(n=>be(n,t)):S(e)?Object.entries(e).reduce((n,[r,o])=>(K(r,t)?n[r]=o:n[r]=p(o)?o.peek():o,n),{}):e:{}}var xe=Symbol("useReactive");function W(e){return e&&e[xe]===!0}function We(e){return W(e)?Object.assign({},e):e}var Y=new WeakMap;function A(e,t){if(!S(e)||W(e))return e;if(Y.has(e))return Y.get(e);Array.isArray(e)&&Le.forEach(o=>{let s=e[o];R(e,"length"),Object.defineProperties(e,{[o]:{value(...i){let a=s.apply(this,i);return I(e,"length"),a},enumerable:!1,configurable:!0,writable:!0}});});let n={get(o,s,i){if(s===xe||y(s,"_"))return !0;let a=Reflect.get(o,s,i),c=p(a)?a.value:a;return K(s,t)?c:(R(o,s),S(c)?A(c):c)},set(o,s,i,a){if(K(s,t))return Reflect.set(o,s,i,a),!0;let c=Reflect.get(o,s,a);p(c)&&(c=c.value),p(i)&&(i=i.value);let u=Reflect.set(o,s,i,a);return J(i,c)&&I(o,s),u},deleteProperty(o,s){let i=Reflect.get(o,s),a=Reflect.deleteProperty(o,s);return i!==void 0&&I(o,s),a}},r=new Proxy(e,n);return Y.set(e,r),r}function se(e,...t){console.warn.apply(console,[`[Essor warn]: ${e}`].concat(t));}function Pe(e,t,n){return He(e,t,n)}function He(e,t,n){let r,o=n==null?void 0:n.deep;if(p(e)||X(e)?r=()=>e.value:W(e)?r=()=>j({},e):k(e)?r=()=>e.map(c=>p(c)||X(c)?c.value:W(c)?j({},c):d(c)?c():se("Invalid source",c)):d(e)?r=e:(se("Invalid source type",e),r=ye),t&&o){let c=r;r=()=>P(c());}let s,i=()=>{let c=w(r());_(c,s)||(t&&t(c,s),s=M(c)?c:w(c));},a=N(i);return n!=null&&n.immediate&&i(),a}function P(e,t=new Set){return !S(e)||t.has(e)||(t.add(e),k(e)?e.forEach(n=>P(n,t)):e instanceof Map?e.forEach((n,r)=>{P(r,t),P(n,t);}):e instanceof Set?e.forEach(n=>P(n,t)):Object.keys(e).forEach(n=>{P(e[n],t);})),e}var B=0,ie=new Map;function $e(e){let{state:t,getters:n,actions:r}=e,o=j({},t!=null?t:{}),s=A(t!=null?t:{}),i=[],a=[],u=j({state:s},{patch$(l){Object.assign(s,l),i.forEach(f=>f(s)),a.forEach(f=>f(s));},subscribe$(l){i.push(l);},unsubscribe$(l){let f=i.indexOf(l);f!==-1&&i.splice(f,1);},onAction$(l){a.push(l);},reset$(){Object.assign(s,o);}});for(let l in n){let f=n[l];f&&(u[l]=re(f.bind(s,s)));}for(let l in r){let f=r[l];f&&(u[l]=f.bind(s));}return ie.set(B,u),++B,u}function Ke(e){return function(){return ie.has(B)?ie.get(B):$e(e)}}var E=class E{constructor(t,n,r){this.template=t;this.props=n;this.key=r;this.proxyProps={};this.context={};this.emitter=new Set;this.mounted=!1;this.rootNode=null;this.hooks={mounted:new Set,destroy:new Set};this.trackMap=new Map;this.proxyProps=oe(n,o=>y(o,"on")||y(o,"update"));}addEventListener(){}removeEventListener(){}get firstChild(){var t,n;return (n=(t=this.rootNode)==null?void 0:t.firstChild)!=null?n:null}get isConnected(){var t,n;return (n=(t=this.rootNode)==null?void 0:t.isConnected)!=null?n:!1}addHook(t,n){var r;(r=this.hooks[t])==null||r.add(n);}getContext(t){return E.context[t]}setContext(t,n){E.context[t]=n;}inheritNode(t){this.context=t.context,this.hooks=t.hooks,Object.assign(this.proxyProps,t.proxyProps),this.rootNode=t.rootNode,this.trackMap=t.trackMap;let n=this.props;this.props=t.props,this.patchProps(n);}unmount(){var t;this.hooks.destroy.forEach(n=>n()),Object.values(this.hooks).forEach(n=>n.clear()),(t=this.rootNode)==null||t.unmount(),this.rootNode=null,this.proxyProps={},this.mounted=!1,this.emitter.forEach(n=>n()),E.context={};}mount(t,n){var o,s,i,a;if(!d(this.template))throw new Error("Template must be a function");if(this.isConnected)return (s=(o=this.rootNode)==null?void 0:o.mount(t,n))!=null?s:[];E.ref=this,this.rootNode=this.template(A(this.proxyProps,["children"])),E.ref=null,this.mounted=!0;let r=(a=(i=this.rootNode)==null?void 0:i.mount(t,n))!=null?a:[];return this.hooks.mounted.forEach(c=>c()),this.patchProps(this.props),r}getNodeTrack(t,n){let r=this.trackMap.get(t);return r||(r={cleanup:()=>{}},this.trackMap.set(t,r)),n||r.cleanup(),r}patchProps(t){var n,r,o,s,i;for(let[a,c]of Object.entries(t))if(y(a,"on")&&((n=this.rootNode)!=null&&n.nodes)){let u=a.slice(2).toLowerCase(),l=c,f=v(this.rootNode.nodes[0],u,l);this.emitter.add(f);}else if(a==="ref")p(c)?t[a].value=(r=this.rootNode)==null?void 0:r.nodes[0]:d(c)&&t[a]((o=this.rootNode)==null?void 0:o.nodes[0]);else if(y(a,"update"))t[a]=p(c)?c.value:c;else {let u=(i=(s=this.proxyProps)[a])!=null?i:s[a]=L(c),l=this.getNodeTrack(a);l.cleanup=N(()=>{u.value=d(c)?c():c;});}this.props=t;}};E.ref=null,E.context={};var T=E;function Fe(e,t,n){return q(e)&&(Ee(e)&&(e=Se(e),t={1:t}),e=Ne(e)),d(e)?new T(e,t,n):new H(e,t,n)}function b(e){return e instanceof T||e instanceof H}function Ne(e){let t=document.createElement("template");return t.innerHTML=e,t}function Ie(e){return e.children}function ae(e){if(b(e)||e instanceof Node)return e;let t=U(e)?"":String(e);return document.createTextNode(t)}function x(e,t,n=null){let r=b(n)?n.firstChild:n;b(t)?t.mount(e,r):r?r.before(t):e.append(t);}function O(e){b(e)?e.unmount():e.parentNode&&e.remove();}function ce(e,t,n){x(e,t,n),O(n);}function ue(e,t,n){if(t==="class"){typeof n=="string"?e.className=n:Array.isArray(n)?e.className=n.join(" "):n&&typeof n=="object"&&(e.className=Object.entries(n).reduce((r,[o,s])=>r+(s?` ${o}`:""),"").trim());return}if(t==="style"){if(typeof n=="string")e.style.cssText=n;else if(n&&typeof n=="object"){let r=n;Object.keys(r).forEach(o=>{e.style.setProperty(Te(o),String(r[o]));});}return}U(n)?e.removeAttribute(t):n===!0?e.setAttribute(t,""):e.setAttribute(t,String(n));}function Ce(e,t){if(e instanceof HTMLInputElement){if(e.type==="checkbox")return v(e,"change",()=>{t(!!e.checked);});if(e.type==="date")return v(e,"change",()=>{t(e.value?e.value:"");});if(e.type==="file")return v(e,"change",()=>{e.files&&t(e.files);});if(e.type==="number")return v(e,"input",()=>{let n=Number.parseFloat(e.value);t(Number.isNaN(n)?"":String(n));});if(e.type==="radio")return v(e,"change",()=>{t(e.checked?e.value:"");});if(e.type==="text")return v(e,"input",()=>{t(e.value);})}if(e instanceof HTMLSelectElement)return v(e,"change",()=>{t(e.value);});if(e instanceof HTMLTextAreaElement)return v(e,"input",()=>{t(e.value);})}var ke=Promise.resolve();function Je(e){return e?ke.then(e):ke}function v(e,t,n){return e.addEventListener(t,n),()=>e.removeEventListener(t,n)}var Ge=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"],ze=["a","abbr","acronym","address","applet","area","article","aside","audio","b","base","basefont","bdi","bdo","bgsound","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","command","content","data","datalist","dd","del","details","dfn","dialog","dir","div","dl","dt","em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","image","img","input","ins","kbd","keygen","label","legend","li","link","listing","main","map","mark","marquee","menu","menuitem","meta","meter","nav","nobr","noframes","noscript","object","ol","optgroup","option","output","p","param","picture","plaintext","pre","progress","q","rb","rp","rt","rtc","ruby","s","samp","script","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","tt","u","ul","var","video","wbr","xmp"];function Ee(e){return ze.includes(e)}function Se(e){return Ge.includes(e)?`<${e}/>`:`<${e}></${e}>`}function we(e,t,n,r){let o=new Map,s=t.values(),i=e.childNodes.length;if(t.size>0&&n.length===0){if(i===t.size+(r?1:0)){let u=e;u.innerHTML="",r&&x(e,r);}else {let u=document.createRange(),l=s.next().value,f=b(l)?l.firstChild:l;u.setStartBefore(f),r?u.setEndBefore(r):u.setEndAfter(e),u.deleteContents();}return t.forEach(u=>{b(u)&&u.unmount();}),o}let a=[],c=Be(n);for(let[u,l]of n.entries()){let f=s.next().value,C=D(f,u);for(;f&&!c.has(C);)O(f),t.delete(C),f=s.next().value,C=D(f,u);let $=D(l,u),fe=t.get($);if(fe&&(l=Xe(e,fe,l)),f)if(f){let pe=document.createComment("");x(e,pe,f),a.push([pe,l]);}else x(e,l,r);else x(e,l,r);o.set($,l);}return a.forEach(([u,l])=>ce(e,l,u)),t.forEach((u,l)=>{u.isConnected&&!o.has(l)&&O(u);}),o}function Xe(e,t,n){return t===n?t:b(t)&&b(n)&&t.template===n.template?(n.inheritNode(t),n):t instanceof Text&&n instanceof Text?(t.textContent!==n.textContent&&(t.textContent=n.textContent),t):(ce(e,n,t),n)}function Be(e){let t=new Map;for(let[n,r]of e.entries()){let o=D(r,n);t.set(o,r);}return t}function D(e,t){let n=e instanceof Element?e.id:void 0,r=n===""?void 0:n;return r!=null?r:`_$${t}$`}var H=class e{constructor(t,n,r){this.template=t;this.props=n;this.key=r;this.treeMap=new Map;this.mounted=!1;this.nodes=[];this.provides={};this.trackMap=new Map;this.parent=null;}get firstChild(){var t;return (t=this.nodes[0])!=null?t:null}get isConnected(){return this.mounted}addEventListener(){}removeEventListener(){}unmount(){this.trackMap.forEach(t=>{var n,r;(n=t.cleanup)==null||n.call(t),(r=t.lastNodes)==null||r.forEach(o=>{t.isRoot?O(o):o instanceof e&&o.unmount();});}),this.trackMap.clear(),this.treeMap.clear(),this.nodes.forEach(t=>O(t)),this.nodes=[],this.mounted=!1;}mount(t,n){var s;if(this.parent=t,this.isConnected)return this.nodes.forEach(i=>x(t,i,n)),this.nodes;let r=this.template.content.cloneNode(!0),o=r.firstChild;return (s=o==null?void 0:o.hasAttribute)!=null&&s.call(o,"_svg_")&&(o.remove(),o==null||o.childNodes.forEach(i=>{r.append(i);})),this.nodes=Array.from(r.childNodes),this.mapNodeTree(t,r),x(t,r,n),this.patchNodes(this.props),this.mounted=!0,this.nodes}mapNodeTree(t,n){let r=1;this.treeMap.set(0,t);let o=s=>{s.nodeType!==Node.DOCUMENT_FRAGMENT_NODE&&this.treeMap.set(r++,s);let i=s.firstChild;for(;i;)o(i),i=i.nextSibling;};o(n);}patchNodes(t){for(let n in t){let r=Number(n),o=this.treeMap.get(r);if(o){let s=this.props[n];this.patchNode(n,o,s,r===0);}}this.props=t;}getNodeTrack(t,n,r){var s;let o=this.trackMap.get(t);return o||(o={cleanup:()=>{}},n&&(o.lastNodes=new Map),r&&(o.isRoot=!0),this.trackMap.set(t,o)),(s=o.cleanup)==null||s.call(o),o}inheritNode(t){this.mounted=t.mounted,this.nodes=t.nodes,this.trackMap=t.trackMap,this.treeMap=t.treeMap;let n=this.props;this.props=t.props,this.patchNodes(n);}patchNode(t,n,r,o){for(let s in r)if(s==="children"&&r.children)if(k(r.children))r.children.filter(Boolean).forEach((i,a)=>{var $;let[c,u]=k(i)?i:[i,null],l=ge(u)?null:($=this.treeMap.get(u))!=null?$:null,f=`${t}:${s}:${a}`,C=this.getNodeTrack(f,!0,o);Ae(C,n,c,l);});else {let i=`${t}:${s}:0`,a=this.getNodeTrack(i,!0,o);Ae(a,n,r.children,null);}else if(s==="ref")p(r[s])?r[s].value=n:d(r[s])&&r[s](n);else if(y(s,"on")){let i=s.slice(2).toLocaleLowerCase(),a=this.getNodeTrack(`${t}:${s}`),c=r[s];a.cleanup=v(n,i,c);}else if(!y(s,"update")){let i=this.getNodeTrack(`${t}:${s}`),a=r[s],c=p(a)?a:L(a);Me(i,n,s,c.value);let u=N(()=>{c.value=p(a)?a.value:a,Me(i,n,s,c.value);}),l,f=`update${ve(s)}`;r[f]&&(l=Ce(n,C=>{r[f](C);})),i.cleanup=()=>{u&&u(),l&&l();};}}};function Me(e,t,n,r){let o=t;o.setAttribute&&(d(r)?e.cleanup=N(()=>{ue(o,n,r());}):ue(o,n,r));}function Ae(e,t,n,r){d(n)?e.cleanup=N(()=>{let o=Q(n()).map(ae);e.lastNodes=we(t,e.lastNodes,o,r);}):Q(n).forEach((o,s)=>{let i=ae(o);e.lastNodes.set(String(s),i),x(t,i,r);});}function De(e){var t;V("onMounted"),(t=T.ref)==null||t.addHook("mounted",e);}function Ve(e){var t;V("onDestroy"),(t=T.ref)==null||t.addHook("destroy",e);}function V(e){T.ref||console.error(`"${e}" can only be called within the component function body
2
- and cannot be used in asynchronous or deferred calls.`);}function qe(e,t){var n;V("useProvide"),(n=T.ref)==null||n.setContext(e,t);}function Ue(e,t){var n;return V("useInject"),((n=T.ref)==null?void 0:n.getContext(e))||t}function Ze(){let e=null;return new Proxy({},{get(t,n){return n==="__is_ref"?!0:e},set(t,n,r){return e=r,!0}})}function Qe(e){return Object.entries(e).map(([t,n])=>`${t}=${JSON.stringify(escape(String(n)))}`).join(" ")}function le(e,t){if(d(e))return e(t);let n=Array.isArray(e)?e.reduce((s,i,a)=>(s[a+1]={template:i},s),{}):e,r={},o={};if(S(n))for(let[s,i]of Object.entries(n)){let a=t[s];if(a){for(let c in a)y(c,"on")&&d(a[c])&&delete a[c];if(a.children){for(let[c,u]of a.children)r[u]||(r[u]=[]),r[u].push(c);delete a.children;}}o[s]={template:i.template,prop:a};}return Object.entries(o).map(([s,{template:i,prop:a}])=>{let c=i;return a&&(c+=` ${Qe(a)}`),r[s]&&(c+=r[s].map(u=>le(u,a)).join("")),c}).join("")}function pn(e,t){return le(e,t)}function dn(e,t,n={}){t.innerHTML=le(e,n);}globalThis&&(globalThis.__essor_version=he);
1
+ var Ae=Object.defineProperty;var pe=Object.getOwnPropertySymbols;var Oe=Object.prototype.hasOwnProperty,je=Object.prototype.propertyIsEnumerable;var de=(e,t,n)=>t in e?Ae(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,E=(e,t)=>{for(var n in t||(t={}))Oe.call(t,n)&&de(e,n,t[n]);if(pe)for(var n of pe(t))je.call(t,n)&&de(e,n,t[n]);return e};var me="0.0.7-beta.1";var k=e=>e!==null&&typeof e=="object";var C=Array.isArray;function q(e){return typeof e=="string"}function Re(e){return e===null}function he(e){return e==null}var d=e=>typeof e=="function";function U(e){return e===!1||e===null||e===void 0||e===""}var w=e=>["string","number","boolean","symbol","undefined"].includes(typeof e)||Re(e),Z=e=>e instanceof HTMLElement||e instanceof SVGElement;function Q(e){return Array.isArray(e)?e.flat():[e]}var J=(e,t)=>e!==t&&(e===e||t===t),ge=Function.prototype;function g(e,t){return q(e)?e.indexOf(t)===0:!1}function M(e,t=new WeakMap){if(e===null||typeof e!="object")return e;if(t.has(e))return t.get(e);if(e instanceof Date)return new Date(e);if(e instanceof RegExp)return new RegExp(e);if(e instanceof Map){let o=new Map;return t.set(e,o),e.forEach((s,a)=>{o.set(M(a,t),M(s,t));}),o}if(e instanceof Set){let o=new Set;return t.set(e,o),e.forEach(s=>{o.add(M(s,t));}),o}let n=Array.isArray(e)?[]:{};t.set(e,n);let r=Object.keys(e);for(let o of r)n[o]=M(e[o],t);return n}function _(e,t,n=new WeakMap){if(w(e)&&w(t))return e===t;if(e===t)return !0;if(e==null||t==null||typeof e!="object"||typeof t!="object"||e.constructor!==t.constructor)return !1;if(n.has(e))return n.get(e)===t;if(n.set(e,t),Array.isArray(e)){if(e.length!==t.length)return !1;for(let[s,a]of e.entries())if(!_(a,t[s],n))return !1;return !0}if(e instanceof Map){if(e.size!==t.size)return !1;for(let[s,a]of e)if(!t.has(s)||!_(a,t.get(s),n))return !1;return !0}if(e instanceof Set){if(e.size!==t.size)return !1;let s=Array.from(e).sort(),a=Array.from(t).sort();for(let[c,i]of s.entries())if(!_(i,a[c],n))return !1;return !0}let r=Object.keys(e),o=new Set(Object.keys(t));if(r.length!==o.size)return !1;for(let s of r)if(!o.has(s)||!_(e[s],t[s],n))return !1;return !0}function I(e,t){return Array.isArray(t)?t.includes(e):d(t)?t(e):!1}var ye=e=>e.replaceAll(/[A-Z]+/g,(t,n)=>`${n>0?"-":""}${t.toLocaleLowerCase()}`);var Te=e=>e.charAt(0).toUpperCase()+e.slice(1);var x=null,W=null,ee=new WeakMap,te=new WeakMap,ne=new Set,Y=new WeakMap,_e=["push","pop","shift","unshift","splice","sort","reverse"];function L(e,t){if(!x&&!W)return;let n=te.get(e);n||(n=new Map,te.set(e,n));let r=n.get(t);r||(r=new Set,n.set(t,r)),x&&r.add(x);let o=ee.get(e);o||(o=new Map,ee.set(e,o));let s=o.get(t);s||(s=new Set,o.set(t,s)),W&&s.add(W);}function F(e,t){let n=te.get(e);if(!n)return;let r=n.get(t);r&&r.forEach(s=>ne.has(s)&&s());let o=ee.get(e);if(o){let s=o.get(t);s&&s.forEach(a=>a.run());}}var G=class{constructor(t){this._value=t;}valueOf(){return L(this,"value"),this.__triggerObject(),this._value}toString(){return L(this,"value"),this.__triggerObject(),String(this._value)}toJSON(){return this._value}get value(){return L(this,"value"),this.__triggerObject(),this._value}__triggerObject(){!w(this._value)&&!Z(this._value)&&A(this._value);}set value(t){p(t)&&(console.warn("Signal cannot be set to another signal, use .peek() instead"),t=t.peek()),J(t,this._value)&&(this._value=t,!w(this._value)&&!Z(this._value)&&this.__triggerObject(),F(this,"value"));}peek(){return this._value}update(){F(this,"value");}};function P(e){return p(e)?e:new G(e)}function p(e){return e instanceof G}var z=class{constructor(t){this.fn=t;this._deps=new Set;let n=W;W=this,this._value=this.fn(),W=n;}peek(){return this._value}run(){let t=this.fn();J(t,this._value)&&(this._value=t,this._deps.forEach(n=>n()));}get value(){return x&&this._deps.add(x),L(this,"_value"),this._value}};function re(e){return new z(e)}function X(e){return e instanceof z}function N(e){function t(){let n=x;x=t,e(),x=n;}return ne.add(t),t(),()=>{ne.delete(t),x=null;}}function oe(e,t){return Object.entries(e).reduce((r,[o,s])=>(r[o]=I(o,t)||p(s)?s:P(s),r),{})}function be(e,t){return e?p(e)?e.peek():C(e)?e.map(n=>be(n,t)):k(e)?Object.entries(e).reduce((n,[r,o])=>(I(r,t)?n[r]=o:n[r]=p(o)?o.peek():o,n),{}):e:{}}var ve=Symbol("useReactive");function H(e){return e&&e[ve]===!0}function We(e){return H(e)?E({},e):e}function A(e,t){if(!k(e)||H(e))return e;if(Y.has(e))return Y.get(e);Array.isArray(e)&&_e.forEach(o=>{let s=e[o];L(e,"length"),Object.defineProperties(e,{[o]:{value(...a){let c=s.apply(this,a);return F(e,"length"),c},enumerable:!1,configurable:!0,writable:!0}});});let n={get(o,s,a){if(s===ve||g(s,"_"))return !0;let c=Reflect.get(o,s,a),i=p(c)?c.value:c;return I(s,t)?i:(L(o,s),k(i)?A(i):i)},set(o,s,a,c){if(I(s,t))return Reflect.set(o,s,a,c),!0;let i=Reflect.get(o,s,c);p(i)&&(i=i.value),p(a)&&(a=a.value);let u=Reflect.set(o,s,a,c);return J(a,i)&&F(o,s),u},deleteProperty(o,s){let a=Reflect.get(o,s),c=Reflect.deleteProperty(o,s);return a!==void 0&&F(o,s),c}},r=new Proxy(e,n);return Y.set(e,r),r}function se(e,...t){console.warn.apply(console,[`[Essor warn]: ${e}`].concat(t));}function Le(e,t,n){return Pe(e,t,n)}function Pe(e,t,n){let r,o=n==null?void 0:n.deep;if(p(e)||X(e)?r=()=>e.value:H(e)?r=()=>E({},e):C(e)?r=()=>e.map(i=>p(i)||X(i)?i.value:H(i)?E({},i):d(i)?i():se("Invalid source",i)):d(e)?r=e:(se("Invalid source type",e),r=ge),t&&o){let i=r;r=()=>$(i());}let s,a=()=>{let i=M(r());_(i,s)||(t&&t(i,s),s=w(i)?i:M(i));},c=N(a);return n!=null&&n.immediate&&a(),c}function $(e,t=new Set){return !k(e)||t.has(e)||(t.add(e),C(e)?e.forEach(n=>$(n,t)):e instanceof Map?e.forEach((n,r)=>{$(r,t),$(n,t);}):e instanceof Set?e.forEach(n=>$(n,t)):Object.keys(e).forEach(n=>{$(e[n],t);})),e}var B=0,ie=new Map;function He(e){let{state:t,getters:n,actions:r}=e,o=E({},t!=null?t:{}),s=A(t!=null?t:{}),a=[],c=[],u=E({state:s},{patch$(l){Object.assign(s,l),a.forEach(f=>f(s)),c.forEach(f=>f(s));},subscribe$(l){a.push(l);},unsubscribe$(l){let f=a.indexOf(l);f!==-1&&a.splice(f,1);},onAction$(l){c.push(l);},reset$(){Object.assign(s,o);}});for(let l in n){let f=n[l];f&&(u[l]=re(f.bind(s,s)));}for(let l in r){let f=r[l];f&&(u[l]=f.bind(s));}return ie.set(B,u),++B,u}function $e(e){return function(){return ie.has(B)?ie.get(B):He(e)}}var S=class S{constructor(t,n,r){this.template=t;this.props=n;this.key=r;this.proxyProps={};this.context={};this.emitter=new Set;this.mounted=!1;this.rootNode=null;this.hooks={mounted:new Set,destroy:new Set};this.trackMap=new Map;this.proxyProps=oe(n,o=>g(o,"on")||g(o,"update"));}addEventListener(){}removeEventListener(){}get firstChild(){var t,n;return (n=(t=this.rootNode)==null?void 0:t.firstChild)!=null?n:null}get isConnected(){var t,n;return (n=(t=this.rootNode)==null?void 0:t.isConnected)!=null?n:!1}addHook(t,n){var r;(r=this.hooks[t])==null||r.add(n);}getContext(t){return S.context[t]}setContext(t,n){S.context[t]=n;}inheritNode(t){this.context=t.context,this.hooks=t.hooks,Object.assign(this.proxyProps,t.proxyProps),this.rootNode=t.rootNode,this.trackMap=t.trackMap;let n=this.props;this.props=t.props,this.patchProps(n);}unmount(){var t;this.hooks.destroy.forEach(n=>n()),Object.values(this.hooks).forEach(n=>n.clear()),(t=this.rootNode)==null||t.unmount(),this.rootNode=null,this.proxyProps={},this.mounted=!1,this.emitter.forEach(n=>n()),S.context={};}mount(t,n){var o,s,a,c;if(!d(this.template))throw new Error("Template must be a function");if(this.isConnected)return (s=(o=this.rootNode)==null?void 0:o.mount(t,n))!=null?s:[];S.ref=this,this.rootNode=this.template(A(this.proxyProps,["children"])),S.ref=null,this.mounted=!0;let r=(c=(a=this.rootNode)==null?void 0:a.mount(t,n))!=null?c:[];return this.hooks.mounted.forEach(i=>i()),this.patchProps(this.props),r}getNodeTrack(t,n){let r=this.trackMap.get(t);return r||(r={cleanup:()=>{}},this.trackMap.set(t,r)),n||r.cleanup(),r}patchProps(t){var n,r,o,s,a;for(let[c,i]of Object.entries(t))if(g(c,"on")&&((n=this.rootNode)!=null&&n.nodes)){let u=c.slice(2).toLowerCase(),l=i,f=T(this.rootNode.nodes[0],u,l);this.emitter.add(f);}else if(c==="ref")p(i)?t[c].value=(r=this.rootNode)==null?void 0:r.nodes[0]:d(i)&&t[c]((o=this.rootNode)==null?void 0:o.nodes[0]);else if(g(c,"update"))t[c]=p(i)?i.value:i;else {let u=(a=(s=this.proxyProps)[c])!=null?a:s[c]=P(i),l=this.getNodeTrack(c);l.cleanup=N(()=>{u.value=d(i)?i():i;});}this.props=t;}};S.ref=null,S.context={};var y=S;function Ke(e,t,n){return q(e)&&(Ne(e)&&(e=Se(e),t={1:t}),e=xe(e)),d(e)?new y(e,t,n):new K(e,t,n)}function b(e){return e instanceof y||e instanceof K}function xe(e){let t=document.createElement("template");return t.innerHTML=e,t}function Ie(e){return e.children}function ae(e){if(b(e)||e instanceof Node)return e;let t=U(e)?"":String(e);return document.createTextNode(t)}function v(e,t,n=null){let r=b(n)?n.firstChild:n;b(t)?t.mount(e,r):r?r.before(t):e.append(t);}function O(e){b(e)?e.unmount():e.parentNode&&e.remove();}function ce(e,t,n){v(e,t,n),O(n);}function ue(e,t,n){if(t==="class"){typeof n=="string"?e.className=n:Array.isArray(n)?e.className=n.join(" "):n&&typeof n=="object"&&(e.className=Object.entries(n).reduce((r,[o,s])=>r+(s?` ${o}`:""),"").trim());return}if(t==="style"){if(typeof n=="string")e.style.cssText=n;else if(n&&typeof n=="object"){let r=n;Object.keys(r).forEach(o=>{e.style.setProperty(ye(o),String(r[o]));});}return}U(n)?e.removeAttribute(t):n===!0?e.setAttribute(t,""):e.setAttribute(t,String(n));}function ke(e,t){if(e instanceof HTMLInputElement){if(e.type==="checkbox")return T(e,"change",()=>{t(!!e.checked);});if(e.type==="date")return T(e,"change",()=>{t(e.value?e.value:"");});if(e.type==="file")return T(e,"change",()=>{e.files&&t(e.files);});if(e.type==="number")return T(e,"input",()=>{let n=Number.parseFloat(e.value);t(Number.isNaN(n)?"":String(n));});if(e.type==="radio")return T(e,"change",()=>{t(e.checked?e.value:"");});if(e.type==="text")return T(e,"input",()=>{t(e.value);})}if(e instanceof HTMLSelectElement)return T(e,"change",()=>{t(e.value);});if(e instanceof HTMLTextAreaElement)return T(e,"input",()=>{t(e.value);})}var Ee=Promise.resolve();function Fe(e){return e?Ee.then(e):Ee}function T(e,t,n){return e.addEventListener(t,n),()=>e.removeEventListener(t,n)}var Je=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"],Ge=["a","abbr","acronym","address","applet","area","article","aside","audio","b","base","basefont","bdi","bdo","bgsound","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","command","content","data","datalist","dd","del","details","dfn","dialog","dir","div","dl","dt","em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","image","img","input","ins","kbd","keygen","label","legend","li","link","listing","main","map","mark","marquee","menu","menuitem","meta","meter","nav","nobr","noframes","noscript","object","ol","optgroup","option","output","p","param","picture","plaintext","pre","progress","q","rb","rp","rt","rtc","ruby","s","samp","script","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","tt","u","ul","var","video","wbr","xmp"];function Ne(e){return Ge.includes(e)}function Se(e){return Je.includes(e)?`<${e}/>`:`<${e}></${e}>`}function Ce(e,t,n,r){let o=new Map,s=t.values();if(t.size>0&&n.length===0){if(e.childNodes.length===t.size+(r?1:0))e.innerHTML="",r&&v(e,r);else {let i=document.createRange(),u=s.next().value,l=b(u)?u.firstChild:u;i.setStartBefore(l),r?i.setEndBefore(r):i.setEndAfter(e),i.deleteContents();}return t.forEach(i=>{b(i)&&i.unmount();}),o}let a=[],c=Xe(n);for(let[i,u]of n.entries()){let l=s.next().value,f=D(l,i);for(;l&&!c.has(f);)O(l),t.delete(f),l=s.next().value,f=D(l,i);let j=D(u,i),R=t.get(j);if(R&&(u=ze(e,R,u)),l){if(l!==R)if(l){let fe=document.createComment("");v(e,fe,l),a.push([fe,u]);}else v(e,u,r);}else v(e,u,r);o.set(j,u);}return a.forEach(([i,u])=>ce(e,u,i)),t.forEach((i,u)=>{i.isConnected&&!o.has(u)&&O(i);}),o}function ze(e,t,n){return t===n?t:b(t)&&b(n)&&t.template===n.template?(n.inheritNode(t),n):t instanceof Text&&n instanceof Text?(t.textContent!==n.textContent&&(t.textContent=n.textContent),t):(ce(e,n,t),n)}function Xe(e){let t=new Map;for(let[n,r]of e.entries()){let o=D(r,n);t.set(o,r);}return t}function D(e,t){let n=e==null?void 0:e.id,r=n===""?void 0:n;return r!=null?r:`_$${t}$`}var K=class e{constructor(t,n,r){this.template=t;this.props=n;this.key=r;this.treeMap=new Map;this.mounted=!1;this.nodes=[];this.provides={};this.trackMap=new Map;this.parent=null;}get firstChild(){var t;return (t=this.nodes[0])!=null?t:null}get isConnected(){return this.mounted}addEventListener(){}removeEventListener(){}unmount(){this.trackMap.forEach(t=>{var n,r;(n=t.cleanup)==null||n.call(t),(r=t.lastNodes)==null||r.forEach(o=>{t.isRoot?O(o):o instanceof e&&o.unmount();});}),this.trackMap.clear(),this.treeMap.clear(),this.nodes.forEach(t=>O(t)),this.nodes=[],this.mounted=!1;}mount(t,n){var s;if(this.parent=t,this.isConnected)return this.nodes.forEach(a=>v(t,a,n)),this.nodes;let r=this.template.content.cloneNode(!0),o=r.firstChild;return (s=o==null?void 0:o.hasAttribute)!=null&&s.call(o,"_svg_")&&(o.remove(),o==null||o.childNodes.forEach(a=>{r.append(a);})),this.nodes=Array.from(r.childNodes),this.mapNodeTree(t,r),v(t,r,n),this.patchNodes(this.props),this.mounted=!0,this.nodes}mapNodeTree(t,n){let r=1;this.treeMap.set(0,t);let o=s=>{s.nodeType!==Node.DOCUMENT_FRAGMENT_NODE&&this.treeMap.set(r++,s);let a=s.firstChild;for(;a;)o(a),a=a.nextSibling;};o(n);}patchNodes(t){for(let n in t){let r=Number(n),o=this.treeMap.get(r);if(o){let s=this.props[n];this.patchNode(n,o,s,r===0);}}this.props=t;}getNodeTrack(t,n,r){var s;let o=this.trackMap.get(t);return o||(o={cleanup:()=>{}},n&&(o.lastNodes=new Map),r&&(o.isRoot=!0),this.trackMap.set(t,o)),(s=o.cleanup)==null||s.call(o),o}inheritNode(t){this.mounted=t.mounted,this.nodes=t.nodes,this.trackMap=t.trackMap,this.treeMap=t.treeMap;let n=this.props;this.props=t.props,this.patchNodes(n);}patchNode(t,n,r,o){for(let s in r)if(s==="children"&&r.children)if(C(r.children))r.children.filter(Boolean).forEach((a,c)=>{var R;let[i,u]=C(a)?a:[a,null],l=he(u)?null:(R=this.treeMap.get(u))!=null?R:null,f=`${t}:${s}:${c}`,j=this.getNodeTrack(f,!0,o);we(j,n,i,l);});else {let a=`${t}:${s}:0`,c=this.getNodeTrack(a,!0,o);we(c,n,r.children,null);}else if(s==="ref")p(r[s])?r[s].value=n:d(r[s])&&r[s](n);else if(g(s,"on")){let a=s.slice(2).toLocaleLowerCase(),c=this.getNodeTrack(`${t}:${s}`),i=r[s];c.cleanup=T(n,a,i);}else if(!g(s,"update")){let a=this.getNodeTrack(`${t}:${s}`),c=r[s],i=p(c)?c:P(c);Me(a,n,s,i.value);let u=N(()=>{i.value=p(c)?c.value:c,Me(a,n,s,i.value);}),l,f=`update${Te(s)}`;r[f]&&(l=ke(n,j=>{r[f](j);})),a.cleanup=()=>{u&&u(),l&&l();};}}};function Me(e,t,n,r){let o=t;o.setAttribute&&(d(r)?e.cleanup=N(()=>{ue(o,n,r());}):ue(o,n,r));}function we(e,t,n,r){d(n)?e.cleanup=N(()=>{let o=Q(n()).map(ae);e.lastNodes=Ce(t,e.lastNodes,o,r);}):Q(n).forEach((o,s)=>{let a=ae(o);e.lastNodes.set(String(s),a),v(t,a,r);});}function Be(e){var t;V("onMounted"),(t=y.ref)==null||t.addHook("mounted",e);}function De(e){var t;V("onDestroy"),(t=y.ref)==null||t.addHook("destroy",e);}function V(e){y.ref||console.error(`"${e}" can only be called within the component function body
2
+ and cannot be used in asynchronous or deferred calls.`);}function Ve(e,t){var n;V("useProvide"),(n=y.ref)==null||n.setContext(e,t);}function qe(e,t){var n;return V("useInject"),((n=y.ref)==null?void 0:n.getContext(e))||t}function Ue(){let e=null;return new Proxy({},{get(t,n){return n==="__is_ref"?!0:e},set(t,n,r){return e=r,!0}})}function Ze(e){return Object.entries(e).map(([t,n])=>`${t}=${JSON.stringify(escape(String(n)))}`).join(" ")}function le(e,t){if(d(e))return e(t);let n=Array.isArray(e)?e.reduce((s,a,c)=>(s[c+1]={template:a},s),{}):e,r={},o={};if(k(n))for(let[s,a]of Object.entries(n)){let c=t[s];if(c){for(let i in c)g(i,"on")&&d(c[i])&&delete c[i];if(c.children){for(let[i,u]of c.children)r[u]||(r[u]=[]),r[u].push(i);delete c.children;}}o[s]={template:a.template,prop:c};}return Object.entries(o).map(([s,{template:a,prop:c}])=>{let i=a;return c&&(i+=` ${Ze(c)}`),r[s]&&(i+=r[s].map(u=>le(u,c)).join("")),i}).join("")}function pn(e,t){return le(e,t)}function dn(e,t,n={}){t.innerHTML=le(e,n);}globalThis&&(globalThis.__essor_version=me);
3
3
 
4
- export { T as ComponentNode, Ie as Fragment, H as TemplateNode, he as __essor_version, Ke as createStore, Fe as h, X as isComputed, b as isJsxElement, W as isReactive, p as isSignal, Je as nextTick, Ve as onDestroy, De as onMount, le as renderTemplate, pn as renderToString, oe as signalObject, dn as ssgRender, Ne as template, We as unReactive, be as unSignal, re as useComputed, N as useEffect, Ue as useInject, qe as useProvide, A as useReactive, Ze as useRef, L as useSignal, Pe as useWatch };
4
+ export { y as ComponentNode, Ie as Fragment, K as TemplateNode, me as __essor_version, $e as createStore, Ke as h, X as isComputed, b as isJsxElement, H as isReactive, p as isSignal, Fe as nextTick, De as onDestroy, Be as onMount, le as renderTemplate, pn as renderToString, oe as signalObject, dn as ssgRender, xe as template, We as unReactive, be as unSignal, re as useComputed, N as useEffect, qe as useInject, Ve as useProvide, A as useReactive, Ue as useRef, P as useSignal, Le as useWatch };
5
5
  //# sourceMappingURL=out.js.map
6
6
  //# sourceMappingURL=essor.esm.js.map