@solidjs/web 2.0.0-experimental.1 → 2.0.0-experimental.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/dev.js CHANGED
@@ -1,10 +1,72 @@
1
- import { createRoot, untrack, createRenderEffect, sharedConfig, flatten, enableHydration, createMemo, omit, $DEVCOMP } from 'solid-js';
2
- export { ErrorBoundary, For, Match, Show, Suspense, Switch, createComponent, createRenderEffect as effect, getOwner, createMemo as memo, merge as mergeProps, untrack } from 'solid-js';
1
+ import {
2
+ createRoot,
3
+ untrack,
4
+ createRenderEffect,
5
+ sharedConfig,
6
+ flatten,
7
+ enableHydration,
8
+ createMemo,
9
+ $DEVCOMP,
10
+ omit
11
+ } from "solid-js";
12
+ export {
13
+ ErrorBoundary,
14
+ For,
15
+ Match,
16
+ Show,
17
+ Suspense,
18
+ Switch,
19
+ createComponent,
20
+ createRenderEffect as effect,
21
+ getOwner,
22
+ createMemo as memo,
23
+ merge as mergeProps,
24
+ untrack
25
+ } from "solid-js";
3
26
 
4
- const booleans = ["allowfullscreen", "async", "autofocus", "autoplay", "checked", "controls", "default", "disabled", "formnovalidate", "hidden", "indeterminate", "inert", "ismap", "loop", "multiple", "muted", "nomodule", "novalidate", "open", "playsinline", "readonly", "required", "reversed", "seamless", "selected"];
5
- const Properties = /*#__PURE__*/new Set(["value", "readOnly", "formNoValidate", "isMap", "noModule", "playsInline", ...booleans]);
6
- const ChildProperties = /*#__PURE__*/new Set(["innerHTML", "textContent", "innerText", "children"]);
7
- const PropAliases = /*#__PURE__*/Object.assign(Object.create(null), {
27
+ const booleans = [
28
+ "allowfullscreen",
29
+ "async",
30
+ "autofocus",
31
+ "autoplay",
32
+ "checked",
33
+ "controls",
34
+ "default",
35
+ "disabled",
36
+ "formnovalidate",
37
+ "hidden",
38
+ "indeterminate",
39
+ "inert",
40
+ "ismap",
41
+ "loop",
42
+ "multiple",
43
+ "muted",
44
+ "nomodule",
45
+ "novalidate",
46
+ "open",
47
+ "playsinline",
48
+ "readonly",
49
+ "required",
50
+ "reversed",
51
+ "seamless",
52
+ "selected"
53
+ ];
54
+ const Properties = /*#__PURE__*/ new Set([
55
+ "value",
56
+ "readOnly",
57
+ "formNoValidate",
58
+ "isMap",
59
+ "noModule",
60
+ "playsInline",
61
+ ...booleans
62
+ ]);
63
+ const ChildProperties = /*#__PURE__*/ new Set([
64
+ "innerHTML",
65
+ "textContent",
66
+ "innerText",
67
+ "children"
68
+ ]);
69
+ const PropAliases = /*#__PURE__*/ Object.assign(Object.create(null), {
8
70
  class: "className",
9
71
  formnovalidate: {
10
72
  $: "formNoValidate",
@@ -31,19 +93,396 @@ const PropAliases = /*#__PURE__*/Object.assign(Object.create(null), {
31
93
  });
32
94
  function getPropAlias(prop, tagName) {
33
95
  const a = PropAliases[prop];
34
- return typeof a === "object" ? a[tagName] ? a["$"] : undefined : a;
35
- }
36
- const DelegatedEvents = /*#__PURE__*/new Set(["beforeinput", "click", "dblclick", "contextmenu", "focusin", "focusout", "input", "keydown", "keyup", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup", "pointerdown", "pointermove", "pointerout", "pointerover", "pointerup", "touchend", "touchmove", "touchstart"]);
37
- const SVGElements = /*#__PURE__*/new Set([
38
- "altGlyph", "altGlyphDef", "altGlyphItem", "animate", "animateColor", "animateMotion", "animateTransform", "circle", "clipPath", "color-profile", "cursor", "defs", "desc", "ellipse", "feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence", "filter", "font", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "foreignObject", "g", "glyph", "glyphRef", "hkern", "image", "line", "linearGradient", "marker", "mask", "metadata", "missing-glyph", "mpath", "path", "pattern", "polygon", "polyline", "radialGradient", "rect",
39
- "set", "stop",
40
- "svg", "switch", "symbol", "text", "textPath",
41
- "tref", "tspan", "use", "view", "vkern"]);
96
+ return typeof a === "object" ? (a[tagName] ? a["$"] : undefined) : a;
97
+ }
98
+ const DelegatedEvents = /*#__PURE__*/ new Set([
99
+ "beforeinput",
100
+ "click",
101
+ "dblclick",
102
+ "contextmenu",
103
+ "focusin",
104
+ "focusout",
105
+ "input",
106
+ "keydown",
107
+ "keyup",
108
+ "mousedown",
109
+ "mousemove",
110
+ "mouseout",
111
+ "mouseover",
112
+ "mouseup",
113
+ "pointerdown",
114
+ "pointermove",
115
+ "pointerout",
116
+ "pointerover",
117
+ "pointerup",
118
+ "touchend",
119
+ "touchmove",
120
+ "touchstart"
121
+ ]);
122
+ const SVGElements = /*#__PURE__*/ new Set([
123
+ "altGlyph",
124
+ "altGlyphDef",
125
+ "altGlyphItem",
126
+ "animate",
127
+ "animateColor",
128
+ "animateMotion",
129
+ "animateTransform",
130
+ "circle",
131
+ "clipPath",
132
+ "color-profile",
133
+ "cursor",
134
+ "defs",
135
+ "desc",
136
+ "ellipse",
137
+ "feBlend",
138
+ "feColorMatrix",
139
+ "feComponentTransfer",
140
+ "feComposite",
141
+ "feConvolveMatrix",
142
+ "feDiffuseLighting",
143
+ "feDisplacementMap",
144
+ "feDistantLight",
145
+ "feDropShadow",
146
+ "feFlood",
147
+ "feFuncA",
148
+ "feFuncB",
149
+ "feFuncG",
150
+ "feFuncR",
151
+ "feGaussianBlur",
152
+ "feImage",
153
+ "feMerge",
154
+ "feMergeNode",
155
+ "feMorphology",
156
+ "feOffset",
157
+ "fePointLight",
158
+ "feSpecularLighting",
159
+ "feSpotLight",
160
+ "feTile",
161
+ "feTurbulence",
162
+ "filter",
163
+ "font",
164
+ "font-face",
165
+ "font-face-format",
166
+ "font-face-name",
167
+ "font-face-src",
168
+ "font-face-uri",
169
+ "foreignObject",
170
+ "g",
171
+ "glyph",
172
+ "glyphRef",
173
+ "hkern",
174
+ "image",
175
+ "line",
176
+ "linearGradient",
177
+ "marker",
178
+ "mask",
179
+ "metadata",
180
+ "missing-glyph",
181
+ "mpath",
182
+ "path",
183
+ "pattern",
184
+ "polygon",
185
+ "polyline",
186
+ "radialGradient",
187
+ "rect",
188
+ "set",
189
+ "stop",
190
+ "svg",
191
+ "switch",
192
+ "symbol",
193
+ "text",
194
+ "textPath",
195
+ "tref",
196
+ "tspan",
197
+ "use",
198
+ "view",
199
+ "vkern"
200
+ ]);
42
201
  const SVGNamespace = {
43
202
  xlink: "http://www.w3.org/1999/xlink",
44
203
  xml: "http://www.w3.org/XML/1998/namespace"
45
204
  };
46
- const DOMElements = /*#__PURE__*/new Set(["html", "base", "head", "link", "meta", "style", "title", "body", "address", "article", "aside", "footer", "header", "main", "nav", "section", "body", "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", "var", "wbr", "area", "audio", "img", "map", "track", "video", "embed", "iframe", "object", "param", "picture", "portal", "source", "svg", "math", "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", "details", "slot", "template", "acronym", "applet", "basefont", "bgsound", "big", "blink", "center", "content", "dir", "font", "frame", "frameset", "hgroup", "image", "keygen", "marquee", "menuitem", "nobr", "noembed", "noframes", "plaintext", "rb", "rtc", "shadow", "spacer", "strike", "tt", "xmp", "a", "abbr", "acronym", "address", "applet", "area", "article", "aside", "audio", "b", "base", "basefont", "bdi", "bdo", "bgsound", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "em", "embed", "fieldset", "figcaption", "figure", "font", "footer", "form", "frame", "frameset", "head", "header", "hgroup", "hr", "html", "i", "iframe", "image", "img", "input", "ins", "kbd", "keygen", "label", "legend", "li", "link", "main", "map", "mark", "marquee", "menu", "menuitem", "meta", "meter", "nav", "nobr", "noembed", "noframes", "noscript", "object", "ol", "optgroup", "option", "output", "p", "param", "picture", "plaintext", "portal", "pre", "progress", "q", "rb", "rp", "rt", "rtc", "ruby", "s", "samp", "script", "section", "select", "shadow", "slot", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "title", "tr", "track", "tt", "u", "ul", "var", "video", "wbr", "xmp", "input", "h1", "h2", "h3", "h4", "h5", "h6"]);
205
+ const DOMElements = /*#__PURE__*/ new Set([
206
+ "html",
207
+ "base",
208
+ "head",
209
+ "link",
210
+ "meta",
211
+ "style",
212
+ "title",
213
+ "body",
214
+ "address",
215
+ "article",
216
+ "aside",
217
+ "footer",
218
+ "header",
219
+ "main",
220
+ "nav",
221
+ "section",
222
+ "body",
223
+ "blockquote",
224
+ "dd",
225
+ "div",
226
+ "dl",
227
+ "dt",
228
+ "figcaption",
229
+ "figure",
230
+ "hr",
231
+ "li",
232
+ "ol",
233
+ "p",
234
+ "pre",
235
+ "ul",
236
+ "a",
237
+ "abbr",
238
+ "b",
239
+ "bdi",
240
+ "bdo",
241
+ "br",
242
+ "cite",
243
+ "code",
244
+ "data",
245
+ "dfn",
246
+ "em",
247
+ "i",
248
+ "kbd",
249
+ "mark",
250
+ "q",
251
+ "rp",
252
+ "rt",
253
+ "ruby",
254
+ "s",
255
+ "samp",
256
+ "small",
257
+ "span",
258
+ "strong",
259
+ "sub",
260
+ "sup",
261
+ "time",
262
+ "u",
263
+ "var",
264
+ "wbr",
265
+ "area",
266
+ "audio",
267
+ "img",
268
+ "map",
269
+ "track",
270
+ "video",
271
+ "embed",
272
+ "iframe",
273
+ "object",
274
+ "param",
275
+ "picture",
276
+ "portal",
277
+ "source",
278
+ "svg",
279
+ "math",
280
+ "canvas",
281
+ "noscript",
282
+ "script",
283
+ "del",
284
+ "ins",
285
+ "caption",
286
+ "col",
287
+ "colgroup",
288
+ "table",
289
+ "tbody",
290
+ "td",
291
+ "tfoot",
292
+ "th",
293
+ "thead",
294
+ "tr",
295
+ "button",
296
+ "datalist",
297
+ "fieldset",
298
+ "form",
299
+ "input",
300
+ "label",
301
+ "legend",
302
+ "meter",
303
+ "optgroup",
304
+ "option",
305
+ "output",
306
+ "progress",
307
+ "select",
308
+ "textarea",
309
+ "details",
310
+ "dialog",
311
+ "menu",
312
+ "summary",
313
+ "details",
314
+ "slot",
315
+ "template",
316
+ "acronym",
317
+ "applet",
318
+ "basefont",
319
+ "bgsound",
320
+ "big",
321
+ "blink",
322
+ "center",
323
+ "content",
324
+ "dir",
325
+ "font",
326
+ "frame",
327
+ "frameset",
328
+ "hgroup",
329
+ "image",
330
+ "keygen",
331
+ "marquee",
332
+ "menuitem",
333
+ "nobr",
334
+ "noembed",
335
+ "noframes",
336
+ "plaintext",
337
+ "rb",
338
+ "rtc",
339
+ "shadow",
340
+ "spacer",
341
+ "strike",
342
+ "tt",
343
+ "xmp",
344
+ "a",
345
+ "abbr",
346
+ "acronym",
347
+ "address",
348
+ "applet",
349
+ "area",
350
+ "article",
351
+ "aside",
352
+ "audio",
353
+ "b",
354
+ "base",
355
+ "basefont",
356
+ "bdi",
357
+ "bdo",
358
+ "bgsound",
359
+ "big",
360
+ "blink",
361
+ "blockquote",
362
+ "body",
363
+ "br",
364
+ "button",
365
+ "canvas",
366
+ "caption",
367
+ "center",
368
+ "cite",
369
+ "code",
370
+ "col",
371
+ "colgroup",
372
+ "content",
373
+ "data",
374
+ "datalist",
375
+ "dd",
376
+ "del",
377
+ "details",
378
+ "dfn",
379
+ "dialog",
380
+ "dir",
381
+ "div",
382
+ "dl",
383
+ "dt",
384
+ "em",
385
+ "embed",
386
+ "fieldset",
387
+ "figcaption",
388
+ "figure",
389
+ "font",
390
+ "footer",
391
+ "form",
392
+ "frame",
393
+ "frameset",
394
+ "head",
395
+ "header",
396
+ "hgroup",
397
+ "hr",
398
+ "html",
399
+ "i",
400
+ "iframe",
401
+ "image",
402
+ "img",
403
+ "input",
404
+ "ins",
405
+ "kbd",
406
+ "keygen",
407
+ "label",
408
+ "legend",
409
+ "li",
410
+ "link",
411
+ "main",
412
+ "map",
413
+ "mark",
414
+ "marquee",
415
+ "menu",
416
+ "menuitem",
417
+ "meta",
418
+ "meter",
419
+ "nav",
420
+ "nobr",
421
+ "noembed",
422
+ "noframes",
423
+ "noscript",
424
+ "object",
425
+ "ol",
426
+ "optgroup",
427
+ "option",
428
+ "output",
429
+ "p",
430
+ "param",
431
+ "picture",
432
+ "plaintext",
433
+ "portal",
434
+ "pre",
435
+ "progress",
436
+ "q",
437
+ "rb",
438
+ "rp",
439
+ "rt",
440
+ "rtc",
441
+ "ruby",
442
+ "s",
443
+ "samp",
444
+ "script",
445
+ "section",
446
+ "select",
447
+ "shadow",
448
+ "slot",
449
+ "small",
450
+ "source",
451
+ "spacer",
452
+ "span",
453
+ "strike",
454
+ "strong",
455
+ "style",
456
+ "sub",
457
+ "summary",
458
+ "sup",
459
+ "table",
460
+ "tbody",
461
+ "td",
462
+ "template",
463
+ "textarea",
464
+ "tfoot",
465
+ "th",
466
+ "thead",
467
+ "time",
468
+ "title",
469
+ "tr",
470
+ "track",
471
+ "tt",
472
+ "u",
473
+ "ul",
474
+ "var",
475
+ "video",
476
+ "wbr",
477
+ "xmp",
478
+ "input",
479
+ "h1",
480
+ "h2",
481
+ "h3",
482
+ "h4",
483
+ "h5",
484
+ "h6"
485
+ ]);
47
486
 
48
487
  function reconcileArrays(parentNode, a, b) {
49
488
  let bLength = b.length,
@@ -64,7 +503,7 @@ function reconcileArrays(parentNode, a, b) {
64
503
  bEnd--;
65
504
  }
66
505
  if (aEnd === aStart) {
67
- const node = bEnd < bLength ? bStart ? b[bStart - 1].nextSibling : b[bEnd - bStart] : after;
506
+ const node = bEnd < bLength ? (bStart ? b[bStart - 1].nextSibling : b[bEnd - bStart]) : after;
68
507
  while (bStart < bEnd) parentNode.insertBefore(b[bStart++], node);
69
508
  } else if (bEnd === bStart) {
70
509
  while (aStart < aEnd) {
@@ -105,12 +544,16 @@ function reconcileArrays(parentNode, a, b) {
105
544
  const $$EVENTS = "_$DX_DELEGATE";
106
545
  function render(code, element, init, options = {}) {
107
546
  if (!element) {
108
- throw new Error("The `element` passed to `render(..., element)` doesn't exist. Make sure `element` exists in the document.");
547
+ throw new Error(
548
+ "The `element` passed to `render(..., element)` doesn't exist. Make sure `element` exists in the document."
549
+ );
109
550
  }
110
551
  let disposer;
111
552
  createRoot(dispose => {
112
553
  disposer = dispose;
113
- element === document ? code() : insert(element, code(), element.firstChild ? null : undefined, init);
554
+ element === document
555
+ ? code()
556
+ : insert(element, code(), element.firstChild ? null : undefined, init);
114
557
  }, options.owner);
115
558
  return () => {
116
559
  disposer();
@@ -120,12 +563,19 @@ function render(code, element, init, options = {}) {
120
563
  function template(html, isImportNode, isSVG, isMathML) {
121
564
  let node;
122
565
  const create = () => {
123
- if (isHydrating()) throw new Error("Failed attempt to create new DOM elements during hydration. Check that the libraries you are using support hydration.");
124
- const t = isMathML ? document.createElementNS("http://www.w3.org/1998/Math/MathML", "template") : document.createElement("template");
566
+ if (isHydrating())
567
+ throw new Error(
568
+ "Failed attempt to create new DOM elements during hydration. Check that the libraries you are using support hydration."
569
+ );
570
+ const t = isMathML
571
+ ? document.createElementNS("http://www.w3.org/1998/Math/MathML", "template")
572
+ : document.createElement("template");
125
573
  t.innerHTML = html;
126
574
  return isSVG ? t.content.firstChild.firstChild : isMathML ? t.firstChild : t.content.firstChild;
127
575
  };
128
- return isImportNode ? () => untrack(() => document.importNode(node || (node = create()), true)) : () => (node || (node = create())).cloneNode(true);
576
+ return isImportNode
577
+ ? () => untrack(() => document.importNode(node || (node = create()), true))
578
+ : () => (node || (node = create())).cloneNode(true);
129
579
  }
130
580
  function delegateEvents(eventNames, document = window.document) {
131
581
  const e = document[$$EVENTS] || (document[$$EVENTS] = new Set());
@@ -147,10 +597,12 @@ function setProperty(node, name, value) {
147
597
  node[name] = value;
148
598
  }
149
599
  function setAttribute(node, name, value) {
150
- if (value == null) node.removeAttribute(name);else node.setAttribute(name, value);
600
+ if (value == null) node.removeAttribute(name);
601
+ else node.setAttribute(name, value);
151
602
  }
152
603
  function setAttributeNS(node, namespace, name, value) {
153
- if (value == null) node.removeAttributeNS(namespace, name);else node.setAttributeNS(namespace, name, value);
604
+ if (value == null) node.removeAttributeNS(namespace, name);
605
+ else node.setAttributeNS(namespace, name, value);
154
606
  }
155
607
  function setBoolAttribute(node, name, value) {
156
608
  if (isHydrating(node)) return;
@@ -162,7 +614,7 @@ function className(node, value, isSVG, prev) {
162
614
  return;
163
615
  }
164
616
  if (typeof value === "string") {
165
- value !== prev && (isSVG ? node.setAttribute("class", value) : node.className = value);
617
+ value !== prev && (isSVG ? node.setAttribute("class", value) : (node.className = value));
166
618
  return;
167
619
  }
168
620
  if (typeof prev === "string") {
@@ -193,7 +645,7 @@ function addEventListener(node, name, handler, delegate) {
193
645
  } else node[`$$${name}`] = handler;
194
646
  } else if (Array.isArray(handler)) {
195
647
  const handlerFn = handler[0];
196
- node.addEventListener(name, handler[0] = e => handlerFn.call(node, handler[1], e));
648
+ node.addEventListener(name, (handler[0] = e => handlerFn.call(node, handler[1], e)));
197
649
  } else node.addEventListener(name, handler, typeof handler !== "function" && handler);
198
650
  }
199
651
  function style(node, value, prev) {
@@ -202,7 +654,7 @@ function style(node, value, prev) {
202
654
  return;
203
655
  }
204
656
  const nodeStyle = node.style;
205
- if (typeof value === "string") return nodeStyle.cssText = value;
657
+ if (typeof value === "string") return (nodeStyle.cssText = value);
206
658
  typeof prev === "string" && (nodeStyle.cssText = prev = undefined);
207
659
  prev || (prev = {});
208
660
  value || (value = {});
@@ -217,20 +669,29 @@ function style(node, value, prev) {
217
669
  function spread(node, props = {}, isSVG, skipChildren) {
218
670
  const prevProps = {};
219
671
  if (!skipChildren) {
220
- createRenderEffect(() => normalize(props.children, prevProps.children), value => {
221
- insertExpression(node, value, prevProps.children);
222
- prevProps.children = value;
223
- });
672
+ createRenderEffect(
673
+ () => normalize(props.children, prevProps.children),
674
+ value => {
675
+ insertExpression(node, value, prevProps.children);
676
+ prevProps.children = value;
677
+ }
678
+ );
224
679
  }
225
- createRenderEffect(() => typeof props.ref === "function" && use(props.ref, node), () => {});
226
- createRenderEffect(() => {
227
- const newProps = {};
228
- for (const prop in props) {
229
- if (prop === "children" || prop === "ref") continue;
230
- newProps[prop] = props[prop];
231
- }
232
- return newProps;
233
- }, props => assign(node, props, isSVG, true, prevProps, true));
680
+ createRenderEffect(
681
+ () => typeof props.ref === "function" && use(props.ref, node),
682
+ () => {}
683
+ );
684
+ createRenderEffect(
685
+ () => {
686
+ const newProps = {};
687
+ for (const prop in props) {
688
+ if (prop === "children" || prop === "ref") continue;
689
+ newProps[prop] = props[prop];
690
+ }
691
+ return newProps;
692
+ },
693
+ props => assign(node, props, isSVG, true, prevProps, true)
694
+ );
234
695
  return prevProps;
235
696
  }
236
697
  function dynamicProperty(props, key) {
@@ -253,7 +714,11 @@ function insert(parent, accessor, marker, initial) {
253
714
  accessor = normalize(accessor, initial, multi, true);
254
715
  if (typeof accessor !== "function") return insertExpression(parent, accessor, initial, marker);
255
716
  }
256
- createRenderEffect(prev => normalize(accessor, prev, multi), (value, current) => insertExpression(parent, value, current, marker), initial);
717
+ createRenderEffect(
718
+ prev => normalize(accessor, prev, multi),
719
+ (value, current) => insertExpression(parent, value, current, marker),
720
+ initial
721
+ );
257
722
  }
258
723
  function assign(node, props, isSVG, skipChildren, prevProps = {}, skipRef = false) {
259
724
  props || (props = {});
@@ -295,10 +760,14 @@ function getNextElement(template) {
295
760
  let node,
296
761
  key,
297
762
  hydrating = isHydrating();
298
- if (!hydrating || !(node = sharedConfig.registry.get(key = getHydrationKey()))) {
763
+ if (!hydrating || !(node = sharedConfig.registry.get((key = getHydrationKey())))) {
299
764
  if (hydrating) {
300
765
  sharedConfig.done = true;
301
- throw new Error(`Hydration Mismatch. Unable to find DOM nodes for hydration key: ${key}\n${template ? template().outerHTML : ""}`);
766
+ throw new Error(
767
+ `Hydration Mismatch. Unable to find DOM nodes for hydration key: ${key}\n${
768
+ template ? template().outerHTML : ""
769
+ }`
770
+ );
302
771
  }
303
772
  return template();
304
773
  }
@@ -318,7 +787,8 @@ function getNextMarker(start) {
318
787
  while (end) {
319
788
  if (end.nodeType === 8) {
320
789
  const v = end.nodeValue;
321
- if (v === "$") count++;else if (v === "/") {
790
+ if (v === "$") count++;
791
+ else if (v === "/") {
322
792
  if (count === 0) return [end, current];
323
793
  count--;
324
794
  }
@@ -332,10 +802,7 @@ function getNextMarker(start) {
332
802
  function runHydrationEvents() {
333
803
  if (sharedConfig.events && !sharedConfig.events.queued) {
334
804
  queueMicrotask(() => {
335
- const {
336
- completed,
337
- events
338
- } = sharedConfig;
805
+ const { completed, events } = sharedConfig;
339
806
  if (!events) return;
340
807
  events.queued = false;
341
808
  while (events.length) {
@@ -357,14 +824,16 @@ function isHydrating(node) {
357
824
  }
358
825
  function toggleClassKey(node, key, value) {
359
826
  const classNames = key.trim().split(/\s+/);
360
- for (let i = 0, nameLen = classNames.length; i < nameLen; i++) node.classList.toggle(classNames[i], value);
827
+ for (let i = 0, nameLen = classNames.length; i < nameLen; i++)
828
+ node.classList.toggle(classNames[i], value);
361
829
  }
362
830
  function classListToObject(classList) {
363
831
  if (Array.isArray(classList)) {
364
832
  const result = {};
365
833
  for (let i = 0, len = classList.length; i < len; i++) {
366
834
  const key = classList[i];
367
- if (typeof key === "object" && key != null) Object.assign(result, key);else if (key || key === 0) result[key] = true;
835
+ if (typeof key === "object" && key != null) Object.assign(result, key);
836
+ else if (key || key === 0) result[key] = true;
368
837
  }
369
838
  return result;
370
839
  }
@@ -396,11 +865,18 @@ function assignProp(node, prop, value, prev, isSVG, skipRef) {
396
865
  setAttribute(node, prop.slice(5), value);
397
866
  } else if (prop.slice(0, 5) === "bool:") {
398
867
  setBoolAttribute(node, prop.slice(5), value);
399
- } else if ((forceProp = prop.slice(0, 5) === "prop:") || ChildProperties.has(prop) || !isSVG && (propAlias = getPropAlias(prop, node.tagName)) || Properties.has(prop)) {
400
- if (forceProp) prop = prop.slice(5);else node[propAlias || prop] = value;
868
+ } else if (
869
+ (forceProp = prop.slice(0, 5) === "prop:") ||
870
+ ChildProperties.has(prop) ||
871
+ (!isSVG && (propAlias = getPropAlias(prop, node.tagName))) ||
872
+ Properties.has(prop)
873
+ ) {
874
+ if (forceProp) prop = prop.slice(5);
875
+ else node[propAlias || prop] = value;
401
876
  } else {
402
877
  const ns = isSVG && prop.indexOf(":") > -1 && SVGNamespace[prop.split(":")[0]];
403
- if (ns) setAttributeNS(node, ns, prop, value);else setAttribute(node, prop, value);
878
+ if (ns) setAttributeNS(node, ns, prop, value);
879
+ else setAttribute(node, prop, value);
404
880
  }
405
881
  return value;
406
882
  }
@@ -412,10 +888,11 @@ function eventHandler(e) {
412
888
  const key = `$$${e.type}`;
413
889
  const oriTarget = e.target;
414
890
  const oriCurrentTarget = e.currentTarget;
415
- const retarget = value => Object.defineProperty(e, "target", {
416
- configurable: true,
417
- value
418
- });
891
+ const retarget = value =>
892
+ Object.defineProperty(e, "target", {
893
+ configurable: true,
894
+ value
895
+ });
419
896
  const handleNode = () => {
420
897
  const handler = node[key];
421
898
  if (handler && !node.disabled) {
@@ -423,7 +900,11 @@ function eventHandler(e) {
423
900
  data !== undefined ? handler.call(node, data, e) : handler.call(node, e);
424
901
  if (e.cancelBubble) return;
425
902
  }
426
- node.host && typeof node.host !== "string" && !node.host._$host && node.contains(e.target) && retarget(node.host);
903
+ node.host &&
904
+ typeof node.host !== "string" &&
905
+ !node.host._$host &&
906
+ node.contains(e.target) &&
907
+ retarget(node.host);
427
908
  return true;
428
909
  };
429
910
  const walkUpTree = () => {
@@ -451,8 +932,7 @@ function eventHandler(e) {
451
932
  break;
452
933
  }
453
934
  }
454
- }
455
- else walkUpTree();
935
+ } else walkUpTree();
456
936
  retarget(oriTarget);
457
937
  }
458
938
  function insertExpression(parent, value, current, marker) {
@@ -498,7 +978,9 @@ function normalize(value, current, multi, doNotUnwrap) {
498
978
  const item = value[i],
499
979
  prev = current && current[i],
500
980
  t = typeof item;
501
- if (t === "string" || t === "number") value[i] = prev && prev.nodeType === 3 && prev.data === item ? prev : document.createTextNode(item);
981
+ if (t === "string" || t === "number")
982
+ value[i] =
983
+ prev && prev.nodeType === 3 && prev.data === item ? prev : document.createTextNode(item);
502
984
  }
503
985
  }
504
986
  return value;
@@ -507,14 +989,18 @@ function appendNodes(parent, array, marker = null) {
507
989
  for (let i = 0, len = array.length; i < len; i++) parent.insertBefore(array[i], marker);
508
990
  }
509
991
  function cleanChildren(parent, current, marker, replacement) {
510
- if (marker === undefined) return parent.textContent = "";
992
+ if (marker === undefined) return (parent.textContent = "");
511
993
  if (current.length) {
512
994
  let inserted = false;
513
995
  for (let i = current.length - 1; i >= 0; i--) {
514
996
  const el = current[i];
515
997
  if (replacement !== el) {
516
998
  const isParent = el.parentNode === parent;
517
- if (replacement && !inserted && !i) isParent ? parent.replaceChild(replacement, el) : parent.insertBefore(replacement, marker);else isParent && el.remove();
999
+ if (replacement && !inserted && !i)
1000
+ isParent
1001
+ ? parent.replaceChild(replacement, el)
1002
+ : parent.insertBefore(replacement, marker);
1003
+ else isParent && el.remove();
518
1004
  } else inserted = true;
519
1005
  }
520
1006
  } else if (replacement) parent.insertBefore(replacement, marker);
@@ -524,7 +1010,8 @@ function gatherHydratable(element, root) {
524
1010
  for (let i = 0; i < templates.length; i++) {
525
1011
  const node = templates[i];
526
1012
  const key = node.getAttribute("data-hk");
527
- if ((!root || key.startsWith(root)) && !sharedConfig.registry.has(key)) sharedConfig.registry.set(key, node);
1013
+ if ((!root || key.startsWith(root)) && !sharedConfig.registry.has(key))
1014
+ sharedConfig.registry.set(key, node);
528
1015
  }
529
1016
  }
530
1017
  function getHydrationKey() {
@@ -577,18 +1064,21 @@ function Portal(props) {
577
1064
  endMarker = document.createTextNode(""),
578
1065
  mount = () => createElementProxy(props.mount || document.body, treeMarker);
579
1066
  let content = createMemo(() => [startMarker, props.children]);
580
- createRenderEffect(() => [mount(), content()], ([m, c]) => {
581
- m.appendChild(endMarker);
582
- insert(m, c, endMarker);
583
- return () => {
584
- let c = startMarker;
585
- while (c && c !== endMarker) {
586
- const n = c.nextSibling;
587
- m.removeChild(c);
588
- c = n;
589
- }
590
- };
591
- });
1067
+ createRenderEffect(
1068
+ () => [mount(), content()],
1069
+ ([m, c]) => {
1070
+ m.appendChild(endMarker);
1071
+ insert(m, c, endMarker);
1072
+ return () => {
1073
+ let c = startMarker;
1074
+ while (c && c !== endMarker) {
1075
+ const n = c.nextSibling;
1076
+ m.removeChild(c);
1077
+ c = n;
1078
+ }
1079
+ };
1080
+ }
1081
+ );
592
1082
  return treeMarker;
593
1083
  }
594
1084
  function createElementProxy(el, marker) {
@@ -608,9 +1098,8 @@ function createElementProxy(el, marker) {
608
1098
  }
609
1099
  });
610
1100
  }
611
- function Dynamic(props) {
612
- const others = omit(props, "component");
613
- const cached = createMemo(() => props.component);
1101
+ function createDynamic(component, props) {
1102
+ const cached = createMemo(component);
614
1103
  return createMemo(() => {
615
1104
  const component = cached();
616
1105
  switch (typeof component) {
@@ -618,14 +1107,73 @@ function Dynamic(props) {
618
1107
  Object.assign(component, {
619
1108
  [$DEVCOMP]: true
620
1109
  });
621
- return untrack(() => component(others));
1110
+ return untrack(() => component(props));
622
1111
  case "string":
623
1112
  const isSvg = SVGElements.has(component);
624
1113
  const el = sharedConfig.context ? getNextElement() : createElement(component, isSvg);
625
- spread(el, others, isSvg);
1114
+ spread(el, props, isSvg);
626
1115
  return el;
627
1116
  }
628
1117
  });
629
1118
  }
1119
+ function Dynamic(props) {
1120
+ const others = omit(props, "component");
1121
+ return createDynamic(() => props.component, others);
1122
+ }
630
1123
 
631
- export { voidFn as Assets, ChildProperties, DOMElements, DelegatedEvents, Dynamic, Hydration, voidFn as HydrationScript, NoHydration, Portal, Properties, RequestContext, SVGElements, SVGNamespace, addEventListener, assign, className, clearDelegatedEvents, delegateEvents, dynamicProperty, escape, voidFn as generateHydrationScript, voidFn as getAssets, getHydrationKey, getNextElement, getNextMarker, getNextMatch, getPropAlias, voidFn as getRequestEvent, hydrate, insert, isDev, isServer, render, renderToStream, renderToString, renderToStringAsync, resolveSSRNode, runHydrationEvents, setAttribute, setAttributeNS, setBoolAttribute, setProperty, spread, ssr, ssrAttribute, ssrClassList, ssrElement, ssrHydrationKey, ssrStyle, style, template, use, voidFn as useAssets };
1124
+ export {
1125
+ voidFn as Assets,
1126
+ ChildProperties,
1127
+ DOMElements,
1128
+ DelegatedEvents,
1129
+ Dynamic,
1130
+ Hydration,
1131
+ voidFn as HydrationScript,
1132
+ NoHydration,
1133
+ Portal,
1134
+ Properties,
1135
+ RequestContext,
1136
+ SVGElements,
1137
+ SVGNamespace,
1138
+ addEventListener,
1139
+ assign,
1140
+ className,
1141
+ clearDelegatedEvents,
1142
+ createDynamic,
1143
+ delegateEvents,
1144
+ dynamicProperty,
1145
+ escape,
1146
+ voidFn as generateHydrationScript,
1147
+ voidFn as getAssets,
1148
+ getHydrationKey,
1149
+ getNextElement,
1150
+ getNextMarker,
1151
+ getNextMatch,
1152
+ getPropAlias,
1153
+ voidFn as getRequestEvent,
1154
+ hydrate,
1155
+ insert,
1156
+ isDev,
1157
+ isServer,
1158
+ render,
1159
+ renderToStream,
1160
+ renderToString,
1161
+ renderToStringAsync,
1162
+ resolveSSRNode,
1163
+ runHydrationEvents,
1164
+ setAttribute,
1165
+ setAttributeNS,
1166
+ setBoolAttribute,
1167
+ setProperty,
1168
+ spread,
1169
+ ssr,
1170
+ ssrAttribute,
1171
+ ssrClassList,
1172
+ ssrElement,
1173
+ ssrHydrationKey,
1174
+ ssrStyle,
1175
+ style,
1176
+ template,
1177
+ use,
1178
+ voidFn as useAssets
1179
+ };