@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/web.js CHANGED
@@ -1,10 +1,71 @@
1
- import { createRoot, untrack, createRenderEffect, sharedConfig, flatten, enableHydration, createMemo, omit } 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
+ omit
10
+ } from "solid-js";
11
+ export {
12
+ ErrorBoundary,
13
+ For,
14
+ Match,
15
+ Show,
16
+ Suspense,
17
+ Switch,
18
+ createComponent,
19
+ createRenderEffect as effect,
20
+ getOwner,
21
+ createMemo as memo,
22
+ merge as mergeProps,
23
+ untrack
24
+ } from "solid-js";
3
25
 
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), {
26
+ const booleans = [
27
+ "allowfullscreen",
28
+ "async",
29
+ "autofocus",
30
+ "autoplay",
31
+ "checked",
32
+ "controls",
33
+ "default",
34
+ "disabled",
35
+ "formnovalidate",
36
+ "hidden",
37
+ "indeterminate",
38
+ "inert",
39
+ "ismap",
40
+ "loop",
41
+ "multiple",
42
+ "muted",
43
+ "nomodule",
44
+ "novalidate",
45
+ "open",
46
+ "playsinline",
47
+ "readonly",
48
+ "required",
49
+ "reversed",
50
+ "seamless",
51
+ "selected"
52
+ ];
53
+ const Properties = /*#__PURE__*/ new Set([
54
+ "value",
55
+ "readOnly",
56
+ "formNoValidate",
57
+ "isMap",
58
+ "noModule",
59
+ "playsInline",
60
+ ...booleans
61
+ ]);
62
+ const ChildProperties = /*#__PURE__*/ new Set([
63
+ "innerHTML",
64
+ "textContent",
65
+ "innerText",
66
+ "children"
67
+ ]);
68
+ const PropAliases = /*#__PURE__*/ Object.assign(Object.create(null), {
8
69
  class: "className",
9
70
  formnovalidate: {
10
71
  $: "formNoValidate",
@@ -31,19 +92,396 @@ const PropAliases = /*#__PURE__*/Object.assign(Object.create(null), {
31
92
  });
32
93
  function getPropAlias(prop, tagName) {
33
94
  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"]);
95
+ return typeof a === "object" ? (a[tagName] ? a["$"] : undefined) : a;
96
+ }
97
+ const DelegatedEvents = /*#__PURE__*/ new Set([
98
+ "beforeinput",
99
+ "click",
100
+ "dblclick",
101
+ "contextmenu",
102
+ "focusin",
103
+ "focusout",
104
+ "input",
105
+ "keydown",
106
+ "keyup",
107
+ "mousedown",
108
+ "mousemove",
109
+ "mouseout",
110
+ "mouseover",
111
+ "mouseup",
112
+ "pointerdown",
113
+ "pointermove",
114
+ "pointerout",
115
+ "pointerover",
116
+ "pointerup",
117
+ "touchend",
118
+ "touchmove",
119
+ "touchstart"
120
+ ]);
121
+ const SVGElements = /*#__PURE__*/ new Set([
122
+ "altGlyph",
123
+ "altGlyphDef",
124
+ "altGlyphItem",
125
+ "animate",
126
+ "animateColor",
127
+ "animateMotion",
128
+ "animateTransform",
129
+ "circle",
130
+ "clipPath",
131
+ "color-profile",
132
+ "cursor",
133
+ "defs",
134
+ "desc",
135
+ "ellipse",
136
+ "feBlend",
137
+ "feColorMatrix",
138
+ "feComponentTransfer",
139
+ "feComposite",
140
+ "feConvolveMatrix",
141
+ "feDiffuseLighting",
142
+ "feDisplacementMap",
143
+ "feDistantLight",
144
+ "feDropShadow",
145
+ "feFlood",
146
+ "feFuncA",
147
+ "feFuncB",
148
+ "feFuncG",
149
+ "feFuncR",
150
+ "feGaussianBlur",
151
+ "feImage",
152
+ "feMerge",
153
+ "feMergeNode",
154
+ "feMorphology",
155
+ "feOffset",
156
+ "fePointLight",
157
+ "feSpecularLighting",
158
+ "feSpotLight",
159
+ "feTile",
160
+ "feTurbulence",
161
+ "filter",
162
+ "font",
163
+ "font-face",
164
+ "font-face-format",
165
+ "font-face-name",
166
+ "font-face-src",
167
+ "font-face-uri",
168
+ "foreignObject",
169
+ "g",
170
+ "glyph",
171
+ "glyphRef",
172
+ "hkern",
173
+ "image",
174
+ "line",
175
+ "linearGradient",
176
+ "marker",
177
+ "mask",
178
+ "metadata",
179
+ "missing-glyph",
180
+ "mpath",
181
+ "path",
182
+ "pattern",
183
+ "polygon",
184
+ "polyline",
185
+ "radialGradient",
186
+ "rect",
187
+ "set",
188
+ "stop",
189
+ "svg",
190
+ "switch",
191
+ "symbol",
192
+ "text",
193
+ "textPath",
194
+ "tref",
195
+ "tspan",
196
+ "use",
197
+ "view",
198
+ "vkern"
199
+ ]);
42
200
  const SVGNamespace = {
43
201
  xlink: "http://www.w3.org/1999/xlink",
44
202
  xml: "http://www.w3.org/XML/1998/namespace"
45
203
  };
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"]);
204
+ const DOMElements = /*#__PURE__*/ new Set([
205
+ "html",
206
+ "base",
207
+ "head",
208
+ "link",
209
+ "meta",
210
+ "style",
211
+ "title",
212
+ "body",
213
+ "address",
214
+ "article",
215
+ "aside",
216
+ "footer",
217
+ "header",
218
+ "main",
219
+ "nav",
220
+ "section",
221
+ "body",
222
+ "blockquote",
223
+ "dd",
224
+ "div",
225
+ "dl",
226
+ "dt",
227
+ "figcaption",
228
+ "figure",
229
+ "hr",
230
+ "li",
231
+ "ol",
232
+ "p",
233
+ "pre",
234
+ "ul",
235
+ "a",
236
+ "abbr",
237
+ "b",
238
+ "bdi",
239
+ "bdo",
240
+ "br",
241
+ "cite",
242
+ "code",
243
+ "data",
244
+ "dfn",
245
+ "em",
246
+ "i",
247
+ "kbd",
248
+ "mark",
249
+ "q",
250
+ "rp",
251
+ "rt",
252
+ "ruby",
253
+ "s",
254
+ "samp",
255
+ "small",
256
+ "span",
257
+ "strong",
258
+ "sub",
259
+ "sup",
260
+ "time",
261
+ "u",
262
+ "var",
263
+ "wbr",
264
+ "area",
265
+ "audio",
266
+ "img",
267
+ "map",
268
+ "track",
269
+ "video",
270
+ "embed",
271
+ "iframe",
272
+ "object",
273
+ "param",
274
+ "picture",
275
+ "portal",
276
+ "source",
277
+ "svg",
278
+ "math",
279
+ "canvas",
280
+ "noscript",
281
+ "script",
282
+ "del",
283
+ "ins",
284
+ "caption",
285
+ "col",
286
+ "colgroup",
287
+ "table",
288
+ "tbody",
289
+ "td",
290
+ "tfoot",
291
+ "th",
292
+ "thead",
293
+ "tr",
294
+ "button",
295
+ "datalist",
296
+ "fieldset",
297
+ "form",
298
+ "input",
299
+ "label",
300
+ "legend",
301
+ "meter",
302
+ "optgroup",
303
+ "option",
304
+ "output",
305
+ "progress",
306
+ "select",
307
+ "textarea",
308
+ "details",
309
+ "dialog",
310
+ "menu",
311
+ "summary",
312
+ "details",
313
+ "slot",
314
+ "template",
315
+ "acronym",
316
+ "applet",
317
+ "basefont",
318
+ "bgsound",
319
+ "big",
320
+ "blink",
321
+ "center",
322
+ "content",
323
+ "dir",
324
+ "font",
325
+ "frame",
326
+ "frameset",
327
+ "hgroup",
328
+ "image",
329
+ "keygen",
330
+ "marquee",
331
+ "menuitem",
332
+ "nobr",
333
+ "noembed",
334
+ "noframes",
335
+ "plaintext",
336
+ "rb",
337
+ "rtc",
338
+ "shadow",
339
+ "spacer",
340
+ "strike",
341
+ "tt",
342
+ "xmp",
343
+ "a",
344
+ "abbr",
345
+ "acronym",
346
+ "address",
347
+ "applet",
348
+ "area",
349
+ "article",
350
+ "aside",
351
+ "audio",
352
+ "b",
353
+ "base",
354
+ "basefont",
355
+ "bdi",
356
+ "bdo",
357
+ "bgsound",
358
+ "big",
359
+ "blink",
360
+ "blockquote",
361
+ "body",
362
+ "br",
363
+ "button",
364
+ "canvas",
365
+ "caption",
366
+ "center",
367
+ "cite",
368
+ "code",
369
+ "col",
370
+ "colgroup",
371
+ "content",
372
+ "data",
373
+ "datalist",
374
+ "dd",
375
+ "del",
376
+ "details",
377
+ "dfn",
378
+ "dialog",
379
+ "dir",
380
+ "div",
381
+ "dl",
382
+ "dt",
383
+ "em",
384
+ "embed",
385
+ "fieldset",
386
+ "figcaption",
387
+ "figure",
388
+ "font",
389
+ "footer",
390
+ "form",
391
+ "frame",
392
+ "frameset",
393
+ "head",
394
+ "header",
395
+ "hgroup",
396
+ "hr",
397
+ "html",
398
+ "i",
399
+ "iframe",
400
+ "image",
401
+ "img",
402
+ "input",
403
+ "ins",
404
+ "kbd",
405
+ "keygen",
406
+ "label",
407
+ "legend",
408
+ "li",
409
+ "link",
410
+ "main",
411
+ "map",
412
+ "mark",
413
+ "marquee",
414
+ "menu",
415
+ "menuitem",
416
+ "meta",
417
+ "meter",
418
+ "nav",
419
+ "nobr",
420
+ "noembed",
421
+ "noframes",
422
+ "noscript",
423
+ "object",
424
+ "ol",
425
+ "optgroup",
426
+ "option",
427
+ "output",
428
+ "p",
429
+ "param",
430
+ "picture",
431
+ "plaintext",
432
+ "portal",
433
+ "pre",
434
+ "progress",
435
+ "q",
436
+ "rb",
437
+ "rp",
438
+ "rt",
439
+ "rtc",
440
+ "ruby",
441
+ "s",
442
+ "samp",
443
+ "script",
444
+ "section",
445
+ "select",
446
+ "shadow",
447
+ "slot",
448
+ "small",
449
+ "source",
450
+ "spacer",
451
+ "span",
452
+ "strike",
453
+ "strong",
454
+ "style",
455
+ "sub",
456
+ "summary",
457
+ "sup",
458
+ "table",
459
+ "tbody",
460
+ "td",
461
+ "template",
462
+ "textarea",
463
+ "tfoot",
464
+ "th",
465
+ "thead",
466
+ "time",
467
+ "title",
468
+ "tr",
469
+ "track",
470
+ "tt",
471
+ "u",
472
+ "ul",
473
+ "var",
474
+ "video",
475
+ "wbr",
476
+ "xmp",
477
+ "input",
478
+ "h1",
479
+ "h2",
480
+ "h3",
481
+ "h4",
482
+ "h5",
483
+ "h6"
484
+ ]);
47
485
 
48
486
  function reconcileArrays(parentNode, a, b) {
49
487
  let bLength = b.length,
@@ -64,7 +502,7 @@ function reconcileArrays(parentNode, a, b) {
64
502
  bEnd--;
65
503
  }
66
504
  if (aEnd === aStart) {
67
- const node = bEnd < bLength ? bStart ? b[bStart - 1].nextSibling : b[bEnd - bStart] : after;
505
+ const node = bEnd < bLength ? (bStart ? b[bStart - 1].nextSibling : b[bEnd - bStart]) : after;
68
506
  while (bStart < bEnd) parentNode.insertBefore(b[bStart++], node);
69
507
  } else if (bEnd === bStart) {
70
508
  while (aStart < aEnd) {
@@ -107,7 +545,9 @@ function render(code, element, init, options = {}) {
107
545
  let disposer;
108
546
  createRoot(dispose => {
109
547
  disposer = dispose;
110
- element === document ? code() : insert(element, code(), element.firstChild ? null : undefined, init);
548
+ element === document
549
+ ? code()
550
+ : insert(element, code(), element.firstChild ? null : undefined, init);
111
551
  }, options.owner);
112
552
  return () => {
113
553
  disposer();
@@ -117,11 +557,15 @@ function render(code, element, init, options = {}) {
117
557
  function template(html, isImportNode, isSVG, isMathML) {
118
558
  let node;
119
559
  const create = () => {
120
- const t = isMathML ? document.createElementNS("http://www.w3.org/1998/Math/MathML", "template") : document.createElement("template");
560
+ const t = isMathML
561
+ ? document.createElementNS("http://www.w3.org/1998/Math/MathML", "template")
562
+ : document.createElement("template");
121
563
  t.innerHTML = html;
122
564
  return isSVG ? t.content.firstChild.firstChild : isMathML ? t.firstChild : t.content.firstChild;
123
565
  };
124
- return isImportNode ? () => untrack(() => document.importNode(node || (node = create()), true)) : () => (node || (node = create())).cloneNode(true);
566
+ return isImportNode
567
+ ? () => untrack(() => document.importNode(node || (node = create()), true))
568
+ : () => (node || (node = create())).cloneNode(true);
125
569
  }
126
570
  function delegateEvents(eventNames, document = window.document) {
127
571
  const e = document[$$EVENTS] || (document[$$EVENTS] = new Set());
@@ -143,10 +587,12 @@ function setProperty(node, name, value) {
143
587
  node[name] = value;
144
588
  }
145
589
  function setAttribute(node, name, value) {
146
- if (value == null) node.removeAttribute(name);else node.setAttribute(name, value);
590
+ if (value == null) node.removeAttribute(name);
591
+ else node.setAttribute(name, value);
147
592
  }
148
593
  function setAttributeNS(node, namespace, name, value) {
149
- if (value == null) node.removeAttributeNS(namespace, name);else node.setAttributeNS(namespace, name, value);
594
+ if (value == null) node.removeAttributeNS(namespace, name);
595
+ else node.setAttributeNS(namespace, name, value);
150
596
  }
151
597
  function setBoolAttribute(node, name, value) {
152
598
  if (isHydrating(node)) return;
@@ -158,7 +604,7 @@ function className(node, value, isSVG, prev) {
158
604
  return;
159
605
  }
160
606
  if (typeof value === "string") {
161
- value !== prev && (isSVG ? node.setAttribute("class", value) : node.className = value);
607
+ value !== prev && (isSVG ? node.setAttribute("class", value) : (node.className = value));
162
608
  return;
163
609
  }
164
610
  if (typeof prev === "string") {
@@ -189,7 +635,7 @@ function addEventListener(node, name, handler, delegate) {
189
635
  } else node[`$$${name}`] = handler;
190
636
  } else if (Array.isArray(handler)) {
191
637
  const handlerFn = handler[0];
192
- node.addEventListener(name, handler[0] = e => handlerFn.call(node, handler[1], e));
638
+ node.addEventListener(name, (handler[0] = e => handlerFn.call(node, handler[1], e)));
193
639
  } else node.addEventListener(name, handler, typeof handler !== "function" && handler);
194
640
  }
195
641
  function style(node, value, prev) {
@@ -198,7 +644,7 @@ function style(node, value, prev) {
198
644
  return;
199
645
  }
200
646
  const nodeStyle = node.style;
201
- if (typeof value === "string") return nodeStyle.cssText = value;
647
+ if (typeof value === "string") return (nodeStyle.cssText = value);
202
648
  typeof prev === "string" && (nodeStyle.cssText = prev = undefined);
203
649
  prev || (prev = {});
204
650
  value || (value = {});
@@ -213,20 +659,29 @@ function style(node, value, prev) {
213
659
  function spread(node, props = {}, isSVG, skipChildren) {
214
660
  const prevProps = {};
215
661
  if (!skipChildren) {
216
- createRenderEffect(() => normalize(props.children, prevProps.children), value => {
217
- insertExpression(node, value, prevProps.children);
218
- prevProps.children = value;
219
- });
662
+ createRenderEffect(
663
+ () => normalize(props.children, prevProps.children),
664
+ value => {
665
+ insertExpression(node, value, prevProps.children);
666
+ prevProps.children = value;
667
+ }
668
+ );
220
669
  }
221
- createRenderEffect(() => typeof props.ref === "function" && use(props.ref, node), () => {});
222
- createRenderEffect(() => {
223
- const newProps = {};
224
- for (const prop in props) {
225
- if (prop === "children" || prop === "ref") continue;
226
- newProps[prop] = props[prop];
227
- }
228
- return newProps;
229
- }, props => assign(node, props, isSVG, true, prevProps, true));
670
+ createRenderEffect(
671
+ () => typeof props.ref === "function" && use(props.ref, node),
672
+ () => {}
673
+ );
674
+ createRenderEffect(
675
+ () => {
676
+ const newProps = {};
677
+ for (const prop in props) {
678
+ if (prop === "children" || prop === "ref") continue;
679
+ newProps[prop] = props[prop];
680
+ }
681
+ return newProps;
682
+ },
683
+ props => assign(node, props, isSVG, true, prevProps, true)
684
+ );
230
685
  return prevProps;
231
686
  }
232
687
  function dynamicProperty(props, key) {
@@ -249,7 +704,11 @@ function insert(parent, accessor, marker, initial) {
249
704
  accessor = normalize(accessor, initial, multi, true);
250
705
  if (typeof accessor !== "function") return insertExpression(parent, accessor, initial, marker);
251
706
  }
252
- createRenderEffect(prev => normalize(accessor, prev, multi), (value, current) => insertExpression(parent, value, current, marker), initial);
707
+ createRenderEffect(
708
+ prev => normalize(accessor, prev, multi),
709
+ (value, current) => insertExpression(parent, value, current, marker),
710
+ initial
711
+ );
253
712
  }
254
713
  function assign(node, props, isSVG, skipChildren, prevProps = {}, skipRef = false) {
255
714
  props || (props = {});
@@ -291,7 +750,7 @@ function getNextElement(template) {
291
750
  let node,
292
751
  key,
293
752
  hydrating = isHydrating();
294
- if (!hydrating || !(node = sharedConfig.registry.get(key = getHydrationKey()))) {
753
+ if (!hydrating || !(node = sharedConfig.registry.get((key = getHydrationKey())))) {
295
754
  return template();
296
755
  }
297
756
  if (sharedConfig.completed) sharedConfig.completed.add(node);
@@ -310,7 +769,8 @@ function getNextMarker(start) {
310
769
  while (end) {
311
770
  if (end.nodeType === 8) {
312
771
  const v = end.nodeValue;
313
- if (v === "$") count++;else if (v === "/") {
772
+ if (v === "$") count++;
773
+ else if (v === "/") {
314
774
  if (count === 0) return [end, current];
315
775
  count--;
316
776
  }
@@ -324,10 +784,7 @@ function getNextMarker(start) {
324
784
  function runHydrationEvents() {
325
785
  if (sharedConfig.events && !sharedConfig.events.queued) {
326
786
  queueMicrotask(() => {
327
- const {
328
- completed,
329
- events
330
- } = sharedConfig;
787
+ const { completed, events } = sharedConfig;
331
788
  if (!events) return;
332
789
  events.queued = false;
333
790
  while (events.length) {
@@ -349,14 +806,16 @@ function isHydrating(node) {
349
806
  }
350
807
  function toggleClassKey(node, key, value) {
351
808
  const classNames = key.trim().split(/\s+/);
352
- for (let i = 0, nameLen = classNames.length; i < nameLen; i++) node.classList.toggle(classNames[i], value);
809
+ for (let i = 0, nameLen = classNames.length; i < nameLen; i++)
810
+ node.classList.toggle(classNames[i], value);
353
811
  }
354
812
  function classListToObject(classList) {
355
813
  if (Array.isArray(classList)) {
356
814
  const result = {};
357
815
  for (let i = 0, len = classList.length; i < len; i++) {
358
816
  const key = classList[i];
359
- if (typeof key === "object" && key != null) Object.assign(result, key);else if (key || key === 0) result[key] = true;
817
+ if (typeof key === "object" && key != null) Object.assign(result, key);
818
+ else if (key || key === 0) result[key] = true;
360
819
  }
361
820
  return result;
362
821
  }
@@ -388,11 +847,18 @@ function assignProp(node, prop, value, prev, isSVG, skipRef) {
388
847
  setAttribute(node, prop.slice(5), value);
389
848
  } else if (prop.slice(0, 5) === "bool:") {
390
849
  setBoolAttribute(node, prop.slice(5), value);
391
- } else if ((forceProp = prop.slice(0, 5) === "prop:") || ChildProperties.has(prop) || !isSVG && (propAlias = getPropAlias(prop, node.tagName)) || Properties.has(prop)) {
392
- if (forceProp) prop = prop.slice(5);else node[propAlias || prop] = value;
850
+ } else if (
851
+ (forceProp = prop.slice(0, 5) === "prop:") ||
852
+ ChildProperties.has(prop) ||
853
+ (!isSVG && (propAlias = getPropAlias(prop, node.tagName))) ||
854
+ Properties.has(prop)
855
+ ) {
856
+ if (forceProp) prop = prop.slice(5);
857
+ else node[propAlias || prop] = value;
393
858
  } else {
394
859
  const ns = isSVG && prop.indexOf(":") > -1 && SVGNamespace[prop.split(":")[0]];
395
- if (ns) setAttributeNS(node, ns, prop, value);else setAttribute(node, prop, value);
860
+ if (ns) setAttributeNS(node, ns, prop, value);
861
+ else setAttribute(node, prop, value);
396
862
  }
397
863
  return value;
398
864
  }
@@ -404,10 +870,11 @@ function eventHandler(e) {
404
870
  const key = `$$${e.type}`;
405
871
  const oriTarget = e.target;
406
872
  const oriCurrentTarget = e.currentTarget;
407
- const retarget = value => Object.defineProperty(e, "target", {
408
- configurable: true,
409
- value
410
- });
873
+ const retarget = value =>
874
+ Object.defineProperty(e, "target", {
875
+ configurable: true,
876
+ value
877
+ });
411
878
  const handleNode = () => {
412
879
  const handler = node[key];
413
880
  if (handler && !node.disabled) {
@@ -415,7 +882,11 @@ function eventHandler(e) {
415
882
  data !== undefined ? handler.call(node, data, e) : handler.call(node, e);
416
883
  if (e.cancelBubble) return;
417
884
  }
418
- node.host && typeof node.host !== "string" && !node.host._$host && node.contains(e.target) && retarget(node.host);
885
+ node.host &&
886
+ typeof node.host !== "string" &&
887
+ !node.host._$host &&
888
+ node.contains(e.target) &&
889
+ retarget(node.host);
419
890
  return true;
420
891
  };
421
892
  const walkUpTree = () => {
@@ -443,8 +914,7 @@ function eventHandler(e) {
443
914
  break;
444
915
  }
445
916
  }
446
- }
447
- else walkUpTree();
917
+ } else walkUpTree();
448
918
  retarget(oriTarget);
449
919
  }
450
920
  function insertExpression(parent, value, current, marker) {
@@ -476,7 +946,7 @@ function insertExpression(parent, value, current, marker) {
476
946
  current && cleanChildren(parent);
477
947
  appendNodes(parent, value);
478
948
  }
479
- } else ;
949
+ } else;
480
950
  }
481
951
  function normalize(value, current, multi, doNotUnwrap) {
482
952
  value = flatten(value, {
@@ -490,7 +960,9 @@ function normalize(value, current, multi, doNotUnwrap) {
490
960
  const item = value[i],
491
961
  prev = current && current[i],
492
962
  t = typeof item;
493
- if (t === "string" || t === "number") value[i] = prev && prev.nodeType === 3 && prev.data === item ? prev : document.createTextNode(item);
963
+ if (t === "string" || t === "number")
964
+ value[i] =
965
+ prev && prev.nodeType === 3 && prev.data === item ? prev : document.createTextNode(item);
494
966
  }
495
967
  }
496
968
  return value;
@@ -499,14 +971,18 @@ function appendNodes(parent, array, marker = null) {
499
971
  for (let i = 0, len = array.length; i < len; i++) parent.insertBefore(array[i], marker);
500
972
  }
501
973
  function cleanChildren(parent, current, marker, replacement) {
502
- if (marker === undefined) return parent.textContent = "";
974
+ if (marker === undefined) return (parent.textContent = "");
503
975
  if (current.length) {
504
976
  let inserted = false;
505
977
  for (let i = current.length - 1; i >= 0; i--) {
506
978
  const el = current[i];
507
979
  if (replacement !== el) {
508
980
  const isParent = el.parentNode === parent;
509
- if (replacement && !inserted && !i) isParent ? parent.replaceChild(replacement, el) : parent.insertBefore(replacement, marker);else isParent && el.remove();
981
+ if (replacement && !inserted && !i)
982
+ isParent
983
+ ? parent.replaceChild(replacement, el)
984
+ : parent.insertBefore(replacement, marker);
985
+ else isParent && el.remove();
510
986
  } else inserted = true;
511
987
  }
512
988
  } else if (replacement) parent.insertBefore(replacement, marker);
@@ -516,7 +992,8 @@ function gatherHydratable(element, root) {
516
992
  for (let i = 0; i < templates.length; i++) {
517
993
  const node = templates[i];
518
994
  const key = node.getAttribute("data-hk");
519
- if ((!root || key.startsWith(root)) && !sharedConfig.registry.has(key)) sharedConfig.registry.set(key, node);
995
+ if ((!root || key.startsWith(root)) && !sharedConfig.registry.has(key))
996
+ sharedConfig.registry.set(key, node);
520
997
  }
521
998
  }
522
999
  function getHydrationKey() {
@@ -569,18 +1046,21 @@ function Portal(props) {
569
1046
  endMarker = document.createTextNode(""),
570
1047
  mount = () => createElementProxy(props.mount || document.body, treeMarker);
571
1048
  let content = createMemo(() => [startMarker, props.children]);
572
- createRenderEffect(() => [mount(), content()], ([m, c]) => {
573
- m.appendChild(endMarker);
574
- insert(m, c, endMarker);
575
- return () => {
576
- let c = startMarker;
577
- while (c && c !== endMarker) {
578
- const n = c.nextSibling;
579
- m.removeChild(c);
580
- c = n;
581
- }
582
- };
583
- });
1049
+ createRenderEffect(
1050
+ () => [mount(), content()],
1051
+ ([m, c]) => {
1052
+ m.appendChild(endMarker);
1053
+ insert(m, c, endMarker);
1054
+ return () => {
1055
+ let c = startMarker;
1056
+ while (c && c !== endMarker) {
1057
+ const n = c.nextSibling;
1058
+ m.removeChild(c);
1059
+ c = n;
1060
+ }
1061
+ };
1062
+ }
1063
+ );
584
1064
  return treeMarker;
585
1065
  }
586
1066
  function createElementProxy(el, marker) {
@@ -600,21 +1080,79 @@ function createElementProxy(el, marker) {
600
1080
  }
601
1081
  });
602
1082
  }
603
- function Dynamic(props) {
604
- const others = omit(props, "component");
605
- const cached = createMemo(() => props.component);
1083
+ function createDynamic(component, props) {
1084
+ const cached = createMemo(component);
606
1085
  return createMemo(() => {
607
1086
  const component = cached();
608
1087
  switch (typeof component) {
609
1088
  case "function":
610
- return untrack(() => component(others));
1089
+ return untrack(() => component(props));
611
1090
  case "string":
612
1091
  const isSvg = SVGElements.has(component);
613
1092
  const el = sharedConfig.context ? getNextElement() : createElement(component, isSvg);
614
- spread(el, others, isSvg);
1093
+ spread(el, props, isSvg);
615
1094
  return el;
616
1095
  }
617
1096
  });
618
1097
  }
1098
+ function Dynamic(props) {
1099
+ const others = omit(props, "component");
1100
+ return createDynamic(() => props.component, others);
1101
+ }
619
1102
 
620
- 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 };
1103
+ export {
1104
+ voidFn as Assets,
1105
+ ChildProperties,
1106
+ DOMElements,
1107
+ DelegatedEvents,
1108
+ Dynamic,
1109
+ Hydration,
1110
+ voidFn as HydrationScript,
1111
+ NoHydration,
1112
+ Portal,
1113
+ Properties,
1114
+ RequestContext,
1115
+ SVGElements,
1116
+ SVGNamespace,
1117
+ addEventListener,
1118
+ assign,
1119
+ className,
1120
+ clearDelegatedEvents,
1121
+ createDynamic,
1122
+ delegateEvents,
1123
+ dynamicProperty,
1124
+ escape,
1125
+ voidFn as generateHydrationScript,
1126
+ voidFn as getAssets,
1127
+ getHydrationKey,
1128
+ getNextElement,
1129
+ getNextMarker,
1130
+ getNextMatch,
1131
+ getPropAlias,
1132
+ voidFn as getRequestEvent,
1133
+ hydrate,
1134
+ insert,
1135
+ isDev,
1136
+ isServer,
1137
+ render,
1138
+ renderToStream,
1139
+ renderToString,
1140
+ renderToStringAsync,
1141
+ resolveSSRNode,
1142
+ runHydrationEvents,
1143
+ setAttribute,
1144
+ setAttributeNS,
1145
+ setBoolAttribute,
1146
+ setProperty,
1147
+ spread,
1148
+ ssr,
1149
+ ssrAttribute,
1150
+ ssrClassList,
1151
+ ssrElement,
1152
+ ssrHydrationKey,
1153
+ ssrStyle,
1154
+ style,
1155
+ template,
1156
+ use,
1157
+ voidFn as useAssets
1158
+ };