sprae 12.4.0 → 12.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/core.js CHANGED
@@ -1,5 +1,7 @@
1
1
  import store, { _change, _signals } from "./store.js";
2
2
 
3
+
4
+
3
5
  /** Symbol for disposal (using standard Symbol.dispose if available) */
4
6
  export const _dispose = (Symbol.dispose ||= Symbol("dispose"))
5
7
 
@@ -82,6 +84,7 @@ export let directive = {};
82
84
  */
83
85
  export let modifier = {}
84
86
 
87
+
85
88
  let currentDir = null;
86
89
  let currentEl = null;
87
90
 
@@ -106,7 +109,11 @@ const elHint = (el) => {
106
109
  const err = (e, expr) => {
107
110
  let msg = `∴ ${e}`
108
111
  if (currentEl) msg += `\n in ${elHint(currentEl)}`
109
- if (currentDir && expr) msg += `\n ${currentDir}="${expr}"`
112
+ if (currentDir && expr) {
113
+ // Truncate long expressions
114
+ const display = expr.length > 100 ? expr.slice(0, 80) + `… (${expr.length} chars)` : expr
115
+ msg += `\n ${currentDir}="${display}"`
116
+ }
110
117
  console.error(msg)
111
118
  }
112
119
 
@@ -198,6 +205,10 @@ const sprae = (el = document.body, state) => {
198
205
  return state;
199
206
  }
200
207
 
208
+ /** Package version (injected by bundler) */
209
+ sprae.version = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'dev'
210
+
211
+
201
212
  // directive initializer
202
213
  /** @type {(el: Element, name: string, expr: string, state: Object) => () => (() => void) | void} */
203
214
  export let dir
@@ -288,6 +299,49 @@ export const decorate = (fn, mods) => {
288
299
  return fn
289
300
  }
290
301
 
302
+
303
+ /** MutationObserver reference, set by sprae.start() */
304
+ export let mo = null
305
+ /** Pauses MO during DOM mutations to prevent disposing managed elements */
306
+ export const mutate = (fn) => { mo?.disconnect(); fn(); mo?.observe(mo._root, { childList: true, subtree: true }) }
307
+
308
+ /**
309
+ * Auto-initializes sprae on dynamically added elements.
310
+ * Uses MutationObserver to detect new DOM nodes and apply directives.
311
+ *
312
+ * @param {Element} [root=document.body] - Root element to observe
313
+ * @param {Object} [values] - Initial state values
314
+ * @returns {Object} The reactive state object
315
+ *
316
+ * @example
317
+ * ```js
318
+ * // Auto-init on page load
319
+ * sprae.start(document.body, { count: 0 })
320
+ * ```
321
+ */
322
+ export const start = (root = document.body, values) => {
323
+ const state = store(values)
324
+ sprae(root, state);
325
+ mo = new MutationObserver(mutations => {
326
+ for (const m of mutations) {
327
+ for (const el of m.addedNodes) {
328
+ // el can be spraed or removed by subsprae (like within :each/:if)
329
+ if (el.nodeType === 1 && el[_state] === undefined && root.contains(el)) {
330
+ // even if element has no spraeable attrs, some of its children can have
331
+ root[_add](el)
332
+ }
333
+ }
334
+ for (const el of m.removedNodes) {
335
+ // Only dispose if element is truly removed from document
336
+ if (el.nodeType === 1 && !root.contains(el)) el[_dispose]?.()
337
+ }
338
+ }
339
+ });
340
+ mo._root = root
341
+ mo.observe(root, { childList: true, subtree: true });
342
+ return state
343
+ }
344
+
291
345
  /**
292
346
  * @typedef {Object} FragmentLike
293
347
  * @property {Node[]} childNodes - Child nodes of the fragment
package/directive/each.js CHANGED
@@ -1,4 +1,4 @@
1
- import sprae, { store, parse, _state, effect, _change, _signals, frag, throttle, debounce } from "../core.js";
1
+ import sprae, { store, parse, _state, effect, _change, _signals, frag, throttle, debounce, mutate } from "../core.js";
2
2
 
3
3
  /**
4
4
  * Each directive - renders list items from array/object/number.
@@ -19,7 +19,7 @@ export default (tpl, state, expr) => {
19
19
  // we re-create items any time new items are produced
20
20
  let cur, keys, items, prevl = 0
21
21
 
22
- let update = throttle(() => {
22
+ let update = throttle(() => mutate(() => {
23
23
  let i = 0, newItems = items, newl = newItems.length
24
24
 
25
25
  // plain array update, not store (signal with array) - updates full list
@@ -59,10 +59,10 @@ export default (tpl, state, expr) => {
59
59
  pending.push([ el, idx ])
60
60
  } else {
61
61
  holder.before(insertNode)
62
- let subscope = Object.create(state, {
63
- [itemVar]: { get: () => cur[idx] },
64
- [idxVar]: { value: keys ? keys[idx] : idx }
65
- })
62
+ let subscope = store({
63
+ get [itemVar]() { return cur[idx] },
64
+ [idxVar]: keys ? keys[idx] : idx
65
+ }, state)
66
66
  sprae(el, subscope)
67
67
  }
68
68
 
@@ -77,19 +77,19 @@ export default (tpl, state, expr) => {
77
77
  if (batch) {
78
78
  holder.before(batch)
79
79
  for (let [el, idx] of pending) {
80
- let subscope = Object.create(state, {
81
- [itemVar]: { get: () => cur[idx] },
82
- [idxVar]: { value: keys ? keys[idx] : idx }
83
- })
80
+ let subscope = store({
81
+ get [itemVar]() { return cur[idx] },
82
+ [idxVar]: keys ? keys[idx] : idx
83
+ }, state)
84
84
  sprae(el, subscope)
85
85
  }
86
86
  }
87
87
  }
88
88
 
89
89
  prevl = newl
90
- })
90
+ }))
91
91
 
92
- tpl.replaceWith(holder);
92
+ mutate(() => tpl.replaceWith(holder))
93
93
  tpl[_state] = null // mark as fake-spraed, to preserve :-attribs for template
94
94
 
95
95
  return Object.assign(value => {
package/directive/else.js CHANGED
@@ -10,6 +10,7 @@ export default (el) => {
10
10
  let _el, _prev = el
11
11
 
12
12
  _el = el.content ? frag(el) : el
13
+ _el[_state] ??= null // mark _el (frag) as needing sprae
13
14
 
14
15
  // find holder
15
16
  while (_prev && !(_el._holder = _prev._holder)) _prev = _prev.previousSibling
package/directive/if.js CHANGED
@@ -1,4 +1,4 @@
1
- import sprae, { throttle, _on, _off, _state, frag } from '../core.js';
1
+ import sprae, { throttle, _on, _off, _state, frag, mutate } from '../core.js';
2
2
 
3
3
  /**
4
4
  * Conditional directive - shows/hides element based on condition.
@@ -16,8 +16,9 @@ export default (el, state) => {
16
16
  el[_state] ??= null
17
17
 
18
18
  _el = el.content ? frag(el) : el
19
+ _el[_state] ??= null // mark _el (frag) as needing sprae
19
20
 
20
- el.replaceWith(_holder = document.createTextNode(''))
21
+ mutate(() => el.replaceWith(_holder = document.createTextNode('')))
21
22
  _el._holder = _holder._holder = _holder
22
23
 
23
24
 
@@ -27,13 +28,15 @@ export default (el, state) => {
27
28
  let match = _holder._clauses.find(([, s]) => s)
28
29
 
29
30
  if (match != _match) {
30
- _match?.[0].remove()
31
- _match?.[0][_off]?.()
32
- if (_match = match) {
33
- _holder.before(_match[0].content || _match[0])
34
- // there's no :else after :if, so lazy-sprae here doesn't risk adding own destructor to own list of destructors
35
- !_match[0][_state] ? (delete _match[0][_state], sprae(_match[0], state)) : _match[0][_on]?.()
36
- }
31
+ mutate(() => {
32
+ _match?.[0].remove()
33
+ _match?.[0][_off]?.()
34
+ if (_match = match) {
35
+ _holder.before(_match[0].content || _match[0])
36
+ // check if element needs initial sprae (null) vs just re-enabling (_on)
37
+ !_match[0][_state] ? (delete _match[0][_state], sprae(_match[0], state)) : _match[0][_on]?.()
38
+ }
39
+ })
37
40
  }
38
41
  })
39
42
  }
package/dist/sprae.js CHANGED
@@ -1,3 +1,3 @@
1
- var We=Object.defineProperty;var Pe=(e,t)=>{for(var r in t)We(e,r,{get:t[r],enumerable:!0})};var y=Symbol.dispose||(Symbol.dispose=Symbol("dispose")),p=Symbol("state"),z=Symbol("on"),K=Symbol("off"),B=Symbol("init"),G=":",x,I,J,R=e=>e(),M=R,F={},D={},Q=null,U=null,Ke=e=>{if(!e?.tagName)return"";let t=e.tagName.toLowerCase();return e.id?t+="#"+e.id:e.className&&(t+="."+e.className.split(" ")[0]),`<${t}>`},Z=(e,t)=>{let r=`\u2234 ${e}`;U&&(r+=`
2
- in ${Ke(U)}`),Q&&t&&(r+=`
3
- ${Q}="${t}"`),console.error(r)},Ie=(e=document.body,t)=>{if(e[p])return Object.assign(e[p],t);t=H(t||{});let r=[],o=[];e[z]=()=>!o&&(o=r.map(s=>s())),e[K]=()=>(o?.map(s=>s()),o=null),e[y]||(e[y]=()=>(e[K](),e[K]=e[z]=e[y]=e[B]=e[p]=null));let n=e[B]=s=>{let i=s.attributes,a;if(i)for(let c=0;c<i.length;){let{name:l,value:f}=i[c];if(l.startsWith(G)){if(s.removeAttribute(l),Q=l,U=s,r.push(a=ce(s,l.slice(G.length),f,t)),o.push(a()),p in s)return}else c++}if(s.firstChild!==void 0){let c=s.firstChild,l;for(;c;)l=c.nextSibling,c.nodeType==1&&n(c),c=l}else for(let c of s.childNodes)c.nodeType==1&&n(c)};return n(e),e[p]===void 0&&(e[p]=t),t},ce,le,m=e=>{let t=ae[e=e.trim()];if(t)return t;try{t=le(e||"undefined")}catch(r){Z(r,e)}return ae[e]=function(r,o,n){try{let s=t?.call(this,r);return o?s?.then?(s.then(i=>n=o(i)).catch(i=>Z(i,e)),()=>typeof n=="function"&&n()):o(s):s}catch(s){Z(s,e)}}},ae={},Y=e=>(e.compile&&(le=e.compile),e.prefix&&(G=e.prefix),e.signal&&(x=e.signal),e.effect&&(I=e.effect),e.computed&&(J=e.computed),e.batch&&(R=e.batch),e.untracked&&(M=e.untracked),e.dir&&(ce=e.dir)),_=(e,t)=>{for(;t.length;){let[r,...o]=t.pop().split("-"),n=D[r],s;if(n&&(s=n(e,...o))!==e){for(let i in e)s[i]??(s[i]=e[i]);e=s}}return e},C=e=>{if(!e.nodeType)return e;let t=e.content.cloneNode(!0),r=[...e.attributes],o=document.createTextNode(""),n=(t.append(o),[...t.childNodes]);return{childNodes:n,content:t,remove:()=>t.append(...n),replaceWith(s){s!==o&&(o.before(s),t.append(...n))},attributes:r,removeAttribute(s){r.splice(r.findIndex(i=>i.name===s),1)}}},ue=e=>e.replace(/[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g,(t,r)=>(r?"-":"")+t.toLowerCase()),S=(e,t,r)=>r==null||r===!1?e.removeAttribute(t):e.setAttribute(t,r===!0?"":r),v=(e,t=[])=>e?typeof e=="string"?e:(Array.isArray(e)?e.map(v):Object.entries(e).reduce((r,[o,n])=>n?[...r,o]:r,[])).join(" "):"",$=(e,t)=>{let r=0,o,n=typeof t=="function"?t:t?i=>setTimeout(i,t):queueMicrotask,s=i=>{o=i,r++||(e(o),n((a=r>1)=>(r=0,a&&s(o))))};return s},de=(e,t,r)=>{let o=typeof t=="function"?t:t?n=>setTimeout(n,t):queueMicrotask;return r?(n=>s=>!n&&(e(s),n=1,o(()=>n=0)))():((n=0)=>(s,i=++n)=>o(()=>i==n&&e(s)))()},u=Ie;var w=Symbol("signals"),N=Symbol("change"),te=Symbol("set"),ee=!0,E=(e,t)=>{if(!e||e[Symbol.toStringTag]||e[w])return e;if(e.constructor!==Object)return Array.isArray(e)?Re(e):e;let r=Object.keys(e).length,o={},n=new Proxy(Object.assign(o,{[N]:x(r),[w]:o}),{get:(i,a)=>a in o?o[a]?o[a].valueOf():o[a]:t?t[a]:typeof globalThis[a]=="function"&&!globalThis[a].prototype?globalThis[a].bind(globalThis):globalThis[a],set:(i,a,c)=>a in o?(pe(o,a,c),1):(ee=!1,t&&a in t?t[a]=c:(X(o,a,c),o[N].value=++r),ee=!0,1),deleteProperty:(i,a)=>(a in o&&(a[0]!="_"&&o[a]?.[Symbol.dispose]?.(),delete o[a],o[N].value=--r),1),ownKeys:()=>(o[N].value,Reflect.ownKeys(o)),has:(i,a)=>a in o?!0:t?a in t:ee}),s=Object.getOwnPropertyDescriptors(e);for(let i in e)s[i]?.get?(o[i]=J(s[i].get.bind(n)))[te]=s[i].set?.bind(n):X(o,i,e[i]);return n},Re=(e,t=globalThis)=>{let r=Array(e.length).fill(null),o=!1,n=a=>function(){return o=!0,a.apply(this,arguments)},s=x(e.length),i=new Proxy(Object.assign(r,{[N]:s,[w]:r,push:n(r.push),pop:n(r.pop),shift:n(r.shift),unshift:n(r.unshift),splice:n(r.splice)}),{get(a,c){return c==="length"?o?(o=!1,r.length):s.value:typeof c=="symbol"||isNaN(c)?r[c]?.valueOf()??t[c]:(r[c]??(r[c]=x(E(e[c])))).valueOf()},set(a,c,l){if(c==="length"){for(let f=l;f<r.length;f++)delete i[f];s.value=r.length=l}else c>=r.length?(X(r,c,l),i.length=+c+1):r[c]?pe(r,c,l):X(r,c,l);return 1},deleteProperty:(a,c)=>(r[c]?.[Symbol.dispose]?.(),delete r[c],1)});return i},X=(e,t,r)=>e[t]=t[0]=="_"||r?.peek?r:x(E(r)),pe=(e,t,r,o,n)=>t[0]==="_"?e[t]=r:r!==(n=(o=e[t]).peek())&&(o[te]?o[te](r):Array.isArray(r)&&Array.isArray(n)?N in n?M(()=>R(()=>{for(let s=0;s<r.length;s++)n[s]=r[s];n.length=r.length})):o.value=r:o.value=E(r)),H=E;var re={};Pe(re,{batch:()=>He,computed:()=>Fe,effect:()=>he,signal:()=>me,untracked:()=>Ve});var j,fe=0,W,me=(e,t,r=new Set,o=()=>t.value)=>t={get value(){return j?.deps.add(r.add(j)),e},set value(n){if(n!==e){e=n;for(let s of r)W?W.add(s):s()}},peek(){return e},toJSON:o,toString:o,valueOf:o},he=(e,t,r,o)=>(r=n=>{let s=t;if(t=null,s?.call?.(),n=j,j=r,fe++>10)throw"Cycle detected";try{t=e()}finally{j=n,fe--}},r.fn=e,o=r.deps=new Set,r(),n=>{t?.call?.();for(n of o)n.delete(r);o.clear()}),Fe=(e,t=me(),r,o,n=()=>r.value)=>r={get value(){return o||(o=he(()=>t.value=e())),t.value},peek:t.peek,toJSON:n,toString:n,valueOf:n},He=(e,t=!W,r)=>{W??(W=new Set);try{e()}finally{if(t){[W,r]=[null,W];for(let o of r)o()}}},Ve=(e,t,r)=>(t=j,j=null,r=e(),j=t,r);var ye=(e,t)=>{var s;let r,o,n;return e._holder?u(o=e,t):(e[s=p]??(e[s]=null),o=e.content?C(e):e,e.replaceWith(r=document.createTextNode("")),o._holder=r._holder=r,r._clauses=[o._clause=[o,!1]],r.update=$(()=>{let i=r._clauses.find(([,a])=>a);i!=n&&(n?.[0].remove(),n?.[0][K]?.(),(n=i)&&(r.before(n[0].content||n[0]),n[0][p]?n[0][z]?.():(delete n[0][p],u(n[0],t))))})),i=>{o._clause[1]=i,o._holder.update()}};var ge=e=>{let t,r=e;for(t=e.content?C(e):e;r&&!(t._holder=r._holder);)r=r.previousSibling;return e.remove(),e[p]=null,t._holder._clauses.push(t._clause=[t,!0]),t._holder.update};var be=e=>(e.content&&e.replaceWith(e=C(e).childNodes[0]),t=>(t=typeof t=="function"?t(e.textContent):t,e.textContent=t??""));var xe=(e,t,r,o)=>{let n=new Set,s;return o.includes(".")&&(e=_({target:e},o.split(".").slice(1)).target??e),i=>{s=new Set,i&&v(typeof i=="function"?i(e.className):i).split(" ").map(a=>a&&s.add(a));for(let a of n)s.has(a)?s.delete(a):e.classList.remove(a);for(let a of n=s)e.classList.add(a)}};var _e=(e,t,r,o)=>{let n;return o.includes(".")&&(e=_({target:e},o.split(".").slice(1)).target??e),s=>{if(n||(n=e.getAttribute("style")),s=typeof s=="function"?s(e.style):s,typeof s=="string")S(e,"style",n+"; "+s);else{n&&S(e,"style",n);for(let i in s)i[0]=="-"?e.style.setProperty(i,s[i]):i[0]>"A"&&(e.style[i]=s[i])}}};var Se=()=>e=>typeof e=="function"&&e();var oe=(e,t=m(`${e}=__`))=>(r,o)=>{r.__=o,t(r),delete r.__},we=(e,t,r)=>{try{let o=oe(r),n=e.type==="checkbox"?()=>o(t,e.checked):e.type==="select-multiple"?()=>o(t,[...e.selectedOptions].map(s=>s.value)):()=>o(t,e.selectedIndex<0?null:isNaN(e.valueAsNumber)?e.value:e.valueAsNumber);e.oninput=e.onchange=n,e.type?.startsWith("select")&&(new MutationObserver(n).observe(e,{childList:!0,subtree:!0,attributes:!0}),u(e,t)),m(r)(t)??n()}catch{}return e.type==="text"||e.type===""||e.tagName==="TEXTAREA"?(o,n,s)=>(n=e.selectionStart,s=e.selectionEnd,e.setAttribute("value",e.value=o??""),n&&e.setSelectionRange(n,s)):e.type==="checkbox"?o=>(e.checked=o,S(e,"checked",o)):e.type==="radio"?o=>e.value===o&&(e.checked=o,S(e,"checked",o)):e.type==="select-one"?o=>{for(let n of e.options)n.value==o?n.setAttribute("selected",""):n.removeAttribute("selected");e.value=o}:e.type==="select-multiple"?o=>{for(let n of e.options)n.removeAttribute("selected");for(let n of o)e.querySelector(`[value="${n}"]`).setAttribute("selected","")}:o=>e.value=o};var Ae=(e,t,r)=>{let o=m(r)(t);if(typeof o=="function")return{[Symbol.dispose]:o(e)};oe(r)(t,e)};var Ne=(e,t)=>{let r=e[p]=E({},t),o=!1;return n=>{if(n=typeof n=="function"?n(r):n,n!==r)for(let s in n){let i=typeof n[s]=="function"?n[s].bind(r):n[s];s in r[w]?r[s]=i:r[w][s]=s[0]=="_"||i?.peek?i:x(E(i))}return!o&&(o=!0,delete e[p],M(()=>u(e,r)))}};var Oe=(e,t,r)=>{let[o,n]=r.split(/\bin|of\b/),[s,i="$"]=o.trim().replace(/\(|\)/g,"").split(/\s*,\s*/),a=document.createTextNode(""),c,l,f,O=0,A=$(()=>{var T,h;let d=0,k=f,g=k.length;if(c&&!c[N]){for(let L of c[w]||[])L[Symbol.dispose]();c=null,O=0}if(g<O)c.length=g;else{if(!c)c=k;else for(;d<O;)c[d]=k[d++];let P=g-d>1?document.createDocumentFragment():null,ie=P?[]:null;for(;d<g;d++){c[d]=k[d];let q=d,b=e.content?C(e):e.cloneNode(!0),V=b.content||b;if(P)P.appendChild(V),ie.push([b,q]);else{a.before(V);let Me=Object.create(t,{[s]:{get:()=>c[q]},[i]:{value:l?l[q]:q}});u(b,Me)}let qe=((h=c[T=w]||(c[T]=[]))[d]||(h[d]={}))[Symbol.dispose];c[w][d][Symbol.dispose]=()=>{qe?.(),b[Symbol.dispose]?.(),b.remove()}}if(P){a.before(P);for(let[q,b]of ie){let V=Object.create(t,{[s]:{get:()=>c[b]},[i]:{value:l?l[b]:b}});u(q,V)}}}O=g});return e.replaceWith(a),e[p]=null,Object.assign(d=>(l=null,typeof d=="number"?f=Array.from({length:d},(k,g)=>g+1):d?.constructor===Object?(l=Object.keys(d),f=Object.values(d)):f=d||[],I(()=>{f[N]?.value,A()})),{eval:m(n)})};var Te=(e,t,r,o)=>n=>S(e,o,typeof n=="function"?n(e.getAttribute(o)):n);var Ce=e=>t=>{for(let r in t)S(e,ue(r),t[r])};var je=(e,t,r,o)=>{let[n,...s]=o.slice(2).split("."),i=m(r).bind(e),a=_(Object.assign(c=>i(t,l=>typeof l=="function"?l(c):l),{target:e}),s);return a.target.addEventListener(n,a,a),{[Symbol.dispose](){a.target.removeEventListener(n,a)}}};var ke=(e,t,r,o)=>{let n,s,i=o.split("..").map((a,c,{length:l})=>a.split(":").reduce((f,O)=>{let[A,...d]=O.slice(2).split("."),k=m(r).bind(e),g=(h,L)=>n=typeof h=="function"?h(L):h,T=_(Object.assign(h=>(c?g(n,h):k(t,L=>g(L,h)),s(),s=i[(c+1)%l]()),{target:e}),d);return h=>(h=f?.(),T.target.addEventListener(A,T,T),()=>(h?.(),T.target.removeEventListener(A,T)))},null));return s=i[0](),{[Symbol.dispose](){s?.()}}};var De=(e,t)=>{if(e.content){let r=document.createTextNode(""),o=document.createTextNode(""),n=document.createRange();return e.replaceWith(r,o),s=>{if(s=typeof s=="function"?s(""):s,n.setStartAfter(r),n.setEndBefore(o),n.deleteContents(),s!=null&&s!==""){let i=n.createContextualFragment(s);u(i,t),n.insertNode(i)}}}return r=>(r=typeof r=="function"?r(e.innerHTML):r,e.innerHTML=r??"",u(e,t),e[y])};var $e=(e,t,r)=>{let o=document.createComment(":portal"),n=null;return e.before(o),s=>{let i=e.getRootNode(),a=typeof s=="string"?i.querySelector?.(s)||document.querySelector(s):s instanceof Element?s:s?document.body:null;a!==n&&(a?a.appendChild(e):o.after(e),n=a)}};var Ee=e=>t=>e.hidden=!!t;Object.assign(F,{_:(e,t,r,o)=>(o.startsWith("on")?je:Te)(e,t,r,o),"":Ce,class:xe,text:be,html:De,style:_e,fx:Se,value:we,ref:Ae,scope:Ne,if:ye,else:ge,each:Oe,portal:$e,hidden:Ee});var ze=(e,t,r,o)=>{let[n,...s]=t.split("."),i=F[n]||F._;return()=>{let a=i(e,o,r,t);if(!a?.call)return a?.[y];let c=_(Object.assign($(()=>l.value++),{target:e}),s),l=x(0),f=0,O=a.eval??m(r).bind(e),A,d=()=>(typeof A=="function"&&A(),A=null);return o=e[p]??o,I(()=>(l.value==f?c():(f=l.value,A=O(o,a)),d))}},Be=e=>e?typeof e=="number"?e:(([,t,r]=e.match(/^(\d+)(ms|s|m)?$/)||[])=>(t=+t,r==="s"?t*1e3:r==="m"?t*6e4:t))():0,ne=e=>e==="idle"?requestIdleCallback:e==="raf"?requestAnimationFrame:!e||e==="tick"?queueMicrotask:t=>setTimeout(t,Be(e));Object.assign(D,{debounce:(e,t,r)=>de(e,ne(t==="immediate"?r:t),t==="immediate"||r==="immediate"),throttle:(e,t)=>$(e,ne(t)),delay:(e,t)=>((r=ne(t))=>o=>r(()=>e(o)))(),tick:e=>(console.warn("Deprecated"),t=>queueMicrotask(()=>e(t))),raf:e=>(console.warn("Deprecated"),t=>requestAnimationFrame(()=>e(t))),once:(e,t,r)=>(r=o=>!t&&(t=1,e(o)),r.once=!0,r),window:e=>(e.target=e.target.ownerDocument.defaultView,e),document:e=>(e.target=e.target.ownerDocument,e),root:e=>(e.target=e.target.ownerDocument.documentElement,e),body:e=>(e.target=e.target.ownerDocument.body,e),parent:e=>(e.target=e.target.parentNode,e),self:e=>t=>t.target===e.target&&e(t),away:e=>Object.assign(t=>!e.target.contains(t.target)&&t.target.isConnected&&e(t),{target:e.target.ownerDocument}),prevent:e=>t=>(t?.preventDefault(),e(t)),stop:(e,t)=>r=>(t?.[0]==="i"?r?.stopImmediatePropagation():r?.stopPropagation(),e(r)),immediate:e=>(console.warn("Deprecated"),t=>(t?.stopImmediatePropagation(),e(t))),passive:e=>(e.passive=!0,e),capture:e=>(e.capture=!0,e)});D.outside=D.away;var se={ctrl:e=>e.ctrlKey||e.key==="Control"||e.key==="Ctrl",shift:e=>e.shiftKey||e.key==="Shift",alt:e=>e.altKey||e.key==="Alt",meta:e=>e.metaKey||e.key==="Meta",cmd:e=>e.metaKey||e.key==="Command",arrow:e=>e.key.startsWith("Arrow"),enter:e=>e.key==="Enter",esc:e=>e.key.startsWith("Esc"),tab:e=>e.key==="Tab",space:e=>e.key==="\xA0"||e.key==="Space"||e.key===" ",delete:e=>e.key==="Delete"||e.key==="Backspace",digit:e=>/^\d$/.test(e.key),letter:e=>/^\p{L}$/gu.test(e.key),char:e=>/^\S$/.test(e.key)},Le=(e,t)=>se[e]?.(t)||t.key.toLowerCase()===e||t.keyCode==e;for(let e in se)D[e]=(t,r,o)=>n=>se[e](n)&&(!r||Le(r,n))&&(!o||Le(o,n))&&t(n);var Je=e=>{for(let t=0,r=0;r<e.length;r++)if(e[r]=="{")t++;else if(e[r]=="}")t--;else if(e[r]==";"&&!t)return!0;return!1};Y({compile:e=>(/^(if|let|const)\b/.test(e)||Je(e)||(e=`return ${e}`),/\bawait\s/.test(e)&&(e=`return (async()=>{${e}})()`),u.constructor(`with(arguments[0]){${e}}`)),dir:(e,t,r,o)=>t.includes("..")?()=>ke(e,o,r,t)[y]:t.split(":").reduce((n,s)=>{let i=ze(e,s,r,o);return n?(a,c)=>(a=n(),c=i(),()=>{a(),c()}):i},null),...re});u.use=Y;u.store=H;u.directive=F;u.modifier=D;u.dispose=e=>e[y]?.();var ar=u.start=(e=document.body,t)=>{let r=H(t);return u(e,r),new MutationObserver(n=>{for(let s of n){for(let i of s.addedNodes)i.nodeType===1&&i[p]===void 0&&e.contains(i)&&e[B](i);for(let i of s.removedNodes)i.nodeType===1&&i[y]?.()}}).observe(e,{childList:!0,subtree:!0}),r};u.version="12.4.0";var cr=u.dispose,lr=u;export{R as batch,J as computed,de as debounce,lr as default,cr as dispose,I as effect,x as signal,u as sprae,ar as start,H as store,$ as throttle,M as untracked,Y as use};
1
+ var Re=Object.defineProperty;var Ve=(e,t)=>{for(var r in t)Re(e,r,{get:t[r],enumerable:!0})};var y=Symbol.dispose||(Symbol.dispose=Symbol("dispose")),d=Symbol("state"),J=Symbol("on"),R=Symbol("off"),Q=Symbol("init"),U=":",x,V,X,F=e=>e(),W=F,H={},$={},Y=null,v=null,Fe=e=>{if(!e?.tagName)return"";let t=e.tagName.toLowerCase();return e.id?t+="#"+e.id:e.className&&(t+="."+e.className.split(" ")[0]),`<${t}>`},G=(e,t)=>{let r=`\u2234 ${e}`;if(v&&(r+=`
2
+ in ${Fe(v)}`),Y&&t){let o=t.length>100?t.slice(0,80)+`\u2026 (${t.length} chars)`:t;r+=`
3
+ ${Y}="${o}"`}console.error(r)},ee=(e=document.body,t)=>{if(e[d])return Object.assign(e[d],t);t=z(t||{});let r=[],o=[];e[J]=()=>!o&&(o=r.map(s=>s())),e[R]=()=>(o?.map(s=>s()),o=null),e[y]||(e[y]=()=>(e[R](),e[R]=e[J]=e[y]=e[Q]=e[d]=null));let n=e[Q]=s=>{let i=s.attributes,a;if(i)for(let l=0;l<i.length;){let{name:c,value:p}=i[l];if(c.startsWith(U)){if(s.removeAttribute(c),Y=c,v=s,r.push(a=de(s,c.slice(U.length),p,t)),o.push(a()),d in s)return}else l++}if(s.firstChild!==void 0){let l=s.firstChild,c;for(;l;)c=l.nextSibling,l.nodeType==1&&n(l),l=c}else for(let l of s.childNodes)l.nodeType==1&&n(l)};return n(e),e[d]===void 0&&(e[d]=t),t};ee.version="12.4.2";var de,fe,m=e=>{let t=ue[e=e.trim()];if(t)return t;try{t=fe(e||"undefined")}catch(r){G(r,e)}return ue[e]=function(r,o,n){try{let s=t?.call(this,r);return o?s?.then?(s.then(i=>n=o(i)).catch(i=>G(i,e)),()=>typeof n=="function"&&n()):o(s):s}catch(s){G(s,e)}}},ue={},te=e=>(e.compile&&(fe=e.compile),e.prefix&&(U=e.prefix),e.signal&&(x=e.signal),e.effect&&(V=e.effect),e.computed&&(X=e.computed),e.batch&&(F=e.batch),e.untracked&&(W=e.untracked),e.dir&&(de=e.dir)),_=(e,t)=>{for(;t.length;){let[r,...o]=t.pop().split("-"),n=$[r],s;if(n&&(s=n(e,...o))!==e){for(let i in e)s[i]??(s[i]=e[i]);e=s}}return e},M=null,P=e=>{M?.disconnect(),e(),M?.observe(M._root,{childList:!0,subtree:!0})},pe=(e=document.body,t)=>{let r=z(t);return ee(e,r),M=new MutationObserver(o=>{for(let n of o){for(let s of n.addedNodes)s.nodeType===1&&s[d]===void 0&&e.contains(s)&&e[Q](s);for(let s of n.removedNodes)s.nodeType===1&&!e.contains(s)&&s[y]?.()}}),M._root=e,M.observe(e,{childList:!0,subtree:!0}),r},k=e=>{if(!e.nodeType)return e;let t=e.content.cloneNode(!0),r=[...e.attributes],o=document.createTextNode(""),n=(t.append(o),[...t.childNodes]);return{childNodes:n,content:t,remove:()=>t.append(...n),replaceWith(s){s!==o&&(o.before(s),t.append(...n))},attributes:r,removeAttribute(s){r.splice(r.findIndex(i=>i.name===s),1)}}},me=e=>e.replace(/[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g,(t,r)=>(r?"-":"")+t.toLowerCase()),S=(e,t,r)=>r==null||r===!1?e.removeAttribute(t):e.setAttribute(t,r===!0?"":r),re=(e,t=[])=>e?typeof e=="string"?e:(Array.isArray(e)?e.map(re):Object.entries(e).reduce((r,[o,n])=>n?[...r,o]:r,[])).join(" "):"",L=(e,t)=>{let r=0,o,n=typeof t=="function"?t:t?i=>setTimeout(i,t):queueMicrotask,s=i=>{o=i,r++||(e(o),n((a=r>1)=>(r=0,a&&s(o))))};return s},he=(e,t,r)=>{let o=typeof t=="function"?t:t?n=>setTimeout(n,t):queueMicrotask;return r?(n=>s=>!n&&(e(s),n=1,o(()=>n=0)))():((n=0)=>(s,i=++n)=>o(()=>i==n&&e(s)))()},f=ee;var N=Symbol("signals"),O=Symbol("change"),ne=Symbol("set"),oe=!0,w=(e,t)=>{if(!e||e[Symbol.toStringTag]||e[N])return e;if(e.constructor!==Object)return Array.isArray(e)?He(e):e;let r=Object.keys(e).length,o={},n=new Proxy(Object.assign(o,{[O]:x(r),[N]:o}),{get:(i,a)=>a in o?o[a]?o[a].valueOf():o[a]:t?t[a]:typeof globalThis[a]=="function"&&!globalThis[a].prototype?globalThis[a].bind(globalThis):globalThis[a],set:(i,a,l)=>a in o?(ye(o,a,l),1):(oe=!1,t&&a in t?t[a]=l:(Z(o,a,l),o[O].value=++r),oe=!0,1),deleteProperty:(i,a)=>(a in o&&(a[0]!="_"&&o[a]?.[Symbol.dispose]?.(),delete o[a],o[O].value=--r),1),ownKeys:()=>(o[O].value,Reflect.ownKeys(o)),has:(i,a)=>a in o?!0:t?a in t:oe}),s=Object.getOwnPropertyDescriptors(e);for(let i in e)s[i]?.get?(o[i]=X(s[i].get.bind(n)))[ne]=s[i].set?.bind(n):Z(o,i,e[i]);return n},He=(e,t=globalThis)=>{let r=Array(e.length).fill(null),o=!1,n=a=>function(){return o=!0,a.apply(this,arguments)},s=x(e.length),i=new Proxy(Object.assign(r,{[O]:s,[N]:r,push:n(r.push),pop:n(r.pop),shift:n(r.shift),unshift:n(r.unshift),splice:n(r.splice)}),{get(a,l){return l==="length"?o?(o=!1,r.length):s.value:typeof l=="symbol"||isNaN(l)?r[l]?.valueOf()??t[l]:(r[l]??(r[l]=x(w(e[l])))).valueOf()},set(a,l,c){if(l==="length"){for(let p=c;p<r.length;p++)delete i[p];s.value=r.length=c}else l>=r.length?(Z(r,l,c),i.length=+l+1):r[l]?ye(r,l,c):Z(r,l,c);return 1},deleteProperty:(a,l)=>(r[l]?.[Symbol.dispose]?.(),delete r[l],1)});return i},Z=(e,t,r)=>e[t]=t[0]=="_"||r?.peek?r:x(w(r)),ye=(e,t,r,o,n)=>t[0]==="_"?e[t]=r:r!==(n=(o=e[t]).peek())&&(o[ne]?o[ne](r):Array.isArray(r)&&Array.isArray(n)?O in n?W(()=>F(()=>{for(let s=0;s<r.length;s++)n[s]=r[s];n.length=r.length})):o.value=r:o.value=w(r)),z=w;var se={};Ve(se,{batch:()=>Be,computed:()=>ze,effect:()=>xe,signal:()=>be,untracked:()=>Je});var E,ge=0,I,be=(e,t,r=new Set,o=()=>t.value)=>t={get value(){return E?.deps.add(r.add(E)),e},set value(n){if(n!==e){e=n;for(let s of r)I?I.add(s):s()}},peek(){return e},toJSON:o,toString:o,valueOf:o},xe=(e,t,r,o)=>(r=n=>{let s=t;if(t=null,s?.call?.(),n=E,E=r,ge++>10)throw"Cycle detected";try{t=e()}finally{E=n,ge--}},r.fn=e,o=r.deps=new Set,r(),n=>{t?.call?.();for(n of o)n.delete(r);o.clear()}),ze=(e,t=be(),r,o,n=()=>r.value)=>r={get value(){return o||(o=xe(()=>t.value=e())),t.value},peek:t.peek,toJSON:n,toString:n,valueOf:n},Be=(e,t=!I,r)=>{I??(I=new Set);try{e()}finally{if(t){[I,r]=[null,I];for(let o of r)o()}}},Je=(e,t,r)=>(t=E,E=null,r=e(),E=t,r);var _e=(e,t)=>{var s,i;let r,o,n;return e._holder?f(o=e,t):(e[s=d]??(e[s]=null),o=e.content?k(e):e,o[i=d]??(o[i]=null),P(()=>e.replaceWith(r=document.createTextNode(""))),o._holder=r._holder=r,r._clauses=[o._clause=[o,!1]],r.update=L(()=>{let a=r._clauses.find(([,l])=>l);a!=n&&P(()=>{n?.[0].remove(),n?.[0][R]?.(),(n=a)&&(r.before(n[0].content||n[0]),n[0][d]?n[0][J]?.():(delete n[0][d],f(n[0],t)))})})),a=>{o._clause[1]=a,o._holder.update()}};var Se=e=>{var o;let t,r=e;for(t=e.content?k(e):e,t[o=d]??(t[o]=null);r&&!(t._holder=r._holder);)r=r.previousSibling;return e.remove(),e[d]=null,t._holder._clauses.push(t._clause=[t,!0]),t._holder.update};var Ne=e=>(e.content&&e.replaceWith(e=k(e).childNodes[0]),t=>(t=typeof t=="function"?t(e.textContent):t,e.textContent=t??""));var we=(e,t,r,o)=>{let n=new Set,s;return o.includes(".")&&(e=_({target:e},o.split(".").slice(1)).target??e),i=>{s=new Set,i&&re(typeof i=="function"?i(e.className):i).split(" ").map(a=>a&&s.add(a));for(let a of n)s.has(a)?s.delete(a):e.classList.remove(a);for(let a of n=s)e.classList.add(a)}};var Ae=(e,t,r,o)=>{let n;return o.includes(".")&&(e=_({target:e},o.split(".").slice(1)).target??e),s=>{if(n||(n=e.getAttribute("style")),s=typeof s=="function"?s(e.style):s,typeof s=="string")S(e,"style",n+"; "+s);else{n&&S(e,"style",n);for(let i in s)i[0]=="-"?e.style.setProperty(i,s[i]):i[0]>"A"&&(e.style[i]=s[i])}}};var Oe=()=>e=>typeof e=="function"&&e();var ie=(e,t=m(`${e}=__`))=>(r,o)=>{r.__=o,t(r),delete r.__},Te=(e,t,r)=>{try{let o=ie(r),n=e.type==="checkbox"?()=>o(t,e.checked):e.type==="select-multiple"?()=>o(t,[...e.selectedOptions].map(s=>s.value)):()=>o(t,e.selectedIndex<0?null:isNaN(e.valueAsNumber)?e.value:e.valueAsNumber);e.oninput=e.onchange=n,e.type?.startsWith("select")&&(new MutationObserver(n).observe(e,{childList:!0,subtree:!0,attributes:!0}),f(e,t)),m(r)(t)??n()}catch{}return e.type==="text"||e.type===""||e.tagName==="TEXTAREA"?(o,n,s)=>(n=e.selectionStart,s=e.selectionEnd,e.setAttribute("value",e.value=o??""),n&&e.setSelectionRange(n,s)):e.type==="checkbox"?o=>(e.checked=o,S(e,"checked",o)):e.type==="radio"?o=>e.value===o&&(e.checked=o,S(e,"checked",o)):e.type==="select-one"?o=>{for(let n of e.options)n.value==o?n.setAttribute("selected",""):n.removeAttribute("selected");e.value=o}:e.type==="select-multiple"?o=>{for(let n of e.options)n.removeAttribute("selected");for(let n of o)e.querySelector(`[value="${n}"]`).setAttribute("selected","")}:o=>e.value=o};var Ce=(e,t,r)=>{let o=m(r)(t);if(typeof o=="function")return{[Symbol.dispose]:o(e)};ie(r)(t,e)};var je=(e,t)=>{let r=e[d]=w({},t),o=!1;return n=>{if(n=typeof n=="function"?n(r):n,n!==r)for(let s in n){let i=typeof n[s]=="function"?n[s].bind(r):n[s];s in r[N]?r[s]=i:r[N][s]=s[0]=="_"||i?.peek?i:x(w(i))}return!o&&(o=!0,delete e[d],W(()=>f(e,r)))}};var ke=(e,t,r)=>{let[o,n]=r.split(/\bin|of\b/),[s,i="$"]=o.trim().replace(/\(|\)/g,"").split(/\s*,\s*/),a=document.createTextNode(""),l,c,p,T=0,A=L(()=>P(()=>{var j,h;let u=0,C=p,g=C.length;if(l&&!l[O]){for(let D of l[N]||[])D[Symbol.dispose]();l=null,T=0}if(g<T)l.length=g;else{if(!l)l=C;else for(;u<T;)l[u]=C[u++];let K=g-u>1?document.createDocumentFragment():null,ce=K?[]:null;for(;u<g;u++){l[u]=C[u];let q=u,b=e.content?k(e):e.cloneNode(!0),B=b.content||b;if(K)K.appendChild(B),ce.push([b,q]);else{a.before(B);let Ke=w({get[s](){return l[q]},[i]:c?c[q]:q},t);f(b,Ke)}let Ie=((h=l[j=N]||(l[j]=[]))[u]||(h[u]={}))[Symbol.dispose];l[N][u][Symbol.dispose]=()=>{Ie?.(),b[Symbol.dispose]?.(),b.remove()}}if(K){a.before(K);for(let[q,b]of ce){let B=w({get[s](){return l[b]},[i]:c?c[b]:b},t);f(q,B)}}}T=g}));return P(()=>e.replaceWith(a)),e[d]=null,Object.assign(u=>(c=null,typeof u=="number"?p=Array.from({length:u},(C,g)=>g+1):u?.constructor===Object?(c=Object.keys(u),p=Object.values(u)):p=u||[],V(()=>{p[O]?.value,A()})),{eval:m(n)})};var Ee=(e,t,r,o)=>n=>S(e,o,typeof n=="function"?n(e.getAttribute(o)):n);var $e=e=>t=>{for(let r in t)S(e,me(r),t[r])};var Le=(e,t,r,o)=>{let[n,...s]=o.slice(2).split("."),i=m(r).bind(e),a=_(Object.assign(l=>i(t,c=>typeof c=="function"?c(l):c),{target:e}),s);return a.target.addEventListener(n,a,a),{[Symbol.dispose](){a.target.removeEventListener(n,a)}}};var De=(e,t,r,o)=>{let n,s,i=o.split("..").map((a,l,{length:c})=>a.split(":").reduce((p,T)=>{let[A,...u]=T.slice(2).split("."),C=m(r).bind(e),g=(h,D)=>n=typeof h=="function"?h(D):h,j=_(Object.assign(h=>(l?g(n,h):C(t,D=>g(D,h)),s(),s=i[(l+1)%c]()),{target:e}),u);return h=>(h=p?.(),j.target.addEventListener(A,j,j),()=>(h?.(),j.target.removeEventListener(A,j)))},null));return s=i[0](),{[Symbol.dispose](){s?.()}}};var qe=(e,t)=>{if(e.content){let r=document.createTextNode(""),o=document.createTextNode(""),n=document.createRange();return e.replaceWith(r,o),s=>{if(s=typeof s=="function"?s(""):s,n.setStartAfter(r),n.setEndBefore(o),n.deleteContents(),s!=null&&s!==""){let i=n.createContextualFragment(s);f(i,t),n.insertNode(i)}}}return r=>(r=typeof r=="function"?r(e.innerHTML):r,e.innerHTML=r??"",f(e,t),e[y])};var Me=(e,t,r)=>{let o=document.createComment(":portal"),n=null;return e.before(o),s=>{let i=e.getRootNode(),a=typeof s=="string"?i.querySelector?.(s)||document.querySelector(s):s instanceof Element?s:s?document.body:null;a!==n&&(a?a.appendChild(e):o.after(e),n=a)}};var We=e=>t=>e.hidden=!!t;Object.assign(H,{_:(e,t,r,o)=>(o.startsWith("on")?Le:Ee)(e,t,r,o),"":$e,class:we,text:Ne,html:qe,style:Ae,fx:Oe,value:Te,ref:Ce,scope:je,if:_e,else:Se,each:ke,portal:Me,hidden:We});var Xe=(e,t,r,o)=>{let[n,...s]=t.split("."),i=H[n]||H._;return()=>{let a=i(e,o,r,t);if(!a?.call)return a?.[y];let l=_(Object.assign(L(()=>c.value++),{target:e}),s),c=x(0),p=0,T=a.eval??m(r).bind(e),A,u=()=>(typeof A=="function"&&A(),A=null);return o=e[d]??o,V(()=>{let C=c.value==p?l():(p=c.value,A=T(o,a));return u})}},Ze=e=>e?typeof e=="number"?e:(([,t,r]=e.match(/^(\d+)(ms|s|m)?$/)||[])=>(t=+t,r==="s"?t*1e3:r==="m"?t*6e4:t))():0,ae=e=>e==="idle"?requestIdleCallback:e==="raf"?requestAnimationFrame:!e||e==="tick"?queueMicrotask:t=>setTimeout(t,Ze(e));Object.assign($,{debounce:(e,t,r)=>he(e,ae(t==="immediate"?r:t),t==="immediate"||r==="immediate"),throttle:(e,t)=>L(e,ae(t)),delay:(e,t)=>((r=ae(t))=>o=>r(()=>e(o)))(),tick:e=>t=>queueMicrotask(()=>e(t)),raf:e=>t=>requestAnimationFrame(()=>e(t)),once:(e,t,r)=>(r=o=>!t&&(t=1,e(o)),r.once=!0,r),window:e=>(e.target=e.target.ownerDocument.defaultView,e),document:e=>(e.target=e.target.ownerDocument,e),root:e=>(e.target=e.target.ownerDocument.documentElement,e),body:e=>(e.target=e.target.ownerDocument.body,e),parent:e=>(e.target=e.target.parentNode,e),self:e=>t=>t.target===e.target&&e(t),away:e=>Object.assign(t=>!e.target.contains(t.target)&&t.target.isConnected&&e(t),{target:e.target.ownerDocument}),prevent:e=>t=>(t?.preventDefault(),e(t)),stop:(e,t)=>r=>(t?.[0]==="i"?r?.stopImmediatePropagation():r?.stopPropagation(),e(r)),passive:e=>(e.passive=!0,e),capture:e=>(e.capture=!0,e)});$.outside=$.away;var le={ctrl:e=>e.ctrlKey||e.key==="Control"||e.key==="Ctrl",shift:e=>e.shiftKey||e.key==="Shift",alt:e=>e.altKey||e.key==="Alt",meta:e=>e.metaKey||e.key==="Meta",cmd:e=>e.metaKey||e.key==="Command",arrow:e=>e.key.startsWith("Arrow"),enter:e=>e.key==="Enter",esc:e=>e.key.startsWith("Esc"),tab:e=>e.key==="Tab",space:e=>e.key==="\xA0"||e.key==="Space"||e.key===" ",delete:e=>e.key==="Delete"||e.key==="Backspace",digit:e=>/^\d$/.test(e.key),letter:e=>/^\p{L}$/gu.test(e.key),char:e=>/^\S$/.test(e.key)},Pe=(e,t)=>le[e]?.(t)||t.key.toLowerCase()===e||t.keyCode==e;for(let e in le)$[e]=(t,r,o)=>n=>le[e](n)&&(!r||Pe(r,n))&&(!o||Pe(o,n))&&t(n);var Ge=e=>{for(let t=0,r=0;r<e.length;r++)if(e[r]=="{")t++;else if(e[r]=="}")t--;else if(e[r]==";"&&!t)return!0;return!1};te({compile:e=>(/^(if|let|const)\b/.test(e)||Ge(e)||(e=`return ${e}`),/\bawait\s/.test(e)&&(e=`return (async()=>{${e}})()`),f.constructor(`with(arguments[0]){${e}}`)),dir:(e,t,r,o)=>t.includes("..")?()=>De(e,o,r,t)[y]:t.split(":").reduce((n,s)=>{let i=Xe(e,s,r,o);return n?(a,l)=>(a=n(),l=i(),()=>{a(),l()}):i},null),...se});f.use=te;f.store=z;f.directive=H;f.modifier=$;var ur=f.dispose=e=>e[y]?.();f.start=pe;var dr=f;export{F as batch,X as computed,he as debounce,dr as default,ur as dispose,V as effect,x as signal,f as sprae,pe as start,z as store,L as throttle,W as untracked,te as use};