sprae 12.4.1 → 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 +50 -0
- package/directive/each.js +12 -12
- package/directive/else.js +1 -0
- package/directive/if.js +12 -9
- package/dist/sprae.js +3 -3
- package/dist/sprae.js.map +3 -3
- package/dist/sprae.umd.js +3 -3
- package/dist/sprae.umd.js.map +3 -3
- package/package.json +1 -2
- package/readme.md +21 -18
- package/sprae.js +11 -45
- package/store.js +7 -2
- package/types/core.d.ts +7 -0
- package/types/core.d.ts.map +1 -1
- package/types/directive/else.d.ts.map +1 -1
- package/types/directive/if.d.ts.map +1 -1
- package/types/sprae.d.ts +3 -3
- package/types/sprae.d.ts.map +1 -1
- package/types/store.d.ts.map +1 -1
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
|
|
|
@@ -202,6 +205,10 @@ const sprae = (el = document.body, state) => {
|
|
|
202
205
|
return state;
|
|
203
206
|
}
|
|
204
207
|
|
|
208
|
+
/** Package version (injected by bundler) */
|
|
209
|
+
sprae.version = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'dev'
|
|
210
|
+
|
|
211
|
+
|
|
205
212
|
// directive initializer
|
|
206
213
|
/** @type {(el: Element, name: string, expr: string, state: Object) => () => (() => void) | void} */
|
|
207
214
|
export let dir
|
|
@@ -292,6 +299,49 @@ export const decorate = (fn, mods) => {
|
|
|
292
299
|
return fn
|
|
293
300
|
}
|
|
294
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
|
+
|
|
295
345
|
/**
|
|
296
346
|
* @typedef {Object} FragmentLike
|
|
297
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 =
|
|
63
|
-
[itemVar]
|
|
64
|
-
[idxVar]:
|
|
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 =
|
|
81
|
-
[itemVar]
|
|
82
|
-
[idxVar]:
|
|
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
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
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
|
2
|
-
in ${
|
|
3
|
-
${Q}="${o}"`}console.error(r)},Ie=(e=document.body,t)=>{if(e[f])return Object.assign(e[f],t);t=V(t||{});let r=[],o=[];e[B]=()=>!o&&(o=r.map(s=>s())),e[K]=()=>(o?.map(s=>s()),o=null),e[y]||(e[y]=()=>(e[K](),e[K]=e[B]=e[y]=e[F]=e[f]=null));let n=e[F]=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(G)){if(s.removeAttribute(c),Q=c,U=s,r.push(a=le(s,c.slice(G.length),p,t)),o.push(a()),f 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[f]===void 0&&(e[f]=t),t},le,ce,m=e=>{let t=ae[e=e.trim()];if(t)return t;try{t=ce(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&&(ce=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&&(W=e.untracked),e.dir&&(le=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},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=(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"),A=Symbol("change"),te=Symbol("set"),ee=!0,L=(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,{[A]: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,l)=>a in o?(fe(o,a,l),1):(ee=!1,t&&a in t?t[a]=l:(X(o,a,l),o[A].value=++r),ee=!0,1),deleteProperty:(i,a)=>(a in o&&(a[0]!="_"&&o[a]?.[Symbol.dispose]?.(),delete o[a],o[A].value=--r),1),ownKeys:()=>(o[A].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,{[A]: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,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(L(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?(X(r,l,c),i.length=+l+1):r[l]?fe(r,l,c):X(r,l,c);return 1},deleteProperty:(a,l)=>(r[l]?.[Symbol.dispose]?.(),delete r[l],1)});return i},X=(e,t,r)=>e[t]=t[0]=="_"||r?.peek?r:x(L(r)),fe=(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)?A in n?W(()=>R(()=>{for(let s=0;s<r.length;s++)n[s]=r[s];n.length=r.length})):o.value=r:o.value=L(r)),V=L;var re={};Pe(re,{batch:()=>Ve,computed:()=>He,effect:()=>he,signal:()=>me,untracked:()=>ze});var j,pe=0,q,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)q?q.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,pe++>10)throw"Cycle detected";try{t=e()}finally{j=n,pe--}},r.fn=e,o=r.deps=new Set,r(),n=>{t?.call?.();for(n of o)n.delete(r);o.clear()}),He=(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},Ve=(e,t=!q,r)=>{q??(q=new Set);try{e()}finally{if(t){[q,r]=[null,q];for(let o of r)o()}}},ze=(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=f]??(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=E(()=>{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][f]?n[0][B]?.():(delete n[0][f],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[f]=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 Ne=(e,t,r)=>{let o=m(r)(t);if(typeof o=="function")return{[Symbol.dispose]:o(e)};oe(r)(t,e)};var Ae=(e,t)=>{let r=e[f]=L({},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(L(i))}return!o&&(o=!0,delete e[f],W(()=>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(""),l,c,p,O=0,N=E(()=>{var T,h;let d=0,k=p,g=k.length;if(l&&!l[A]){for(let D of l[w]||[])D[Symbol.dispose]();l=null,O=0}if(g<O)l.length=g;else{if(!l)l=k;else for(;d<O;)l[d]=k[d++];let P=g-d>1?document.createDocumentFragment():null,ie=P?[]:null;for(;d<g;d++){l[d]=k[d];let M=d,b=e.content?C(e):e.cloneNode(!0),z=b.content||b;if(P)P.appendChild(z),ie.push([b,M]);else{a.before(z);let We=Object.create(t,{[s]:{get:()=>l[M]},[i]:{value:c?c[M]:M}});u(b,We)}let Me=((h=l[T=w]||(l[T]=[]))[d]||(h[d]={}))[Symbol.dispose];l[w][d][Symbol.dispose]=()=>{Me?.(),b[Symbol.dispose]?.(),b.remove()}}if(P){a.before(P);for(let[M,b]of ie){let z=Object.create(t,{[s]:{get:()=>l[b]},[i]:{value:c?c[b]:b}});u(M,z)}}}O=g});return e.replaceWith(a),e[f]=null,Object.assign(d=>(c=null,typeof d=="number"?p=Array.from({length:d},(k,g)=>g+1):d?.constructor===Object?(c=Object.keys(d),p=Object.values(d)):p=d||[],I(()=>{p[A]?.value,N()})),{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(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 ke=(e,t,r,o)=>{let n,s,i=o.split("..").map((a,l,{length:c})=>a.split(":").reduce((p,O)=>{let[N,...d]=O.slice(2).split("."),k=m(r).bind(e),g=(h,D)=>n=typeof h=="function"?h(D):h,T=_(Object.assign(h=>(l?g(n,h):k(t,D=>g(D,h)),s(),s=i[(l+1)%c]()),{target:e}),d);return h=>(h=p?.(),T.target.addEventListener(N,T,T),()=>(h?.(),T.target.removeEventListener(N,T)))},null));return s=i[0](),{[Symbol.dispose](){s?.()}}};var $e=(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 Ee=(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 Le=e=>t=>e.hidden=!!t;Object.assign(H,{_:(e,t,r,o)=>(o.startsWith("on")?je:Te)(e,t,r,o),"":Ce,class:xe,text:be,html:$e,style:_e,fx:Se,value:we,ref:Ne,scope:Ae,if:ye,else:ge,each:Oe,portal:Ee,hidden:Le});var Be=(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(E(()=>c.value++),{target:e}),s),c=x(0),p=0,O=a.eval??m(r).bind(e),N,d=()=>(typeof N=="function"&&N(),N=null);return o=e[f]??o,I(()=>(c.value==p?l():(p=c.value,N=O(o,a)),d))}},Fe=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,Fe(e));Object.assign($,{debounce:(e,t,r)=>de(e,ne(t==="immediate"?r:t),t==="immediate"||r==="immediate"),throttle:(e,t)=>E(e,ne(t)),delay:(e,t)=>((r=ne(t))=>o=>r(()=>e(o)))(),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 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)},De=(e,t)=>se[e]?.(t)||t.key.toLowerCase()===e||t.keyCode==e;for(let e in se)$[e]=(t,r,o)=>n=>se[e](n)&&(!r||De(r,n))&&(!o||De(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=Be(e,s,r,o);return n?(a,l)=>(a=n(),l=i(),()=>{a(),l()}):i},null),...re});u.use=Y;u.store=V;u.directive=H;u.modifier=$;u.dispose=e=>e[y]?.();var ar=u.start=(e=document.body,t)=>{let r=V(t);return u(e,r),new MutationObserver(n=>{for(let s of n){for(let i of s.addedNodes)i.nodeType===1&&i[f]===void 0&&e.contains(i)&&e[F](i);for(let i of s.removedNodes)i.nodeType===1&&i[y]?.()}}).observe(e,{childList:!0,subtree:!0}),r};u.version="12.4.1";var lr=u.dispose,cr=u;export{R as batch,J as computed,de as debounce,cr as default,lr as dispose,I as effect,x as signal,u as sprae,ar as start,V as store,E as throttle,W 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};
|