lithent 1.1.0 → 1.2.1

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/README.md CHANGED
@@ -23,6 +23,7 @@ used lightly in a variety of situations.
23
23
  - [Examples](#examples)
24
24
  - [With ESM](#with-esm)
25
25
  - [With UMD](#with-umd)
26
+ - [Related Projects](#related-projects)
26
27
  - [Develop Guide](#develop-guide)
27
28
  - [Test](#test)
28
29
 
@@ -60,10 +61,12 @@ pnpm add lithent
60
61
 
61
62
  #### Or Use CDN
62
63
 
63
- * UMD : https://cdn.jsdelivr.net/npm/lithent@1.1.0/dist/lithent.umd.js
64
- * UMD-HELPER: https://cdn.jsdelivr.net/npm/lithent@1.1.0/helper/dist/lithentHelper.umd.js
65
- * ESM : https://cdn.jsdelivr.net/npm/lithent@1.1.0/dist/lithent.mjs
66
- * ESM-HELPER: https://cdn.jsdelivr.net/npm/lithent@1.1.0/helper/dist/lithentHelper.mjs
64
+ * UMD : https://cdn.jsdelivr.net/npm/lithent@1.2.1/dist/lithent.umd.js
65
+ * UMD-HELPER: https://cdn.jsdelivr.net/npm/lithent@1.2.1/helper/dist/lithentHelper.umd.js
66
+ * UMD-TAG: https://cdn.jsdelivr.net/npm/lithent@1.2.1/tag/dist/lithentTag.umd.js
67
+ * ESM : https://cdn.jsdelivr.net/npm/lithent@1.2.1/dist/lithent.mjs
68
+ * ESM-HELPER: https://cdn.jsdelivr.net/npm/lithent@1.2.1/helper/dist/lithentHelper.mjs
69
+ * ESM-TAG: https://cdn.jsdelivr.net/npm/lithent@1.2.1/tag/dist/lithentTag.mjs
67
70
 
68
71
 
69
72
  It's easier to use lithent with JSX or HTM.
@@ -93,9 +96,8 @@ const html = htm.bind(h);
93
96
  #### With ESM
94
97
  ```js
95
98
  import { h, render, mount, Fragment } from 'lithent';
99
+ import { lTag } from 'lithent/tag';
96
100
  import { state } from 'lithent/helper';
97
- import htm from 'htm';
98
- const html = htm.bind(h);
99
101
 
100
102
  const Component = mount((renew, _props) => {
101
103
  const count = state(0, renew);
@@ -105,7 +107,7 @@ const Component = mount((renew, _props) => {
105
107
  };
106
108
 
107
109
  // Updater
108
- return () => html`
110
+ return () => lTag`
109
111
  <${Fragment}>
110
112
  <li>count: ${count.value}</li>
111
113
  <button onClick=${change}>increase</button>
@@ -115,22 +117,22 @@ const Component = mount((renew, _props) => {
115
117
 
116
118
  // appendChild or insertBefore
117
119
  // The third argument is an optional value for insertBefore.
118
- const destroy = render(html`<${Component} />`, document.getElementById('root'), document.getElementById('#insert-before-this-element'));
120
+ const destroy = render(lTag`<${Component} />`, document.getElementById('root'), document.getElementById('#insert-before-this-element'));
119
121
  ```
120
122
 
121
123
  #### With UMD
122
124
 
123
125
  ```html
124
- <script src="https://cdn.jsdelivr.net/npm/lithent@1.1.0/dist/lithent.umd.js"></script>
125
- <!--script src="https://cdn.jsdelivr.net/npm/lithent@1.1.0/helper/dist/lithentHelper.umd.js"></script-->
126
- <script src="https://cdnjs.cloudflare.com/ajax/libs/htm/3.1.1/htm.js"></script>
126
+ <script src="https://cdn.jsdelivr.net/npm/lithent@1.2.1/dist/lithent.umd.js"></script>
127
+ <!--script src="https://cdn.jsdelivr.net/npm/lithent@1.2.1/helper/dist/lithentHelper.umd.js"></script-->
128
+ <script src="https://cdn.jsdelivr.net/npm/lithent@1.2.1/tag/dist/lithentTag.umd.js"></script>
127
129
 
128
130
  <div id="root"></div>
129
131
 
130
132
  <script>
131
133
  const { h, Fragment, render, mount } = lithent;
134
+ const { lTag } = lithentTag;
132
135
  // const { state } = lithentHelper;
133
- const html = htm.bind(h);
134
136
 
135
137
  const Component = mount(renew => {
136
138
  count = 0;
@@ -141,7 +143,7 @@ const Component = mount(renew => {
141
143
  };
142
144
 
143
145
  // Updater
144
- return () => html`
146
+ return () => lTag`
145
147
  <${Fragment}>
146
148
  <li>count: ${count}</li>
147
149
  <button onClick=${change}>increase</button>
@@ -151,10 +153,13 @@ const Component = mount(renew => {
151
153
 
152
154
  // appendChild or insertBefore
153
155
  // The third argument is an optional value for insertBefore.
154
- const destroy = render(html`<${Component} />`, document.getElementById('root'), document.getElementById('#insert-before-this-element'));
156
+ const destroy = render(lTag`<${Component} />`, document.getElementById('root'), document.getElementById('#insert-before-this-element'));
155
157
  </script>
156
158
  ```
157
159
 
160
+ ## Related Projects
161
+ - [htm](https://www.npmjs.com/package/htm) - making **H**yperscript **T**agged **M**arkup possible
162
+
158
163
  ## Develop Guide
159
164
 
160
165
  It's open source, so you can develop and contribute together.
@@ -1 +1 @@
1
- {"version":3,"file":"index-6e15f967.js","sources":["../../../dist/lithent.mjs","../../../helper/dist/lithentHelper.mjs","../../src/index.tsx"],"sourcesContent":["const k = (e) => typeof e == \"object\" && !(\"resolve\" in e), x = (e, t) => k(e) && e.type === t, pe = (e, t) => \"ctor\" in e ? e.ctor === (t == null ? void 0 : t.ctor) : e === (t == null ? void 0 : t.ctor), he = (e, t) => {\n var s, c;\n return k(e) && (t == null ? void 0 : t.type) === \"fragment\" && ((s = t == null ? void 0 : t.children) == null ? void 0 : s.length) === ((c = e == null ? void 0 : e.children) == null ? void 0 : c.length);\n}, ie = (e, t) => {\n var s, c;\n return k(e) && (t == null ? void 0 : t.type) === \"element\" && (t == null ? void 0 : t.tag) === e.tag && ((s = t == null ? void 0 : t.children) == null ? void 0 : s.length) === ((c = e == null ? void 0 : e.children) == null ? void 0 : c.length);\n}, U = (e, t) => k(e) && (t == null ? void 0 : t.type) === e.type && (e.type !== \"loop\" || e.type === \"loop\" && C(i((e.children || [])[0])) && C(i((t.children || [])[0]))), i = (e) => {\n var t, s;\n return ((t = e == null ? void 0 : e.compProps) == null ? void 0 : t.key) ?? ((s = e == null ? void 0 : e.props) == null ? void 0 : s.key);\n}, y = (e) => e && [\"fragment\", \"loop\"].includes(e), T = (e) => typeof e == \"function\" && !H(e) || typeof e == \"object\" && \"resolve\" in e, H = (e) => typeof e == \"function\" && e === re, J = (e) => k(e) && !e.type, C = (e) => e != null, z = (e, t) => e === \"style\" && typeof t == \"object\", ve = (e, t) => e === \"ref\" && typeof t == \"object\", ye = (e) => e.nodeType === 1 && e.tagName === \"OPTION\", Ce = (e) => e.nodeType === 1 && e.tagName === \"TEXTAREA\", ae = (e) => e.nodeType === 1 && [\"radio\", \"checkbox\"].includes(e.type), ke = (e) => {\n let t = \"et\";\n return T(e) ? t = \"c\" : x(e, \"fragment\") ? t = \"f\" : x(e, \"element\") ? t = \"e\" : x(e, \"loop\") ? t = \"l\" : x(e, \"text\") ? t = \"t\" : J(e) && (t = \"et\"), t;\n}, Re = {\n c: pe,\n l: U,\n t: U,\n e: ie,\n f: he,\n et: U\n}, p = (e) => e.getParent && e.getParent(), a = Object.entries, Y = Object.keys, S = Object.assign, v = { value: \"\" }, R = { value: {} }, A = { value: !1 }, u = /* @__PURE__ */ new WeakMap(), Ee = (e) => {\n u.set(e, {\n vd: { value: null },\n up: () => {\n },\n upR: [],\n upS: { value: 0 },\n upD: [],\n upCB: [],\n mts: [],\n umts: []\n });\n}, E = () => R.value, Z = (e, t) => u.get(e)[t], xe = (e) => R.value = e, Pe = (e) => {\n R.value = e, Ee(e);\n}, Te = (e) => {\n u.get(E()).umts.push(e);\n}, Q = (e) => {\n const { compKey: t } = e;\n t && Se(t), K(e);\n}, K = (e) => {\n (e.children || []).forEach((t) => {\n t.compKey ? Q(t) : K(t);\n });\n}, Se = (e) => {\n const t = u.get(e);\n t && (t.umts.forEach((s) => s()), t.umts = [], u.delete(e));\n};\nlet O = [];\nconst B = () => {\n O.forEach((e) => be(e)), O = [];\n}, Ne = (e) => {\n e.compKey && O.push(e);\n}, rt = (e) => u.get(E()).mts.push(e), be = (e) => {\n const { compKey: t } = e;\n if (t) {\n const s = u.get(t), c = s == null ? void 0 : s.mts, n = s == null ? void 0 : s.upS;\n R.value = t, n && (n.value = 0), c && (s.mts = [], c.forEach((r) => {\n const o = r();\n o && Te(o);\n }));\n }\n}, G = (e, t = () => []) => {\n const s = u.get(E()), { upD: c, upS: n } = s, r = c[n.value];\n if (r && Ue(r, t())) {\n const o = e();\n o && s.upCB.push(o);\n }\n c[n.value] = t(), n.value += 1;\n}, Fe = (e) => {\n const { compKey: t } = e;\n if (t) {\n const s = u.get(t), c = s == null ? void 0 : s.upCB, n = s == null ? void 0 : s.upS;\n R.value = t, n && (n.value = 0), e.ctor && c && (s.upCB = [], c.forEach((r) => r()));\n }\n}, Ue = (e, t) => e.length ? e.some((s, c) => s !== t[c]) : !0, X = (e) => e === \"className\" ? \"class\" : e, V = (e) => e.replace(/^on(.*)/, (t, s) => s.toLowerCase()), g = () => new DocumentFragment(), $ = (e) => document.createElement(e), ot = (e, t, s) => {\n t ?? (t = document.body), e.isRoot = !0, e.wrapElement = t;\n const c = N(e);\n return s ? (e.afterElement = s, t.insertBefore(c, s)) : t.appendChild(c), B(), () => {\n var r;\n const n = (r = u.get(e.compProps || {})) == null ? void 0 : r.vd.value;\n n && (Q(n), I(n), Ae(n));\n };\n}, m = (e) => {\n const { needRerender: t } = e;\n t && t !== \"N\" && {\n A: q,\n D: j,\n R: Le,\n U: Me,\n SR: D,\n SU: Oe\n }[t](e);\n}, I = (e) => {\n e.props && e.el && te(e.props, e.el), (e.children || []).forEach((t) => {\n I(t);\n });\n}, Ae = (e) => {\n w(e, e.wrapElement);\n}, j = (e) => {\n e.oldProps && e.el && te(e.oldProps, e.el), w(\n e,\n b(p(e))\n );\n}, w = (e, t) => {\n var s, c;\n t && e.el && (((s = e.el) == null ? void 0 : s.nodeType) === 1 ? t.removeChild(e.el) : ((c = e.el) == null ? void 0 : c.nodeType) === 11 && W(e, t), delete e.el);\n}, W = (e, t) => {\n ((e == null ? void 0 : e.oldChildren) || (e == null ? void 0 : e.children) || []).forEach((s) => {\n var c, n;\n ((c = s.el) == null ? void 0 : c.nodeType) === 1 ? t.removeChild(s == null ? void 0 : s.el) : ((n = s.el) == null ? void 0 : n.nodeType) === 11 && W(s, t);\n });\n}, D = (e) => {\n j(e), q(e);\n}, Oe = (e) => {\n j(e), q(e, e.el);\n}, q = (e, t) => {\n t || (t = N(e));\n const s = p(e);\n if (s.type) {\n const c = b(s), r = s.type === \"loop\" ? L(s, p(s)) : L(e, s);\n t && c && (r ? c.insertBefore(t, r) : c.appendChild(t), B());\n }\n}, L = (e, t) => {\n const s = t.children || [], n = s.indexOf(e) + 1, r = s.slice(n), o = ee(r), l = t.type || \"\";\n if (o)\n return o;\n if (!t.isRoot && y(l))\n return L(t, p(t));\n if (t.isRoot && y(l) && t.afterElement)\n return t.afterElement;\n}, ee = (e) => e.reduce(\n (t, s) => {\n const c = s.type, n = s.el, r = c && y(c);\n return t || (r ? ee(s.children || []) : n && n.nodeType !== 11 ? n : t);\n },\n void 0\n), Le = (e) => {\n const t = p(e), s = e.el;\n if (t.type && s)\n if (s.nodeType === 11)\n D(e);\n else {\n const c = b(t), n = N(e);\n c && c.replaceChild(n, s), B();\n }\n}, te = (e, t) => {\n a(e || {}).forEach(([s, c]) => {\n s.match(/^on/) && t.removeEventListener(\n V(s),\n c\n );\n });\n}, Me = (e) => {\n var s;\n const t = e.el;\n if (e.type === \"text\") {\n Qe(e);\n return;\n }\n if (t) {\n const { oldProps: c, props: n } = e;\n se(n, t, c), delete e.oldProps, e.tag === \"input\" && (t.value = String(((s = e == null ? void 0 : e.props) == null ? void 0 : s.value) || \"\"));\n }\n (e.children || []).forEach((c) => m(c)), Fe(e);\n}, Qe = (e) => {\n const t = e.el;\n t && (t.nodeValue = String(e.text));\n}, se = (e, t, s) => {\n const c = { ...s };\n a(e || {}).forEach(([n, r]) => {\n let o = !0;\n n === \"key\" || (n === \"innerHTML\" && typeof r == \"string\" ? t.innerHTML = r : z(n, r) ? qe(\n r,\n z(n, c.style) ? c.style : {},\n t\n ) : ve(n, r) ? r.value = t : n.match(/^on/) ? je(\n t,\n n,\n r,\n c[n]\n ) : ae(t) && n === \"checked\" ? t.checked = !!r : Ce(t) && n === \"value\" ? t.value = r : ye(t) && n === \"selected\" ? t.selected = !!r : n && ([o, r] = Be(r), o && (v.value && n !== \"xmlns\" ? t.setAttributeNS(\n null,\n X(n),\n r\n ) : t.setAttribute(\n X(n),\n r\n )))), o && delete c[n];\n }), Y(c).forEach(\n (n) => t.removeAttribute(n)\n );\n}, Be = (e) => {\n let t = !0;\n return typeof e == \"boolean\" && (e || (t = !1), e = \"\"), [t, String(e)];\n}, N = (e) => {\n let t;\n const { type: s, tag: c, text: n, props: r, children: o = [] } = e, l = y(s);\n return c === \"svg\" && (v.value = String(r == null ? void 0 : r.xmlns)), l ? t = g() : s === \"element\" && c ? t = v.value ? document.createElementNS(v.value, c) : $(c) : s === \"text\" && C(n) ? t = document.createTextNode(String(n)) : t = $(\"e\"), Ie(o, t), se(r, t), e.el = t, Ne(e), c === \"svg\" && (v.value = \"\"), t;\n}, Ie = (e, t) => {\n const s = e.reduce(\n (c, n) => (n.type && c.appendChild(N(n)), c),\n g()\n );\n t && s.hasChildNodes() && t.appendChild(s);\n}, je = (e, t, s, c) => {\n const n = V(t);\n c !== s && (c && e.removeEventListener(n, c), s && e.addEventListener(n, s));\n}, qe = (e, t, s) => {\n const c = { ...t }, n = s == null ? void 0 : s.style;\n n && (a(e).forEach(([r, o]) => {\n n[r] = o, delete c[r];\n }), a(c).forEach(\n ([r]) => n[r] = \"\"\n ));\n}, b = (e) => {\n const t = y(e.type);\n return e.isRoot && t ? e.wrapElement : t ? b(p(e)) : e.el;\n}, F = (e, t) => _e(\n e,\n Re[ke(e)](e, t),\n t\n), _e = (e, t, s) => {\n const c = Je(e, t, s), n = [\n c,\n t,\n s\n ], r = Ge(...n);\n return c.children = Ye(...n), c.needRerender = r, ze(c, s, r), c;\n}, ze = (e, t, s) => {\n s !== \"A\" && t && (e.el = t.el), s && [\"D\", \"R\", \"SR\"].includes(s) && (t != null && t.compKey && (Q(t), I(t)), e.oldChildren = t == null ? void 0 : t.children), e.oldProps = t == null ? void 0 : t.props;\n}, Ge = (e, t, s) => {\n const c = s && s.type, n = J(e), o = !!e.getParent && p(e).type, l = i(e), h = o === \"loop\" && C(l), d = e.type === \"text\" && t && e.text === (s == null ? void 0 : s.text);\n let f;\n return n ? f = \"D\" : d ? f = \"N\" : c ? t ? f = h ? \"SU\" : \"U\" : f = h ? \"SR\" : \"R\" : f = \"A\", f;\n}, Xe = (e, t) => {\n e && t !== e && (Y(e).forEach((s) => delete e[s]), a(t || {}).forEach(([s, c]) => e[s] = c));\n}, $e = (e, t) => {\n e && t !== e && (e.splice(0, e.length), t && t.forEach((s) => e.push(s)));\n}, He = (e, t) => {\n const { compProps: s, compChild: c } = e, { props: n, children: r } = t;\n return s && Xe(s, n), c && $e(c, r), e.reRender && e.reRender();\n}, Je = (e, t, s) => T(e) ? t && s ? He(s, e) : e.resolve() : e, Ye = (e, t, s) => t && s ? Ke(e, s) : Ze(e), Ze = (e) => (e.children || []).map(\n (t) => S(F(t), { getParent: () => e })\n), Ke = (e, t) => e.type === \"loop\" && C(i((e.children || [])[0])) ? Ve(e, t) : (e.children || []).map(\n (s, c) => S(F(s, (t.children || [])[c]), {\n getParent: () => e\n })\n), Ve = (e, t) => {\n const [s, c] = ge(\n e,\n t\n );\n return c.map((n) => {\n const r = n.el;\n r != null && r.parentNode && r.parentNode.removeChild(r);\n }), s;\n}, ge = (e, t) => {\n const s = [...e.children || []], c = [...t.children || []];\n return [s.map((r) => {\n const o = me(r, c), l = F(r, o);\n return o && c.splice(c.indexOf(o), 1), l.getParent = () => e, l;\n }), c];\n}, me = (e, t) => t.find(\n (s) => i(s) === i(e)\n);\nlet P = [], M = !1;\nconst ce = (e, t) => {\n u.get(e).up = () => {\n P.push({\n compKey: e,\n exec: t\n }), M || (M = !0, queueMicrotask(We));\n };\n}, we = (e) => () => {\n var c;\n const t = (c = u.get(e)) == null ? void 0 : c.up;\n let s = !1;\n return t && (t(), s = !0), s;\n}, ne = (e, t) => {\n (e.children || []).forEach((s) => {\n const c = s.compKey;\n c && t.push(c), ne(s, t);\n });\n}, We = () => {\n let e = [];\n P.forEach((c) => {\n var r, o;\n const n = (o = (r = u.get(c.compKey)) == null ? void 0 : r.vd) == null ? void 0 : o.value;\n n && ne(n, e);\n });\n const t = [], s = P.reduce((c, n) => {\n const { compKey: r } = n;\n return e.includes(r) || t.includes(r) || (t.push(r), c.push(n)), c;\n }, []);\n for (; s.length; ) {\n const c = s.shift();\n c && c.exec();\n }\n P = [], M = !1;\n}, ut = (e, t = () => []) => {\n u.get(E()).upR.push(() => G(e, t)), G(e, t);\n}, De = () => {\n var t;\n const e = (t = u.get(E())) == null ? void 0 : t.upR;\n e != null && e.length && e.forEach((s) => s());\n}, re = (e, ...t) => ({\n type: \"fragment\",\n children: t\n}), lt = (e, t, ...s) => {\n const c = { value: void 0 }, n = t || {}, r = fe(c, s), o = ct(e, n, r);\n return T(o) || (c.value = o), o;\n}, ft = (e) => (t, s) => e, oe = (e, t, s, c) => {\n var f;\n A.value = !0;\n const n = ue(e, t, s), r = F(n, c), { isRoot: o, getParent: l, wrapElement: h, afterElement: d } = c;\n if (r.getParent = l, !o && l) {\n const _ = ((f = l()) == null ? void 0 : f.children) || [], de = _.indexOf(c);\n _.splice(de, 1, r);\n } else\n r.isRoot = !0, r.wrapElement = h, r.afterElement = d;\n A.value = !1, m(r);\n}, ue = (e, t, s) => ({ tagName: e.name, ctor: e, props: t, children: s, resolve: (o = t) => {\n Pe(o);\n const h = e(t, s)(we(o), t, s), d = et(\n h,\n o,\n e,\n t,\n s\n ), f = d;\n return ce(\n o,\n () => oe(e, t, s, f)\n ), Z(o, \"vd\").value = d, d;\n} }), et = (e, t, s, c, n) => {\n const r = e(c);\n if (r.reRender)\n throw new Error(\n 'Avoid the case where the first element of a component is a component. Instead of \"mount(()=>()=><Component />)\" replace it with something like \"mount(()=>()=><Fragment><Component /></Fragment>)\".'\n );\n return le(\n r,\n t,\n s,\n c,\n n,\n tt(e, t, s, c, n)\n ), r;\n}, tt = (e, t, s, c, n) => {\n const r = () => st(e, t, s, c, n, r);\n return r;\n}, st = (e, t, s, c, n, r) => {\n xe(t), De();\n const o = e(c);\n return ce(\n t,\n () => oe(s, c, n, o)\n ), le(o, t, s, c, n, r), Z(t, \"vd\").value = o, o;\n}, le = (e, t, s, c, n, r) => {\n S(e, {\n compProps: c,\n compChild: n,\n ctor: s,\n tagName: s.name,\n compKey: t,\n reRender: r\n });\n}, ct = (e, t, s) => {\n if (H(e))\n return re(t, ...s);\n if (T(e)) {\n const c = ue(e, t, s);\n return A.value ? c : c.resolve();\n }\n return {\n type: \"element\",\n tag: e,\n props: t,\n children: s\n };\n}, fe = (e, t) => t.map(\n (s) => S(nt(s), { getParent: () => e.value })\n), nt = (e) => {\n if (e == null || e === !1)\n return { type: null };\n if (Array.isArray(e)) {\n const t = { value: void 0 }, c = {\n type: \"loop\",\n children: fe(t, e)\n };\n return t.value = c, c;\n } else if (typeof e == \"string\" || typeof e == \"number\")\n return { type: \"text\", text: e };\n return e;\n}, dt = (e) => ({ value: e }), pt = () => Promise.resolve();\nexport {\n re as Fragment,\n lt as h,\n ft as mount,\n rt as mountCallback,\n pt as nextTick,\n dt as ref,\n ot as render,\n ut as updateCallback\n};\n//# sourceMappingURL=lithent.mjs.map\n","import { mountCallback as a, updateCallback as p, render as h } from \"lithent\";\nconst m = (r, t) => {\n let e = r;\n return {\n get value() {\n return e;\n },\n get v() {\n return e;\n },\n set value(n) {\n e = n, t();\n },\n set v(n) {\n e = n, t();\n }\n };\n}, f = (r) => {\n let t = r;\n return {\n get value() {\n return t();\n },\n get v() {\n return t();\n },\n set value(e) {\n throw new Error(\"You can't change 'computed'\");\n },\n set v(e) {\n throw new Error(\"You can't change 'computed'\");\n }\n };\n}, d = (r, t = () => {\n}, e = () => []) => {\n a(() => (r(), t)), p(() => (t && t(), r), e);\n}, l = /* @__PURE__ */ new Map(), o = {}, x = (r) => {\n const t = Symbol();\n return l.set(t, r), (e) => (o[t] ?? (o[t] = []), o[t].push(e), v(t));\n}, v = (r) => new Proxy(l.get(r), {\n get(t, e) {\n return t[e];\n },\n set(t, e, n) {\n t[e] = n;\n const s = o[r], c = [];\n return s.forEach((u) => {\n u() || c.push(u);\n }), c.forEach(\n (u) => s.splice(s.indexOf(u), 1)\n ), !0;\n }\n}), g = () => Promise.resolve(), E = (r, t, e) => {\n let n = () => {\n };\n return g().then(() => {\n n = h(r, t, e);\n }), () => n();\n};\nexport {\n f as computed,\n d as effect,\n E as portal,\n m as state,\n x as store\n};\n//# sourceMappingURL=lithentHelper.mjs.map\n","// example.jsx\nimport {\n h,\n Fragment,\n render,\n ref,\n mountCallback,\n updateCallback,\n mount,\n} from 'lithent';\nimport { state, computed, effect, store } from 'lithent/helper';\n\n// This is the \"mount\" function.\n// This function is only executed on mount, and on update, only updates `props` and then executes the internal return function.\n// childen is passed as the second argument.\nconst ChildComponent = mount<{ parentValue: number }>(\n (renew, props, children) => {\n // The value is used as a \"getter\" to make it easy to get and write to in the higher-order functions it returns\n const count = state<number>(1, renew);\n const text = state<string>(\n '\"destructuring\" the \"props\" value directly from the mount function will cause referencing issues, so if you want to use it, you need to \"destructuring\" it from the internal function (updater).',\n renew\n );\n const getParentValue = () => props.parentValue;\n const parentValueFromMount = props.parentValue;\n const summ = computed<number>(\n () => count.v + notRefValue + props.parentValue\n );\n\n const localStore = store<{ text: string; count: number }>({\n text: 's',\n count: 0,\n })(renew);\n /*\n // To share a store, make it externally and use `asign`.\n const asignStore = store<{ text: string; count: number }>({ text: 's', count: 0 });\n\n const sharedStore = asignStore(nenew);\n */\n\n // Even if you don't use a ref, the private value is always maintained as a regular variable.\n let notRefValue = props.parentValue;\n\n // Ref is only used to reference the DOM.\n const domRef = ref(null);\n\n const increase = () => {\n count.v = count.v + 1;\n notRefValue += 1;\n };\n\n const handleInputChane = (event: InputEvent) => {\n text.v = (event.target as HTMLInputElement).value;\n };\n\n const localStoreUpdate = () => {\n localStore.count += 1;\n localStore.text += '1';\n };\n\n const handleMounted = () => {\n console.log('MOUNTED', domRef);\n\n return () => console.log('UNMOUNT');\n };\n const handleUpdated = () => {\n console.log('UPDATE - parentValue');\n\n return () => console.log('UPDATED');\n };\n\n mountCallback(handleMounted);\n updateCallback(handleUpdated, () => [props.parentValue]); // Only Defs Updated (using a closure to update a value)\n\n // Behaves like `react`'s `useEffect`\n effect(\n () => console.log('INJECT'),\n () => console.log('CLEAN_UP'),\n () => [count.v]\n );\n\n // Wrap in a function and return (using a closure to hold the value)\n // This is the \"update\" function.\n return ({ parentValue }) => (\n <Fragment>\n {/* Note that the event is onInput (we use the native event name to avoid confusion). */}\n <div>\n <textarea\n value={text.v}\n onInput={handleInputChane}\n style={{ width: '300px', height: '100px' }}\n />\n </div>\n <div>{text.v}</div>\n <div>\n <div style={{ color: 'blue' }}>\n parentValueFromRef: {props.parentValue} (working)\n </div>\n <div style={{ color: 'blue' }}>\n parentValueFromFunction: {getParentValue()} (working)\n </div>\n <div style={{ color: 'blue' }}>\n parentValueFromUpdaterDestructuring: {parentValue} (working)\n </div>\n <div style={{ color: 'red' }}>\n parentValueFromMounterDestructuring: {parentValueFromMount} (not\n working)\n </div>\n </div>\n <div>\n <div ref={domRef}>count: {count.v}</div>\n <div>sum: {count.v + notRefValue + props.parentValue}</div>\n <div>sum(computed): {summ.v}</div>\n {/* It doesn't pull it out from under the reference, it uses the value directly, so you can just use it. */}\n <div>notRefValue: {notRefValue}</div>\n <div>localStore(text): {localStore.text}</div>\n <div>localStore(count): {localStore.count}</div>\n </div>\n <button onClick={increase}>Increase</button>\n <button onClick={localStoreUpdate}>localStoreUpdate</button>\n {children}\n </Fragment>\n );\n }\n);\n\nconst Root = mount(renew => {\n const parentNumber = state<number>(7, renew);\n\n const increaseParent = () => {\n parentNumber.v = parentNumber.v + 1;\n };\n\n const decreaseParent = () => {\n parentNumber.v = parentNumber.v - 1;\n };\n\n return () => (\n <Fragment>\n <ChildComponent parentValue={parentNumber.v}>\n <button onClick={increaseParent}>Increase - Parent</button>\n </ChildComponent>\n <button onClick={decreaseParent}>Decrease - Parent</button>\n </Fragment>\n );\n});\nconst root = <Root />;\n\nrender(root, document.getElementById('root'));\n"],"names":["k","x","pe","he","s","c","ie","U","C","i","y","T","H","re","J","z","ve","ye","Ce","ae","ke","Re","a","Y","v","R","A","u","Ee","E","Z","xe","Pe","Te","Q","Se","K","O","be","Ne","rt","n","o","G","Ue","X","V","g","$","ot","N","r","I","Ae","m","q","j","Le","Me","D","Oe","te","w","b","W","L","ee","l","t","Qe","se","qe","je","Be","Ie","F","_e","Je","Ge","Ye","ze","h","d","f","Xe","$e","He","Ke","Ze","Ve","ge","me","P","M","ce","We","we","ne","ut","De","e","lt","fe","ct","ft","oe","ue","_","de","et","le","tt","st","nt","dt","p","ChildComponent","mount","renew","props","children","count","state","text","getParentValue","parentValueFromMount","summ","computed","notRefValue","localStore","store","domRef","ref","increase","handleInputChane","event","localStoreUpdate","handleMounted","handleUpdated","mountCallback","updateCallback","effect","parentValue","Fragment","Root","parentNumber","increaseParent","decreaseParent","root","render"],"mappings":"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"}
1
+ {"version":3,"file":"index-6e15f967.js","sources":["../../../dist/lithent.mjs","../../../helper/dist/lithentHelper.mjs","../../src/index.tsx"],"sourcesContent":["const k = (e) => typeof e == \"object\" && !(\"resolve\" in e), x = (e, t) => k(e) && e.type === t, pe = (e, t) => \"ctor\" in e ? e.ctor === (t == null ? void 0 : t.ctor) : e === (t == null ? void 0 : t.ctor), he = (e, t) => {\n var s, c;\n return k(e) && (t == null ? void 0 : t.type) === \"fragment\" && ((s = t == null ? void 0 : t.children) == null ? void 0 : s.length) === ((c = e == null ? void 0 : e.children) == null ? void 0 : c.length);\n}, ie = (e, t) => {\n var s, c;\n return k(e) && (t == null ? void 0 : t.type) === \"element\" && (t == null ? void 0 : t.tag) === e.tag && ((s = t == null ? void 0 : t.children) == null ? void 0 : s.length) === ((c = e == null ? void 0 : e.children) == null ? void 0 : c.length);\n}, U = (e, t) => k(e) && (t == null ? void 0 : t.type) === e.type && (e.type !== \"loop\" || e.type === \"loop\" && C(i((e.children || [])[0])) && C(i((t.children || [])[0]))), i = (e) => {\n var t, s;\n return ((t = e == null ? void 0 : e.compProps) == null ? void 0 : t.key) ?? ((s = e == null ? void 0 : e.props) == null ? void 0 : s.key);\n}, y = (e) => e && [\"fragment\", \"loop\"].includes(e), T = (e) => typeof e == \"function\" && !H(e) || typeof e == \"object\" && \"resolve\" in e, H = (e) => typeof e == \"function\" && e === re, J = (e) => k(e) && !e.type, C = (e) => e != null, z = (e, t) => e === \"style\" && typeof t == \"object\", ve = (e, t) => e === \"ref\" && typeof t == \"object\", ye = (e) => e.nodeType === 1 && e.tagName === \"OPTION\", Ce = (e) => e.nodeType === 1 && e.tagName === \"TEXTAREA\", ae = (e) => e.nodeType === 1 && [\"radio\", \"checkbox\"].includes(e.type), ke = (e) => {\n let t = \"et\";\n return T(e) ? t = \"c\" : x(e, \"fragment\") ? t = \"f\" : x(e, \"element\") ? t = \"e\" : x(e, \"loop\") ? t = \"l\" : x(e, \"text\") ? t = \"t\" : J(e) && (t = \"et\"), t;\n}, Re = {\n c: pe,\n l: U,\n t: U,\n e: ie,\n f: he,\n et: U\n}, p = (e) => e.getParent && e.getParent(), a = Object.entries, Y = Object.keys, S = Object.assign, v = { value: \"\" }, R = { value: {} }, A = { value: !1 }, u = /* @__PURE__ */ new WeakMap(), Ee = (e) => {\n u.set(e, {\n vd: { value: null },\n up: () => {\n },\n upR: [],\n upS: { value: 0 },\n upD: [],\n upCB: [],\n mts: [],\n umts: []\n });\n}, E = () => R.value, Z = (e, t) => u.get(e)[t], xe = (e) => R.value = e, Pe = (e) => {\n R.value = e, Ee(e);\n}, Te = (e) => {\n u.get(E()).umts.push(e);\n}, Q = (e) => {\n const { compKey: t } = e;\n t && Se(t), K(e);\n}, K = (e) => {\n (e.children || []).forEach((t) => {\n t.compKey ? Q(t) : K(t);\n });\n}, Se = (e) => {\n const t = u.get(e);\n t && (t.umts.forEach((s) => s()), t.umts = [], u.delete(e));\n};\nlet O = [];\nconst B = () => {\n O.forEach((e) => be(e)), O = [];\n}, Ne = (e) => {\n e.compKey && O.push(e);\n}, rt = (e) => u.get(E()).mts.push(e), be = (e) => {\n const { compKey: t } = e;\n if (t) {\n const s = u.get(t), c = s == null ? void 0 : s.mts, n = s == null ? void 0 : s.upS;\n R.value = t, n && (n.value = 0), c && (s.mts = [], c.forEach((r) => {\n const o = r();\n o && Te(o);\n }));\n }\n}, G = (e, t = () => []) => {\n const s = u.get(E()), { upD: c, upS: n } = s, r = c[n.value];\n if (r && Ue(r, t())) {\n const o = e();\n o && s.upCB.push(o);\n }\n c[n.value] = t(), n.value += 1;\n}, Fe = (e) => {\n const { compKey: t } = e;\n if (t) {\n const s = u.get(t), c = s == null ? void 0 : s.upCB, n = s == null ? void 0 : s.upS;\n R.value = t, n && (n.value = 0), e.ctor && c && (s.upCB = [], c.forEach((r) => r()));\n }\n}, Ue = (e, t) => e.length ? e.some((s, c) => s !== t[c]) : !0, X = (e) => e === \"className\" ? \"class\" : e, V = (e) => e.replace(/^on(.*)/, (t, s) => s.toLowerCase()), g = () => new DocumentFragment(), $ = (e) => document.createElement(e), ot = (e, t, s) => {\n t ?? (t = document.body), e.isRoot = !0, e.wrapElement = t;\n const c = N(e);\n return s ? (e.afterElement = s, t.insertBefore(c, s)) : t.appendChild(c), B(), () => {\n var r;\n const n = (r = u.get(e.compProps || {})) == null ? void 0 : r.vd.value;\n n && (Q(n), I(n), Ae(n));\n };\n}, m = (e) => {\n const { needRerender: t } = e;\n t && t !== \"N\" && {\n A: q,\n D: j,\n R: Le,\n U: Me,\n SR: D,\n SU: Oe\n }[t](e);\n}, I = (e) => {\n e.props && e.el && te(e.props, e.el), (e.children || []).forEach((t) => {\n I(t);\n });\n}, Ae = (e) => {\n w(e, e.wrapElement);\n}, j = (e) => {\n e.oldProps && e.el && te(e.oldProps, e.el), w(\n e,\n b(p(e))\n );\n}, w = (e, t) => {\n var s, c;\n t && e.el && (((s = e.el) == null ? void 0 : s.nodeType) === 1 ? t.removeChild(e.el) : ((c = e.el) == null ? void 0 : c.nodeType) === 11 && W(e, t), delete e.el);\n}, W = (e, t) => {\n ((e == null ? void 0 : e.oldChildren) || (e == null ? void 0 : e.children) || []).forEach((s) => {\n var c, n;\n ((c = s.el) == null ? void 0 : c.nodeType) === 1 ? t.removeChild(s == null ? void 0 : s.el) : ((n = s.el) == null ? void 0 : n.nodeType) === 11 && W(s, t);\n });\n}, D = (e) => {\n j(e), q(e);\n}, Oe = (e) => {\n j(e), q(e, e.el);\n}, q = (e, t) => {\n t || (t = N(e));\n const s = p(e);\n if (s.type) {\n const c = b(s), r = s.type === \"loop\" ? L(s, p(s)) : L(e, s);\n t && c && (r ? c.insertBefore(t, r) : c.appendChild(t), B());\n }\n}, L = (e, t) => {\n const s = t.children || [], n = s.indexOf(e) + 1, r = s.slice(n), o = ee(r), l = t.type || \"\";\n if (o)\n return o;\n if (!t.isRoot && y(l))\n return L(t, p(t));\n if (t.isRoot && y(l) && t.afterElement)\n return t.afterElement;\n}, ee = (e) => e.reduce(\n (t, s) => {\n const c = s.type, n = s.el, r = c && y(c);\n return t || (r ? ee(s.children || []) : n && n.nodeType !== 11 ? n : t);\n },\n void 0\n), Le = (e) => {\n const t = p(e), s = e.el;\n if (t.type && s)\n if (s.nodeType === 11)\n D(e);\n else {\n const c = b(t), n = N(e);\n c && c.replaceChild(n, s), B();\n }\n}, te = (e, t) => {\n a(e || {}).forEach(([s, c]) => {\n s.match(/^on/) && t.removeEventListener(\n V(s),\n c\n );\n });\n}, Me = (e) => {\n var s;\n const t = e.el;\n if (e.type === \"text\") {\n Qe(e);\n return;\n }\n if (t) {\n const { oldProps: c, props: n } = e;\n se(n, t, c), delete e.oldProps, e.tag === \"input\" && (t.value = String(((s = e == null ? void 0 : e.props) == null ? void 0 : s.value) || \"\"));\n }\n (e.children || []).forEach((c) => m(c)), Fe(e);\n}, Qe = (e) => {\n const t = e.el;\n t && (t.nodeValue = String(e.text));\n}, se = (e, t, s) => {\n const c = { ...s };\n a(e || {}).forEach(([n, r]) => {\n let o = !0;\n n === \"key\" || (n === \"innerHTML\" && typeof r == \"string\" ? t.innerHTML = r : z(n, r) ? qe(\n r,\n z(n, c.style) ? c.style : {},\n t\n ) : ve(n, r) ? r.value = t : n.match(/^on/) ? je(\n t,\n n,\n r,\n c[n]\n ) : ae(t) && n === \"checked\" ? t.checked = !!r : Ce(t) && n === \"value\" ? t.value = r : ye(t) && n === \"selected\" ? t.selected = !!r : n && ([o, r] = Be(r), o && (v.value && n !== \"xmlns\" ? t.setAttributeNS(\n null,\n X(n),\n r\n ) : t.setAttribute(\n X(n),\n r\n )))), o && delete c[n];\n }), Y(c).forEach(\n (n) => t.removeAttribute(n)\n );\n}, Be = (e) => {\n let t = !0;\n return typeof e == \"boolean\" && (e || (t = !1), e = \"\"), [t, String(e)];\n}, N = (e) => {\n let t;\n const { type: s, tag: c, text: n, props: r, children: o = [] } = e, l = y(s);\n return c === \"svg\" && (v.value = String(r == null ? void 0 : r.xmlns)), l ? t = g() : s === \"element\" && c ? t = v.value ? document.createElementNS(v.value, c) : $(c) : s === \"text\" && C(n) ? t = document.createTextNode(String(n)) : t = $(\"e\"), Ie(o, t), se(r, t), e.el = t, Ne(e), c === \"svg\" && (v.value = \"\"), t;\n}, Ie = (e, t) => {\n const s = e.reduce(\n (c, n) => (n.type && c.appendChild(N(n)), c),\n g()\n );\n t && s.hasChildNodes() && t.appendChild(s);\n}, je = (e, t, s, c) => {\n const n = V(t);\n c !== s && (c && e.removeEventListener(n, c), s && e.addEventListener(n, s));\n}, qe = (e, t, s) => {\n const c = { ...t }, n = s == null ? void 0 : s.style;\n n && (a(e).forEach(([r, o]) => {\n n[r] = o, delete c[r];\n }), a(c).forEach(\n ([r]) => n[r] = \"\"\n ));\n}, b = (e) => {\n const t = y(e.type);\n return e.isRoot && t ? e.wrapElement : t ? b(p(e)) : e.el;\n}, F = (e, t) => _e(\n e,\n Re[ke(e)](e, t),\n t\n), _e = (e, t, s) => {\n const c = Je(e, t, s), n = [\n c,\n t,\n s\n ], r = Ge(...n);\n return c.children = Ye(...n), c.needRerender = r, ze(c, s, r), c;\n}, ze = (e, t, s) => {\n s !== \"A\" && t && (e.el = t.el), s && [\"D\", \"R\", \"SR\"].includes(s) && (t != null && t.compKey && (Q(t), I(t)), e.oldChildren = t == null ? void 0 : t.children), e.oldProps = t == null ? void 0 : t.props;\n}, Ge = (e, t, s) => {\n const c = s && s.type, n = J(e), o = !!e.getParent && p(e).type, l = i(e), h = o === \"loop\" && C(l), d = e.type === \"text\" && t && e.text === (s == null ? void 0 : s.text);\n let f;\n return n ? f = \"D\" : d ? f = \"N\" : c ? t ? f = h ? \"SU\" : \"U\" : f = h ? \"SR\" : \"R\" : f = \"A\", f;\n}, Xe = (e, t) => {\n e && t !== e && (Y(e).forEach((s) => delete e[s]), a(t || {}).forEach(([s, c]) => e[s] = c));\n}, $e = (e, t) => {\n e && t !== e && (e.splice(0, e.length), t && t.forEach((s) => e.push(s)));\n}, He = (e, t) => {\n const { compProps: s, compChild: c } = e, { props: n, children: r } = t;\n return s && Xe(s, n), c && $e(c, r), e.reRender && e.reRender();\n}, Je = (e, t, s) => T(e) ? t && s ? He(s, e) : e.resolve() : e, Ye = (e, t, s) => t && s ? Ke(e, s) : Ze(e), Ze = (e) => (e.children || []).map(\n (t) => S(F(t), { getParent: () => e })\n), Ke = (e, t) => e.type === \"loop\" && C(i((e.children || [])[0])) ? Ve(e, t) : (e.children || []).map(\n (s, c) => S(F(s, (t.children || [])[c]), {\n getParent: () => e\n })\n), Ve = (e, t) => {\n const [s, c] = ge(\n e,\n t\n );\n return c.map((n) => {\n const r = n.el;\n r != null && r.parentNode && r.parentNode.removeChild(r);\n }), s;\n}, ge = (e, t) => {\n const s = [...e.children || []], c = [...t.children || []];\n return [s.map((r) => {\n const o = me(r, c), l = F(r, o);\n return o && c.splice(c.indexOf(o), 1), l.getParent = () => e, l;\n }), c];\n}, me = (e, t) => t.find(\n (s) => i(s) === i(e)\n);\nlet P = [], M = !1;\nconst ce = (e, t) => {\n u.get(e).up = () => {\n P.push({\n compKey: e,\n exec: t\n }), M || (M = !0, queueMicrotask(We));\n };\n}, we = (e) => () => {\n var c;\n const t = (c = u.get(e)) == null ? void 0 : c.up;\n let s = !1;\n return t && (t(), s = !0), s;\n}, ne = (e, t) => {\n (e.children || []).forEach((s) => {\n const c = s.compKey;\n c && t.push(c), ne(s, t);\n });\n}, We = () => {\n let e = [];\n P.forEach((c) => {\n var r, o;\n const n = (o = (r = u.get(c.compKey)) == null ? void 0 : r.vd) == null ? void 0 : o.value;\n n && ne(n, e);\n });\n const t = [], s = P.reduce((c, n) => {\n const { compKey: r } = n;\n return e.includes(r) || t.includes(r) || (t.push(r), c.push(n)), c;\n }, []);\n for (; s.length; ) {\n const c = s.shift();\n c && c.exec();\n }\n P = [], M = !1;\n}, ut = (e, t = () => []) => {\n u.get(E()).upR.push(() => G(e, t)), G(e, t);\n}, De = () => {\n var t;\n const e = (t = u.get(E())) == null ? void 0 : t.upR;\n e != null && e.length && e.forEach((s) => s());\n}, re = (e, ...t) => ({\n type: \"fragment\",\n children: t\n}), lt = (e, t, ...s) => {\n const c = { value: void 0 }, n = t || {}, r = fe(c, s), o = ct(e, n, r);\n return T(o) || (c.value = o), o;\n}, ft = (e) => (t, s) => e, oe = (e, t, s, c) => {\n var f;\n A.value = !0;\n const n = ue(e, t, s), r = F(n, c), { isRoot: o, getParent: l, wrapElement: h, afterElement: d } = c;\n if (r.getParent = l, !o && l) {\n const _ = ((f = l()) == null ? void 0 : f.children) || [], de = _.indexOf(c);\n _.splice(de, 1, r);\n } else\n r.isRoot = !0, r.wrapElement = h, r.afterElement = d;\n A.value = !1, m(r);\n}, ue = (e, t, s) => ({ tagName: e.name, ctor: e, props: t, children: s, resolve: (o = t) => {\n Pe(o);\n const h = e(t, s)(we(o), t, s), d = et(\n h,\n o,\n e,\n t,\n s\n ), f = d;\n return ce(\n o,\n () => oe(e, t, s, f)\n ), Z(o, \"vd\").value = d, d;\n} }), et = (e, t, s, c, n) => {\n const r = e(c);\n if (r.reRender)\n throw new Error(\n 'Avoid the case where the first element of a component is a component. Instead of \"mount(()=>()=><Component />)\" replace it with something like \"mount(()=>()=><Fragment><Component /></Fragment>)\".'\n );\n return le(\n r,\n t,\n s,\n c,\n n,\n tt(e, t, s, c, n)\n ), r;\n}, tt = (e, t, s, c, n) => {\n const r = () => st(e, t, s, c, n, r);\n return r;\n}, st = (e, t, s, c, n, r) => {\n xe(t), De();\n const o = e(c);\n return ce(\n t,\n () => oe(s, c, n, o)\n ), le(o, t, s, c, n, r), Z(t, \"vd\").value = o, o;\n}, le = (e, t, s, c, n, r) => {\n S(e, {\n compProps: c,\n compChild: n,\n ctor: s,\n tagName: s.name,\n compKey: t,\n reRender: r\n });\n}, ct = (e, t, s) => {\n if (H(e))\n return re(t, ...s);\n if (T(e)) {\n const c = ue(e, t, s);\n return A.value ? c : c.resolve();\n }\n return {\n type: \"element\",\n tag: e,\n props: t,\n children: s\n };\n}, fe = (e, t) => t.map(\n (s) => S(nt(s), { getParent: () => e.value })\n), nt = (e) => {\n if (e == null || e === !1)\n return { type: null };\n if (Array.isArray(e)) {\n const t = { value: void 0 }, c = {\n type: \"loop\",\n children: fe(t, e)\n };\n return t.value = c, c;\n } else if (typeof e == \"string\" || typeof e == \"number\")\n return { type: \"text\", text: e };\n return e;\n}, dt = (e) => ({ value: e }), pt = () => Promise.resolve();\nexport {\n re as Fragment,\n lt as h,\n ft as mount,\n rt as mountCallback,\n pt as nextTick,\n dt as ref,\n ot as render,\n ut as updateCallback\n};\n//# sourceMappingURL=lithent.mjs.map\n","import { mountCallback as a, updateCallback as p, render as h } from \"lithent\";\nconst m = (r, t) => {\n let e = r;\n return {\n get value() {\n return e;\n },\n get v() {\n return e;\n },\n set value(n) {\n e = n, t();\n },\n set v(n) {\n e = n, t();\n }\n };\n}, f = (r) => {\n let t = r;\n return {\n get value() {\n return t();\n },\n get v() {\n return t();\n },\n set value(e) {\n throw new Error(\"You can't change 'computed'\");\n },\n set v(e) {\n throw new Error(\"You can't change 'computed'\");\n }\n };\n}, d = (r, t = () => {\n}, e = () => []) => {\n a(() => (r(), t)), p(() => (t && t(), r), e);\n}, l = /* @__PURE__ */ new Map(), o = {}, x = (r) => {\n const t = Symbol();\n return l.set(t, r), (e) => (o[t] ?? (o[t] = []), o[t].push(e), v(t));\n}, v = (r) => new Proxy(l.get(r), {\n get(t, e) {\n return t[e];\n },\n set(t, e, n) {\n t[e] = n;\n const s = o[r], c = [];\n return s.forEach((u) => {\n u() || c.push(u);\n }), c.forEach(\n (u) => s.splice(s.indexOf(u), 1)\n ), !0;\n }\n}), g = () => Promise.resolve(), E = (r, t, e) => {\n let n = () => {\n };\n return g().then(() => {\n n = h(r(), t, e);\n }), () => n();\n};\nexport {\n f as computed,\n d as effect,\n E as portal,\n m as state,\n x as store\n};\n//# sourceMappingURL=lithentHelper.mjs.map\n","// example.jsx\nimport {\n h,\n Fragment,\n render,\n ref,\n mountCallback,\n updateCallback,\n mount,\n} from 'lithent';\nimport { state, computed, effect, store } from 'lithent/helper';\n\n// This is the \"mount\" function.\n// This function is only executed on mount, and on update, only updates `props` and then executes the internal return function.\n// childen is passed as the second argument.\nconst ChildComponent = mount<{ parentValue: number }>(\n (renew, props, children) => {\n // The value is used as a \"getter\" to make it easy to get and write to in the higher-order functions it returns\n const count = state<number>(1, renew);\n const text = state<string>(\n '\"destructuring\" the \"props\" value directly from the mount function will cause referencing issues, so if you want to use it, you need to \"destructuring\" it from the internal function (updater).',\n renew\n );\n const getParentValue = () => props.parentValue;\n const parentValueFromMount = props.parentValue;\n const summ = computed<number>(\n () => count.v + notRefValue + props.parentValue\n );\n\n const localStore = store<{ text: string; count: number }>({\n text: 's',\n count: 0,\n })(renew);\n /*\n // To share a store, make it externally and use `asign`.\n const asignStore = store<{ text: string; count: number }>({ text: 's', count: 0 });\n\n const sharedStore = asignStore(nenew);\n */\n\n // Even if you don't use a ref, the private value is always maintained as a regular variable.\n let notRefValue = props.parentValue;\n\n // Ref is only used to reference the DOM.\n const domRef = ref(null);\n\n const increase = () => {\n count.v = count.v + 1;\n notRefValue += 1;\n };\n\n const handleInputChane = (event: InputEvent) => {\n text.v = (event.target as HTMLInputElement).value;\n };\n\n const localStoreUpdate = () => {\n localStore.count += 1;\n localStore.text += '1';\n };\n\n const handleMounted = () => {\n console.log('MOUNTED', domRef);\n\n return () => console.log('UNMOUNT');\n };\n const handleUpdated = () => {\n console.log('UPDATE - parentValue');\n\n return () => console.log('UPDATED');\n };\n\n mountCallback(handleMounted);\n updateCallback(handleUpdated, () => [props.parentValue]); // Only Defs Updated (using a closure to update a value)\n\n // Behaves like `react`'s `useEffect`\n effect(\n () => console.log('INJECT'),\n () => console.log('CLEAN_UP'),\n () => [count.v]\n );\n\n // Wrap in a function and return (using a closure to hold the value)\n // This is the \"update\" function.\n return ({ parentValue }) => (\n <Fragment>\n {/* Note that the event is onInput (we use the native event name to avoid confusion). */}\n <div>\n <textarea\n value={text.v}\n onInput={handleInputChane}\n style={{ width: '300px', height: '100px' }}\n />\n </div>\n <div>{text.v}</div>\n <div>\n <div style={{ color: 'blue' }}>\n parentValueFromRef: {props.parentValue} (working)\n </div>\n <div style={{ color: 'blue' }}>\n parentValueFromFunction: {getParentValue()} (working)\n </div>\n <div style={{ color: 'blue' }}>\n parentValueFromUpdaterDestructuring: {parentValue} (working)\n </div>\n <div style={{ color: 'red' }}>\n parentValueFromMounterDestructuring: {parentValueFromMount} (not\n working)\n </div>\n </div>\n <div>\n <div ref={domRef}>count: {count.v}</div>\n <div>sum: {count.v + notRefValue + props.parentValue}</div>\n <div>sum(computed): {summ.v}</div>\n {/* It doesn't pull it out from under the reference, it uses the value directly, so you can just use it. */}\n <div>notRefValue: {notRefValue}</div>\n <div>localStore(text): {localStore.text}</div>\n <div>localStore(count): {localStore.count}</div>\n </div>\n <button onClick={increase}>Increase</button>\n <button onClick={localStoreUpdate}>localStoreUpdate</button>\n {children}\n </Fragment>\n );\n }\n);\n\nconst Root = mount(renew => {\n const parentNumber = state<number>(7, renew);\n\n const increaseParent = () => {\n parentNumber.v = parentNumber.v + 1;\n };\n\n const decreaseParent = () => {\n parentNumber.v = parentNumber.v - 1;\n };\n\n return () => (\n <Fragment>\n <ChildComponent parentValue={parentNumber.v}>\n <button onClick={increaseParent}>Increase - Parent</button>\n </ChildComponent>\n <button onClick={decreaseParent}>Decrease - Parent</button>\n </Fragment>\n );\n});\nconst root = <Root />;\n\nrender(root, document.getElementById('root'));\n"],"names":["k","x","pe","he","s","c","ie","U","C","i","y","T","H","re","J","z","ve","ye","Ce","ae","ke","Re","a","Y","v","R","A","u","Ee","E","Z","xe","Pe","Te","Q","Se","K","O","be","Ne","rt","n","o","G","Ue","X","V","g","$","ot","N","r","I","Ae","m","q","j","Le","Me","D","Oe","te","w","b","W","L","ee","l","t","Qe","se","qe","je","Be","Ie","F","_e","Je","Ge","Ye","ze","h","d","f","Xe","$e","He","Ke","Ze","Ve","ge","me","P","M","ce","We","we","ne","ut","De","e","lt","fe","ct","ft","oe","ue","_","de","et","le","tt","st","nt","dt","p","ChildComponent","mount","renew","props","children","count","state","text","getParentValue","parentValueFromMount","summ","computed","notRefValue","localStore","store","domRef","ref","increase","handleInputChane","event","localStoreUpdate","handleMounted","handleUpdated","mountCallback","updateCallback","effect","parentValue","Fragment","Root","parentNumber","increaseParent","decreaseParent","root","render"],"mappings":"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"}
@@ -12,9 +12,6 @@
12
12
  "watch": "vite build --watch",
13
13
  "build": "vite build"
14
14
  },
15
- "engines": {
16
- "node": ">=16.16.0"
17
- },
18
15
  "author": "",
19
16
  "repository": {
20
17
  "type": "git",
@@ -27,12 +24,10 @@
27
24
  ],
28
25
  "dependencies": {
29
26
  "lithent": "workspace:*",
30
- "lithent-helper": "workspace:*"
27
+ "lithent-helper": "workspace:*",
28
+ "lithent-tag": "workspace:*"
31
29
  },
32
30
  "volta": {
33
31
  "node": "20.3.0"
34
- },
35
- "devDependencies": {
36
- "htm": "^3.1.1"
37
32
  }
38
33
  }
@@ -1,8 +1,6 @@
1
- import { h, render, mount, Fragment, WDom } from 'lithent';
1
+ import { render, mount, Fragment, WDom } from 'lithent';
2
2
  import { state } from 'lithent/helper';
3
- import htm from 'htm';
4
-
5
- const html = htm.bind(h);
3
+ import { lTag } from 'lithent/tag';
6
4
 
7
5
  const Component = mount(r => {
8
6
  const count = state(0, r);
@@ -11,7 +9,7 @@ const Component = mount(r => {
11
9
 
12
10
  // Updater
13
11
  return (): WDom =>
14
- html`
12
+ lTag`
15
13
  <${Fragment}>
16
14
  <li>count: ${count.v}</li>
17
15
  <button onClick=${change}>increase</button>
@@ -19,4 +17,4 @@ const Component = mount(r => {
19
17
  ` as WDom;
20
18
  });
21
19
 
22
- render(html`<${Component} />` as WDom, document.getElementById('root'));
20
+ render(lTag`<${Component} />` as WDom, document.getElementById('root'));
@@ -1,2 +1,2 @@
1
1
  import { WDom } from 'lithent';
2
- export declare const portal: (wDom: WDom, wrapElement: HTMLElement | null, afterElement?: HTMLElement | null) => () => void;
2
+ export declare const portal: (wDomMaker: () => WDom, wrapElement: HTMLElement | null, afterElement?: HTMLElement | null) => () => void;
@@ -54,7 +54,7 @@ const m = (r, t) => {
54
54
  let n = () => {
55
55
  };
56
56
  return g().then(() => {
57
- n = h(r, t, e);
57
+ n = h(r(), t, e);
58
58
  }), () => n();
59
59
  };
60
60
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"lithentHelper.mjs","sources":["../src/hook/state.ts","../src/hook/computed.ts","../src/hook/effect.ts","../src/hook/store.ts","../src/hook/portal.ts"],"sourcesContent":["export const state = <T>(\n value: T,\n renew: () => boolean\n): {\n value: T;\n v: T;\n} => {\n let result = value;\n\n return {\n get value() {\n return result;\n },\n get v() {\n return result;\n },\n set value(newValue: T) {\n result = newValue;\n renew();\n },\n set v(newValue: T) {\n result = newValue;\n renew();\n },\n };\n};\n","export const computed = <T>(\n value: () => T\n): {\n value: T;\n v: T;\n} => {\n let result = value;\n\n return {\n get value() {\n return result();\n },\n get v() {\n return result();\n },\n set value(_newValue: T) {\n throw new Error(`You can't change 'computed'`);\n },\n set v(_newValue: T) {\n throw new Error(`You can't change 'computed'`);\n },\n };\n};\n","import { updateCallback, mountCallback } from 'lithent';\n\nexport const effect = (\n forward: () => (() => void) | void,\n backward: () => (() => void) | void = () => {},\n dependencies: () => any[] = () => []\n) => {\n mountCallback(() => {\n forward();\n\n return backward;\n });\n\n updateCallback(() => {\n if (backward) {\n backward();\n }\n\n return forward;\n }, dependencies);\n};\n","/**\n * DataStore\n */\nconst storeGroup = new Map<string | symbol, unknown>();\nconst storeRenderList: {\n [key: string | symbol]: (() => boolean)[];\n} = {};\n\nexport const store = <T extends {}>(value: T) => {\n const storeKey = Symbol();\n storeGroup.set(storeKey, value);\n\n return (renew: () => boolean) => {\n storeRenderList[storeKey] ??= [];\n storeRenderList[storeKey].push(renew);\n\n return updater<T>(storeKey);\n };\n};\n\nconst updater = <T extends { [key: string | symbol]: unknown }>(\n storeKey: string | symbol\n) =>\n new Proxy(storeGroup.get(storeKey) as T, {\n get(target: T, prop: string) {\n return target[prop];\n },\n set(target, prop: keyof T, value) {\n target[prop] = value;\n const renderList = storeRenderList[storeKey];\n const trashCollections: (() => boolean)[] = [];\n\n renderList.forEach(renew => {\n if (!renew()) {\n trashCollections.push(renew);\n }\n });\n\n trashCollections.forEach(deleteTarget =>\n renderList.splice(renderList.indexOf(deleteTarget), 1)\n );\n\n return true;\n },\n });\n","import { render, WDom } from 'lithent';\n\nconst nextTick = () => Promise.resolve();\n\nexport const portal = (\n wDom: WDom,\n wrapElement: HTMLElement | null,\n afterElement?: HTMLElement | null\n) => {\n let destroy = () => {};\n\n nextTick().then(() => {\n destroy = render(wDom, wrapElement, afterElement);\n });\n\n return () => destroy();\n};\n"],"names":["state","value","renew","result","newValue","computed","_newValue","effect","forward","backward","dependencies","mountCallback","updateCallback","storeGroup","storeRenderList","store","storeKey","updater","target","prop","renderList","trashCollections","deleteTarget","nextTick","portal","wDom","wrapElement","afterElement","destroy","render"],"mappings":";AAAa,MAAAA,IAAQ,CACnBC,GACAC,MAIG;AACH,MAAIC,IAASF;AAEN,SAAA;AAAA,IACL,IAAI,QAAQ;AACH,aAAAE;AAAA,IACT;AAAA,IACA,IAAI,IAAI;AACC,aAAAA;AAAA,IACT;AAAA,IACA,IAAI,MAAMC,GAAa;AACZ,MAAAD,IAAAC,GACHF;IACR;AAAA,IACA,IAAI,EAAEE,GAAa;AACR,MAAAD,IAAAC,GACHF;IACR;AAAA,EAAA;AAEJ,GCzBaG,IAAW,CACtBJ,MAIG;AACH,MAAIE,IAASF;AAEN,SAAA;AAAA,IACL,IAAI,QAAQ;AACV,aAAOE,EAAO;AAAA,IAChB;AAAA,IACA,IAAI,IAAI;AACN,aAAOA,EAAO;AAAA,IAChB;AAAA,IACA,IAAI,MAAMG,GAAc;AAChB,YAAA,IAAI,MAAM,6BAA6B;AAAA,IAC/C;AAAA,IACA,IAAI,EAAEA,GAAc;AACZ,YAAA,IAAI,MAAM,6BAA6B;AAAA,IAC/C;AAAA,EAAA;AAEJ,GCpBaC,IAAS,CACpBC,GACAC,IAAsC,MAAM;AAAC,GAC7CC,IAA4B,MAAM,OAC/B;AACH,EAAAC,EAAc,OACJH,KAEDC,EACR,GAEDG,EAAe,OACTH,KACOA,KAGJD,IACNE,CAAY;AACjB,GCjBMG,wBAAiB,OACjBC,IAEF,CAAA,GAESC,IAAQ,CAAed,MAAa;AAC/C,QAAMe,IAAW;AACN,SAAAH,EAAA,IAAIG,GAAUf,CAAK,GAEvB,CAACC,OACUY,EAAAE,OAAAF,EAAAE,KAAc,KACdF,EAAAE,CAAQ,EAAE,KAAKd,CAAK,GAE7Be,EAAWD,CAAQ;AAE9B,GAEMC,IAAU,CACdD,MAEA,IAAI,MAAMH,EAAW,IAAIG,CAAQ,GAAQ;AAAA,EACvC,IAAIE,GAAWC,GAAc;AAC3B,WAAOD,EAAOC,CAAI;AAAA,EACpB;AAAA,EACA,IAAID,GAAQC,GAAelB,GAAO;AAChC,IAAAiB,EAAOC,CAAI,IAAIlB;AACT,UAAAmB,IAAaN,EAAgBE,CAAQ,GACrCK,IAAsC,CAAA;AAE5C,WAAAD,EAAW,QAAQ,CAASlB,MAAA;AACtB,MAACA,OACHmB,EAAiB,KAAKnB,CAAK;AAAA,IAC7B,CACD,GAEgBmB,EAAA;AAAA,MAAQ,OACvBD,EAAW,OAAOA,EAAW,QAAQE,CAAY,GAAG,CAAC;AAAA,IAAA,GAGhD;AAAA,EACT;AACF,CAAC,GC1CGC,IAAW,MAAM,QAAQ,WAElBC,IAAS,CACpBC,GACAC,GACAC,MACG;AACH,MAAIC,IAAU,MAAM;AAAA,EAAA;AAEX,SAAAL,EAAA,EAAE,KAAK,MAAM;AACV,IAAAK,IAAAC,EAAOJ,GAAMC,GAAaC,CAAY;AAAA,EAAA,CACjD,GAEM,MAAMC,EAAQ;AACvB;"}
1
+ {"version":3,"file":"lithentHelper.mjs","sources":["../src/hook/state.ts","../src/hook/computed.ts","../src/hook/effect.ts","../src/hook/store.ts","../src/hook/portal.ts"],"sourcesContent":["export const state = <T>(\n value: T,\n renew: () => boolean\n): {\n value: T;\n v: T;\n} => {\n let result = value;\n\n return {\n get value() {\n return result;\n },\n get v() {\n return result;\n },\n set value(newValue: T) {\n result = newValue;\n renew();\n },\n set v(newValue: T) {\n result = newValue;\n renew();\n },\n };\n};\n","export const computed = <T>(\n value: () => T\n): {\n value: T;\n v: T;\n} => {\n let result = value;\n\n return {\n get value() {\n return result();\n },\n get v() {\n return result();\n },\n set value(_newValue: T) {\n throw new Error(`You can't change 'computed'`);\n },\n set v(_newValue: T) {\n throw new Error(`You can't change 'computed'`);\n },\n };\n};\n","import { updateCallback, mountCallback } from 'lithent';\n\nexport const effect = (\n forward: () => (() => void) | void,\n backward: () => (() => void) | void = () => {},\n dependencies: () => any[] = () => []\n) => {\n mountCallback(() => {\n forward();\n\n return backward;\n });\n\n updateCallback(() => {\n if (backward) {\n backward();\n }\n\n return forward;\n }, dependencies);\n};\n","/**\n * DataStore\n */\nconst storeGroup = new Map<string | symbol, unknown>();\nconst storeRenderList: {\n [key: string | symbol]: (() => boolean)[];\n} = {};\n\nexport const store = <T extends {}>(value: T) => {\n const storeKey = Symbol();\n storeGroup.set(storeKey, value);\n\n return (renew: () => boolean) => {\n storeRenderList[storeKey] ??= [];\n storeRenderList[storeKey].push(renew);\n\n return updater<T>(storeKey);\n };\n};\n\nconst updater = <T extends { [key: string | symbol]: unknown }>(\n storeKey: string | symbol\n) =>\n new Proxy(storeGroup.get(storeKey) as T, {\n get(target: T, prop: string) {\n return target[prop];\n },\n set(target, prop: keyof T, value) {\n target[prop] = value;\n const renderList = storeRenderList[storeKey];\n const trashCollections: (() => boolean)[] = [];\n\n renderList.forEach(renew => {\n if (!renew()) {\n trashCollections.push(renew);\n }\n });\n\n trashCollections.forEach(deleteTarget =>\n renderList.splice(renderList.indexOf(deleteTarget), 1)\n );\n\n return true;\n },\n });\n","import { render, WDom } from 'lithent';\n\nconst nextTick = () => Promise.resolve();\n\nexport const portal = (\n wDomMaker: () => WDom,\n wrapElement: HTMLElement | null,\n afterElement?: HTMLElement | null\n) => {\n let destroy = () => {};\n\n nextTick().then(() => {\n destroy = render(wDomMaker(), wrapElement, afterElement);\n });\n\n return () => destroy();\n};\n"],"names":["state","value","renew","result","newValue","computed","_newValue","effect","forward","backward","dependencies","mountCallback","updateCallback","storeGroup","storeRenderList","store","storeKey","updater","target","prop","renderList","trashCollections","deleteTarget","nextTick","portal","wDomMaker","wrapElement","afterElement","destroy","render"],"mappings":";AAAa,MAAAA,IAAQ,CACnBC,GACAC,MAIG;AACH,MAAIC,IAASF;AAEN,SAAA;AAAA,IACL,IAAI,QAAQ;AACH,aAAAE;AAAA,IACT;AAAA,IACA,IAAI,IAAI;AACC,aAAAA;AAAA,IACT;AAAA,IACA,IAAI,MAAMC,GAAa;AACZ,MAAAD,IAAAC,GACHF;IACR;AAAA,IACA,IAAI,EAAEE,GAAa;AACR,MAAAD,IAAAC,GACHF;IACR;AAAA,EAAA;AAEJ,GCzBaG,IAAW,CACtBJ,MAIG;AACH,MAAIE,IAASF;AAEN,SAAA;AAAA,IACL,IAAI,QAAQ;AACV,aAAOE,EAAO;AAAA,IAChB;AAAA,IACA,IAAI,IAAI;AACN,aAAOA,EAAO;AAAA,IAChB;AAAA,IACA,IAAI,MAAMG,GAAc;AAChB,YAAA,IAAI,MAAM,6BAA6B;AAAA,IAC/C;AAAA,IACA,IAAI,EAAEA,GAAc;AACZ,YAAA,IAAI,MAAM,6BAA6B;AAAA,IAC/C;AAAA,EAAA;AAEJ,GCpBaC,IAAS,CACpBC,GACAC,IAAsC,MAAM;AAAC,GAC7CC,IAA4B,MAAM,OAC/B;AACH,EAAAC,EAAc,OACJH,KAEDC,EACR,GAEDG,EAAe,OACTH,KACOA,KAGJD,IACNE,CAAY;AACjB,GCjBMG,wBAAiB,OACjBC,IAEF,CAAA,GAESC,IAAQ,CAAed,MAAa;AAC/C,QAAMe,IAAW;AACN,SAAAH,EAAA,IAAIG,GAAUf,CAAK,GAEvB,CAACC,OACUY,EAAAE,OAAAF,EAAAE,KAAc,KACdF,EAAAE,CAAQ,EAAE,KAAKd,CAAK,GAE7Be,EAAWD,CAAQ;AAE9B,GAEMC,IAAU,CACdD,MAEA,IAAI,MAAMH,EAAW,IAAIG,CAAQ,GAAQ;AAAA,EACvC,IAAIE,GAAWC,GAAc;AAC3B,WAAOD,EAAOC,CAAI;AAAA,EACpB;AAAA,EACA,IAAID,GAAQC,GAAelB,GAAO;AAChC,IAAAiB,EAAOC,CAAI,IAAIlB;AACT,UAAAmB,IAAaN,EAAgBE,CAAQ,GACrCK,IAAsC,CAAA;AAE5C,WAAAD,EAAW,QAAQ,CAASlB,MAAA;AACtB,MAACA,OACHmB,EAAiB,KAAKnB,CAAK;AAAA,IAC7B,CACD,GAEgBmB,EAAA;AAAA,MAAQ,OACvBD,EAAW,OAAOA,EAAW,QAAQE,CAAY,GAAG,CAAC;AAAA,IAAA,GAGhD;AAAA,EACT;AACF,CAAC,GC1CGC,IAAW,MAAM,QAAQ,WAElBC,IAAS,CACpBC,GACAC,GACAC,MACG;AACH,MAAIC,IAAU,MAAM;AAAA,EAAA;AAEX,SAAAL,EAAA,EAAE,KAAK,MAAM;AACpB,IAAAK,IAAUC,EAAOJ,EAAa,GAAAC,GAAaC,CAAY;AAAA,EAAA,CACxD,GAEM,MAAMC,EAAQ;AACvB;"}
@@ -1,2 +1,2 @@
1
- (function(r,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("lithent")):typeof define=="function"&&define.amd?define(["exports","lithent"],o):(r=typeof globalThis<"u"?globalThis:r||self,o(r.lithentHelper={},r.lithent))})(this,function(r,o){"use strict";const a=(n,e)=>{let t=n;return{get value(){return t},get v(){return t},set value(u){t=u,e()},set v(u){t=u,e()}}},d=n=>{let e=n;return{get value(){return e()},get v(){return e()},set value(t){throw new Error("You can't change 'computed'")},set v(t){throw new Error("You can't change 'computed'")}}},p=(n,e=()=>{},t=()=>[])=>{o.mountCallback(()=>(n(),e)),o.updateCallback(()=>(e&&e(),n),t)},i=new Map,s={},h=n=>{const e=Symbol();return i.set(e,n),t=>(s[e]??(s[e]=[]),s[e].push(t),m(e))},m=n=>new Proxy(i.get(n),{get(e,t){return e[t]},set(e,t,u){e[t]=u;const l=s[n],f=[];return l.forEach(c=>{c()||f.push(c)}),f.forEach(c=>l.splice(l.indexOf(c),1)),!0}}),v=()=>Promise.resolve(),g=(n,e,t)=>{let u=()=>{};return v().then(()=>{u=o.render(n,e,t)}),()=>u()};r.computed=d,r.effect=p,r.portal=g,r.state=a,r.store=h,Object.defineProperty(r,Symbol.toStringTag,{value:"Module"})});
1
+ (function(r,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("lithent")):typeof define=="function"&&define.amd?define(["exports","lithent"],o):(r=typeof globalThis<"u"?globalThis:r||self,o(r.lithentHelper={},r.lithent))})(this,function(r,o){"use strict";const a=(n,e)=>{let t=n;return{get value(){return t},get v(){return t},set value(u){t=u,e()},set v(u){t=u,e()}}},d=n=>{let e=n;return{get value(){return e()},get v(){return e()},set value(t){throw new Error("You can't change 'computed'")},set v(t){throw new Error("You can't change 'computed'")}}},p=(n,e=()=>{},t=()=>[])=>{o.mountCallback(()=>(n(),e)),o.updateCallback(()=>(e&&e(),n),t)},i=new Map,s={},h=n=>{const e=Symbol();return i.set(e,n),t=>(s[e]??(s[e]=[]),s[e].push(t),m(e))},m=n=>new Proxy(i.get(n),{get(e,t){return e[t]},set(e,t,u){e[t]=u;const l=s[n],f=[];return l.forEach(c=>{c()||f.push(c)}),f.forEach(c=>l.splice(l.indexOf(c),1)),!0}}),v=()=>Promise.resolve(),g=(n,e,t)=>{let u=()=>{};return v().then(()=>{u=o.render(n(),e,t)}),()=>u()};r.computed=d,r.effect=p,r.portal=g,r.state=a,r.store=h,Object.defineProperty(r,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=lithentHelper.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lithentHelper.umd.js","sources":["../src/hook/state.ts","../src/hook/computed.ts","../src/hook/effect.ts","../src/hook/store.ts","../src/hook/portal.ts"],"sourcesContent":["export const state = <T>(\n value: T,\n renew: () => boolean\n): {\n value: T;\n v: T;\n} => {\n let result = value;\n\n return {\n get value() {\n return result;\n },\n get v() {\n return result;\n },\n set value(newValue: T) {\n result = newValue;\n renew();\n },\n set v(newValue: T) {\n result = newValue;\n renew();\n },\n };\n};\n","export const computed = <T>(\n value: () => T\n): {\n value: T;\n v: T;\n} => {\n let result = value;\n\n return {\n get value() {\n return result();\n },\n get v() {\n return result();\n },\n set value(_newValue: T) {\n throw new Error(`You can't change 'computed'`);\n },\n set v(_newValue: T) {\n throw new Error(`You can't change 'computed'`);\n },\n };\n};\n","import { updateCallback, mountCallback } from 'lithent';\n\nexport const effect = (\n forward: () => (() => void) | void,\n backward: () => (() => void) | void = () => {},\n dependencies: () => any[] = () => []\n) => {\n mountCallback(() => {\n forward();\n\n return backward;\n });\n\n updateCallback(() => {\n if (backward) {\n backward();\n }\n\n return forward;\n }, dependencies);\n};\n","/**\n * DataStore\n */\nconst storeGroup = new Map<string | symbol, unknown>();\nconst storeRenderList: {\n [key: string | symbol]: (() => boolean)[];\n} = {};\n\nexport const store = <T extends {}>(value: T) => {\n const storeKey = Symbol();\n storeGroup.set(storeKey, value);\n\n return (renew: () => boolean) => {\n storeRenderList[storeKey] ??= [];\n storeRenderList[storeKey].push(renew);\n\n return updater<T>(storeKey);\n };\n};\n\nconst updater = <T extends { [key: string | symbol]: unknown }>(\n storeKey: string | symbol\n) =>\n new Proxy(storeGroup.get(storeKey) as T, {\n get(target: T, prop: string) {\n return target[prop];\n },\n set(target, prop: keyof T, value) {\n target[prop] = value;\n const renderList = storeRenderList[storeKey];\n const trashCollections: (() => boolean)[] = [];\n\n renderList.forEach(renew => {\n if (!renew()) {\n trashCollections.push(renew);\n }\n });\n\n trashCollections.forEach(deleteTarget =>\n renderList.splice(renderList.indexOf(deleteTarget), 1)\n );\n\n return true;\n },\n });\n","import { render, WDom } from 'lithent';\n\nconst nextTick = () => Promise.resolve();\n\nexport const portal = (\n wDom: WDom,\n wrapElement: HTMLElement | null,\n afterElement?: HTMLElement | null\n) => {\n let destroy = () => {};\n\n nextTick().then(() => {\n destroy = render(wDom, wrapElement, afterElement);\n });\n\n return () => destroy();\n};\n"],"names":["state","value","renew","result","newValue","computed","_newValue","effect","forward","backward","dependencies","mountCallback","updateCallback","storeGroup","storeRenderList","store","storeKey","updater","target","prop","renderList","trashCollections","deleteTarget","nextTick","portal","wDom","wrapElement","afterElement","destroy","render"],"mappings":"8QAAa,MAAAA,EAAQ,CACnBC,EACAC,IAIG,CACH,IAAIC,EAASF,EAEN,MAAA,CACL,IAAI,OAAQ,CACH,OAAAE,CACT,EACA,IAAI,GAAI,CACC,OAAAA,CACT,EACA,IAAI,MAAMC,EAAa,CACZD,EAAAC,EACHF,GACR,EACA,IAAI,EAAEE,EAAa,CACRD,EAAAC,EACHF,GACR,CAAA,CAEJ,ECzBaG,EACXJ,GAIG,CACH,IAAIE,EAASF,EAEN,MAAA,CACL,IAAI,OAAQ,CACV,OAAOE,EAAO,CAChB,EACA,IAAI,GAAI,CACN,OAAOA,EAAO,CAChB,EACA,IAAI,MAAMG,EAAc,CAChB,MAAA,IAAI,MAAM,6BAA6B,CAC/C,EACA,IAAI,EAAEA,EAAc,CACZ,MAAA,IAAI,MAAM,6BAA6B,CAC/C,CAAA,CAEJ,ECpBaC,EAAS,CACpBC,EACAC,EAAsC,IAAM,CAAC,EAC7CC,EAA4B,IAAM,KAC/B,CACHC,EAAAA,cAAc,KACJH,IAEDC,EACR,EAEDG,EAAAA,eAAe,KACTH,GACOA,IAGJD,GACNE,CAAY,CACjB,ECjBMG,MAAiB,IACjBC,EAEF,CAAA,EAESC,EAAuBd,GAAa,CAC/C,MAAMe,EAAW,SACN,OAAAH,EAAA,IAAIG,EAAUf,CAAK,EAEtBC,IACUY,EAAAE,KAAAF,EAAAE,GAAc,IACdF,EAAAE,CAAQ,EAAE,KAAKd,CAAK,EAE7Be,EAAWD,CAAQ,EAE9B,EAEMC,EACJD,GAEA,IAAI,MAAMH,EAAW,IAAIG,CAAQ,EAAQ,CACvC,IAAIE,EAAWC,EAAc,CAC3B,OAAOD,EAAOC,CAAI,CACpB,EACA,IAAID,EAAQC,EAAelB,EAAO,CAChCiB,EAAOC,CAAI,EAAIlB,EACT,MAAAmB,EAAaN,EAAgBE,CAAQ,EACrCK,EAAsC,CAAA,EAE5C,OAAAD,EAAW,QAAiBlB,GAAA,CACrBA,KACHmB,EAAiB,KAAKnB,CAAK,CAC7B,CACD,EAEgBmB,EAAA,WACfD,EAAW,OAAOA,EAAW,QAAQE,CAAY,EAAG,CAAC,CAAA,EAGhD,EACT,CACF,CAAC,EC1CGC,EAAW,IAAM,QAAQ,UAElBC,EAAS,CACpBC,EACAC,EACAC,IACG,CACH,IAAIC,EAAU,IAAM,CAAA,EAEX,OAAAL,EAAA,EAAE,KAAK,IAAM,CACVK,EAAAC,EAAAA,OAAOJ,EAAMC,EAAaC,CAAY,CAAA,CACjD,EAEM,IAAMC,EAAQ,CACvB"}
1
+ {"version":3,"file":"lithentHelper.umd.js","sources":["../src/hook/state.ts","../src/hook/computed.ts","../src/hook/effect.ts","../src/hook/store.ts","../src/hook/portal.ts"],"sourcesContent":["export const state = <T>(\n value: T,\n renew: () => boolean\n): {\n value: T;\n v: T;\n} => {\n let result = value;\n\n return {\n get value() {\n return result;\n },\n get v() {\n return result;\n },\n set value(newValue: T) {\n result = newValue;\n renew();\n },\n set v(newValue: T) {\n result = newValue;\n renew();\n },\n };\n};\n","export const computed = <T>(\n value: () => T\n): {\n value: T;\n v: T;\n} => {\n let result = value;\n\n return {\n get value() {\n return result();\n },\n get v() {\n return result();\n },\n set value(_newValue: T) {\n throw new Error(`You can't change 'computed'`);\n },\n set v(_newValue: T) {\n throw new Error(`You can't change 'computed'`);\n },\n };\n};\n","import { updateCallback, mountCallback } from 'lithent';\n\nexport const effect = (\n forward: () => (() => void) | void,\n backward: () => (() => void) | void = () => {},\n dependencies: () => any[] = () => []\n) => {\n mountCallback(() => {\n forward();\n\n return backward;\n });\n\n updateCallback(() => {\n if (backward) {\n backward();\n }\n\n return forward;\n }, dependencies);\n};\n","/**\n * DataStore\n */\nconst storeGroup = new Map<string | symbol, unknown>();\nconst storeRenderList: {\n [key: string | symbol]: (() => boolean)[];\n} = {};\n\nexport const store = <T extends {}>(value: T) => {\n const storeKey = Symbol();\n storeGroup.set(storeKey, value);\n\n return (renew: () => boolean) => {\n storeRenderList[storeKey] ??= [];\n storeRenderList[storeKey].push(renew);\n\n return updater<T>(storeKey);\n };\n};\n\nconst updater = <T extends { [key: string | symbol]: unknown }>(\n storeKey: string | symbol\n) =>\n new Proxy(storeGroup.get(storeKey) as T, {\n get(target: T, prop: string) {\n return target[prop];\n },\n set(target, prop: keyof T, value) {\n target[prop] = value;\n const renderList = storeRenderList[storeKey];\n const trashCollections: (() => boolean)[] = [];\n\n renderList.forEach(renew => {\n if (!renew()) {\n trashCollections.push(renew);\n }\n });\n\n trashCollections.forEach(deleteTarget =>\n renderList.splice(renderList.indexOf(deleteTarget), 1)\n );\n\n return true;\n },\n });\n","import { render, WDom } from 'lithent';\n\nconst nextTick = () => Promise.resolve();\n\nexport const portal = (\n wDomMaker: () => WDom,\n wrapElement: HTMLElement | null,\n afterElement?: HTMLElement | null\n) => {\n let destroy = () => {};\n\n nextTick().then(() => {\n destroy = render(wDomMaker(), wrapElement, afterElement);\n });\n\n return () => destroy();\n};\n"],"names":["state","value","renew","result","newValue","computed","_newValue","effect","forward","backward","dependencies","mountCallback","updateCallback","storeGroup","storeRenderList","store","storeKey","updater","target","prop","renderList","trashCollections","deleteTarget","nextTick","portal","wDomMaker","wrapElement","afterElement","destroy","render"],"mappings":"8QAAa,MAAAA,EAAQ,CACnBC,EACAC,IAIG,CACH,IAAIC,EAASF,EAEN,MAAA,CACL,IAAI,OAAQ,CACH,OAAAE,CACT,EACA,IAAI,GAAI,CACC,OAAAA,CACT,EACA,IAAI,MAAMC,EAAa,CACZD,EAAAC,EACHF,GACR,EACA,IAAI,EAAEE,EAAa,CACRD,EAAAC,EACHF,GACR,CAAA,CAEJ,ECzBaG,EACXJ,GAIG,CACH,IAAIE,EAASF,EAEN,MAAA,CACL,IAAI,OAAQ,CACV,OAAOE,EAAO,CAChB,EACA,IAAI,GAAI,CACN,OAAOA,EAAO,CAChB,EACA,IAAI,MAAMG,EAAc,CAChB,MAAA,IAAI,MAAM,6BAA6B,CAC/C,EACA,IAAI,EAAEA,EAAc,CACZ,MAAA,IAAI,MAAM,6BAA6B,CAC/C,CAAA,CAEJ,ECpBaC,EAAS,CACpBC,EACAC,EAAsC,IAAM,CAAC,EAC7CC,EAA4B,IAAM,KAC/B,CACHC,EAAAA,cAAc,KACJH,IAEDC,EACR,EAEDG,EAAAA,eAAe,KACTH,GACOA,IAGJD,GACNE,CAAY,CACjB,ECjBMG,MAAiB,IACjBC,EAEF,CAAA,EAESC,EAAuBd,GAAa,CAC/C,MAAMe,EAAW,SACN,OAAAH,EAAA,IAAIG,EAAUf,CAAK,EAEtBC,IACUY,EAAAE,KAAAF,EAAAE,GAAc,IACdF,EAAAE,CAAQ,EAAE,KAAKd,CAAK,EAE7Be,EAAWD,CAAQ,EAE9B,EAEMC,EACJD,GAEA,IAAI,MAAMH,EAAW,IAAIG,CAAQ,EAAQ,CACvC,IAAIE,EAAWC,EAAc,CAC3B,OAAOD,EAAOC,CAAI,CACpB,EACA,IAAID,EAAQC,EAAelB,EAAO,CAChCiB,EAAOC,CAAI,EAAIlB,EACT,MAAAmB,EAAaN,EAAgBE,CAAQ,EACrCK,EAAsC,CAAA,EAE5C,OAAAD,EAAW,QAAiBlB,GAAA,CACrBA,KACHmB,EAAiB,KAAKnB,CAAK,CAC7B,CACD,EAEgBmB,EAAA,WACfD,EAAW,OAAOA,EAAW,QAAQE,CAAY,EAAG,CAAC,CAAA,EAGhD,EACT,CACF,CAAC,EC1CGC,EAAW,IAAM,QAAQ,UAElBC,EAAS,CACpBC,EACAC,EACAC,IACG,CACH,IAAIC,EAAU,IAAM,CAAA,EAEX,OAAAL,EAAA,EAAE,KAAK,IAAM,CACpBK,EAAUC,EAAAA,OAAOJ,EAAa,EAAAC,EAAaC,CAAY,CAAA,CACxD,EAEM,IAAMC,EAAQ,CACvB"}
@@ -12,9 +12,6 @@
12
12
  "watch": "vite build --watch",
13
13
  "build": "vite build"
14
14
  },
15
- "engines": {
16
- "node": ">=16.16.0"
17
- },
18
15
  "author": "",
19
16
  "repository": {
20
17
  "type": "git",
@@ -3,14 +3,14 @@ import { render, WDom } from 'lithent';
3
3
  const nextTick = () => Promise.resolve();
4
4
 
5
5
  export const portal = (
6
- wDom: WDom,
6
+ wDomMaker: () => WDom,
7
7
  wrapElement: HTMLElement | null,
8
8
  afterElement?: HTMLElement | null
9
9
  ) => {
10
10
  let destroy = () => {};
11
11
 
12
12
  nextTick().then(() => {
13
- destroy = render(wDom, wrapElement, afterElement);
13
+ destroy = render(wDomMaker(), wrapElement, afterElement);
14
14
  });
15
15
 
16
16
  return () => destroy();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lithent",
3
- "version": "1.1.0",
3
+ "version": "1.2.1",
4
4
  "description": "An extensible virtual DOM library for lightweight use in a variety of environments.",
5
5
  "packageManager": "pnpm@7.6.0",
6
6
  "main": "./dist/lithent.umd.js",
@@ -10,11 +10,12 @@
10
10
  "dev:examples": "pnpm --filter lithent-examples dev",
11
11
  "build:core": "vite build",
12
12
  "build:helper": "pnpm --filter lithent-helper build",
13
+ "build:tag": "pnpm --filter lithent-tag build",
13
14
  "build:examples": "pnpm --filter lithent-examples build",
14
15
  "build:docs": "pnpm --filter lithent-docs build",
15
16
  "watch:core": "vite build --watch",
16
17
  "watch:helper": "pnpm --filter lithent-helper watch",
17
- "build": "pnpm build:core && pnpm build:helper && pnpm build:examples && pnpm build:docs",
18
+ "build": "pnpm build:core && pnpm build:helper && pnpm build:tag && pnpm build:examples && pnpm build:docs",
18
19
  "build:p": "pnpm build:core && pnpm -r build",
19
20
  "dev": "pnpm watch:core & pnpm watch:helper & pnpm dev:examples",
20
21
  "test": "vitest run --reporter verbose",
@@ -35,6 +36,11 @@
35
36
  "types": "./helper/dist/index.d.ts",
36
37
  "import": "./helper/dist/lithentHelper.mjs",
37
38
  "require": "./helper/dist/lithentHelper.umd.js"
39
+ },
40
+ "./tag": {
41
+ "types": "./tag/dist/index.d.ts",
42
+ "import": "./tag/dist/lithentTag.mjs",
43
+ "require": "./tag/dist/lithentTag.umd.js"
38
44
  }
39
45
  },
40
46
  "types": "./dist/index.d.ts",
@@ -44,6 +50,9 @@
44
50
  "helper/dist",
45
51
  "helper/src",
46
52
  "helper/package.json",
53
+ "tag/dist",
54
+ "tag/src",
55
+ "tag/package.json",
47
56
  "examples/dist",
48
57
  "examples/src",
49
58
  "examples/package.json"
@@ -0,0 +1,19 @@
1
+ export declare const lTag: (strings: TemplateStringsArray, ...values: any[]) => import("lithent").WDom | {
2
+ type: string;
3
+ children: import("lithent").WDom[];
4
+ } | {
5
+ tagName: string;
6
+ ctor: import("lithent").TagFunction;
7
+ props: import("lithent").Props;
8
+ children: import("lithent").WDom[];
9
+ resolve: (compKey?: import("lithent").Props | undefined) => import("lithent").WDom;
10
+ } | (import("lithent").WDom | {
11
+ type: string;
12
+ children: import("lithent").WDom[];
13
+ } | {
14
+ tagName: string;
15
+ ctor: import("lithent").TagFunction;
16
+ props: import("lithent").Props;
17
+ children: import("lithent").WDom[];
18
+ resolve: (compKey?: import("lithent").Props | undefined) => import("lithent").WDom;
19
+ })[];
@@ -0,0 +1,29 @@
1
+ import { h as M } from "lithent";
2
+ var w = function(p, g, c, n) {
3
+ var s;
4
+ g[0] = 0;
5
+ for (var u = 1; u < g.length; u++) {
6
+ var o = g[u++], f = g[u] ? (g[0] |= o ? 1 : 2, c[g[u++]]) : g[++u];
7
+ o === 3 ? n[0] = f : o === 4 ? n[1] = Object.assign(n[1] || {}, f) : o === 5 ? (n[1] = n[1] || {})[g[++u]] = f : o === 6 ? n[1][g[++u]] += f + "" : o ? (s = p.apply(f, w(p, f, c, ["", null])), n.push(s), f[0] ? g[0] |= 2 : (g[u - 2] = 0, g[u] = s)) : n.push(f);
8
+ }
9
+ return n;
10
+ }, b = /* @__PURE__ */ new Map();
11
+ function a(p) {
12
+ var g = b.get(this);
13
+ return g || (g = /* @__PURE__ */ new Map(), b.set(this, g)), (g = w(this, g.get(p) || (g.set(p, g = function(c) {
14
+ for (var n, s, u = 1, o = "", f = "", i = [0], v = function(t) {
15
+ u === 1 && (t || (o = o.replace(/^\s*\n\s*|\s*\n\s*$/g, ""))) ? i.push(0, t, o) : u === 3 && (t || o) ? (i.push(3, t, o), u = 2) : u === 2 && o === "..." && t ? i.push(4, t, 0) : u === 2 && o && !t ? i.push(5, 0, !0, o) : u >= 5 && ((o || !t && u === 5) && (i.push(u, 0, o, s), u = 6), t && (i.push(u, t, 0, s), u = 6)), o = "";
16
+ }, l = 0; l < c.length; l++) {
17
+ l && (u === 1 && v(), v(l));
18
+ for (var m = 0; m < c[l].length; m++)
19
+ n = c[l][m], u === 1 ? n === "<" ? (v(), i = [i], u = 3) : o += n : u === 4 ? o === "--" && n === ">" ? (u = 1, o = "") : o = n + o[0] : f ? n === f ? f = "" : o += n : n === '"' || n === "'" ? f = n : n === ">" ? (v(), u = 1) : u && (n === "=" ? (u = 5, s = o, o = "") : n === "/" && (u < 5 || c[l][m + 1] === ">") ? (v(), u === 3 && (i = i[0]), u = i, (i = i[0]).push(2, 0, u), u = 0) : n === " " || n === " " || n === `
20
+ ` || n === "\r" ? (v(), u = 2) : o += n), u === 3 && o === "!--" && (u = 4, i = i[0]);
21
+ }
22
+ return v(), i;
23
+ }(p)), g), arguments, [])).length > 1 ? g : g[0];
24
+ }
25
+ const j = a.bind(M);
26
+ export {
27
+ j as lTag
28
+ };
29
+ //# sourceMappingURL=lithentTag.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lithentTag.mjs","sources":["../../node_modules/.pnpm/htm@3.1.1/node_modules/htm/dist/htm.module.js","../src/index.ts"],"sourcesContent":["var n=function(t,s,r,e){var u;s[0]=0;for(var h=1;h<s.length;h++){var p=s[h++],a=s[h]?(s[0]|=p?1:2,r[s[h++]]):s[++h];3===p?e[0]=a:4===p?e[1]=Object.assign(e[1]||{},a):5===p?(e[1]=e[1]||{})[s[++h]]=a:6===p?e[1][s[++h]]+=a+\"\":p?(u=t.apply(a,n(t,a,r,[\"\",null])),e.push(u),a[0]?s[0]|=2:(s[h-2]=0,s[h]=u)):e.push(a)}return e},t=new Map;export default function(s){var r=t.get(this);return r||(r=new Map,t.set(this,r)),(r=n(this,r.get(s)||(r.set(s,r=function(n){for(var t,s,r=1,e=\"\",u=\"\",h=[0],p=function(n){1===r&&(n||(e=e.replace(/^\\s*\\n\\s*|\\s*\\n\\s*$/g,\"\")))?h.push(0,n,e):3===r&&(n||e)?(h.push(3,n,e),r=2):2===r&&\"...\"===e&&n?h.push(4,n,0):2===r&&e&&!n?h.push(5,0,!0,e):r>=5&&((e||!n&&5===r)&&(h.push(r,0,e,s),r=6),n&&(h.push(r,n,0,s),r=6)),e=\"\"},a=0;a<n.length;a++){a&&(1===r&&p(),p(a));for(var l=0;l<n[a].length;l++)t=n[a][l],1===r?\"<\"===t?(p(),h=[h],r=3):e+=t:4===r?\"--\"===e&&\">\"===t?(r=1,e=\"\"):e=t+e[0]:u?t===u?u=\"\":e+=t:'\"'===t||\"'\"===t?u=t:\">\"===t?(p(),r=1):r&&(\"=\"===t?(r=5,s=e,e=\"\"):\"/\"===t&&(r<5||\">\"===n[a][l+1])?(p(),3===r&&(h=h[0]),r=h,(h=h[0]).push(2,0,r),r=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(p(),r=2):e+=t),3===r&&\"!--\"===e&&(r=4,h=h[0])}return p(),h}(s)),r),arguments,[])).length>1?r:r[0]}\n","import { h } from 'lithent';\nimport htm from 'htm';\n\nexport const lTag = htm.bind(h);\n"],"names":["n","t","s","r","e","u","h","p","a","htm","l","lTag"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,3 @@
1
+ (function(s,v){typeof exports=="object"&&typeof module<"u"?v(exports,require("lithent")):typeof define=="function"&&define.amd?define(["exports","lithent"],v):(s=typeof globalThis<"u"?globalThis:s||self,v(s.lithentTag={},s.lithent))})(this,function(s,v){"use strict";var m=function(p,u,l,t){var g;u[0]=0;for(var n=1;n<u.length;n++){var i=u[n++],o=u[n]?(u[0]|=i?1:2,l[u[n++]]):u[++n];i===3?t[0]=o:i===4?t[1]=Object.assign(t[1]||{},o):i===5?(t[1]=t[1]||{})[u[++n]]=o:i===6?t[1][u[++n]]+=o+"":i?(g=p.apply(o,m(p,o,l,["",null])),t.push(g),o[0]?u[0]|=2:(u[n-2]=0,u[n]=g)):t.push(o)}return t},y=new Map;function b(p){var u=y.get(this);return u||(u=new Map,y.set(this,u)),(u=m(this,u.get(p)||(u.set(p,u=function(l){for(var t,g,n=1,i="",o="",e=[0],d=function(f){n===1&&(f||(i=i.replace(/^\s*\n\s*|\s*\n\s*$/g,"")))?e.push(0,f,i):n===3&&(f||i)?(e.push(3,f,i),n=2):n===2&&i==="..."&&f?e.push(4,f,0):n===2&&i&&!f?e.push(5,0,!0,i):n>=5&&((i||!f&&n===5)&&(e.push(n,0,i,g),n=6),f&&(e.push(n,f,0,g),n=6)),i=""},c=0;c<l.length;c++){c&&(n===1&&d(),d(c));for(var T=0;T<l[c].length;T++)t=l[c][T],n===1?t==="<"?(d(),e=[e],n=3):i+=t:n===4?i==="--"&&t===">"?(n=1,i=""):i=t+i[0]:o?t===o?o="":i+=t:t==='"'||t==="'"?o=t:t===">"?(d(),n=1):n&&(t==="="?(n=5,g=i,i=""):t==="/"&&(n<5||l[c][T+1]===">")?(d(),n===3&&(e=e[0]),n=e,(e=e[0]).push(2,0,n),n=0):t===" "||t===" "||t===`
2
+ `||t==="\r"?(d(),n=2):i+=t),n===3&&i==="!--"&&(n=4,e=e[0])}return d(),e}(p)),u),arguments,[])).length>1?u:u[0]}const a=b.bind(v.h);s.lTag=a,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});
3
+ //# sourceMappingURL=lithentTag.umd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lithentTag.umd.js","sources":["../../node_modules/.pnpm/htm@3.1.1/node_modules/htm/dist/htm.module.js","../src/index.ts"],"sourcesContent":["var n=function(t,s,r,e){var u;s[0]=0;for(var h=1;h<s.length;h++){var p=s[h++],a=s[h]?(s[0]|=p?1:2,r[s[h++]]):s[++h];3===p?e[0]=a:4===p?e[1]=Object.assign(e[1]||{},a):5===p?(e[1]=e[1]||{})[s[++h]]=a:6===p?e[1][s[++h]]+=a+\"\":p?(u=t.apply(a,n(t,a,r,[\"\",null])),e.push(u),a[0]?s[0]|=2:(s[h-2]=0,s[h]=u)):e.push(a)}return e},t=new Map;export default function(s){var r=t.get(this);return r||(r=new Map,t.set(this,r)),(r=n(this,r.get(s)||(r.set(s,r=function(n){for(var t,s,r=1,e=\"\",u=\"\",h=[0],p=function(n){1===r&&(n||(e=e.replace(/^\\s*\\n\\s*|\\s*\\n\\s*$/g,\"\")))?h.push(0,n,e):3===r&&(n||e)?(h.push(3,n,e),r=2):2===r&&\"...\"===e&&n?h.push(4,n,0):2===r&&e&&!n?h.push(5,0,!0,e):r>=5&&((e||!n&&5===r)&&(h.push(r,0,e,s),r=6),n&&(h.push(r,n,0,s),r=6)),e=\"\"},a=0;a<n.length;a++){a&&(1===r&&p(),p(a));for(var l=0;l<n[a].length;l++)t=n[a][l],1===r?\"<\"===t?(p(),h=[h],r=3):e+=t:4===r?\"--\"===e&&\">\"===t?(r=1,e=\"\"):e=t+e[0]:u?t===u?u=\"\":e+=t:'\"'===t||\"'\"===t?u=t:\">\"===t?(p(),r=1):r&&(\"=\"===t?(r=5,s=e,e=\"\"):\"/\"===t&&(r<5||\">\"===n[a][l+1])?(p(),3===r&&(h=h[0]),r=h,(h=h[0]).push(2,0,r),r=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(p(),r=2):e+=t),3===r&&\"!--\"===e&&(r=4,h=h[0])}return p(),h}(s)),r),arguments,[])).length>1?r:r[0]}\n","import { h } from 'lithent';\nimport htm from 'htm';\n\nexport const lTag = htm.bind(h);\n"],"names":["n","t","s","r","e","u","h","p","a","htm","l","lTag"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "lithent-tag",
3
+ "version": "0.21.0",
4
+ "description": "lithentTag",
5
+ "private": true,
6
+ "packageManager": "pnpm@7.6.0",
7
+ "main": "./dist/lithentTag.umd.js",
8
+ "module": "./dist/lithentTag.mjs",
9
+ "types": "./dist/index.d.ts",
10
+ "scripts": {
11
+ "dev": "vite",
12
+ "watch": "vite build --watch",
13
+ "build": "vite build"
14
+ },
15
+ "author": "",
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "https@github.com:superlucky84/lithent.git"
19
+ },
20
+ "homepage": "https://github.com/superlucky84/lithent",
21
+ "license": "MIT",
22
+ "keywords": ["lithent"],
23
+ "dependencies": {
24
+ "htm": "^3.1.1"
25
+ },
26
+ "peerDependencies": {
27
+ "lithent": "workspace:*"
28
+ },
29
+ "volta": {
30
+ "node": "20.3.0"
31
+ }
32
+ }
@@ -0,0 +1,4 @@
1
+ import { h } from 'lithent';
2
+ import htm from 'htm';
3
+
4
+ export const lTag = htm.bind(h);