sprae 11.0.5 → 11.0.7
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 +31 -35
- package/directive/default.js +1 -1
- package/directive/each.js +2 -1
- package/directive/if.js +8 -7
- package/dist/sprae.js +31 -31
- package/dist/sprae.js.map +2 -2
- package/dist/sprae.min.js +2 -2
- package/dist/sprae.min.js.map +3 -3
- package/dist/sprae.umd.js +41 -35
- package/dist/sprae.umd.js.map +3 -3
- package/dist/sprae.umd.min.js +2 -2
- package/dist/sprae.umd.min.js.map +3 -3
- package/package.json +1 -1
- package/readme.md +3 -3
package/dist/sprae.umd.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function($,g){typeof exports=="object"&&typeof module=="object"?module.exports=g():typeof define=="function"&&define.amd?define("sprae",[],g):typeof exports=="object"?exports.sprae=g():$.sprae=g()})(typeof self<"u"?self:typeof globalThis<"u"?globalThis:void 0,()=>{var $={},g={exports:$},F=Object.defineProperty,fe=Object.getOwnPropertyDescriptor,ee=Object.getOwnPropertyNames,de=Object.prototype.hasOwnProperty,y=(e,r)=>function(){return e&&(r=(0,e[ee(e)[0]])(e=0)),r},pe=(e,r)=>{for(var t in r)F(e,t,{get:r[t],enumerable:!0})},ye=(e,r,t,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of ee(r))!de.call(e,o)&&o!==t&&F(e,o,{get:()=>r[o],enumerable:!(i=fe(r,o))||i.enumerable});return e},be=e=>ye(F({},"__esModule",{value:!0}),e);function he(e){x=e.signal,L=e.effect,M=e.computed,J=e.batch||(r=>r()),R=e.untracked||J}var j,N,x,L,M,J,R,B=y({"signal.js"(){x=(e,r,t=new Set)=>(r={get value(){return j?.deps.push(t.add(j)),e},set value(i){if(i!==e){e=i;for(let o of t)N?N.add(o):o()}},peek(){return e}},r.toJSON=r.then=r.toString=r.valueOf=()=>r.value,r),L=(e,r,t,i)=>(t=o=>{r?.call?.(),o=j,j=t;try{r=e()}finally{j=o}},i=t.deps=[],t(),o=>{for(r?.call?.();o=i.pop();)o.delete(t)}),M=(e,r=x(),t,i)=>(t={get value(){return i||(i=L(()=>r.value=e())),r.value},peek:r.peek},t.toJSON=t.then=t.toString=t.valueOf=()=>t.value,t),J=e=>{let r=N;r||(N=new Set);try{e()}finally{if(!r){r=N,N=null;for(const t of r)t()}}},R=(e,r,t)=>(r=j,j=null,t=e(),j=r,t)}});function P(e,r){if(!e||e[v])return e;if(Array.isArray(e))return me(e);if(e.constructor!==Object||e[Symbol.toStringTag])return e;let t={...r?.[v]},i=x(Object.values(e).length);const o=new Proxy(t,{get:(s,n)=>n===E?i:n===v?t:t[n]?.valueOf(),set:(s,n,a,l)=>(l=t[n],H(t,n,a),l??++i.value,1),deleteProperty:(s,n)=>(t[n]&&(te(t,n),i.value--),1),ownKeys(){return i.value,Reflect.ownKeys(t)}});for(let s in e){const n=Object.getOwnPropertyDescriptor(e,s);n?.get?(t[s]=M(n.get.bind(o)))._set=n.set?.bind(o):(t[s]=void 0,H(t,s,e[s]))}return o}function me(e){let r;if(e[v])return e;let t=x(e.length),i=Array(e.length).fill();const o=new Proxy(i,{get(s,n){if(typeof n=="symbol")return n===E?t:n===v?i:i[n];if(n==="length")return re[r]?t.peek():t.value;if(r=n,i[n])return i[n].valueOf();if(n<i.length)return(i[n]=x(P(e[n]))).value},set(s,n,a){if(n==="length"){for(let l=a,m=i.length;l<m;l++)delete o[l];return t.value=i.length=a,!0}return H(i,n,a),n>=t.peek()&&(t.value=i.length=Number(n)+1),!0},deleteProperty:(s,n)=>(i[n]&&te(i,n),1)});return o}function H(e,r,t){let i=e[r];if(r[0]==="_")e[r]=t;else if(!i)e[r]=i=t?.peek?t:x(P(t));else if(t!==i.peek())if(i._set)i._set(t);else if(Array.isArray(t)&&Array.isArray(i.peek())){const o=i.peek();o[E]?R(()=>{J(()=>{let s=0,n=t.length;for(;s<n;s++)o[s]=t[s];o.length=n})}):i.value=t}else i.value=P(t)}function te(e,r){const t=e[r],i=t[Symbol.dispose];i&&delete t[Symbol.dispose],delete e[r],i?.()}var v,E,re,X=y({"store.js"(){B(),v=Symbol("signals"),E=Symbol("length"),re={push:1,pop:1,shift:1,unshift:1,splice:1}}});function w(e,r){if(!e?.childNodes)return;if(h in e)return Object.assign(e[h],r);const t=P(r||{}),i=[],o=[];return s(e),h in e||(e[h]=t,e[W]=()=>{for(;i.length;)i.pop()()},e[q]=()=>i.push(...o.map(n=>L(n))),e[Z]=()=>(e[W](),e[W]=e[q]=e[Z]=e[h]=null)),t;function s(n){if(n.childNodes){for(let a=0;a<n.attributes?.length;){let l=n.attributes[a];if(l.name[0]===":"){n.removeAttribute(l.name);for(let m of l.name.slice(1).split(":")){let O=d[m]||d.default,f=O(n,(O.parse||C)(l.value),t,m);if(o.push(f),i.push(L(f)),h in n)return}}else a++}for(let a of[...n.childNodes])s(a)}}}var Z,h,q,W,d,z,C,G,ie,D,b=y({"core.js"(){B(),X(),Z=Symbol.dispose||(Symbol.dispose=Symbol("dispose")),h=Symbol("state"),q=Symbol("on"),W=Symbol("off"),d={},z={},C=(e,r,t)=>{if(t=z[e=e.trim()])return t;try{t=ie(e)}catch(i){G(i,r,e)}return z[e]=t},G=(e,r,t="")=>{throw Object.assign(e,{message:`\u2234 ${e.message}
|
|
2
2
|
|
|
3
3
|
${r}${t?`="${t}"
|
|
4
4
|
|
|
5
|
-
`:""}`,expr:t})},
|
|
5
|
+
`:""}`,expr:t})},w.use=e=>{e.signal&&he(e),e.compile&&(ie=e.compile)},D=e=>{if(!e.nodeType)return e;let r=e.content.cloneNode(!0),t=[...e.attributes],i=document.createTextNode(""),o=(r.append(i),[...r.childNodes]);return{childNodes:o,content:r,remove:()=>r.append(...o),replaceWith(s){s!==i&&(i.before(s),r.append(...o))},attributes:t,removeAttribute(s){t.splice(t.findIndex(n=>n.name===s),1)},setAttributeNode(){}}}}}),Q,ge=y({"directive/if.js"(){b(),Q=Symbol("if"),d.if=(e,r,t)=>{let i=e.nextElementSibling,o=document.createTextNode(""),s,n,a;return e.replaceWith(o),n=e.content?D(e):e,n[h]=null,i?.hasAttribute(":else")&&(i.removeAttribute(":else"),i.hasAttribute(":if")||(i.remove(),a=i.content?D(i):i,a[h]=null)),()=>{const l=r(t)?n:e[Q]?null:a;i&&(i[Q]=l===n),s!=l&&(s&&(s.remove(),s[W]?.()),(s=l)&&(o.before(s.content||s),s[h]===null&&delete s[h],s[h]?s[q]():w(s,t)))}}}}),ve=y({"directive/each.js"(){b(),X(),B(),d.each=(e,[r,t,i],o)=>{const s=document.createTextNode("");e.replaceWith(s),e[h]=null;let n,a,l=0;const m=M(()=>{a=null;let u=i(o);return typeof u=="number"&&(u=Array.from({length:u},(k,p)=>p+1)),u?.constructor===Object&&(a=Object.keys(u),u=Object.values(u)),u||[]}),O=()=>{R(()=>{var u,k;let p=0,_=m.value,T=_.length;if(n&&!n[E]){for(let S of n[v]||[])S[Symbol.dispose]();n=null,l=0}if(T<l)n.length=T;else{if(!n)n=_;else for(;p<l;p++)n[p]=_[p];for(;p<T;p++){n[p]=_[p];let S=p,Y=P({[r]:n[v]?.[S]||n[S],[t]:a?a[S]:S},o),A=e.content?D(e):e.cloneNode(!0);s.before(A.content||A),w(A,Y),((k=n[u=v]||(n[u]=[]))[p]||(k[p]={}))[Symbol.dispose]=()=>{A[Symbol.dispose]?.(),A.remove()}}}l=T})};let f=0;return()=>{m.value[E]?.value,f++||(O(),queueMicrotask(()=>(f>1&&O(),f=0)))}},d.each.parse=e=>{let[r,t]=e.split(/\s+in\s+/),[i,o="$"]=r.split(/\s*,\s*/);return[i,o,C(t)]}}}),_e=y({"directive/ref.js"(){b(),d.ref=(e,r,t)=>()=>r(t)?.call?.(null,e)}}),je=y({"directive/with.js"(){b(),X(),d.with=(e,r,t)=>{let i;return()=>{let o=r(t);w(e,i?o:i=P(o,t))}}}}),we=y({"directive/text.js"(){b(),d.text=(e,r,t)=>(e.content&&e.replaceWith(e=D(e).childNodes[0]),()=>{let i=r(t);e.textContent=i??""})}}),Oe=y({"directive/class.js"(){b(),d.class=(e,r,t)=>{let i=new Set;return()=>{let o=r(t),s=new Set;o&&(typeof o=="string"?o.split(" ").map(n=>s.add(n)):Array.isArray(o)?o.map(n=>n&&s.add(n)):Object.entries(o).map(([n,a])=>a&&s.add(n)));for(let n of i)s.has(n)?s.delete(n):e.classList.remove(n);for(let n of i=s)e.classList.add(n)}}}}),Se=y({"directive/style.js"(){b(),d.style=(e,r,t)=>{let i=e.getAttribute("style");return()=>{let o=r(t);if(typeof o=="string")e.setAttribute("style",i+(i.endsWith(";")?"":"; ")+o);else{i&&e.setAttribute("style",i);for(let s in o)s[0]=="-"?e.style.setProperty(s,o[s]):e.style[s]=o[s]}}}}}),ne,c,K,oe,se,U,V=y({"directive/default.js"(){b(),d.default=(e,r,t,i)=>{if(!i.startsWith("on"))return()=>{let f=r(t);if(i)K(e,i,f);else for(let u in f)K(e,U(u),f[u])};const o=i.split("..").map(f=>{let u={evt:"",target:e,test:()=>!0};return u.evt=(f.startsWith("on")?f.slice(2):f).replace(/\.(\w+)?-?([-\w]+)?/g,(k,p,_="")=>(u.test=ne[p]?.(u,..._.split("-"))||u.test,"")),u});if(o.length==1)return()=>O(r(t),o[0]);let s,n,a,l=0;const m=f=>{a=O(u=>(a(),n=f?.(u),(l=++l%o.length)?m(n):s&&m(s)),o[l])};return()=>(s=r(t),!a&&m(s),()=>s=null);function O(f,{evt:u,target:k,test:p,defer:_,stop:T,prevent:S,immediate:Y,...A}){_&&(f=_(f));const ce=I=>{try{p(I)&&(T&&(Y?I.stopImmediatePropagation():I.stopPropagation()),S&&I.preventDefault(),f?.call(t,I))}catch(Te){G(Te,`:on${u}`,f)}};return k.addEventListener(u,ce,A),()=>k.removeEventListener(u,ce,A)}},ne={prevent(e){e.prevent=!0},stop(e){e.stop=!0},immediate(e){e.immediate=!0},once(e){e.once=!0},passive(e){e.passive=!0},capture(e){e.capture=!0},window(e){e.target=window},document(e){e.target=document},parent(e){e.target=e.target.parentNode},throttle(e,r){e.defer=t=>oe(t,r?Number(r)||0:108)},debounce(e,r){e.defer=t=>se(t,r?Number(r)||0:108)},outside:e=>r=>{let t=e.target;return!(t.contains(r.target)||r.target.isConnected===!1||t.offsetWidth<1&&t.offsetHeight<1)},self:e=>r=>r.target===e.target,ctrl:(e,...r)=>t=>c.ctrl(t)&&r.every(i=>c[i]?c[i](t):t.key===i),shift:(e,...r)=>t=>c.shift(t)&&r.every(i=>c[i]?c[i](t):t.key===i),alt:(e,...r)=>t=>c.alt(t)&&r.every(i=>c[i]?c[i](t):t.key===i),meta:(e,...r)=>t=>c.meta(t)&&r.every(i=>c[i]?c[i](t):t.key===i),arrow:()=>c.arrow,enter:()=>c.enter,esc:()=>c.esc,tab:()=>c.tab,space:()=>c.space,delete:()=>c.delete,digit:()=>c.digit,letter:()=>c.letter,char:()=>c.char},c={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"||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)},K=(e,r,t)=>{t==null||t===!1?e.removeAttribute(r):e.setAttribute(r,t===!0?"":typeof t=="number"||typeof t=="string"?t:"")},oe=(e,r)=>{let t,i,o=s=>{t=!0,setTimeout(()=>{if(t=!1,i)return i=!1,o(s),e(s)},r)};return s=>t?i=!0:(o(s),e(s))},se=(e,r)=>{let t;return i=>{clearTimeout(t),t=setTimeout(()=>{t=null,e(i)},r)}},U=e=>e.replace(/[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g,(r,t)=>(t?"-":"")+r.toLowerCase())}}),Ae=y({"directive/value.js"(){b(),b(),V(),d.value=(e,[r,t],i)=>{const o=e.type==="text"||e.type===""?n=>e.setAttribute("value",e.value=n??""):e.tagName==="TEXTAREA"||e.type==="text"||e.type===""?(n,a,l)=>(a=e.selectionStart,l=e.selectionEnd,e.setAttribute("value",e.value=n??""),a&&e.setSelectionRange(a,l)):e.type==="checkbox"?n=>(e.checked=n,K(e,"checked",n)):e.type==="select-one"?n=>{for(let a of e.options)a.value==n?a.setAttribute("selected",""):a.removeAttribute("selected");e.value=n}:e.type==="select-multiple"?n=>{for(let a of e.options)a.removeAttribute("selected");for(let a of n)e.querySelector(`[value="${a}"]`).setAttribute("selected","")}:n=>e.value=n,s=e.type==="checkbox"?()=>t(i,e.checked):e.type==="select-multiple"?()=>t(i,[...e.selectedOptions].map(n=>n.value)):n=>t(i,e.selectedIndex<0?null:e.value);return e.oninput=e.onchange=s,e.type?.startsWith("select")&&(new MutationObserver(s).observe(e,{childList:!0,subtree:!0,attributes:!0}),w(e,i)),()=>{o(r(i))}},d.value.parse=e=>{let r=[C(e)];try{const t=C(`${e}=__`);r.push((i,o)=>{i.__=o,t(i,o),delete i.__})}catch{}return r}}}),xe=y({"directive/fx.js"(){b(),d.fx=(e,r,t)=>()=>r(t)}}),ke=y({"directive/aria.js"(){b(),V(),d.aria=(e,r,t)=>{const i=o=>{for(let s in o)K(e,"aria-"+U(s),o[s]==null?null:o[s]+"")};return()=>i(r(t))}}}),Ne=y({"directive/data.js"(){b(),d.data=(e,r,t)=>()=>{let i=r(t);for(let o in i)e.dataset[o]=i[o]}}}),ae={};pe(ae,{default:()=>le});var le,Pe=y({"sprae.js"(){b(),ge(),ve(),_e(),je(),we(),Oe(),Se(),Ae(),xe(),V(),ke(),Ne(),w.use({compile:e=>w.constructor(`with (arguments[0]) { return ${e} };`)}),le=w}}),{default:ue}=(Pe(),be(ae));if(g.exports=ue,document.currentScript?.hasAttribute("init")){const e=JSON.parse(document.currentScript?.getAttribute("init")||"{}"),r=()=>{ue(document.documentElement,e)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",r):r()}if(typeof g.exports=="object"&&typeof $=="object"){var Ee=(e,r,t,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of Object.getOwnPropertyNames(r))!Object.prototype.hasOwnProperty.call(e,o)&&o!==t&&Object.defineProperty(e,o,{get:()=>r[o],enumerable:!(i=Object.getOwnPropertyDescriptor(r,o))||i.enumerable});return e};g.exports=Ee(g.exports,$)}return g.exports});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["sprae.umd.js"],
|
|
4
|
-
"sourcesContent": ["(function (g, f) {if (\"object\" == typeof exports && \"object\" == typeof module) {module.exports = f();} else if (\"function\" == typeof define && define.amd) {define(\"sprae\", [], f);} else if (\"object\" == typeof exports) {exports[\"sprae\"] = f();} else {g[\"sprae\"] = f();}}(typeof self !== 'undefined' ? self : typeof globalThis !== 'undefined' ? globalThis : this, () => {var exports = {};var module = { exports };\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __esm = (fn, res) => function __init() {\n return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// signal.js\nfunction use(s) {\n signal = s.signal;\n effect = s.effect;\n computed = s.computed;\n batch = s.batch || ((fn) => fn());\n untracked = s.untracked || batch;\n}\nvar current, batched, signal, effect, computed, batch, untracked;\nvar init_signal = __esm({\n \"signal.js\"() {\n signal = (v, s, obs = /* @__PURE__ */ new Set()) => (s = {\n get value() {\n current?.deps.push(obs.add(current));\n return v;\n },\n set value(val) {\n if (val === v) return;\n v = val;\n for (let sub of obs) batched ? batched.add(sub) : sub();\n },\n peek() {\n return v;\n }\n }, s.toJSON = s.then = s.toString = s.valueOf = () => s.value, s);\n effect = (fn, teardown, fx, deps) => (fx = (prev) => {\n teardown?.call?.();\n prev = current, current = fx;\n try {\n teardown = fn();\n } finally {\n current = prev;\n }\n }, deps = fx.deps = [], fx(), (dep) => {\n teardown?.call?.();\n while (dep = deps.pop()) dep.delete(fx);\n });\n computed = (fn, s = signal(), c, e) => (c = {\n get value() {\n e || (e = effect(() => s.value = fn()));\n return s.value;\n },\n peek: s.peek\n }, c.toJSON = c.then = c.toString = c.valueOf = () => c.value, c);\n batch = (fn) => {\n let fxs = batched;\n if (!fxs) batched = /* @__PURE__ */ new Set();\n try {\n fn();\n } finally {\n if (!fxs) {\n fxs = batched;\n batched = null;\n for (const fx of fxs) fx();\n }\n }\n };\n untracked = (fn, prev, v) => (prev = current, current = null, v = fn(), current = prev, v);\n }\n});\n\n// store.js\nfunction store(values, parent) {\n if (!values) return values;\n if (values[_signals]) return values;\n if (Array.isArray(values)) return list(values);\n if (values.constructor !== Object || values[Symbol.toStringTag]) return values;\n let signals = { ...parent?.[_signals] }, _len = signal(Object.values(values).length);\n const state = new Proxy(signals, {\n get: (_, key) => key === _change ? _len : key === _signals ? signals : signals[key]?.valueOf(),\n set: (_, key, v, s) => (s = signals[key], set(signals, key, v), s ?? ++_len.value, 1),\n // bump length for new signal\n deleteProperty: (_, key) => (signals[key] && (del(signals, key), _len.value--), 1),\n ownKeys() {\n _len.value;\n return Reflect.ownKeys(signals);\n }\n });\n for (let key in values) {\n const desc = Object.getOwnPropertyDescriptor(values, key);\n if (desc?.get) {\n (signals[key] = computed(desc.get.bind(state)))._set = desc.set?.bind(state);\n } else {\n signals[key] = void 0;\n set(signals, key, values[key]);\n }\n }\n return state;\n}\nfunction list(values) {\n let lastProp;\n if (values[_signals]) return values;\n let _len = signal(values.length), signals = Array(values.length).fill();\n const state = new Proxy(signals, {\n get(_, key) {\n if (typeof key === \"symbol\") return key === _change ? _len : key === _signals ? signals : signals[key];\n if (key === \"length\") return mut[lastProp] ? _len.peek() : _len.value;\n lastProp = key;\n if (signals[key]) return signals[key].valueOf();\n if (key < signals.length) return (signals[key] = signal(store(values[key]))).value;\n },\n set(_, key, v) {\n if (key === \"length\") {\n for (let i = v, l = signals.length; i < l; i++) delete state[i];\n _len.value = signals.length = v;\n return true;\n }\n set(signals, key, v);\n if (key >= _len.peek()) _len.value = signals.length = Number(key) + 1;\n return true;\n },\n deleteProperty: (_, key) => (signals[key] && del(signals, key), 1)\n });\n return state;\n}\nfunction set(signals, key, v) {\n let s = signals[key];\n if (key[0] === \"_\") signals[key] = v;\n else if (!s) {\n signals[key] = s = v?.peek ? v : signal(store(v));\n } else if (v === s.peek()) ;\n else if (s._set) s._set(v);\n else if (Array.isArray(v) && Array.isArray(s.peek())) {\n const cur = s.peek();\n if (cur[_change]) untracked(() => {\n batch(() => {\n let i = 0, l = v.length;\n for (; i < l; i++) cur[i] = v[i];\n cur.length = l;\n });\n });\n else {\n s.value = v;\n }\n } else {\n s.value = store(v);\n }\n}\nfunction del(signals, key) {\n const s = signals[key], del2 = s[Symbol.dispose];\n if (del2) delete s[Symbol.dispose];\n delete signals[key];\n del2?.();\n}\nvar _signals, _change, mut;\nvar init_store = __esm({\n \"store.js\"() {\n init_signal();\n _signals = Symbol(\"signals\");\n _change = Symbol(\"length\");\n mut = { push: 1, pop: 1, shift: 1, unshift: 1, splice: 1 };\n }\n});\n\n// core.js\nfunction sprae(el, values) {\n if (!el?.childNodes) return;\n if (memo.has(el)) {\n return Object.assign(memo.get(el), values);\n }\n const state = store(values || {}), disposes = [];\n init2(el);\n if (!memo.has(el)) memo.set(el, state);\n el[_dispose] = () => {\n while (disposes.length) disposes.pop()();\n memo.delete(el);\n el[_dispose] = null;\n };\n return state;\n function init2(el2, parent = el2.parentNode) {\n if (!el2.childNodes) return;\n for (let i = 0; i < el2.attributes?.length; ) {\n let attr2 = el2.attributes[i];\n if (attr2.name[0] === \":\") {\n el2.removeAttribute(attr2.name);\n let names = attr2.name.slice(1).split(\":\");\n for (let name of names) {\n let dir = directive[name] || directive.default;\n let evaluate = (dir.parse || parse)(attr2.value);\n let fn = dir(el2, evaluate, state, name);\n if (fn) disposes.push(effect(fn));\n disposes.push(() => el2.setAttributeNode(attr2));\n }\n if (memo.has(el2)) return el2[_dispose] && disposes.push(el2[_dispose]);\n if (el2.parentNode !== parent) return;\n } else i++;\n }\n for (let child of [...el2.childNodes])\n init2(child, el2.content ? el2.childNodes[0].parentNode : el2);\n }\n ;\n}\nvar _dispose, directive, memo, evalMemo, parse, err, compile, frag;\nvar init_core = __esm({\n \"core.js\"() {\n init_signal();\n init_store();\n _dispose = Symbol.dispose || (Symbol.dispose = Symbol(\"dispose\"));\n directive = {};\n memo = /* @__PURE__ */ new WeakMap();\n evalMemo = {};\n parse = (expr, dir, fn) => {\n if (fn = evalMemo[expr = expr.trim()]) return fn;\n try {\n fn = compile(expr);\n } catch (e) {\n err(e, dir, expr);\n }\n return evalMemo[expr] = fn;\n };\n err = (e, dir, expr = \"\") => {\n throw Object.assign(e, { message: `\\u2234 ${e.message}\n\n${dir}${expr ? `=\"${expr}\"\n\n` : \"\"}`, expr });\n };\n sprae.use = (s) => {\n s.signal && use(s);\n s.compile && (compile = s.compile);\n };\n frag = (tpl) => {\n if (!tpl.nodeType) return tpl;\n let content = tpl.content.cloneNode(true), attributes = [...tpl.attributes], ref = document.createTextNode(\"\"), childNodes = (content.append(ref), [...content.childNodes]);\n return {\n // get parentNode() { return childNodes[0].parentNode },\n childNodes,\n content,\n remove: () => content.append(...childNodes),\n replaceWith(el) {\n if (el === ref) return;\n ref.before(el);\n content.append(...childNodes);\n },\n attributes,\n removeAttribute(name) {\n attributes.splice(attributes.findIndex((a) => a.name === name), 1);\n },\n setAttributeNode() {\n }\n };\n };\n }\n});\n\n// directive/if.js\nvar _prevIf;\nvar init_if = __esm({\n \"directive/if.js\"() {\n init_core();\n _prevIf = Symbol(\"if\");\n directive.if = (el, evaluate, state) => {\n let next = el.nextElementSibling, holder = document.createTextNode(\"\"), curEl, ifEl, elseEl;\n el.replaceWith(holder);\n ifEl = el.content ? frag(el) : el;\n memo.set(ifEl, null);\n if (next?.hasAttribute(\":else\")) {\n next.removeAttribute(\":else\");\n if (!next.hasAttribute(\":if\")) next.remove(), elseEl = next.content ? frag(next) : next, memo.set(elseEl, null);\n }\n return () => {\n const newEl = evaluate(state) ? ifEl : el[_prevIf] ? null : elseEl;\n if (next) next[_prevIf] = newEl === ifEl;\n if (curEl != newEl) {\n if (curEl) curEl.remove(), curEl[Symbol.dispose]?.();\n if (curEl = newEl) {\n holder.before(curEl.content || curEl);\n memo.get(curEl) === null && memo.delete(curEl);\n sprae(curEl, state);\n }\n }\n };\n };\n }\n});\n\n// directive/each.js\nvar init_each = __esm({\n \"directive/each.js\"() {\n init_core();\n init_store();\n init_signal();\n directive.each = (tpl, [itemVar, idxVar, evaluate], state) => {\n const holder = document.createTextNode(\"\");\n tpl.replaceWith(holder);\n let cur, keys2, prevl = 0;\n const items = computed(() => {\n keys2 = null;\n let items2 = evaluate(state);\n if (typeof items2 === \"number\") items2 = Array.from({ length: items2 }, (_, i) => i + 1);\n if (items2?.constructor === Object) keys2 = Object.keys(items2), items2 = Object.values(items2);\n return items2 || [];\n });\n const update = () => {\n untracked(() => {\n var _a, _b;\n let i = 0, newItems = items.value, newl = newItems.length;\n if (cur && !cur[_change]) {\n for (let s of cur[_signals] || []) {\n s[Symbol.dispose]();\n }\n cur = null, prevl = 0;\n }\n if (newl < prevl) {\n cur.length = newl;\n } else {\n if (!cur) {\n cur = newItems;\n } else {\n for (; i < prevl; i++) {\n cur[i] = newItems[i];\n }\n }\n for (; i < newl; i++) {\n cur[i] = newItems[i];\n let idx = i, scope = store({\n [itemVar]: cur[_signals]?.[idx] || cur[idx],\n [idxVar]: keys2 ? keys2[idx] : idx\n }, state), el = tpl.content ? frag(tpl) : tpl.cloneNode(true);\n holder.before(el.content || el);\n sprae(el, scope);\n ((_b = cur[_a = _signals] || (cur[_a] = []))[i] || (_b[i] = {}))[Symbol.dispose] = () => {\n el[Symbol.dispose]?.(), el.remove();\n };\n }\n }\n prevl = newl;\n });\n };\n let planned = 0;\n return () => {\n items.value[_change]?.value;\n if (!planned++) update(), queueMicrotask(() => (planned > 1 && update(), planned = 0));\n };\n };\n directive.each.parse = (expr) => {\n let [leftSide, itemsExpr] = expr.split(/\\s+in\\s+/);\n let [itemVar, idxVar = \"$\"] = leftSide.split(/\\s*,\\s*/);\n return [itemVar, idxVar, parse(itemsExpr)];\n };\n }\n});\n\n// directive/ref.js\nvar init_ref = __esm({\n \"directive/ref.js\"() {\n init_core();\n directive.ref = (el, evaluate, state) => {\n return () => evaluate(state)?.call?.(null, el);\n };\n }\n});\n\n// directive/with.js\nvar init_with = __esm({\n \"directive/with.js\"() {\n init_core();\n init_store();\n directive.with = (el, evaluate, rootState) => {\n let state;\n return () => {\n let values = evaluate(rootState);\n sprae(el, state ? values : state = store(values, rootState));\n };\n };\n }\n});\n\n// directive/text.js\nvar init_text = __esm({\n \"directive/text.js\"() {\n init_core();\n directive.text = (el, evaluate, state) => {\n if (el.content) el.replaceWith(el = frag(el).childNodes[0]);\n return () => {\n let value = evaluate(state);\n el.textContent = value == null ? \"\" : value;\n };\n };\n }\n});\n\n// directive/class.js\nvar init_class = __esm({\n \"directive/class.js\"() {\n init_core();\n directive.class = (el, evaluate, state) => {\n let cur = /* @__PURE__ */ new Set();\n return () => {\n let v = evaluate(state);\n let clsx = /* @__PURE__ */ new Set();\n if (v) {\n if (typeof v === \"string\") v.split(\" \").map((cls) => clsx.add(cls));\n else if (Array.isArray(v)) v.map((v2) => v2 && clsx.add(v2));\n else Object.entries(v).map(([k, v2]) => v2 && clsx.add(k));\n }\n for (let cls of cur) if (clsx.has(cls)) clsx.delete(cls);\n else el.classList.remove(cls);\n for (let cls of cur = clsx) el.classList.add(cls);\n };\n };\n }\n});\n\n// directive/style.js\nvar init_style = __esm({\n \"directive/style.js\"() {\n init_core();\n directive.style = (el, evaluate, state) => {\n let initStyle = el.getAttribute(\"style\");\n return () => {\n let v = evaluate(state);\n if (typeof v === \"string\") el.setAttribute(\"style\", initStyle + (initStyle.endsWith(\";\") ? \"\" : \"; \") + v);\n else {\n if (initStyle) el.setAttribute(\"style\", initStyle);\n for (let k in v) k[0] == \"-\" ? el.style.setProperty(k, v[k]) : el.style[k] = v[k];\n }\n };\n };\n }\n});\n\n// directive/default.js\nvar mods, keys, attr, throttle, debounce, dashcase;\nvar init_default = __esm({\n \"directive/default.js\"() {\n init_core();\n directive.default = (target, evaluate, state, name) => {\n if (!name.startsWith(\"on\")) return () => {\n let value = evaluate(state);\n if (name) attr(target, name, value);\n else for (let key in value) attr(target, dashcase(key), value[key]);\n };\n const ctxs = name.split(\"..\").map((e) => {\n let ctx = { evt: \"\", target, test: () => true };\n ctx.evt = (e.startsWith(\"on\") ? e.slice(2) : e).replace(\n /\\.(\\w+)?-?([-\\w]+)?/g,\n (match, mod, param = \"\") => (ctx.test = mods[mod]?.(ctx, ...param.split(\"-\")) || ctx.test, \"\")\n );\n return ctx;\n });\n if (ctxs.length == 1) return () => addListener(evaluate(state), ctxs[0]);\n let startFn, nextFn, off, idx = 0;\n const nextListener = (fn) => {\n off = addListener((e) => (off(), nextFn = fn?.(e), (idx = ++idx % ctxs.length) ? nextListener(nextFn) : startFn && nextListener(startFn)), ctxs[idx]);\n };\n return () => (startFn = evaluate(state), !off && nextListener(startFn), () => startFn = null);\n function addListener(fn, { evt, target: target2, test, defer, stop, prevent, immediate, ...opts }) {\n if (defer) fn = defer(fn);\n const cb = (e) => {\n try {\n test(e) && (stop && (immediate ? e.stopImmediatePropagation() : e.stopPropagation()), prevent && e.preventDefault(), fn?.(e));\n } catch (error) {\n err(error, `:on${evt}`, fn);\n }\n };\n target2.addEventListener(evt, cb, opts);\n return () => target2.removeEventListener(evt, cb, opts);\n }\n ;\n };\n mods = {\n // actions\n prevent(ctx) {\n ctx.prevent = true;\n },\n stop(ctx) {\n ctx.stop = true;\n },\n immediate(ctx) {\n ctx.immediate = true;\n },\n // options\n once(ctx) {\n ctx.once = true;\n },\n passive(ctx) {\n ctx.passive = true;\n },\n capture(ctx) {\n ctx.capture = true;\n },\n // target\n window(ctx) {\n ctx.target = window;\n },\n document(ctx) {\n ctx.target = document;\n },\n parent(ctx) {\n ctx.target = ctx.target.parentNode;\n },\n throttle(ctx, limit) {\n ctx.defer = (fn) => throttle(fn, limit ? Number(limit) || 0 : 108);\n },\n debounce(ctx, wait) {\n ctx.defer = (fn) => debounce(fn, wait ? Number(wait) || 0 : 108);\n },\n // test\n outside: (ctx) => (e) => {\n let target = ctx.target;\n if (target.contains(e.target)) return false;\n if (e.target.isConnected === false) return false;\n if (target.offsetWidth < 1 && target.offsetHeight < 1) return false;\n return true;\n },\n self: (ctx) => (e) => e.target === ctx.target,\n // keyboard\n ctrl: (_, ...param) => (e) => keys.ctrl(e) && param.every((p) => keys[p] ? keys[p](e) : e.key === p),\n shift: (_, ...param) => (e) => keys.shift(e) && param.every((p) => keys[p] ? keys[p](e) : e.key === p),\n alt: (_, ...param) => (e) => keys.alt(e) && param.every((p) => keys[p] ? keys[p](e) : e.key === p),\n meta: (_, ...param) => (e) => keys.meta(e) && param.every((p) => keys[p] ? keys[p](e) : e.key === p),\n // NOTE: we don't expose up/left/right/down as too verbose: can and better be handled/differentiated at once\n arrow: () => keys.arrow,\n enter: () => keys.enter,\n esc: () => keys.esc,\n tab: () => keys.tab,\n space: () => keys.space,\n delete: () => keys.delete,\n digit: () => keys.digit,\n letter: () => keys.letter,\n char: () => keys.char\n };\n keys = {\n ctrl: (e) => e.ctrlKey || e.key === \"Control\" || e.key === \"Ctrl\",\n shift: (e) => e.shiftKey || e.key === \"Shift\",\n alt: (e) => e.altKey || e.key === \"Alt\",\n meta: (e) => e.metaKey || e.key === \"Meta\" || e.key === \"Command\",\n arrow: (e) => e.key.startsWith(\"Arrow\"),\n enter: (e) => e.key === \"Enter\",\n esc: (e) => e.key.startsWith(\"Esc\"),\n tab: (e) => e.key === \"Tab\",\n space: (e) => e.key === \"\\xA0\" || e.key === \"Space\" || e.key === \" \",\n delete: (e) => e.key === \"Delete\" || e.key === \"Backspace\",\n digit: (e) => /^\\d$/.test(e.key),\n letter: (e) => /^\\p{L}$/gu.test(e.key),\n char: (e) => /^\\S$/.test(e.key)\n };\n attr = (el, name, v) => {\n if (v == null || v === false) el.removeAttribute(name);\n else el.setAttribute(name, v === true ? \"\" : typeof v === \"number\" || typeof v === \"string\" ? v : \"\");\n };\n throttle = (fn, limit) => {\n let pause, planned, block = (e) => {\n pause = true;\n setTimeout(() => {\n pause = false;\n if (planned) return planned = false, block(e), fn(e);\n }, limit);\n };\n return (e) => {\n if (pause) return planned = true;\n block(e);\n return fn(e);\n };\n };\n debounce = (fn, wait) => {\n let timeout;\n return (e) => {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n timeout = null;\n fn(e);\n }, wait);\n };\n };\n dashcase = (str) => {\n return str.replace(/[A-Z\\u00C0-\\u00D6\\u00D8-\\u00DE]/g, (match, i) => (i ? \"-\" : \"\") + match.toLowerCase());\n };\n }\n});\n\n// directive/value.js\nvar init_value = __esm({\n \"directive/value.js\"() {\n init_core();\n init_core();\n init_default();\n directive.value = (el, [getValue, setValue], state) => {\n const update = el.type === \"text\" || el.type === \"\" ? (value) => el.setAttribute(\"value\", el.value = value == null ? \"\" : value) : el.tagName === \"TEXTAREA\" || el.type === \"text\" || el.type === \"\" ? (value, from, to) => (\n // we retain selection in input\n (from = el.selectionStart, to = el.selectionEnd, el.setAttribute(\"value\", el.value = value == null ? \"\" : value), from && el.setSelectionRange(from, to))\n ) : el.type === \"checkbox\" ? (value) => (el.checked = value, attr(el, \"checked\", value)) : el.type === \"select-one\" ? (value) => {\n for (let o of el.options)\n o.value == value ? o.setAttribute(\"selected\", \"\") : o.removeAttribute(\"selected\");\n el.value = value;\n } : el.type === \"select-multiple\" ? (value) => {\n for (let o of el.options) o.removeAttribute(\"selected\");\n for (let v of value) el.querySelector(`[value=\"${v}\"]`).setAttribute(\"selected\", \"\");\n } : (value) => el.value = value;\n const handleChange = el.type === \"checkbox\" ? () => setValue(state, el.checked) : el.type === \"select-multiple\" ? () => setValue(state, [...el.selectedOptions].map((o) => o.value)) : (e) => setValue(state, el.selectedIndex < 0 ? null : el.value);\n el.oninput = el.onchange = handleChange;\n if (el.type?.startsWith(\"select\")) {\n new MutationObserver(handleChange).observe(el, { childList: true, subtree: true, attributes: true });\n sprae(el, state);\n }\n return () => {\n update(getValue(state));\n };\n };\n directive.value.parse = (expr) => {\n let evaluate = [parse(expr)];\n try {\n const set2 = parse(`${expr}=__`);\n evaluate.push((state, value) => {\n state.__ = value;\n set2(state, value);\n delete state.__;\n });\n } catch (e) {\n }\n return evaluate;\n };\n }\n});\n\n// directive/fx.js\nvar init_fx = __esm({\n \"directive/fx.js\"() {\n init_core();\n directive.fx = (el, evaluate, state) => {\n return () => evaluate(state);\n };\n }\n});\n\n// directive/aria.js\nvar init_aria = __esm({\n \"directive/aria.js\"() {\n init_core();\n init_default();\n directive[\"aria\"] = (el, evaluate, state) => {\n const update = (value) => {\n for (let key in value) attr(el, \"aria-\" + dashcase(key), value[key] == null ? null : value[key] + \"\");\n };\n return () => update(evaluate(state));\n };\n }\n});\n\n// directive/data.js\nvar init_data = __esm({\n \"directive/data.js\"() {\n init_core();\n directive[\"data\"] = (el, evaluate, state) => {\n return () => {\n let value = evaluate(state);\n for (let key in value) el.dataset[key] = value[key];\n };\n };\n }\n});\n\n// sprae.js\nvar sprae_exports = {};\n__export(sprae_exports, {\n default: () => sprae_default\n});\nvar sprae_default;\nvar init_sprae = __esm({\n \"sprae.js\"() {\n init_core();\n init_if();\n init_each();\n init_ref();\n init_with();\n init_text();\n init_class();\n init_style();\n init_value();\n init_fx();\n init_default();\n init_aria();\n init_data();\n sprae.use({ compile: (expr) => sprae.constructor(`with (arguments[0]) { return ${expr} };`) });\n sprae_default = sprae;\n }\n});\n\n// sprae.umd.cjs\nvar { default: sprae2 } = (init_sprae(), __toCommonJS(sprae_exports));\nmodule.exports = sprae2;\nvar init = document.currentScript?.getAttribute(\"init\") || null;\nif (init) sprae2(document.documentElement, JSON.parse(init));\n;if (typeof module.exports == \"object\" && typeof exports == \"object\") {\n var __cp = (to, from, except, desc) => {\n if ((from && typeof from === \"object\") || typeof from === \"function\") {\n for (let key of Object.getOwnPropertyNames(from)) {\n if (!Object.prototype.hasOwnProperty.call(to, key) && key !== except)\n Object.defineProperty(to, key, {\n get: () => from[key],\n enumerable: !(desc = Object.getOwnPropertyDescriptor(from, key)) || desc.enumerable,\n });\n }\n }\n return to;\n };\n module.exports = __cp(module.exports, exports);\n}\nreturn module.exports;\n}))\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["g", "f", "exports", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__esm", "fn", "res", "__export", "target", "all", "name", "__copyProps", "to", "from", "except", "desc", "key", "__toCommonJS", "mod", "use", "s", "signal", "effect", "computed", "batch", "untracked", "current", "batched", "init_signal", "v", "obs", "val", "sub", "teardown", "fx", "deps", "prev", "dep", "c", "e", "fxs", "store", "values", "parent", "_signals", "list", "signals", "_len", "state", "_", "_change", "set", "del", "lastProp", "mut", "i", "l", "cur", "del2", "init_store", "sprae", "el", "
|
|
4
|
+
"sourcesContent": ["(function (g, f) {if (\"object\" == typeof exports && \"object\" == typeof module) {module.exports = f();} else if (\"function\" == typeof define && define.amd) {define(\"sprae\", [], f);} else if (\"object\" == typeof exports) {exports[\"sprae\"] = f();} else {g[\"sprae\"] = f();}}(typeof self !== 'undefined' ? self : typeof globalThis !== 'undefined' ? globalThis : this, () => {var exports = {};var module = { exports };\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __esm = (fn, res) => function __init() {\n return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// signal.js\nfunction use(s) {\n signal = s.signal;\n effect = s.effect;\n computed = s.computed;\n batch = s.batch || ((fn) => fn());\n untracked = s.untracked || batch;\n}\nvar current, batched, signal, effect, computed, batch, untracked;\nvar init_signal = __esm({\n \"signal.js\"() {\n signal = (v, s, obs = /* @__PURE__ */ new Set()) => (s = {\n get value() {\n current?.deps.push(obs.add(current));\n return v;\n },\n set value(val) {\n if (val === v) return;\n v = val;\n for (let sub of obs) batched ? batched.add(sub) : sub();\n },\n peek() {\n return v;\n }\n }, s.toJSON = s.then = s.toString = s.valueOf = () => s.value, s);\n effect = (fn, teardown, fx, deps) => (fx = (prev) => {\n teardown?.call?.();\n prev = current, current = fx;\n try {\n teardown = fn();\n } finally {\n current = prev;\n }\n }, deps = fx.deps = [], fx(), (dep) => {\n teardown?.call?.();\n while (dep = deps.pop()) dep.delete(fx);\n });\n computed = (fn, s = signal(), c, e) => (c = {\n get value() {\n e || (e = effect(() => s.value = fn()));\n return s.value;\n },\n peek: s.peek\n }, c.toJSON = c.then = c.toString = c.valueOf = () => c.value, c);\n batch = (fn) => {\n let fxs = batched;\n if (!fxs) batched = /* @__PURE__ */ new Set();\n try {\n fn();\n } finally {\n if (!fxs) {\n fxs = batched;\n batched = null;\n for (const fx of fxs) fx();\n }\n }\n };\n untracked = (fn, prev, v) => (prev = current, current = null, v = fn(), current = prev, v);\n }\n});\n\n// store.js\nfunction store(values, parent) {\n if (!values) return values;\n if (values[_signals]) return values;\n if (Array.isArray(values)) return list(values);\n if (values.constructor !== Object || values[Symbol.toStringTag]) return values;\n let signals = { ...parent?.[_signals] }, _len = signal(Object.values(values).length);\n const state = new Proxy(signals, {\n get: (_, key) => key === _change ? _len : key === _signals ? signals : signals[key]?.valueOf(),\n set: (_, key, v, s) => (s = signals[key], set(signals, key, v), s ?? ++_len.value, 1),\n // bump length for new signal\n deleteProperty: (_, key) => (signals[key] && (del(signals, key), _len.value--), 1),\n ownKeys() {\n _len.value;\n return Reflect.ownKeys(signals);\n }\n });\n for (let key in values) {\n const desc = Object.getOwnPropertyDescriptor(values, key);\n if (desc?.get) {\n (signals[key] = computed(desc.get.bind(state)))._set = desc.set?.bind(state);\n } else {\n signals[key] = void 0;\n set(signals, key, values[key]);\n }\n }\n return state;\n}\nfunction list(values) {\n let lastProp;\n if (values[_signals]) return values;\n let _len = signal(values.length), signals = Array(values.length).fill();\n const state = new Proxy(signals, {\n get(_, key) {\n if (typeof key === \"symbol\") return key === _change ? _len : key === _signals ? signals : signals[key];\n if (key === \"length\") return mut[lastProp] ? _len.peek() : _len.value;\n lastProp = key;\n if (signals[key]) return signals[key].valueOf();\n if (key < signals.length) return (signals[key] = signal(store(values[key]))).value;\n },\n set(_, key, v) {\n if (key === \"length\") {\n for (let i = v, l = signals.length; i < l; i++) delete state[i];\n _len.value = signals.length = v;\n return true;\n }\n set(signals, key, v);\n if (key >= _len.peek()) _len.value = signals.length = Number(key) + 1;\n return true;\n },\n deleteProperty: (_, key) => (signals[key] && del(signals, key), 1)\n });\n return state;\n}\nfunction set(signals, key, v) {\n let s = signals[key];\n if (key[0] === \"_\") signals[key] = v;\n else if (!s) {\n signals[key] = s = v?.peek ? v : signal(store(v));\n } else if (v === s.peek()) ;\n else if (s._set) s._set(v);\n else if (Array.isArray(v) && Array.isArray(s.peek())) {\n const cur = s.peek();\n if (cur[_change]) untracked(() => {\n batch(() => {\n let i = 0, l = v.length;\n for (; i < l; i++) cur[i] = v[i];\n cur.length = l;\n });\n });\n else {\n s.value = v;\n }\n } else {\n s.value = store(v);\n }\n}\nfunction del(signals, key) {\n const s = signals[key], del2 = s[Symbol.dispose];\n if (del2) delete s[Symbol.dispose];\n delete signals[key];\n del2?.();\n}\nvar _signals, _change, mut;\nvar init_store = __esm({\n \"store.js\"() {\n init_signal();\n _signals = Symbol(\"signals\");\n _change = Symbol(\"length\");\n mut = { push: 1, pop: 1, shift: 1, unshift: 1, splice: 1 };\n }\n});\n\n// core.js\nfunction sprae(el, values) {\n if (!el?.childNodes) return;\n if (_state in el) {\n return Object.assign(el[_state], values);\n }\n const state = store(values || {}), offs = [], fx = [];\n init(el);\n if (!(_state in el)) {\n el[_state] = state;\n el[_off] = () => {\n while (offs.length) offs.pop()();\n };\n el[_on] = () => offs.push(...fx.map((f) => effect(f)));\n el[_dispose] = () => (el[_off](), el[_off] = el[_on] = el[_dispose] = el[_state] = null);\n }\n return state;\n function init(el2) {\n if (!el2.childNodes) return;\n for (let i = 0; i < el2.attributes?.length; ) {\n let attr2 = el2.attributes[i];\n if (attr2.name[0] === \":\") {\n el2.removeAttribute(attr2.name);\n for (let name of attr2.name.slice(1).split(\":\")) {\n let dir = directive[name] || directive.default, update = dir(el2, (dir.parse || parse)(attr2.value), state, name);\n fx.push(update);\n offs.push(effect(update));\n if (_state in el2) return;\n }\n } else i++;\n }\n for (let child of [...el2.childNodes]) init(child);\n }\n ;\n}\nvar _dispose, _state, _on, _off, directive, memo, parse, err, compile, frag;\nvar init_core = __esm({\n \"core.js\"() {\n init_signal();\n init_store();\n _dispose = Symbol.dispose || (Symbol.dispose = Symbol(\"dispose\"));\n _state = Symbol(\"state\");\n _on = Symbol(\"on\");\n _off = Symbol(\"off\");\n directive = {};\n memo = {};\n parse = (expr, dir, fn) => {\n if (fn = memo[expr = expr.trim()]) return fn;\n try {\n fn = compile(expr);\n } catch (e) {\n err(e, dir, expr);\n }\n return memo[expr] = fn;\n };\n err = (e, dir, expr = \"\") => {\n throw Object.assign(e, { message: `\\u2234 ${e.message}\n\n${dir}${expr ? `=\"${expr}\"\n\n` : \"\"}`, expr });\n };\n sprae.use = (s) => {\n s.signal && use(s);\n s.compile && (compile = s.compile);\n };\n frag = (tpl) => {\n if (!tpl.nodeType) return tpl;\n let content = tpl.content.cloneNode(true), attributes = [...tpl.attributes], ref = document.createTextNode(\"\"), childNodes = (content.append(ref), [...content.childNodes]);\n return {\n // get parentNode() { return childNodes[0].parentNode },\n childNodes,\n content,\n remove: () => content.append(...childNodes),\n replaceWith(el) {\n if (el === ref) return;\n ref.before(el);\n content.append(...childNodes);\n },\n attributes,\n removeAttribute(name) {\n attributes.splice(attributes.findIndex((a) => a.name === name), 1);\n },\n setAttributeNode() {\n }\n };\n };\n }\n});\n\n// directive/if.js\nvar _prevIf;\nvar init_if = __esm({\n \"directive/if.js\"() {\n init_core();\n _prevIf = Symbol(\"if\");\n directive.if = (el, evaluate, state) => {\n let next = el.nextElementSibling, holder = document.createTextNode(\"\"), curEl, ifEl, elseEl;\n el.replaceWith(holder);\n ifEl = el.content ? frag(el) : el;\n ifEl[_state] = null;\n if (next?.hasAttribute(\":else\")) {\n next.removeAttribute(\":else\");\n if (!next.hasAttribute(\":if\")) next.remove(), elseEl = next.content ? frag(next) : next, elseEl[_state] = null;\n }\n return () => {\n const newEl = evaluate(state) ? ifEl : el[_prevIf] ? null : elseEl;\n if (next) next[_prevIf] = newEl === ifEl;\n if (curEl != newEl) {\n if (curEl) curEl.remove(), curEl[_off]?.();\n if (curEl = newEl) {\n holder.before(curEl.content || curEl);\n curEl[_state] === null && delete curEl[_state];\n curEl[_state] ? curEl[_on]() : sprae(curEl, state);\n }\n }\n };\n };\n }\n});\n\n// directive/each.js\nvar init_each = __esm({\n \"directive/each.js\"() {\n init_core();\n init_store();\n init_signal();\n directive.each = (tpl, [itemVar, idxVar, evaluate], state) => {\n const holder = document.createTextNode(\"\");\n tpl.replaceWith(holder);\n tpl[_state] = null;\n let cur, keys2, prevl = 0;\n const items = computed(() => {\n keys2 = null;\n let items2 = evaluate(state);\n if (typeof items2 === \"number\") items2 = Array.from({ length: items2 }, (_, i) => i + 1);\n if (items2?.constructor === Object) keys2 = Object.keys(items2), items2 = Object.values(items2);\n return items2 || [];\n });\n const update = () => {\n untracked(() => {\n var _a, _b;\n let i = 0, newItems = items.value, newl = newItems.length;\n if (cur && !cur[_change]) {\n for (let s of cur[_signals] || []) {\n s[Symbol.dispose]();\n }\n cur = null, prevl = 0;\n }\n if (newl < prevl) {\n cur.length = newl;\n } else {\n if (!cur) {\n cur = newItems;\n } else {\n for (; i < prevl; i++) {\n cur[i] = newItems[i];\n }\n }\n for (; i < newl; i++) {\n cur[i] = newItems[i];\n let idx = i, scope = store({\n [itemVar]: cur[_signals]?.[idx] || cur[idx],\n [idxVar]: keys2 ? keys2[idx] : idx\n }, state), el = tpl.content ? frag(tpl) : tpl.cloneNode(true);\n holder.before(el.content || el);\n sprae(el, scope);\n ((_b = cur[_a = _signals] || (cur[_a] = []))[i] || (_b[i] = {}))[Symbol.dispose] = () => {\n el[Symbol.dispose]?.(), el.remove();\n };\n }\n }\n prevl = newl;\n });\n };\n let planned = 0;\n return () => {\n items.value[_change]?.value;\n if (!planned++) update(), queueMicrotask(() => (planned > 1 && update(), planned = 0));\n };\n };\n directive.each.parse = (expr) => {\n let [leftSide, itemsExpr] = expr.split(/\\s+in\\s+/);\n let [itemVar, idxVar = \"$\"] = leftSide.split(/\\s*,\\s*/);\n return [itemVar, idxVar, parse(itemsExpr)];\n };\n }\n});\n\n// directive/ref.js\nvar init_ref = __esm({\n \"directive/ref.js\"() {\n init_core();\n directive.ref = (el, evaluate, state) => {\n return () => evaluate(state)?.call?.(null, el);\n };\n }\n});\n\n// directive/with.js\nvar init_with = __esm({\n \"directive/with.js\"() {\n init_core();\n init_store();\n directive.with = (el, evaluate, rootState) => {\n let state;\n return () => {\n let values = evaluate(rootState);\n sprae(el, state ? values : state = store(values, rootState));\n };\n };\n }\n});\n\n// directive/text.js\nvar init_text = __esm({\n \"directive/text.js\"() {\n init_core();\n directive.text = (el, evaluate, state) => {\n if (el.content) el.replaceWith(el = frag(el).childNodes[0]);\n return () => {\n let value = evaluate(state);\n el.textContent = value == null ? \"\" : value;\n };\n };\n }\n});\n\n// directive/class.js\nvar init_class = __esm({\n \"directive/class.js\"() {\n init_core();\n directive.class = (el, evaluate, state) => {\n let cur = /* @__PURE__ */ new Set();\n return () => {\n let v = evaluate(state);\n let clsx = /* @__PURE__ */ new Set();\n if (v) {\n if (typeof v === \"string\") v.split(\" \").map((cls) => clsx.add(cls));\n else if (Array.isArray(v)) v.map((v2) => v2 && clsx.add(v2));\n else Object.entries(v).map(([k, v2]) => v2 && clsx.add(k));\n }\n for (let cls of cur) if (clsx.has(cls)) clsx.delete(cls);\n else el.classList.remove(cls);\n for (let cls of cur = clsx) el.classList.add(cls);\n };\n };\n }\n});\n\n// directive/style.js\nvar init_style = __esm({\n \"directive/style.js\"() {\n init_core();\n directive.style = (el, evaluate, state) => {\n let initStyle = el.getAttribute(\"style\");\n return () => {\n let v = evaluate(state);\n if (typeof v === \"string\") el.setAttribute(\"style\", initStyle + (initStyle.endsWith(\";\") ? \"\" : \"; \") + v);\n else {\n if (initStyle) el.setAttribute(\"style\", initStyle);\n for (let k in v) k[0] == \"-\" ? el.style.setProperty(k, v[k]) : el.style[k] = v[k];\n }\n };\n };\n }\n});\n\n// directive/default.js\nvar mods, keys, attr, throttle, debounce, dashcase;\nvar init_default = __esm({\n \"directive/default.js\"() {\n init_core();\n directive.default = (target, evaluate, state, name) => {\n if (!name.startsWith(\"on\")) return () => {\n let value = evaluate(state);\n if (name) attr(target, name, value);\n else for (let key in value) attr(target, dashcase(key), value[key]);\n };\n const ctxs = name.split(\"..\").map((e) => {\n let ctx = { evt: \"\", target, test: () => true };\n ctx.evt = (e.startsWith(\"on\") ? e.slice(2) : e).replace(\n /\\.(\\w+)?-?([-\\w]+)?/g,\n (match, mod, param = \"\") => (ctx.test = mods[mod]?.(ctx, ...param.split(\"-\")) || ctx.test, \"\")\n );\n return ctx;\n });\n if (ctxs.length == 1) return () => addListener(evaluate(state), ctxs[0]);\n let startFn, nextFn, off, idx = 0;\n const nextListener = (fn) => {\n off = addListener((e) => (off(), nextFn = fn?.(e), (idx = ++idx % ctxs.length) ? nextListener(nextFn) : startFn && nextListener(startFn)), ctxs[idx]);\n };\n return () => (startFn = evaluate(state), !off && nextListener(startFn), () => startFn = null);\n function addListener(fn, { evt, target: target2, test, defer, stop, prevent, immediate, ...opts }) {\n if (defer) fn = defer(fn);\n const cb = (e) => {\n try {\n test(e) && (stop && (immediate ? e.stopImmediatePropagation() : e.stopPropagation()), prevent && e.preventDefault(), fn?.call(state, e));\n } catch (error) {\n err(error, `:on${evt}`, fn);\n }\n };\n target2.addEventListener(evt, cb, opts);\n return () => target2.removeEventListener(evt, cb, opts);\n }\n ;\n };\n mods = {\n // actions\n prevent(ctx) {\n ctx.prevent = true;\n },\n stop(ctx) {\n ctx.stop = true;\n },\n immediate(ctx) {\n ctx.immediate = true;\n },\n // options\n once(ctx) {\n ctx.once = true;\n },\n passive(ctx) {\n ctx.passive = true;\n },\n capture(ctx) {\n ctx.capture = true;\n },\n // target\n window(ctx) {\n ctx.target = window;\n },\n document(ctx) {\n ctx.target = document;\n },\n parent(ctx) {\n ctx.target = ctx.target.parentNode;\n },\n throttle(ctx, limit) {\n ctx.defer = (fn) => throttle(fn, limit ? Number(limit) || 0 : 108);\n },\n debounce(ctx, wait) {\n ctx.defer = (fn) => debounce(fn, wait ? Number(wait) || 0 : 108);\n },\n // test\n outside: (ctx) => (e) => {\n let target = ctx.target;\n if (target.contains(e.target)) return false;\n if (e.target.isConnected === false) return false;\n if (target.offsetWidth < 1 && target.offsetHeight < 1) return false;\n return true;\n },\n self: (ctx) => (e) => e.target === ctx.target,\n // keyboard\n ctrl: (_, ...param) => (e) => keys.ctrl(e) && param.every((p) => keys[p] ? keys[p](e) : e.key === p),\n shift: (_, ...param) => (e) => keys.shift(e) && param.every((p) => keys[p] ? keys[p](e) : e.key === p),\n alt: (_, ...param) => (e) => keys.alt(e) && param.every((p) => keys[p] ? keys[p](e) : e.key === p),\n meta: (_, ...param) => (e) => keys.meta(e) && param.every((p) => keys[p] ? keys[p](e) : e.key === p),\n // NOTE: we don't expose up/left/right/down as too verbose: can and better be handled/differentiated at once\n arrow: () => keys.arrow,\n enter: () => keys.enter,\n esc: () => keys.esc,\n tab: () => keys.tab,\n space: () => keys.space,\n delete: () => keys.delete,\n digit: () => keys.digit,\n letter: () => keys.letter,\n char: () => keys.char\n };\n keys = {\n ctrl: (e) => e.ctrlKey || e.key === \"Control\" || e.key === \"Ctrl\",\n shift: (e) => e.shiftKey || e.key === \"Shift\",\n alt: (e) => e.altKey || e.key === \"Alt\",\n meta: (e) => e.metaKey || e.key === \"Meta\" || e.key === \"Command\",\n arrow: (e) => e.key.startsWith(\"Arrow\"),\n enter: (e) => e.key === \"Enter\",\n esc: (e) => e.key.startsWith(\"Esc\"),\n tab: (e) => e.key === \"Tab\",\n space: (e) => e.key === \"\\xA0\" || e.key === \"Space\" || e.key === \" \",\n delete: (e) => e.key === \"Delete\" || e.key === \"Backspace\",\n digit: (e) => /^\\d$/.test(e.key),\n letter: (e) => /^\\p{L}$/gu.test(e.key),\n char: (e) => /^\\S$/.test(e.key)\n };\n attr = (el, name, v) => {\n if (v == null || v === false) el.removeAttribute(name);\n else el.setAttribute(name, v === true ? \"\" : typeof v === \"number\" || typeof v === \"string\" ? v : \"\");\n };\n throttle = (fn, limit) => {\n let pause, planned, block = (e) => {\n pause = true;\n setTimeout(() => {\n pause = false;\n if (planned) return planned = false, block(e), fn(e);\n }, limit);\n };\n return (e) => {\n if (pause) return planned = true;\n block(e);\n return fn(e);\n };\n };\n debounce = (fn, wait) => {\n let timeout;\n return (e) => {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n timeout = null;\n fn(e);\n }, wait);\n };\n };\n dashcase = (str) => {\n return str.replace(/[A-Z\\u00C0-\\u00D6\\u00D8-\\u00DE]/g, (match, i) => (i ? \"-\" : \"\") + match.toLowerCase());\n };\n }\n});\n\n// directive/value.js\nvar init_value = __esm({\n \"directive/value.js\"() {\n init_core();\n init_core();\n init_default();\n directive.value = (el, [getValue, setValue], state) => {\n const update = el.type === \"text\" || el.type === \"\" ? (value) => el.setAttribute(\"value\", el.value = value == null ? \"\" : value) : el.tagName === \"TEXTAREA\" || el.type === \"text\" || el.type === \"\" ? (value, from, to) => (\n // we retain selection in input\n (from = el.selectionStart, to = el.selectionEnd, el.setAttribute(\"value\", el.value = value == null ? \"\" : value), from && el.setSelectionRange(from, to))\n ) : el.type === \"checkbox\" ? (value) => (el.checked = value, attr(el, \"checked\", value)) : el.type === \"select-one\" ? (value) => {\n for (let o of el.options)\n o.value == value ? o.setAttribute(\"selected\", \"\") : o.removeAttribute(\"selected\");\n el.value = value;\n } : el.type === \"select-multiple\" ? (value) => {\n for (let o of el.options) o.removeAttribute(\"selected\");\n for (let v of value) el.querySelector(`[value=\"${v}\"]`).setAttribute(\"selected\", \"\");\n } : (value) => el.value = value;\n const handleChange = el.type === \"checkbox\" ? () => setValue(state, el.checked) : el.type === \"select-multiple\" ? () => setValue(state, [...el.selectedOptions].map((o) => o.value)) : (e) => setValue(state, el.selectedIndex < 0 ? null : el.value);\n el.oninput = el.onchange = handleChange;\n if (el.type?.startsWith(\"select\")) {\n new MutationObserver(handleChange).observe(el, { childList: true, subtree: true, attributes: true });\n sprae(el, state);\n }\n return () => {\n update(getValue(state));\n };\n };\n directive.value.parse = (expr) => {\n let evaluate = [parse(expr)];\n try {\n const set2 = parse(`${expr}=__`);\n evaluate.push((state, value) => {\n state.__ = value;\n set2(state, value);\n delete state.__;\n });\n } catch (e) {\n }\n return evaluate;\n };\n }\n});\n\n// directive/fx.js\nvar init_fx = __esm({\n \"directive/fx.js\"() {\n init_core();\n directive.fx = (el, evaluate, state) => {\n return () => evaluate(state);\n };\n }\n});\n\n// directive/aria.js\nvar init_aria = __esm({\n \"directive/aria.js\"() {\n init_core();\n init_default();\n directive[\"aria\"] = (el, evaluate, state) => {\n const update = (value) => {\n for (let key in value) attr(el, \"aria-\" + dashcase(key), value[key] == null ? null : value[key] + \"\");\n };\n return () => update(evaluate(state));\n };\n }\n});\n\n// directive/data.js\nvar init_data = __esm({\n \"directive/data.js\"() {\n init_core();\n directive[\"data\"] = (el, evaluate, state) => {\n return () => {\n let value = evaluate(state);\n for (let key in value) el.dataset[key] = value[key];\n };\n };\n }\n});\n\n// sprae.js\nvar sprae_exports = {};\n__export(sprae_exports, {\n default: () => sprae_default\n});\nvar sprae_default;\nvar init_sprae = __esm({\n \"sprae.js\"() {\n init_core();\n init_if();\n init_each();\n init_ref();\n init_with();\n init_text();\n init_class();\n init_style();\n init_value();\n init_fx();\n init_default();\n init_aria();\n init_data();\n sprae.use({ compile: (expr) => sprae.constructor(`with (arguments[0]) { return ${expr} };`) });\n sprae_default = sprae;\n }\n});\n\n// sprae.umd.cjs\nvar { default: sprae2 } = (init_sprae(), __toCommonJS(sprae_exports));\nmodule.exports = sprae2;\nif (document.currentScript?.hasAttribute(\"init\")) {\n const props = JSON.parse(document.currentScript?.getAttribute(\"init\") || \"{}\");\n const init = () => {\n sprae2(document.documentElement, props);\n };\n if (document.readyState === \"loading\") document.addEventListener(\"DOMContentLoaded\", init);\n else init();\n}\n;if (typeof module.exports == \"object\" && typeof exports == \"object\") {\n var __cp = (to, from, except, desc) => {\n if ((from && typeof from === \"object\") || typeof from === \"function\") {\n for (let key of Object.getOwnPropertyNames(from)) {\n if (!Object.prototype.hasOwnProperty.call(to, key) && key !== except)\n Object.defineProperty(to, key, {\n get: () => from[key],\n enumerable: !(desc = Object.getOwnPropertyDescriptor(from, key)) || desc.enumerable,\n });\n }\n }\n return to;\n };\n module.exports = __cp(module.exports, exports);\n}\nreturn module.exports;\n}))\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["g", "f", "exports", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__esm", "fn", "res", "__export", "target", "all", "name", "__copyProps", "to", "from", "except", "desc", "key", "__toCommonJS", "mod", "use", "s", "signal", "effect", "computed", "batch", "untracked", "current", "batched", "init_signal", "v", "obs", "val", "sub", "teardown", "fx", "deps", "prev", "dep", "c", "e", "fxs", "store", "values", "parent", "_signals", "list", "signals", "_len", "state", "_", "_change", "set", "del", "lastProp", "mut", "i", "l", "cur", "del2", "init_store", "sprae", "el", "_state", "offs", "init", "_off", "_on", "_dispose", "el2", "attr2", "dir", "directive", "update", "parse", "child", "memo", "err", "compile", "frag", "init_core", "expr", "tpl", "content", "attributes", "ref", "childNodes", "a", "_prevIf", "init_if", "evaluate", "next", "holder", "curEl", "ifEl", "elseEl", "newEl", "init_each", "itemVar", "idxVar", "keys2", "prevl", "items", "items2", "_a", "_b", "newItems", "newl", "idx", "scope", "planned", "leftSide", "itemsExpr", "init_ref", "init_with", "rootState", "init_text", "value", "init_class", "clsx", "cls", "v2", "k", "init_style", "initStyle", "mods", "keys", "attr", "throttle", "debounce", "dashcase", "init_default", "ctxs", "ctx", "match", "param", "addListener", "startFn", "nextFn", "off", "nextListener", "evt", "target2", "test", "defer", "stop", "prevent", "immediate", "opts", "cb", "error", "limit", "wait", "p", "pause", "block", "timeout", "str", "init_value", "getValue", "setValue", "o", "handleChange", "set2", "init_fx", "init_aria", "init_data", "sprae_exports", "sprae_default", "init_sprae", "sprae2", "props", "__cp"]
|
|
7
7
|
}
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
> DOM tree microhydration
|
|
4
4
|
|
|
5
|
-
_Sprae_ is open & minimalistic progressive enhancement framework.<br/>
|
|
5
|
+
_Sprae_ is open & minimalistic progressive enhancement framework with _preact-signals_ based reactivity.<br/>
|
|
6
6
|
Perfect for small-scale websites, static pages, landings, prototypes, or lightweight UI.<br/>
|
|
7
|
-
A light alternative to
|
|
7
|
+
A light and fast alternative to _alpine_, _petite-vue_ etc (see [why](#justification)).
|
|
8
8
|
|
|
9
9
|
## Usage
|
|
10
10
|
|
|
@@ -362,7 +362,7 @@ sprae.use({ compile })
|
|
|
362
362
|
|
|
363
363
|
## Justification
|
|
364
364
|
|
|
365
|
-
Modern frontend stack
|
|
365
|
+
Modern frontend stack is obese and unhealthy, like non-organic processed food. There are leaner alternatives, but:
|
|
366
366
|
|
|
367
367
|
* [Template-parts](https://github.com/dy/template-parts) is stuck with native HTML quirks ([parsing table](https://github.com/github/template-parts/issues/24), [SVG attributes](https://github.com/github/template-parts/issues/25), [liquid syntax](https://shopify.github.io/liquid/tags/template/#raw) conflict etc).
|
|
368
368
|
* [Alpine](https://github.com/alpinejs/alpine) / [petite-vue](https://github.com/vuejs/petite-vue) / [lucia](https://github.com/aidenyabi/lucia) escape native HTML quirks, but have excessive API (`:`, `x-`, `{}`, `@`, `$`), tend to [self-encapsulate](https://github.com/alpinejs/alpine/discussions/3223) and not care about size/performance.
|