sprae 11.2.1 → 11.2.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 +1 -1
- package/dist/sprae.js +11 -16
- 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 +72 -77
- package/dist/sprae.umd.js.map +2 -2
- package/dist/sprae.umd.min.js +2 -2
- package/dist/sprae.umd.min.js.map +3 -3
- package/package.json +1 -1
- package/signal.js +9 -10
- package/store.js +80 -78
|
@@ -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 || batch;\n untracked = s.untracked || batch;\n}\nvar current, 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) 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) => fn();\n untracked = batch;\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] && (signals[key][Symbol.dispose]?.(), delete signals[key], _len.value--), 1),\n // subscribe to length when object is spread\n ownKeys: () => (_len.value, Reflect.ownKeys(signals))\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] = null;\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.includes(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; i < signals.length; 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 = +key + 1;\n return true;\n },\n deleteProperty: (_, key) => (signals[key]?.[Symbol.dispose]?.(), delete 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) 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]) batch(() => {\n for (let i = 0; i < v.length; i++) cur[i] = v[i];\n cur.length = v.length;\n });\n else s.value = v;\n } else s.value = store(v);\n}\nvar _signals, _change, mut;\nvar init_store = __esm({\n \"store.js\"() {\n init_signal();\n _signals = Symbol(\"signals\");\n _change = Symbol(\"change\");\n mut = [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"];\n }\n});\n\n// core.js\nfunction sprae(el, values) {\n if (el[_state]) return Object.assign(el[_state], values);\n const state = store(values || {}), offs = [], fx = [];\n const init = (el2, attrs = el2.attributes) => {\n if (attrs) for (let i = 0; i < attrs.length; ) {\n let { name, value } = attrs[i], pfx, update, dir2;\n if (pfx = name[0] === \":\" ? 1 : name[0] === \"s\" && name[1] === \"-\" ? 2 : 0) {\n el2.removeAttribute(name);\n for (dir2 of name.slice(pfx).split(\":\")) {\n update = (directive[dir2] || directive.default)(el2, value, state, dir2);\n fx.push(update), offs.push(effect(update));\n if (el2[_state] === null) return;\n }\n } else i++;\n }\n for (let child of el2.childNodes) child.nodeType == 1 && init(child);\n };\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}\nvar _dispose, _state, _on, _off, directive, dir, parse, memo, 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 dir = (name, create, p = parse) => directive[name] = (el, expr, state, name2, update, evaluate) => (evaluate = p(expr), update = create(el, state, expr, name2, evaluate), () => update(evaluate(state)));\n parse = (expr, dir2, fn) => {\n if (fn = memo[expr = expr.trim()]) return fn;\n try {\n fn = compile(expr);\n } catch (e) {\n err(e, dir2, expr);\n }\n return memo[expr] = fn;\n };\n memo = {};\n err = (e, dir2 = \"\", expr = \"\") => {\n throw Object.assign(e, { message: `\\u2234 ${e.message}\n\n${dir2}${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// directive/if.js\nvar _prevIf;\nvar init_if = __esm({\n \"directive/if.js\"() {\n init_core();\n _prevIf = Symbol(\"if\");\n dir(\"if\", (el, state) => {\n const holder = document.createTextNode(\"\");\n let next = el.nextElementSibling, 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 (value) => {\n const newEl = value ? 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], sprae(curEl, state)) : curEl[_on]();\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 dir(\n \"each\",\n (tpl, state, expr) => {\n const [itemVar, idxVar = \"$\"] = expr.split(/\\s+in\\s+/)[0].split(/\\s*,\\s*/);\n const holder = document.createTextNode(\"\");\n tpl.replaceWith(holder);\n tpl[_state] = null;\n let cur, keys2, items, prevl = 0;\n const update = () => {\n var _a, _b;\n let i = 0, newItems = items, newl = newItems.length;\n if (cur && !cur[_change]) {\n for (let s of cur[_signals] || []) s[Symbol.dispose]();\n cur = null, prevl = 0;\n }\n if (newl < prevl) cur.length = newl;\n else {\n if (!cur) cur = newItems;\n else while (i < prevl) cur[i] = newItems[i++];\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 return (value) => {\n keys2 = null;\n if (typeof value === \"number\") items = Array.from({ length: value }, (_, i) => i + 1);\n else if (value?.constructor === Object) keys2 = Object.keys(value), items = Object.values(value);\n else items = value || [];\n let planned = 0;\n return effect(() => {\n items[_change]?.value;\n if (!planned++) update(), queueMicrotask(() => (planned > 1 && update(), planned = 0));\n });\n };\n },\n // redefine evaluator to take second part of expression\n (expr) => parse(expr.split(/\\s+in\\s+/)[1])\n );\n }\n});\n\n// directive/default.js\nvar mods, keys, throttle, debounce, attr, dashcase;\nvar init_default = __esm({\n \"directive/default.js\"() {\n init_core();\n dir(\"default\", (target, state, expr, name) => {\n if (!name.startsWith(\"on\"))\n return name ? (value) => attr(target, name, value) : (value) => {\n 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 (_, mod, param = \"\") => (ctx.test = mods[mod]?.(ctx, ...param.split(\"-\")) || ctx.test, \"\")\n );\n return ctx;\n });\n const 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 if (ctxs.length == 1) return (v) => addListener(v, 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 (value) => (startFn = value, !off && nextListener(startFn), () => startFn = null);\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 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 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 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 setter, ensure;\nvar init_value = __esm({\n \"directive/value.js\"() {\n init_core();\n init_core();\n init_default();\n dir(\"value\", (el, state, expr) => {\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 ensure(state, expr);\n try {\n const set2 = setter(expr);\n const handleChange = el.type === \"checkbox\" ? () => set2(state, el.checked) : el.type === \"select-multiple\" ? () => set2(state, [...el.selectedOptions].map((o) => o.value)) : () => set2(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 } catch {\n }\n return update;\n });\n setter = (expr, set2 = parse(`${expr}=__`)) => (\n // FIXME: if there's a simpler way to set value in justin?\n (state, value) => (state.__ = value, set2(state, value), delete state.__)\n );\n ensure = (state, expr, name = expr.match(/^\\w+(?=\\s*(?:\\.|\\[|$))/)) => {\n var _a;\n return name && (state[_a = name[0]] ?? (state[_a] = null));\n };\n }\n});\n\n// directive/ref.js\nvar init_ref = __esm({\n \"directive/ref.js\"() {\n init_core();\n init_value();\n dir(\"ref\", (el, state, expr, _, ev) => (ensure(state, expr), ev(state) == null ? (setter(expr)(state, el), (_2) => _2) : (v) => v.call(null, el)));\n }\n});\n\n// directive/with.js\nvar init_with = __esm({\n \"directive/with.js\"() {\n init_core();\n init_store();\n dir(\"with\", (el, rootState, state) => (state = null, (values) => sprae(el, state ? values : state = store(values, rootState))));\n }\n});\n\n// directive/text.js\nvar init_text = __esm({\n \"directive/text.js\"() {\n init_core();\n dir(\"text\", (el) => (\n // <template :text=\"a\"/> or previously initialized template\n (el.content && el.replaceWith(el = frag(el).childNodes[0]), (value) => el.textContent = value == null ? \"\" : value)\n ));\n }\n});\n\n// directive/class.js\nvar init_class = __esm({\n \"directive/class.js\"() {\n init_core();\n dir(\n \"class\",\n (el, cur) => (cur = /* @__PURE__ */ new Set(), (v) => {\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 dir(\n \"style\",\n (el, initStyle) => (initStyle = el.getAttribute(\"style\"), (v) => {\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/fx.js\nvar init_fx = __esm({\n \"directive/fx.js\"() {\n init_core();\n dir(\"fx\", (_) => (_2) => _2);\n }\n});\n\n// directive/aria.js\nvar init_aria = __esm({\n \"directive/aria.js\"() {\n init_core();\n init_default();\n dir(\"aria\", (el) => (value) => {\n for (let key in value) attr(el, \"aria-\" + dashcase(key), value[key] == null ? null : value[key] + \"\");\n });\n }\n});\n\n// directive/data.js\nvar init_data = __esm({\n \"directive/data.js\"() {\n init_core();\n dir(\"data\", (el) => (value) => {\n for (let key in value) el.dataset[key] = value[key];\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", "
|
|
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\nvar current, signal, effect, computed, batch, untracked, use;\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) 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) => fn();\n untracked = batch;\n use = (s) => (signal = s.signal, effect = s.effect, computed = s.computed, batch = s.batch || batch, untracked = s.untracked || untracked);\n }\n});\n\n// store.js\nvar _signals, _change, store, list, mut, set, store_default;\nvar init_store = __esm({\n \"store.js\"() {\n init_signal();\n _signals = Symbol(\"signals\");\n _change = Symbol(\"change\");\n 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] && (signals[key][Symbol.dispose]?.(), delete signals[key], _len.value--), 1),\n // subscribe to length when object is spread\n ownKeys: () => (_len.value, Reflect.ownKeys(signals))\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] = null;\n set(signals, key, values[key]);\n }\n }\n return state;\n };\n 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.includes(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; i < signals.length; 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 = +key + 1;\n return true;\n },\n deleteProperty: (_, key) => (signals[key]?.[Symbol.dispose]?.(), delete signals[key], 1)\n });\n return state;\n };\n mut = [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"];\n set = (signals, key, v) => {\n let s = signals[key];\n if (key[0] === \"_\") signals[key] = v;\n else if (!s) 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]) batch(() => {\n for (let i = 0; i < v.length; i++) cur[i] = v[i];\n cur.length = v.length;\n });\n else s.value = v;\n } else s.value = store(v);\n };\n store_default = store;\n }\n});\n\n// core.js\nfunction sprae(el, values) {\n if (el[_state]) return Object.assign(el[_state], values);\n const state = store(values || {}), offs = [], fx = [];\n const init = (el2, attrs = el2.attributes) => {\n if (attrs) for (let i = 0; i < attrs.length; ) {\n let { name, value } = attrs[i], pfx, update, dir2;\n if (pfx = name[0] === \":\" ? 1 : name[0] === \"s\" && name[1] === \"-\" ? 2 : 0) {\n el2.removeAttribute(name);\n for (dir2 of name.slice(pfx).split(\":\")) {\n update = (directive[dir2] || directive.default)(el2, value, state, dir2);\n fx.push(update), offs.push(effect(update));\n if (el2[_state] === null) return;\n }\n } else i++;\n }\n for (let child of el2.childNodes) child.nodeType == 1 && init(child);\n };\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}\nvar _dispose, _state, _on, _off, directive, dir, parse, memo, 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 dir = (name, create, p = parse) => directive[name] = (el, expr, state, name2, update, evaluate) => (evaluate = p(expr), update = create(el, state, expr, name2, evaluate), () => update(evaluate(state)));\n parse = (expr, dir2, fn) => {\n if (fn = memo[expr = expr.trim()]) return fn;\n try {\n fn = compile(expr);\n } catch (e) {\n err(e, dir2, expr);\n }\n return memo[expr] = fn;\n };\n memo = {};\n err = (e, dir2 = \"\", expr = \"\") => {\n throw Object.assign(e, { message: `\\u2234 ${e.message}\n\n${dir2}${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// directive/if.js\nvar _prevIf;\nvar init_if = __esm({\n \"directive/if.js\"() {\n init_core();\n _prevIf = Symbol(\"if\");\n dir(\"if\", (el, state) => {\n const holder = document.createTextNode(\"\");\n let next = el.nextElementSibling, 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 (value) => {\n const newEl = value ? 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], sprae(curEl, state)) : curEl[_on]();\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 dir(\n \"each\",\n (tpl, state, expr) => {\n const [itemVar, idxVar = \"$\"] = expr.split(/\\s+in\\s+/)[0].split(/\\s*,\\s*/);\n const holder = document.createTextNode(\"\");\n tpl.replaceWith(holder);\n tpl[_state] = null;\n let cur, keys2, items, prevl = 0;\n const update = () => {\n var _a, _b;\n let i = 0, newItems = items, newl = newItems.length;\n if (cur && !cur[_change]) {\n for (let s of cur[_signals] || []) s[Symbol.dispose]();\n cur = null, prevl = 0;\n }\n if (newl < prevl) cur.length = newl;\n else {\n if (!cur) cur = newItems;\n else while (i < prevl) cur[i] = newItems[i++];\n for (; i < newl; i++) {\n cur[i] = newItems[i];\n let idx = i, scope = store_default({\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 return (value) => {\n keys2 = null;\n if (typeof value === \"number\") items = Array.from({ length: value }, (_, i) => i + 1);\n else if (value?.constructor === Object) keys2 = Object.keys(value), items = Object.values(value);\n else items = value || [];\n let planned = 0;\n return effect(() => {\n items[_change]?.value;\n if (!planned++) update(), queueMicrotask(() => (planned > 1 && update(), planned = 0));\n });\n };\n },\n // redefine evaluator to take second part of expression\n (expr) => parse(expr.split(/\\s+in\\s+/)[1])\n );\n }\n});\n\n// directive/default.js\nvar mods, keys, throttle, debounce, attr, dashcase;\nvar init_default = __esm({\n \"directive/default.js\"() {\n init_core();\n dir(\"default\", (target, state, expr, name) => {\n if (!name.startsWith(\"on\"))\n return name ? (value) => attr(target, name, value) : (value) => {\n 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 (_, mod, param = \"\") => (ctx.test = mods[mod]?.(ctx, ...param.split(\"-\")) || ctx.test, \"\")\n );\n return ctx;\n });\n const 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 if (ctxs.length == 1) return (v) => addListener(v, 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 (value) => (startFn = value, !off && nextListener(startFn), () => startFn = null);\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 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 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 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 setter, ensure;\nvar init_value = __esm({\n \"directive/value.js\"() {\n init_core();\n init_core();\n init_default();\n dir(\"value\", (el, state, expr) => {\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 ensure(state, expr);\n try {\n const set2 = setter(expr);\n const handleChange = el.type === \"checkbox\" ? () => set2(state, el.checked) : el.type === \"select-multiple\" ? () => set2(state, [...el.selectedOptions].map((o) => o.value)) : () => set2(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 } catch {\n }\n return update;\n });\n setter = (expr, set2 = parse(`${expr}=__`)) => (\n // FIXME: if there's a simpler way to set value in justin?\n (state, value) => (state.__ = value, set2(state, value), delete state.__)\n );\n ensure = (state, expr, name = expr.match(/^\\w+(?=\\s*(?:\\.|\\[|$))/)) => {\n var _a;\n return name && (state[_a = name[0]] ?? (state[_a] = null));\n };\n }\n});\n\n// directive/ref.js\nvar init_ref = __esm({\n \"directive/ref.js\"() {\n init_core();\n init_value();\n dir(\"ref\", (el, state, expr, _, ev) => (ensure(state, expr), ev(state) == null ? (setter(expr)(state, el), (_2) => _2) : (v) => v.call(null, el)));\n }\n});\n\n// directive/with.js\nvar init_with = __esm({\n \"directive/with.js\"() {\n init_core();\n init_store();\n dir(\"with\", (el, rootState, state) => (state = null, (values) => sprae(el, state ? values : state = store_default(values, rootState))));\n }\n});\n\n// directive/text.js\nvar init_text = __esm({\n \"directive/text.js\"() {\n init_core();\n dir(\"text\", (el) => (\n // <template :text=\"a\"/> or previously initialized template\n (el.content && el.replaceWith(el = frag(el).childNodes[0]), (value) => el.textContent = value == null ? \"\" : value)\n ));\n }\n});\n\n// directive/class.js\nvar init_class = __esm({\n \"directive/class.js\"() {\n init_core();\n dir(\n \"class\",\n (el, cur) => (cur = /* @__PURE__ */ new Set(), (v) => {\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 dir(\n \"style\",\n (el, initStyle) => (initStyle = el.getAttribute(\"style\"), (v) => {\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/fx.js\nvar init_fx = __esm({\n \"directive/fx.js\"() {\n init_core();\n dir(\"fx\", (_) => (_2) => _2);\n }\n});\n\n// directive/aria.js\nvar init_aria = __esm({\n \"directive/aria.js\"() {\n init_core();\n init_default();\n dir(\"aria\", (el) => (value) => {\n for (let key in value) attr(el, \"aria-\" + dashcase(key), value[key] == null ? null : value[key] + \"\");\n });\n }\n});\n\n// directive/data.js\nvar init_data = __esm({\n \"directive/data.js\"() {\n init_core();\n dir(\"data\", (el) => (value) => {\n for (let key in value) el.dataset[key] = value[key];\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", "current", "signal", "effect", "computed", "batch", "untracked", "use", "init_signal", "v", "s", "obs", "val", "sub", "teardown", "fx", "deps", "prev", "dep", "c", "e", "_signals", "_change", "store", "list", "mut", "set", "store_default", "init_store", "values", "parent", "signals", "_len", "state", "_", "lastProp", "i", "cur", "sprae", "el", "_state", "offs", "init", "el2", "attrs", "value", "pfx", "update", "dir2", "directive", "child", "_off", "_on", "_dispose", "dir", "parse", "memo", "err", "compile", "frag", "init_core", "create", "p", "expr", "name2", "evaluate", "tpl", "content", "attributes", "ref", "childNodes", "a", "_prevIf", "init_if", "holder", "next", "curEl", "ifEl", "elseEl", "newEl", "init_each", "itemVar", "idxVar", "keys2", "items", "prevl", "_a", "_b", "newItems", "newl", "idx", "scope", "planned", "mods", "keys", "throttle", "debounce", "attr", "dashcase", "init_default", "ctxs", "ctx", "param", "addListener", "evt", "target2", "test", "defer", "stop", "prevent", "immediate", "opts", "cb", "error", "startFn", "nextFn", "off", "nextListener", "limit", "wait", "pause", "block", "timeout", "str", "match", "setter", "ensure", "init_value", "set2", "handleChange", "o", "init_ref", "ev", "_2", "init_with", "rootState", "init_text", "init_class", "clsx", "cls", "v2", "k", "init_style", "initStyle", "init_fx", "init_aria", "init_data", "sprae_exports", "sprae_default", "init_sprae", "sprae2", "props", "__cp"]
|
|
7
7
|
}
|
package/package.json
CHANGED
package/signal.js
CHANGED
|
@@ -40,14 +40,13 @@ export let signal = (v, s, obs = new Set) => (
|
|
|
40
40
|
c
|
|
41
41
|
),
|
|
42
42
|
batch = fn => fn(),
|
|
43
|
-
untracked = batch
|
|
43
|
+
untracked = batch,
|
|
44
44
|
|
|
45
|
-
// signals adapter - allows switching signals implementation and not depend on core
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
45
|
+
// signals adapter - allows switching signals implementation and not depend on core
|
|
46
|
+
use = (s) => (
|
|
47
|
+
signal = s.signal,
|
|
48
|
+
effect = s.effect,
|
|
49
|
+
computed = s.computed,
|
|
50
|
+
batch = s.batch || batch,
|
|
51
|
+
untracked = s.untracked || untracked
|
|
52
|
+
)
|
package/store.js
CHANGED
|
@@ -1,111 +1,111 @@
|
|
|
1
1
|
// signals-based proxy
|
|
2
2
|
import { signal, computed, batch } from './signal.js'
|
|
3
3
|
|
|
4
|
-
export const _signals = Symbol('signals'), _change = Symbol('change')
|
|
4
|
+
export const _signals = Symbol('signals'), _change = Symbol('change'),
|
|
5
5
|
|
|
6
|
-
// object store is not lazy
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
// object store is not lazy
|
|
7
|
+
store = (values, parent) => {
|
|
8
|
+
if (!values) return values
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
// ignore existing state as argument
|
|
11
|
+
if (values[_signals]) return values;
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
// redirect for optimized array store
|
|
14
|
+
if (Array.isArray(values)) return list(values)
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
// ignore non-objects or custom objects
|
|
17
|
+
if (values.constructor !== Object || values[Symbol.toStringTag]) return values;
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
// NOTE: if you decide to unlazy values, think about large arrays - init upfront can be costly
|
|
20
|
+
let signals = { ...parent?.[_signals] }, _len = signal(Object.values(values).length)
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
22
|
+
// proxy conducts prop access to signals
|
|
23
|
+
const state = new Proxy(signals, {
|
|
24
|
+
get: (_, key) => key === _change ? _len : key === _signals ? signals : signals[key]?.valueOf(),
|
|
25
|
+
set: (_, key, v, s) => (s = signals[key], set(signals, key, v), s ?? (++_len.value), 1), // bump length for new signal
|
|
26
|
+
deleteProperty: (_, key) => (signals[key] && (signals[key][Symbol.dispose]?.(), delete signals[key], _len.value--), 1),
|
|
27
|
+
// subscribe to length when object is spread
|
|
28
|
+
ownKeys: () => (_len.value, Reflect.ownKeys(signals)),
|
|
29
|
+
})
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
// init signals for values
|
|
32
|
+
for (let key in values) {
|
|
33
|
+
const desc = Object.getOwnPropertyDescriptor(values, key)
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
35
|
+
// getter turns into computed
|
|
36
|
+
if (desc?.get) {
|
|
37
|
+
// stash setter
|
|
38
|
+
(signals[key] = computed(desc.get.bind(state)))._set = desc.set?.bind(state);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
// init blank signal - make sure we don't take prototype one
|
|
42
|
+
signals[key] = null
|
|
43
|
+
set(signals, key, values[key]);
|
|
44
|
+
}
|
|
44
45
|
}
|
|
45
|
-
}
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
}
|
|
47
|
+
return state
|
|
48
|
+
},
|
|
49
49
|
|
|
50
|
-
//
|
|
51
|
-
|
|
50
|
+
// array store - signals are lazy since arrays can be very large & expensive
|
|
51
|
+
list = values => {
|
|
52
|
+
// track last accessed property to find out if .length was directly accessed from expression or via .push/etc method
|
|
53
|
+
let lastProp
|
|
52
54
|
|
|
53
|
-
//
|
|
54
|
-
|
|
55
|
-
// track last accessed property to find out if .length was directly accessed from expression or via .push/etc method
|
|
56
|
-
let lastProp
|
|
55
|
+
// ignore existing state as argument
|
|
56
|
+
if (values[_signals]) return values;
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
// .length signal is stored separately, since it cannot be replaced on array
|
|
59
|
+
let _len = signal(values.length),
|
|
60
|
+
// gotta fill with null since proto methods like .reduce may fail
|
|
61
|
+
signals = Array(values.length).fill();
|
|
60
62
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
// proxy conducts prop access to signals
|
|
64
|
+
const state = new Proxy(signals, {
|
|
65
|
+
get(_, key) {
|
|
66
|
+
// covers Symbol.isConcatSpreadable etc.
|
|
67
|
+
if (typeof key === 'symbol') return key === _change ? _len : key === _signals ? signals : signals[key]
|
|
65
68
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
get(_, key) {
|
|
69
|
-
// covers Symbol.isConcatSpreadable etc.
|
|
70
|
-
if (typeof key === 'symbol') return key === _change ? _len : key === _signals ? signals : signals[key]
|
|
69
|
+
// if .length is read within .push/etc - peek signal to avoid recursive subscription
|
|
70
|
+
if (key === 'length') return mut.includes(lastProp) ? _len.peek() : _len.value;
|
|
71
71
|
|
|
72
|
-
|
|
73
|
-
if (key === 'length') return mut.includes(lastProp) ? _len.peek() : _len.value;
|
|
72
|
+
lastProp = key;
|
|
74
73
|
|
|
75
|
-
|
|
74
|
+
if (signals[key]) return signals[key].valueOf()
|
|
76
75
|
|
|
77
|
-
|
|
76
|
+
// I hope reading values here won't diverge from signals
|
|
77
|
+
if (key < signals.length) return (signals[key] = signal(store(values[key]))).value
|
|
78
|
+
},
|
|
78
79
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
set(_, key, v) {
|
|
81
|
+
// .length
|
|
82
|
+
if (key === 'length') {
|
|
83
|
+
// force cleaning up tail
|
|
84
|
+
for (let i = v; i < signals.length; i++) delete state[i]
|
|
85
|
+
// .length = N directly
|
|
86
|
+
_len.value = signals.length = v;
|
|
87
|
+
return true
|
|
88
|
+
}
|
|
82
89
|
|
|
83
|
-
|
|
84
|
-
// .length
|
|
85
|
-
if (key === 'length') {
|
|
86
|
-
// force cleaning up tail
|
|
87
|
-
for (let i = v; i < signals.length; i++) delete state[i]
|
|
88
|
-
// .length = N directly
|
|
89
|
-
_len.value = signals.length = v;
|
|
90
|
-
return true
|
|
91
|
-
}
|
|
90
|
+
set(signals, key, v)
|
|
92
91
|
|
|
93
|
-
|
|
92
|
+
// force changing length, if eg. a=[]; a[1]=1 - need to come after setting the item
|
|
93
|
+
if (key >= _len.peek()) _len.value = signals.length = +key + 1
|
|
94
94
|
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
return true
|
|
96
|
+
},
|
|
97
97
|
|
|
98
|
-
|
|
99
|
-
}
|
|
98
|
+
deleteProperty: (_, key) => (signals[key]?.[Symbol.dispose]?.(), delete signals[key], 1),
|
|
99
|
+
})
|
|
100
100
|
|
|
101
|
-
|
|
102
|
-
}
|
|
101
|
+
return state
|
|
102
|
+
}
|
|
103
103
|
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
// length changing methods
|
|
105
|
+
const mut = ['push', 'pop', 'shift', 'unshift', 'splice']
|
|
106
106
|
|
|
107
107
|
// set/update signal value
|
|
108
|
-
|
|
108
|
+
const set = (signals, key, v) => {
|
|
109
109
|
let s = signals[key]
|
|
110
110
|
|
|
111
111
|
// untracked
|
|
@@ -129,3 +129,5 @@ function set(signals, key, v) {
|
|
|
129
129
|
// .x = y
|
|
130
130
|
else s.value = store(v)
|
|
131
131
|
}
|
|
132
|
+
|
|
133
|
+
export default store
|