elit 3.6.6 → 3.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/Cargo.lock +1 -1
  2. package/Cargo.toml +1 -1
  3. package/dist/build.cjs +421 -331
  4. package/dist/build.d.ts +1 -19
  5. package/dist/build.js +420 -330
  6. package/dist/build.mjs +420 -330
  7. package/dist/chokidar.cjs +219 -182
  8. package/dist/chokidar.d.ts +25 -10
  9. package/dist/chokidar.js +217 -182
  10. package/dist/chokidar.mjs +218 -183
  11. package/dist/cli.cjs +22439 -21563
  12. package/dist/cli.d.ts +19 -37
  13. package/dist/cli.mjs +24113 -23252
  14. package/dist/config.cjs +357 -350
  15. package/dist/config.d.ts +17 -245
  16. package/dist/config.js +520 -515
  17. package/dist/config.mjs +346 -341
  18. package/dist/contracts-BeW9k0yZ.d.ts +54 -0
  19. package/dist/contracts-D7KIS-TK.d.ts +36 -0
  20. package/dist/coverage.cjs +448 -485
  21. package/dist/coverage.d.ts +13 -62
  22. package/dist/coverage.js +447 -484
  23. package/dist/coverage.mjs +447 -484
  24. package/dist/database.cjs +819 -828
  25. package/dist/database.d.ts +8 -24
  26. package/dist/database.js +818 -829
  27. package/dist/database.mjs +818 -829
  28. package/dist/desktop-auto-render.cjs +1700 -1523
  29. package/dist/desktop-auto-render.d.ts +4 -12
  30. package/dist/desktop-auto-render.js +1695 -1518
  31. package/dist/desktop-auto-render.mjs +1696 -1519
  32. package/dist/desktop.cjs +3 -1
  33. package/dist/desktop.d.ts +4 -1
  34. package/dist/desktop.js +1 -1
  35. package/dist/desktop.mjs +1 -1
  36. package/dist/dev-build.cjs +830 -0
  37. package/dist/dev-build.d.ts +53 -0
  38. package/dist/dev-build.js +3318 -0
  39. package/dist/dev-build.mjs +797 -0
  40. package/dist/dom.cjs +717 -591
  41. package/dist/dom.d.ts +2 -17
  42. package/dist/dom.js +714 -588
  43. package/dist/dom.mjs +716 -590
  44. package/dist/el.cjs +62 -52
  45. package/dist/el.d.ts +5 -12
  46. package/dist/el.js +60 -52
  47. package/dist/el.mjs +60 -52
  48. package/dist/fs.cjs +72 -63
  49. package/dist/fs.d.ts +22 -19
  50. package/dist/fs.js +71 -62
  51. package/dist/fs.mjs +71 -62
  52. package/dist/hmr.cjs +40 -14
  53. package/dist/hmr.d.ts +11 -23
  54. package/dist/hmr.js +38 -14
  55. package/dist/hmr.mjs +38 -14
  56. package/dist/http.cjs +251 -99
  57. package/dist/http.d.ts +38 -104
  58. package/dist/http.js +249 -99
  59. package/dist/http.mjs +249 -99
  60. package/dist/https.cjs +524 -228
  61. package/dist/https.d.ts +44 -36
  62. package/dist/https.js +520 -226
  63. package/dist/https.mjs +522 -228
  64. package/dist/index.cjs +7502 -7691
  65. package/dist/index.d.ts +6 -3
  66. package/dist/index.js +7486 -7677
  67. package/dist/index.mjs +7497 -7687
  68. package/dist/mime-types.cjs +10 -4
  69. package/dist/mime-types.d.ts +8 -11
  70. package/dist/mime-types.js +9 -3
  71. package/dist/mime-types.mjs +9 -3
  72. package/dist/native.cjs +8616 -8870
  73. package/dist/native.d.ts +7 -10
  74. package/dist/native.js +8682 -8936
  75. package/dist/native.mjs +8615 -8869
  76. package/dist/path.cjs +83 -77
  77. package/dist/path.d.ts +29 -29
  78. package/dist/path.js +82 -76
  79. package/dist/path.mjs +82 -76
  80. package/dist/pm.cjs +3300 -0
  81. package/dist/pm.d.ts +256 -0
  82. package/dist/pm.js +5638 -0
  83. package/dist/pm.mjs +3196 -0
  84. package/dist/preview-build.cjs +712 -0
  85. package/dist/preview-build.d.ts +59 -0
  86. package/dist/preview-build.js +3194 -0
  87. package/dist/preview-build.mjs +676 -0
  88. package/dist/render-context.cjs +13 -2
  89. package/dist/render-context.d.ts +9 -34
  90. package/dist/render-context.js +11 -2
  91. package/dist/render-context.mjs +11 -2
  92. package/dist/router.cjs +787 -646
  93. package/dist/router.d.ts +8 -14
  94. package/dist/router.js +786 -645
  95. package/dist/router.mjs +786 -645
  96. package/dist/runtime.cjs +1 -1
  97. package/dist/runtime.js +1 -1
  98. package/dist/runtime.mjs +1 -1
  99. package/dist/server.cjs +3254 -2684
  100. package/dist/server.d.ts +47 -5
  101. package/dist/server.js +3427 -2859
  102. package/dist/server.mjs +3397 -2829
  103. package/dist/smtp-server.cjs +16 -3
  104. package/dist/smtp-server.d.ts +12 -26
  105. package/dist/smtp-server.js +18 -5
  106. package/dist/smtp-server.mjs +16 -3
  107. package/dist/state-DvEkDehk.d.ts +195 -0
  108. package/dist/state.cjs +768 -659
  109. package/dist/state.d.ts +11 -71
  110. package/dist/state.js +760 -651
  111. package/dist/state.mjs +767 -658
  112. package/dist/style.cjs +1011 -968
  113. package/dist/style.d.ts +13 -127
  114. package/dist/style.js +1009 -970
  115. package/dist/style.mjs +1011 -971
  116. package/dist/test-reporter.cjs +332 -316
  117. package/dist/test-reporter.d.ts +28 -33
  118. package/dist/test-reporter.js +328 -312
  119. package/dist/test-reporter.mjs +328 -312
  120. package/dist/test-runtime.cjs +927 -968
  121. package/dist/test-runtime.d.ts +24 -99
  122. package/dist/test-runtime.js +922 -965
  123. package/dist/test-runtime.mjs +922 -965
  124. package/dist/test.cjs +4428 -4273
  125. package/dist/test.d.ts +2 -8
  126. package/dist/test.js +4307 -4154
  127. package/dist/test.mjs +4419 -4267
  128. package/dist/types-BONVzPtp.d.ts +59 -0
  129. package/dist/types-BR4wMiVx.d.ts +32 -0
  130. package/dist/types-C4gKykuG.d.ts +23 -0
  131. package/dist/types-CIhpN1-K.d.ts +64 -0
  132. package/dist/types-Ckj8md_j.d.ts +84 -0
  133. package/dist/types-CpjQTAkX.d.ts +24 -0
  134. package/dist/types-D0LjrYjS.d.ts +14 -0
  135. package/dist/types-DAisuVr5.d.ts +75 -0
  136. package/dist/types-tJn88E1N.d.ts +242 -0
  137. package/dist/types.d.ts +50 -237
  138. package/dist/universal.cjs +1 -1
  139. package/dist/universal.d.ts +1 -7
  140. package/dist/universal.js +1 -1
  141. package/dist/universal.mjs +1 -1
  142. package/dist/websocket-XfyK23zD.d.ts +119 -0
  143. package/dist/ws.cjs +129 -108
  144. package/dist/ws.d.ts +21 -131
  145. package/dist/ws.js +128 -109
  146. package/dist/ws.mjs +128 -109
  147. package/dist/wss.cjs +757 -479
  148. package/dist/wss.d.ts +31 -28
  149. package/dist/wss.js +755 -479
  150. package/dist/wss.mjs +758 -482
  151. package/package.json +8 -1
  152. package/vendor/epaint-0.31.1/src/image.rs +418 -0
  153. package/dist/server-uMQvZAll.d.ts +0 -458
package/dist/el.cjs CHANGED
@@ -17,7 +17,7 @@ var __copyProps = (to, from, except, desc) => {
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
 
20
- // src/el.ts
20
+ // src/client/el/index.ts
21
21
  var el_exports = {};
22
22
  __export(el_exports, {
23
23
  a: () => a,
@@ -205,44 +205,60 @@ __export(el_exports, {
205
205
  wbr: () => wbr
206
206
  });
207
207
  module.exports = __toCommonJS(el_exports);
208
+
209
+ // src/client/el/helpers.ts
208
210
  var hasDocument = typeof document !== "undefined";
209
211
  function capitalize(str) {
210
212
  return str.charAt(0).toUpperCase() + str.slice(1);
211
213
  }
212
- function bindDocMethod(method) {
213
- return hasDocument && method ? method.bind(doc) : void 0;
214
+ function bindDocMethod(target, method) {
215
+ return target && method ? method.bind(target) : void 0;
214
216
  }
215
- function createPrefixedFactories(tags2, prefix, elements2) {
216
- tags2.forEach((tag) => {
217
- const name = prefix + capitalize(tag);
218
- elements2[name] = createElementFactory(tag);
219
- });
217
+ function isStateLike(value) {
218
+ return !!value && typeof value === "object" && "value" in value && "subscribe" in value;
219
+ }
220
+ function isVNodeLike(value) {
221
+ return !!value && typeof value === "object" && "tagName" in value;
220
222
  }
223
+ function flattenChildren(children) {
224
+ const flatChildren = [];
225
+ for (let i2 = 0, len = children.length; i2 < len; i2++) {
226
+ const child = children[i2];
227
+ if (child == null || child === false) continue;
228
+ if (Array.isArray(child)) {
229
+ for (let j = 0, childLen = child.length; j < childLen; j++) {
230
+ const nestedChild = child[j];
231
+ if (nestedChild != null && nestedChild !== false) {
232
+ flatChildren.push(nestedChild);
233
+ }
234
+ }
235
+ } else {
236
+ flatChildren.push(child);
237
+ }
238
+ }
239
+ return flatChildren;
240
+ }
241
+
242
+ // src/client/el/factory.ts
221
243
  var createElementFactory = (tag) => {
222
244
  return function(props, ...rest) {
223
- if (!arguments.length) return { tagName: tag, props: {}, children: [] };
224
- const isState = props && typeof props === "object" && "value" in props && "subscribe" in props;
225
- const isVNode = props && typeof props === "object" && "tagName" in props;
226
- const isChild = typeof props !== "object" || Array.isArray(props) || props === null || isState || isVNode;
245
+ if (!arguments.length) {
246
+ return { tagName: tag, props: {}, children: [] };
247
+ }
248
+ const isChild = typeof props !== "object" || Array.isArray(props) || props === null || isStateLike(props) || isVNodeLike(props);
227
249
  const actualProps = isChild ? {} : props;
228
250
  const args = isChild ? [props, ...rest] : rest;
229
- if (!args.length) return { tagName: tag, props: actualProps, children: [] };
230
- const flatChildren = [];
231
- for (let i2 = 0, len = args.length; i2 < len; i2++) {
232
- const child = args[i2];
233
- if (child == null || child === false) continue;
234
- if (Array.isArray(child)) {
235
- for (let j = 0, cLen = child.length; j < cLen; j++) {
236
- const c = child[j];
237
- c != null && c !== false && flatChildren.push(c);
238
- }
239
- } else {
240
- flatChildren.push(child);
241
- }
251
+ if (!args.length) {
252
+ return { tagName: tag, props: actualProps, children: [] };
242
253
  }
243
- return { tagName: tag, props: actualProps, children: flatChildren };
254
+ return { tagName: tag, props: actualProps, children: flattenChildren(args) };
244
255
  };
245
256
  };
257
+ var frag = function(...children) {
258
+ return { tagName: "", props: {}, children: flattenChildren(children) };
259
+ };
260
+
261
+ // src/client/el/tags.ts
246
262
  var tags = [
247
263
  "html",
248
264
  "head",
@@ -414,6 +430,14 @@ var mathTags = [
414
430
  "msub",
415
431
  "msup"
416
432
  ];
433
+
434
+ // src/client/el/registry.ts
435
+ function createPrefixedFactories(tagsToCreate, prefix, elements2) {
436
+ tagsToCreate.forEach((tag) => {
437
+ const name = prefix + capitalize(tag);
438
+ elements2[name] = createElementFactory(tag);
439
+ });
440
+ }
417
441
  var elements = {};
418
442
  tags.forEach((tag) => {
419
443
  elements[tag] = createElementFactory(tag);
@@ -590,35 +614,21 @@ var {
590
614
  varElement
591
615
  } = elements;
592
616
  var el = elements;
593
- var frag = function(...children) {
594
- const flatChildren = [];
595
- for (let i2 = 0, len = children.length; i2 < len; i2++) {
596
- const child = children[i2];
597
- if (child == null || child === false) continue;
598
- if (Array.isArray(child)) {
599
- for (let j = 0, cLen = child.length; j < cLen; j++) {
600
- const c = child[j];
601
- c != null && c !== false && flatChildren.push(c);
602
- }
603
- } else {
604
- flatChildren.push(child);
605
- }
606
- }
607
- return { tagName: "", props: {}, children: flatChildren };
608
- };
617
+
618
+ // src/client/el/dom-utils.ts
609
619
  var doc = hasDocument ? document : void 0;
610
- var getEl = bindDocMethod(doc?.querySelector);
611
- var getEls = bindDocMethod(doc?.querySelectorAll);
612
- var createEl = bindDocMethod(doc?.createElement);
620
+ var getEl = bindDocMethod(doc, doc?.querySelector);
621
+ var getEls = bindDocMethod(doc, doc?.querySelectorAll);
622
+ var createEl = bindDocMethod(doc, doc?.createElement);
613
623
  var createSvgEl = hasDocument ? doc.createElementNS.bind(doc, "http://www.w3.org/2000/svg") : void 0;
614
624
  var createMathEl = hasDocument ? doc.createElementNS.bind(doc, "http://www.w3.org/1998/Math/MathML") : void 0;
615
- var fragment = bindDocMethod(doc?.createDocumentFragment);
616
- var textNode = bindDocMethod(doc?.createTextNode);
617
- var commentNode = bindDocMethod(doc?.createComment);
618
- var getElId = bindDocMethod(doc?.getElementById);
619
- var getElClass = bindDocMethod(doc?.getElementsByClassName);
620
- var getElTag = bindDocMethod(doc?.getElementsByTagName);
621
- var getElName = bindDocMethod(doc?.getElementsByName);
625
+ var fragment = bindDocMethod(doc, doc?.createDocumentFragment);
626
+ var textNode = bindDocMethod(doc, doc?.createTextNode);
627
+ var commentNode = bindDocMethod(doc, doc?.createComment);
628
+ var getElId = bindDocMethod(doc, doc?.getElementById);
629
+ var getElClass = bindDocMethod(doc, doc?.getElementsByClassName);
630
+ var getElTag = bindDocMethod(doc, doc?.getElementsByTagName);
631
+ var getElName = bindDocMethod(doc, doc?.getElementsByName);
622
632
  // Annotate the CommonJS export names for ESM import in node:
623
633
  0 && (module.exports = {
624
634
  a,
package/dist/el.d.ts CHANGED
@@ -1,16 +1,9 @@
1
- import { ElementFactory } from './types.js';
2
- import 'node:events';
3
- import 'events';
4
- import 'http';
5
- import 'ws';
6
- import 'net';
7
- import 'smtp-server';
8
-
9
- /**
10
- * Elit - Element Factories
11
- */
1
+ import { E as ElementFactory } from './types-BONVzPtp.js';
2
+ import './types-D0LjrYjS.js';
12
3
 
13
4
  declare const createElementFactory: (tag: string) => ElementFactory;
5
+ declare const frag: ElementFactory;
6
+
14
7
  declare const tags: readonly ["html", "head", "body", "title", "base", "link", "meta", "style", "address", "article", "aside", "footer", "header", "h1", "h2", "h3", "h4", "h5", "h6", "main", "nav", "section", "blockquote", "dd", "div", "dl", "dt", "figcaption", "figure", "hr", "li", "ol", "p", "pre", "ul", "a", "abbr", "b", "bdi", "bdo", "br", "cite", "code", "data", "dfn", "em", "i", "kbd", "mark", "q", "rp", "rt", "ruby", "s", "samp", "small", "span", "strong", "sub", "sup", "time", "u", "wbr", "area", "audio", "img", "map", "track", "video", "embed", "iframe", "object", "param", "picture", "portal", "source", "canvas", "noscript", "script", "del", "ins", "caption", "col", "colgroup", "table", "tbody", "td", "tfoot", "th", "thead", "tr", "button", "datalist", "fieldset", "form", "input", "label", "legend", "meter", "optgroup", "option", "output", "progress", "select", "textarea", "details", "dialog", "menu", "summary", "slot", "template"];
15
8
  declare const svgTags: readonly ["svg", "circle", "rect", "path", "line", "polyline", "polygon", "ellipse", "g", "text", "tspan", "defs", "linearGradient", "radialGradient", "stop", "pattern", "mask", "clipPath", "use", "symbol", "marker", "image", "foreignObject", "animate", "animateTransform", "animateMotion", "set", "filter", "feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feFlood", "feGaussianBlur", "feMorphology", "feOffset", "feSpecularLighting", "feTile", "feTurbulence"];
16
9
  declare const mathTags: readonly ["math", "mi", "mn", "mo", "ms", "mtext", "mrow", "mfrac", "msqrt", "mroot", "msub", "msup"];
@@ -23,6 +16,7 @@ type Elements = {
23
16
  } & {
24
17
  varElement: ElementFactory;
25
18
  };
19
+
26
20
  declare const elements: Partial<Elements>;
27
21
  declare const html: ElementFactory;
28
22
  declare const head: ElementFactory;
@@ -192,7 +186,6 @@ declare const mathMsup: ElementFactory;
192
186
  declare const varElement: ElementFactory;
193
187
  declare const el: Partial<Elements>;
194
188
 
195
- declare const frag: ElementFactory;
196
189
  declare const doc: any;
197
190
  declare const getEl: any;
198
191
  declare const getEls: any;
package/dist/el.js CHANGED
@@ -1,44 +1,58 @@
1
1
  "use strict";
2
2
  (() => {
3
- // src/el.ts
3
+ // src/client/el/helpers.ts
4
4
  var hasDocument = typeof document !== "undefined";
5
5
  function capitalize(str) {
6
6
  return str.charAt(0).toUpperCase() + str.slice(1);
7
7
  }
8
- function bindDocMethod(method) {
9
- return hasDocument && method ? method.bind(doc) : void 0;
8
+ function bindDocMethod(target, method) {
9
+ return target && method ? method.bind(target) : void 0;
10
10
  }
11
- function createPrefixedFactories(tags2, prefix, elements2) {
12
- tags2.forEach((tag) => {
13
- const name = prefix + capitalize(tag);
14
- elements2[name] = createElementFactory(tag);
15
- });
11
+ function isStateLike(value) {
12
+ return !!value && typeof value === "object" && "value" in value && "subscribe" in value;
16
13
  }
14
+ function isVNodeLike(value) {
15
+ return !!value && typeof value === "object" && "tagName" in value;
16
+ }
17
+ function flattenChildren(children) {
18
+ const flatChildren = [];
19
+ for (let i2 = 0, len = children.length; i2 < len; i2++) {
20
+ const child = children[i2];
21
+ if (child == null || child === false) continue;
22
+ if (Array.isArray(child)) {
23
+ for (let j = 0, childLen = child.length; j < childLen; j++) {
24
+ const nestedChild = child[j];
25
+ if (nestedChild != null && nestedChild !== false) {
26
+ flatChildren.push(nestedChild);
27
+ }
28
+ }
29
+ } else {
30
+ flatChildren.push(child);
31
+ }
32
+ }
33
+ return flatChildren;
34
+ }
35
+
36
+ // src/client/el/factory.ts
17
37
  var createElementFactory = (tag) => {
18
38
  return function(props, ...rest) {
19
- if (!arguments.length) return { tagName: tag, props: {}, children: [] };
20
- const isState = props && typeof props === "object" && "value" in props && "subscribe" in props;
21
- const isVNode = props && typeof props === "object" && "tagName" in props;
22
- const isChild = typeof props !== "object" || Array.isArray(props) || props === null || isState || isVNode;
39
+ if (!arguments.length) {
40
+ return { tagName: tag, props: {}, children: [] };
41
+ }
42
+ const isChild = typeof props !== "object" || Array.isArray(props) || props === null || isStateLike(props) || isVNodeLike(props);
23
43
  const actualProps = isChild ? {} : props;
24
44
  const args = isChild ? [props, ...rest] : rest;
25
- if (!args.length) return { tagName: tag, props: actualProps, children: [] };
26
- const flatChildren = [];
27
- for (let i2 = 0, len = args.length; i2 < len; i2++) {
28
- const child = args[i2];
29
- if (child == null || child === false) continue;
30
- if (Array.isArray(child)) {
31
- for (let j = 0, cLen = child.length; j < cLen; j++) {
32
- const c = child[j];
33
- c != null && c !== false && flatChildren.push(c);
34
- }
35
- } else {
36
- flatChildren.push(child);
37
- }
45
+ if (!args.length) {
46
+ return { tagName: tag, props: actualProps, children: [] };
38
47
  }
39
- return { tagName: tag, props: actualProps, children: flatChildren };
48
+ return { tagName: tag, props: actualProps, children: flattenChildren(args) };
40
49
  };
41
50
  };
51
+ var frag = function(...children) {
52
+ return { tagName: "", props: {}, children: flattenChildren(children) };
53
+ };
54
+
55
+ // src/client/el/tags.ts
42
56
  var tags = [
43
57
  "html",
44
58
  "head",
@@ -210,6 +224,14 @@
210
224
  "msub",
211
225
  "msup"
212
226
  ];
227
+
228
+ // src/client/el/registry.ts
229
+ function createPrefixedFactories(tagsToCreate, prefix, elements2) {
230
+ tagsToCreate.forEach((tag) => {
231
+ const name = prefix + capitalize(tag);
232
+ elements2[name] = createElementFactory(tag);
233
+ });
234
+ }
213
235
  var elements = {};
214
236
  tags.forEach((tag) => {
215
237
  elements[tag] = createElementFactory(tag);
@@ -386,33 +408,19 @@
386
408
  varElement
387
409
  } = elements;
388
410
  var el = elements;
389
- var frag = function(...children) {
390
- const flatChildren = [];
391
- for (let i2 = 0, len = children.length; i2 < len; i2++) {
392
- const child = children[i2];
393
- if (child == null || child === false) continue;
394
- if (Array.isArray(child)) {
395
- for (let j = 0, cLen = child.length; j < cLen; j++) {
396
- const c = child[j];
397
- c != null && c !== false && flatChildren.push(c);
398
- }
399
- } else {
400
- flatChildren.push(child);
401
- }
402
- }
403
- return { tagName: "", props: {}, children: flatChildren };
404
- };
411
+
412
+ // src/client/el/dom-utils.ts
405
413
  var doc = hasDocument ? document : void 0;
406
- var getEl = bindDocMethod(doc?.querySelector);
407
- var getEls = bindDocMethod(doc?.querySelectorAll);
408
- var createEl = bindDocMethod(doc?.createElement);
414
+ var getEl = bindDocMethod(doc, doc?.querySelector);
415
+ var getEls = bindDocMethod(doc, doc?.querySelectorAll);
416
+ var createEl = bindDocMethod(doc, doc?.createElement);
409
417
  var createSvgEl = hasDocument ? doc.createElementNS.bind(doc, "http://www.w3.org/2000/svg") : void 0;
410
418
  var createMathEl = hasDocument ? doc.createElementNS.bind(doc, "http://www.w3.org/1998/Math/MathML") : void 0;
411
- var fragment = bindDocMethod(doc?.createDocumentFragment);
412
- var textNode = bindDocMethod(doc?.createTextNode);
413
- var commentNode = bindDocMethod(doc?.createComment);
414
- var getElId = bindDocMethod(doc?.getElementById);
415
- var getElClass = bindDocMethod(doc?.getElementsByClassName);
416
- var getElTag = bindDocMethod(doc?.getElementsByTagName);
417
- var getElName = bindDocMethod(doc?.getElementsByName);
419
+ var fragment = bindDocMethod(doc, doc?.createDocumentFragment);
420
+ var textNode = bindDocMethod(doc, doc?.createTextNode);
421
+ var commentNode = bindDocMethod(doc, doc?.createComment);
422
+ var getElId = bindDocMethod(doc, doc?.getElementById);
423
+ var getElClass = bindDocMethod(doc, doc?.getElementsByClassName);
424
+ var getElTag = bindDocMethod(doc, doc?.getElementsByTagName);
425
+ var getElName = bindDocMethod(doc, doc?.getElementsByName);
418
426
  })();
package/dist/el.mjs CHANGED
@@ -1,42 +1,56 @@
1
- // src/el.ts
1
+ // src/client/el/helpers.ts
2
2
  var hasDocument = typeof document !== "undefined";
3
3
  function capitalize(str) {
4
4
  return str.charAt(0).toUpperCase() + str.slice(1);
5
5
  }
6
- function bindDocMethod(method) {
7
- return hasDocument && method ? method.bind(doc) : void 0;
6
+ function bindDocMethod(target, method) {
7
+ return target && method ? method.bind(target) : void 0;
8
8
  }
9
- function createPrefixedFactories(tags2, prefix, elements2) {
10
- tags2.forEach((tag) => {
11
- const name = prefix + capitalize(tag);
12
- elements2[name] = createElementFactory(tag);
13
- });
9
+ function isStateLike(value) {
10
+ return !!value && typeof value === "object" && "value" in value && "subscribe" in value;
14
11
  }
12
+ function isVNodeLike(value) {
13
+ return !!value && typeof value === "object" && "tagName" in value;
14
+ }
15
+ function flattenChildren(children) {
16
+ const flatChildren = [];
17
+ for (let i2 = 0, len = children.length; i2 < len; i2++) {
18
+ const child = children[i2];
19
+ if (child == null || child === false) continue;
20
+ if (Array.isArray(child)) {
21
+ for (let j = 0, childLen = child.length; j < childLen; j++) {
22
+ const nestedChild = child[j];
23
+ if (nestedChild != null && nestedChild !== false) {
24
+ flatChildren.push(nestedChild);
25
+ }
26
+ }
27
+ } else {
28
+ flatChildren.push(child);
29
+ }
30
+ }
31
+ return flatChildren;
32
+ }
33
+
34
+ // src/client/el/factory.ts
15
35
  var createElementFactory = (tag) => {
16
36
  return function(props, ...rest) {
17
- if (!arguments.length) return { tagName: tag, props: {}, children: [] };
18
- const isState = props && typeof props === "object" && "value" in props && "subscribe" in props;
19
- const isVNode = props && typeof props === "object" && "tagName" in props;
20
- const isChild = typeof props !== "object" || Array.isArray(props) || props === null || isState || isVNode;
37
+ if (!arguments.length) {
38
+ return { tagName: tag, props: {}, children: [] };
39
+ }
40
+ const isChild = typeof props !== "object" || Array.isArray(props) || props === null || isStateLike(props) || isVNodeLike(props);
21
41
  const actualProps = isChild ? {} : props;
22
42
  const args = isChild ? [props, ...rest] : rest;
23
- if (!args.length) return { tagName: tag, props: actualProps, children: [] };
24
- const flatChildren = [];
25
- for (let i2 = 0, len = args.length; i2 < len; i2++) {
26
- const child = args[i2];
27
- if (child == null || child === false) continue;
28
- if (Array.isArray(child)) {
29
- for (let j = 0, cLen = child.length; j < cLen; j++) {
30
- const c = child[j];
31
- c != null && c !== false && flatChildren.push(c);
32
- }
33
- } else {
34
- flatChildren.push(child);
35
- }
43
+ if (!args.length) {
44
+ return { tagName: tag, props: actualProps, children: [] };
36
45
  }
37
- return { tagName: tag, props: actualProps, children: flatChildren };
46
+ return { tagName: tag, props: actualProps, children: flattenChildren(args) };
38
47
  };
39
48
  };
49
+ var frag = function(...children) {
50
+ return { tagName: "", props: {}, children: flattenChildren(children) };
51
+ };
52
+
53
+ // src/client/el/tags.ts
40
54
  var tags = [
41
55
  "html",
42
56
  "head",
@@ -208,6 +222,14 @@ var mathTags = [
208
222
  "msub",
209
223
  "msup"
210
224
  ];
225
+
226
+ // src/client/el/registry.ts
227
+ function createPrefixedFactories(tagsToCreate, prefix, elements2) {
228
+ tagsToCreate.forEach((tag) => {
229
+ const name = prefix + capitalize(tag);
230
+ elements2[name] = createElementFactory(tag);
231
+ });
232
+ }
211
233
  var elements = {};
212
234
  tags.forEach((tag) => {
213
235
  elements[tag] = createElementFactory(tag);
@@ -384,35 +406,21 @@ var {
384
406
  varElement
385
407
  } = elements;
386
408
  var el = elements;
387
- var frag = function(...children) {
388
- const flatChildren = [];
389
- for (let i2 = 0, len = children.length; i2 < len; i2++) {
390
- const child = children[i2];
391
- if (child == null || child === false) continue;
392
- if (Array.isArray(child)) {
393
- for (let j = 0, cLen = child.length; j < cLen; j++) {
394
- const c = child[j];
395
- c != null && c !== false && flatChildren.push(c);
396
- }
397
- } else {
398
- flatChildren.push(child);
399
- }
400
- }
401
- return { tagName: "", props: {}, children: flatChildren };
402
- };
409
+
410
+ // src/client/el/dom-utils.ts
403
411
  var doc = hasDocument ? document : void 0;
404
- var getEl = bindDocMethod(doc?.querySelector);
405
- var getEls = bindDocMethod(doc?.querySelectorAll);
406
- var createEl = bindDocMethod(doc?.createElement);
412
+ var getEl = bindDocMethod(doc, doc?.querySelector);
413
+ var getEls = bindDocMethod(doc, doc?.querySelectorAll);
414
+ var createEl = bindDocMethod(doc, doc?.createElement);
407
415
  var createSvgEl = hasDocument ? doc.createElementNS.bind(doc, "http://www.w3.org/2000/svg") : void 0;
408
416
  var createMathEl = hasDocument ? doc.createElementNS.bind(doc, "http://www.w3.org/1998/Math/MathML") : void 0;
409
- var fragment = bindDocMethod(doc?.createDocumentFragment);
410
- var textNode = bindDocMethod(doc?.createTextNode);
411
- var commentNode = bindDocMethod(doc?.createComment);
412
- var getElId = bindDocMethod(doc?.getElementById);
413
- var getElClass = bindDocMethod(doc?.getElementsByClassName);
414
- var getElTag = bindDocMethod(doc?.getElementsByTagName);
415
- var getElName = bindDocMethod(doc?.getElementsByName);
417
+ var fragment = bindDocMethod(doc, doc?.createDocumentFragment);
418
+ var textNode = bindDocMethod(doc, doc?.createTextNode);
419
+ var commentNode = bindDocMethod(doc, doc?.createComment);
420
+ var getElId = bindDocMethod(doc, doc?.getElementById);
421
+ var getElClass = bindDocMethod(doc, doc?.getElementsByClassName);
422
+ var getElTag = bindDocMethod(doc, doc?.getElementsByTagName);
423
+ var getElName = bindDocMethod(doc, doc?.getElementsByName);
416
424
  export {
417
425
  a,
418
426
  abbr,