solid-js 1.8.18 → 1.8.19

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 (48) hide show
  1. package/dist/dev.cjs +28 -23
  2. package/dist/dev.js +344 -580
  3. package/dist/server.cjs +33 -11
  4. package/dist/server.js +105 -176
  5. package/dist/solid.cjs +28 -23
  6. package/dist/solid.js +302 -507
  7. package/h/dist/h.js +9 -38
  8. package/h/jsx-runtime/dist/jsx.js +1 -1
  9. package/h/jsx-runtime/types/index.d.ts +8 -11
  10. package/h/types/hyperscript.d.ts +11 -11
  11. package/html/dist/html.js +94 -216
  12. package/html/types/lit.d.ts +33 -47
  13. package/package.json +3 -3
  14. package/store/dist/dev.js +43 -122
  15. package/store/dist/server.js +8 -19
  16. package/store/dist/store.js +40 -113
  17. package/store/types/index.d.ts +7 -21
  18. package/store/types/modifiers.d.ts +3 -6
  19. package/store/types/mutable.d.ts +2 -5
  20. package/store/types/server.d.ts +4 -12
  21. package/store/types/store.d.ts +61 -218
  22. package/types/index.d.ts +10 -75
  23. package/types/reactive/array.d.ts +4 -12
  24. package/types/reactive/observable.d.ts +17 -25
  25. package/types/reactive/scheduler.d.ts +6 -9
  26. package/types/reactive/signal.d.ts +142 -233
  27. package/types/render/Suspense.d.ts +5 -5
  28. package/types/render/component.d.ts +33 -64
  29. package/types/render/flow.d.ts +31 -43
  30. package/types/render/hydration.d.ts +15 -13
  31. package/types/server/index.d.ts +2 -57
  32. package/types/server/reactive.d.ts +42 -73
  33. package/types/server/rendering.d.ts +98 -167
  34. package/universal/dist/dev.js +12 -28
  35. package/universal/dist/universal.js +12 -28
  36. package/universal/types/index.d.ts +1 -3
  37. package/universal/types/universal.d.ts +1 -0
  38. package/web/dist/dev.cjs +2 -3
  39. package/web/dist/dev.js +84 -629
  40. package/web/dist/server.cjs +3 -3
  41. package/web/dist/server.js +99 -213
  42. package/web/dist/web.cjs +2 -3
  43. package/web/dist/web.js +82 -620
  44. package/web/storage/dist/storage.js +3 -3
  45. package/web/types/client.d.ts +2 -2
  46. package/web/types/core.d.ts +1 -10
  47. package/web/types/index.d.ts +10 -27
  48. package/web/types/server-mock.d.ts +32 -47
package/web/dist/dev.js CHANGED
@@ -1,83 +1,14 @@
1
- import {
2
- createRoot,
3
- sharedConfig,
4
- createRenderEffect,
5
- untrack,
6
- enableHydration,
7
- getOwner,
8
- createEffect,
9
- runWithOwner,
10
- createMemo,
11
- createSignal,
12
- onCleanup,
13
- splitProps,
14
- $DEVCOMP
15
- } from "solid-js";
16
- export {
17
- ErrorBoundary,
18
- For,
19
- Index,
20
- Match,
21
- Show,
22
- Suspense,
23
- SuspenseList,
24
- Switch,
25
- createComponent,
26
- createRenderEffect as effect,
27
- getOwner,
28
- createMemo as memo,
29
- mergeProps,
30
- untrack
31
- } from "solid-js";
1
+ import { createRoot, sharedConfig, createRenderEffect, untrack, enableHydration, getOwner, createEffect, runWithOwner, createMemo, createSignal, onCleanup, splitProps, $DEVCOMP } from 'solid-js';
2
+ export { ErrorBoundary, For, Index, Match, Show, Suspense, SuspenseList, Switch, createComponent, createRenderEffect as effect, getOwner, createMemo as memo, mergeProps, untrack } from 'solid-js';
32
3
 
33
- const booleans = [
34
- "allowfullscreen",
35
- "async",
36
- "autofocus",
37
- "autoplay",
38
- "checked",
39
- "controls",
40
- "default",
41
- "disabled",
42
- "formnovalidate",
43
- "hidden",
44
- "indeterminate",
45
- "inert",
46
- "ismap",
47
- "loop",
48
- "multiple",
49
- "muted",
50
- "nomodule",
51
- "novalidate",
52
- "open",
53
- "playsinline",
54
- "readonly",
55
- "required",
56
- "reversed",
57
- "seamless",
58
- "selected"
59
- ];
60
- const Properties = /*#__PURE__*/ new Set([
61
- "className",
62
- "value",
63
- "readOnly",
64
- "formNoValidate",
65
- "isMap",
66
- "noModule",
67
- "playsInline",
68
- ...booleans
69
- ]);
70
- const ChildProperties = /*#__PURE__*/ new Set([
71
- "innerHTML",
72
- "textContent",
73
- "innerText",
74
- "children"
75
- ]);
76
- const Aliases = /*#__PURE__*/ Object.assign(Object.create(null), {
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(["className", "value", "readOnly", "formNoValidate", "isMap", "noModule", "playsInline", ...booleans]);
6
+ const ChildProperties = /*#__PURE__*/new Set(["innerHTML", "textContent", "innerText", "children"]);
7
+ const Aliases = /*#__PURE__*/Object.assign(Object.create(null), {
77
8
  className: "class",
78
9
  htmlFor: "for"
79
10
  });
80
- const PropAliases = /*#__PURE__*/ Object.assign(Object.create(null), {
11
+ const PropAliases = /*#__PURE__*/Object.assign(Object.create(null), {
81
12
  class: "className",
82
13
  formnovalidate: {
83
14
  $: "formNoValidate",
@@ -104,396 +35,19 @@ const PropAliases = /*#__PURE__*/ Object.assign(Object.create(null), {
104
35
  });
105
36
  function getPropAlias(prop, tagName) {
106
37
  const a = PropAliases[prop];
107
- return typeof a === "object" ? (a[tagName] ? a["$"] : undefined) : a;
108
- }
109
- const DelegatedEvents = /*#__PURE__*/ new Set([
110
- "beforeinput",
111
- "click",
112
- "dblclick",
113
- "contextmenu",
114
- "focusin",
115
- "focusout",
116
- "input",
117
- "keydown",
118
- "keyup",
119
- "mousedown",
120
- "mousemove",
121
- "mouseout",
122
- "mouseover",
123
- "mouseup",
124
- "pointerdown",
125
- "pointermove",
126
- "pointerout",
127
- "pointerover",
128
- "pointerup",
129
- "touchend",
130
- "touchmove",
131
- "touchstart"
132
- ]);
133
- const SVGElements = /*#__PURE__*/ new Set([
134
- "altGlyph",
135
- "altGlyphDef",
136
- "altGlyphItem",
137
- "animate",
138
- "animateColor",
139
- "animateMotion",
140
- "animateTransform",
141
- "circle",
142
- "clipPath",
143
- "color-profile",
144
- "cursor",
145
- "defs",
146
- "desc",
147
- "ellipse",
148
- "feBlend",
149
- "feColorMatrix",
150
- "feComponentTransfer",
151
- "feComposite",
152
- "feConvolveMatrix",
153
- "feDiffuseLighting",
154
- "feDisplacementMap",
155
- "feDistantLight",
156
- "feDropShadow",
157
- "feFlood",
158
- "feFuncA",
159
- "feFuncB",
160
- "feFuncG",
161
- "feFuncR",
162
- "feGaussianBlur",
163
- "feImage",
164
- "feMerge",
165
- "feMergeNode",
166
- "feMorphology",
167
- "feOffset",
168
- "fePointLight",
169
- "feSpecularLighting",
170
- "feSpotLight",
171
- "feTile",
172
- "feTurbulence",
173
- "filter",
174
- "font",
175
- "font-face",
176
- "font-face-format",
177
- "font-face-name",
178
- "font-face-src",
179
- "font-face-uri",
180
- "foreignObject",
181
- "g",
182
- "glyph",
183
- "glyphRef",
184
- "hkern",
185
- "image",
186
- "line",
187
- "linearGradient",
188
- "marker",
189
- "mask",
190
- "metadata",
191
- "missing-glyph",
192
- "mpath",
193
- "path",
194
- "pattern",
195
- "polygon",
196
- "polyline",
197
- "radialGradient",
198
- "rect",
199
- "set",
200
- "stop",
201
- "svg",
202
- "switch",
203
- "symbol",
204
- "text",
205
- "textPath",
206
- "tref",
207
- "tspan",
208
- "use",
209
- "view",
210
- "vkern"
211
- ]);
38
+ return typeof a === "object" ? a[tagName] ? a["$"] : undefined : a;
39
+ }
40
+ 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"]);
41
+ const SVGElements = /*#__PURE__*/new Set([
42
+ "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",
43
+ "set", "stop",
44
+ "svg", "switch", "symbol", "text", "textPath",
45
+ "tref", "tspan", "use", "view", "vkern"]);
212
46
  const SVGNamespace = {
213
47
  xlink: "http://www.w3.org/1999/xlink",
214
48
  xml: "http://www.w3.org/XML/1998/namespace"
215
49
  };
216
- const DOMElements = /*#__PURE__*/ new Set([
217
- "html",
218
- "base",
219
- "head",
220
- "link",
221
- "meta",
222
- "style",
223
- "title",
224
- "body",
225
- "address",
226
- "article",
227
- "aside",
228
- "footer",
229
- "header",
230
- "main",
231
- "nav",
232
- "section",
233
- "body",
234
- "blockquote",
235
- "dd",
236
- "div",
237
- "dl",
238
- "dt",
239
- "figcaption",
240
- "figure",
241
- "hr",
242
- "li",
243
- "ol",
244
- "p",
245
- "pre",
246
- "ul",
247
- "a",
248
- "abbr",
249
- "b",
250
- "bdi",
251
- "bdo",
252
- "br",
253
- "cite",
254
- "code",
255
- "data",
256
- "dfn",
257
- "em",
258
- "i",
259
- "kbd",
260
- "mark",
261
- "q",
262
- "rp",
263
- "rt",
264
- "ruby",
265
- "s",
266
- "samp",
267
- "small",
268
- "span",
269
- "strong",
270
- "sub",
271
- "sup",
272
- "time",
273
- "u",
274
- "var",
275
- "wbr",
276
- "area",
277
- "audio",
278
- "img",
279
- "map",
280
- "track",
281
- "video",
282
- "embed",
283
- "iframe",
284
- "object",
285
- "param",
286
- "picture",
287
- "portal",
288
- "source",
289
- "svg",
290
- "math",
291
- "canvas",
292
- "noscript",
293
- "script",
294
- "del",
295
- "ins",
296
- "caption",
297
- "col",
298
- "colgroup",
299
- "table",
300
- "tbody",
301
- "td",
302
- "tfoot",
303
- "th",
304
- "thead",
305
- "tr",
306
- "button",
307
- "datalist",
308
- "fieldset",
309
- "form",
310
- "input",
311
- "label",
312
- "legend",
313
- "meter",
314
- "optgroup",
315
- "option",
316
- "output",
317
- "progress",
318
- "select",
319
- "textarea",
320
- "details",
321
- "dialog",
322
- "menu",
323
- "summary",
324
- "details",
325
- "slot",
326
- "template",
327
- "acronym",
328
- "applet",
329
- "basefont",
330
- "bgsound",
331
- "big",
332
- "blink",
333
- "center",
334
- "content",
335
- "dir",
336
- "font",
337
- "frame",
338
- "frameset",
339
- "hgroup",
340
- "image",
341
- "keygen",
342
- "marquee",
343
- "menuitem",
344
- "nobr",
345
- "noembed",
346
- "noframes",
347
- "plaintext",
348
- "rb",
349
- "rtc",
350
- "shadow",
351
- "spacer",
352
- "strike",
353
- "tt",
354
- "xmp",
355
- "a",
356
- "abbr",
357
- "acronym",
358
- "address",
359
- "applet",
360
- "area",
361
- "article",
362
- "aside",
363
- "audio",
364
- "b",
365
- "base",
366
- "basefont",
367
- "bdi",
368
- "bdo",
369
- "bgsound",
370
- "big",
371
- "blink",
372
- "blockquote",
373
- "body",
374
- "br",
375
- "button",
376
- "canvas",
377
- "caption",
378
- "center",
379
- "cite",
380
- "code",
381
- "col",
382
- "colgroup",
383
- "content",
384
- "data",
385
- "datalist",
386
- "dd",
387
- "del",
388
- "details",
389
- "dfn",
390
- "dialog",
391
- "dir",
392
- "div",
393
- "dl",
394
- "dt",
395
- "em",
396
- "embed",
397
- "fieldset",
398
- "figcaption",
399
- "figure",
400
- "font",
401
- "footer",
402
- "form",
403
- "frame",
404
- "frameset",
405
- "head",
406
- "header",
407
- "hgroup",
408
- "hr",
409
- "html",
410
- "i",
411
- "iframe",
412
- "image",
413
- "img",
414
- "input",
415
- "ins",
416
- "kbd",
417
- "keygen",
418
- "label",
419
- "legend",
420
- "li",
421
- "link",
422
- "main",
423
- "map",
424
- "mark",
425
- "marquee",
426
- "menu",
427
- "menuitem",
428
- "meta",
429
- "meter",
430
- "nav",
431
- "nobr",
432
- "noembed",
433
- "noframes",
434
- "noscript",
435
- "object",
436
- "ol",
437
- "optgroup",
438
- "option",
439
- "output",
440
- "p",
441
- "param",
442
- "picture",
443
- "plaintext",
444
- "portal",
445
- "pre",
446
- "progress",
447
- "q",
448
- "rb",
449
- "rp",
450
- "rt",
451
- "rtc",
452
- "ruby",
453
- "s",
454
- "samp",
455
- "script",
456
- "section",
457
- "select",
458
- "shadow",
459
- "slot",
460
- "small",
461
- "source",
462
- "spacer",
463
- "span",
464
- "strike",
465
- "strong",
466
- "style",
467
- "sub",
468
- "summary",
469
- "sup",
470
- "table",
471
- "tbody",
472
- "td",
473
- "template",
474
- "textarea",
475
- "tfoot",
476
- "th",
477
- "thead",
478
- "time",
479
- "title",
480
- "tr",
481
- "track",
482
- "tt",
483
- "u",
484
- "ul",
485
- "var",
486
- "video",
487
- "wbr",
488
- "xmp",
489
- "input",
490
- "h1",
491
- "h2",
492
- "h3",
493
- "h4",
494
- "h5",
495
- "h6"
496
- ]);
50
+ 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"]);
497
51
 
498
52
  function reconcileArrays(parentNode, a, b) {
499
53
  let bLength = b.length,
@@ -514,7 +68,7 @@ function reconcileArrays(parentNode, a, b) {
514
68
  bEnd--;
515
69
  }
516
70
  if (aEnd === aStart) {
517
- const node = bEnd < bLength ? (bStart ? b[bStart - 1].nextSibling : b[bEnd - bStart]) : after;
71
+ const node = bEnd < bLength ? bStart ? b[bStart - 1].nextSibling : b[bEnd - bStart] : after;
518
72
  while (bStart < bEnd) parentNode.insertBefore(b[bStart++], node);
519
73
  } else if (bEnd === bStart) {
520
74
  while (aStart < aEnd) {
@@ -555,16 +109,12 @@ function reconcileArrays(parentNode, a, b) {
555
109
  const $$EVENTS = "_$DX_DELEGATE";
556
110
  function render(code, element, init, options = {}) {
557
111
  if (!element) {
558
- throw new Error(
559
- "The `element` passed to `render(..., element)` doesn't exist. Make sure `element` exists in the document."
560
- );
112
+ throw new Error("The `element` passed to `render(..., element)` doesn't exist. Make sure `element` exists in the document.");
561
113
  }
562
114
  let disposer;
563
115
  createRoot(dispose => {
564
116
  disposer = dispose;
565
- element === document
566
- ? code()
567
- : insert(element, code(), element.firstChild ? null : undefined, init);
117
+ element === document ? code() : insert(element, code(), element.firstChild ? null : undefined, init);
568
118
  }, options.owner);
569
119
  return () => {
570
120
  disposer();
@@ -574,17 +124,12 @@ function render(code, element, init, options = {}) {
574
124
  function template(html, isCE, isSVG) {
575
125
  let node;
576
126
  const create = () => {
577
- if (sharedConfig.context)
578
- throw new Error(
579
- "Failed attempt to create new DOM elements during hydration. Check that the libraries you are using support hydration."
580
- );
127
+ if (sharedConfig.context) throw new Error("Failed attempt to create new DOM elements during hydration. Check that the libraries you are using support hydration.");
581
128
  const t = document.createElement("template");
582
129
  t.innerHTML = html;
583
130
  return isSVG ? t.content.firstChild.firstChild : t.content.firstChild;
584
131
  };
585
- const fn = isCE
586
- ? () => untrack(() => document.importNode(node || (node = create()), true))
587
- : () => (node || (node = create())).cloneNode(true);
132
+ const fn = isCE ? () => untrack(() => document.importNode(node || (node = create()), true)) : () => (node || (node = create())).cloneNode(true);
588
133
  fn.cloneNode = fn;
589
134
  return fn;
590
135
  }
@@ -610,18 +155,15 @@ function setProperty(node, name, value) {
610
155
  }
611
156
  function setAttribute(node, name, value) {
612
157
  if (!!sharedConfig.context && node.isConnected) return;
613
- if (value == null) node.removeAttribute(name);
614
- else node.setAttribute(name, value);
158
+ if (value == null) node.removeAttribute(name);else node.setAttribute(name, value);
615
159
  }
616
160
  function setAttributeNS(node, namespace, name, value) {
617
161
  if (!!sharedConfig.context && node.isConnected) return;
618
- if (value == null) node.removeAttributeNS(namespace, name);
619
- else node.setAttributeNS(namespace, name, value);
162
+ if (value == null) node.removeAttributeNS(namespace, name);else node.setAttributeNS(namespace, name, value);
620
163
  }
621
164
  function className(node, value) {
622
165
  if (!!sharedConfig.context && node.isConnected) return;
623
- if (value == null) node.removeAttribute("class");
624
- else node.className = value;
166
+ if (value == null) node.removeAttribute("class");else node.className = value;
625
167
  }
626
168
  function addEventListener(node, name, handler, delegate) {
627
169
  if (delegate) {
@@ -631,7 +173,7 @@ function addEventListener(node, name, handler, delegate) {
631
173
  } else node[`$$${name}`] = handler;
632
174
  } else if (Array.isArray(handler)) {
633
175
  const handlerFn = handler[0];
634
- node.addEventListener(name, (handler[0] = e => handlerFn.call(node, handler[1], e)));
176
+ node.addEventListener(name, handler[0] = e => handlerFn.call(node, handler[1], e));
635
177
  } else node.addEventListener(name, handler);
636
178
  }
637
179
  function classList(node, value, prev = {}) {
@@ -656,7 +198,7 @@ function classList(node, value, prev = {}) {
656
198
  function style(node, value, prev) {
657
199
  if (!value) return prev ? setAttribute(node, "style") : value;
658
200
  const nodeStyle = node.style;
659
- if (typeof value === "string") return (nodeStyle.cssText = value);
201
+ if (typeof value === "string") return nodeStyle.cssText = value;
660
202
  typeof prev === "string" && (nodeStyle.cssText = prev = undefined);
661
203
  prev || (prev = {});
662
204
  value || (value = {});
@@ -677,13 +219,9 @@ function style(node, value, prev) {
677
219
  function spread(node, props = {}, isSVG, skipChildren) {
678
220
  const prevProps = {};
679
221
  if (!skipChildren) {
680
- createRenderEffect(
681
- () => (prevProps.children = insertExpression(node, props.children, prevProps.children))
682
- );
222
+ createRenderEffect(() => prevProps.children = insertExpression(node, props.children, prevProps.children));
683
223
  }
684
- createRenderEffect(() =>
685
- typeof props.ref === "function" ? use(props.ref, node) : (props.ref = node)
686
- );
224
+ createRenderEffect(() => typeof props.ref === "function" && use(props.ref, node));
687
225
  createRenderEffect(() => assign(node, props, isSVG, true, prevProps, true));
688
226
  return prevProps;
689
227
  }
@@ -740,9 +278,8 @@ function hydrate$1(code, element, options = {}) {
740
278
  }
741
279
  function getNextElement(template) {
742
280
  let node, key;
743
- if (!sharedConfig.context || !(node = sharedConfig.registry.get((key = getHydrationKey())))) {
744
- if (sharedConfig.context)
745
- throw new Error(`Hydration Mismatch. Unable to find DOM nodes for hydration key: ${key}`);
281
+ if (!sharedConfig.context || !(node = sharedConfig.registry.get(key = getHydrationKey()))) {
282
+ if (sharedConfig.context) throw new Error(`Hydration Mismatch. Unable to find DOM nodes for hydration key: ${key}`);
746
283
  return template();
747
284
  }
748
285
  if (sharedConfig.completed) sharedConfig.completed.add(node);
@@ -761,8 +298,7 @@ function getNextMarker(start) {
761
298
  while (end) {
762
299
  if (end.nodeType === 8) {
763
300
  const v = end.nodeValue;
764
- if (v === "$") count++;
765
- else if (v === "/") {
301
+ if (v === "$") count++;else if (v === "/") {
766
302
  if (count === 0) return [end, current];
767
303
  count--;
768
304
  }
@@ -776,7 +312,10 @@ function getNextMarker(start) {
776
312
  function runHydrationEvents() {
777
313
  if (sharedConfig.events && !sharedConfig.events.queued) {
778
314
  queueMicrotask(() => {
779
- const { completed, events } = sharedConfig;
315
+ const {
316
+ completed,
317
+ events
318
+ } = sharedConfig;
780
319
  events.queued = false;
781
320
  while (events.length) {
782
321
  const [el, e] = events[0];
@@ -793,8 +332,7 @@ function toPropertyName(name) {
793
332
  }
794
333
  function toggleClassKey(node, key, value) {
795
334
  const classNames = key.trim().split(/\s+/);
796
- for (let i = 0, nameLen = classNames.length; i < nameLen; i++)
797
- node.classList.toggle(classNames[i], value);
335
+ for (let i = 0, nameLen = classNames.length; i < nameLen; i++) node.classList.toggle(classNames[i], value);
798
336
  }
799
337
  function assignProp(node, prop, value, prev, isSVG, skipRef) {
800
338
  let isCE, isProp, isChildProp, propAlias, forceProp;
@@ -824,30 +362,21 @@ function assignProp(node, prop, value, prev, isSVG, skipRef) {
824
362
  }
825
363
  } else if (prop.slice(0, 5) === "attr:") {
826
364
  setAttribute(node, prop.slice(5), value);
827
- } else if (
828
- (forceProp = prop.slice(0, 5) === "prop:") ||
829
- (isChildProp = ChildProperties.has(prop)) ||
830
- (!isSVG &&
831
- ((propAlias = getPropAlias(prop, node.tagName)) || (isProp = Properties.has(prop)))) ||
832
- (isCE = node.nodeName.includes("-"))
833
- ) {
365
+ } else if ((forceProp = prop.slice(0, 5) === "prop:") || (isChildProp = ChildProperties.has(prop)) || !isSVG && ((propAlias = getPropAlias(prop, node.tagName)) || (isProp = Properties.has(prop))) || (isCE = node.nodeName.includes("-"))) {
834
366
  if (forceProp) {
835
367
  prop = prop.slice(5);
836
368
  isProp = true;
837
369
  } else if (!!sharedConfig.context && node.isConnected) return value;
838
- if (prop === "class" || prop === "className") className(node, value);
839
- else if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;
840
- else node[propAlias || prop] = value;
370
+ if (prop === "class" || prop === "className") className(node, value);else if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;else node[propAlias || prop] = value;
841
371
  } else {
842
372
  const ns = isSVG && prop.indexOf(":") > -1 && SVGNamespace[prop.split(":")[0]];
843
- if (ns) setAttributeNS(node, ns, prop, value);
844
- else setAttribute(node, Aliases[prop] || prop, value);
373
+ if (ns) setAttributeNS(node, ns, prop, value);else setAttribute(node, Aliases[prop] || prop, value);
845
374
  }
846
375
  return value;
847
376
  }
848
377
  function eventHandler(e) {
849
378
  const key = `$$${e.type}`;
850
- let node = (e.composedPath && e.composedPath()[0]) || e.target;
379
+ let node = e.composedPath && e.composedPath()[0] || e.target;
851
380
  if (e.target !== node) {
852
381
  Object.defineProperty(e, "target", {
853
382
  configurable: true,
@@ -878,8 +407,7 @@ function insertExpression(parent, value, current, marker, unwrapArray) {
878
407
  let cleaned = [];
879
408
  for (let i = 0; i < current.length; i++) {
880
409
  const node = current[i];
881
- if (node.nodeType === 8 && node.data.slice(0, 2) === "!$") node.remove();
882
- else cleaned.push(node);
410
+ if (node.nodeType === 8 && node.data.slice(0, 2) === "!$") node.remove();else cleaned.push(node);
883
411
  }
884
412
  current = cleaned;
885
413
  }
@@ -887,7 +415,7 @@ function insertExpression(parent, value, current, marker, unwrapArray) {
887
415
  if (value === current) return current;
888
416
  const t = typeof value,
889
417
  multi = marker !== undefined;
890
- parent = (multi && current[0] && current[0].parentNode) || parent;
418
+ parent = multi && current[0] && current[0].parentNode || parent;
891
419
  if (t === "string" || t === "number") {
892
420
  if (hydrating) return current;
893
421
  if (t === "number") {
@@ -919,7 +447,7 @@ function insertExpression(parent, value, current, marker, unwrapArray) {
919
447
  const array = [];
920
448
  const currentArray = current && Array.isArray(current);
921
449
  if (normalizeIncomingArray(array, value, current, unwrapArray)) {
922
- createRenderEffect(() => (current = insertExpression(parent, array, current, marker, true)));
450
+ createRenderEffect(() => current = insertExpression(parent, array, current, marker, true));
923
451
  return () => current;
924
452
  }
925
453
  if (hydrating) {
@@ -928,7 +456,7 @@ function insertExpression(parent, value, current, marker, unwrapArray) {
928
456
  let node = array[0];
929
457
  let nodes = [node];
930
458
  while ((node = node.nextSibling) !== marker) nodes.push(node);
931
- return (current = nodes);
459
+ return current = nodes;
932
460
  }
933
461
  if (array.length === 0) {
934
462
  current = cleanChildren(parent, current, marker);
@@ -943,9 +471,9 @@ function insertExpression(parent, value, current, marker, unwrapArray) {
943
471
  }
944
472
  current = array;
945
473
  } else if (value.nodeType) {
946
- if (hydrating && value.parentNode) return (current = multi ? [value] : value);
474
+ if (hydrating && value.parentNode) return current = multi ? [value] : value;
947
475
  if (Array.isArray(current)) {
948
- if (multi) return (current = cleanChildren(parent, current, marker, value));
476
+ if (multi) return current = cleanChildren(parent, current, marker, value);
949
477
  cleanChildren(parent, current, null, value);
950
478
  } else if (current == null || current === "" || !parent.firstChild) {
951
479
  parent.appendChild(value);
@@ -960,28 +488,21 @@ function normalizeIncomingArray(normalized, array, current, unwrap) {
960
488
  let item = array[i],
961
489
  prev = current && current[normalized.length],
962
490
  t;
963
- if (item == null || item === true || item === false);
964
- else if ((t = typeof item) === "object" && item.nodeType) {
491
+ if (item == null || item === true || item === false) ; else if ((t = typeof item) === "object" && item.nodeType) {
965
492
  normalized.push(item);
966
493
  } else if (Array.isArray(item)) {
967
494
  dynamic = normalizeIncomingArray(normalized, item, prev) || dynamic;
968
495
  } else if (t === "function") {
969
496
  if (unwrap) {
970
497
  while (typeof item === "function") item = item();
971
- dynamic =
972
- normalizeIncomingArray(
973
- normalized,
974
- Array.isArray(item) ? item : [item],
975
- Array.isArray(prev) ? prev : [prev]
976
- ) || dynamic;
498
+ dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item], Array.isArray(prev) ? prev : [prev]) || dynamic;
977
499
  } else {
978
500
  normalized.push(item);
979
501
  dynamic = true;
980
502
  }
981
503
  } else {
982
504
  const value = String(item);
983
- if (prev && prev.nodeType === 3 && prev.data === value) normalized.push(prev);
984
- else normalized.push(document.createTextNode(value));
505
+ if (prev && prev.nodeType === 3 && prev.data === value) normalized.push(prev);else normalized.push(document.createTextNode(value));
985
506
  }
986
507
  }
987
508
  return dynamic;
@@ -990,7 +511,7 @@ function appendNodes(parent, array, marker = null) {
990
511
  for (let i = 0, len = array.length; i < len; i++) parent.insertBefore(array[i], marker);
991
512
  }
992
513
  function cleanChildren(parent, current, marker, replacement) {
993
- if (marker === undefined) return (parent.textContent = "");
514
+ if (marker === undefined) return parent.textContent = "";
994
515
  const node = replacement || document.createTextNode("");
995
516
  if (current.length) {
996
517
  let inserted = false;
@@ -998,9 +519,7 @@ function cleanChildren(parent, current, marker, replacement) {
998
519
  const el = current[i];
999
520
  if (node !== el) {
1000
521
  const isParent = el.parentNode === parent;
1001
- if (!inserted && !i)
1002
- isParent ? parent.replaceChild(node, el) : parent.insertBefore(node, marker);
1003
- else isParent && el.remove();
522
+ if (!inserted && !i) isParent ? parent.replaceChild(node, el) : parent.insertBefore(node, marker);else isParent && el.remove();
1004
523
  } else inserted = true;
1005
524
  }
1006
525
  } else parent.insertBefore(node, marker);
@@ -1011,13 +530,11 @@ function gatherHydratable(element, root) {
1011
530
  for (let i = 0; i < templates.length; i++) {
1012
531
  const node = templates[i];
1013
532
  const key = node.getAttribute("data-hk");
1014
- if ((!root || key.startsWith(root)) && !sharedConfig.registry.has(key))
1015
- sharedConfig.registry.set(key, node);
533
+ if ((!root || key.startsWith(root)) && !sharedConfig.registry.has(key)) sharedConfig.registry.set(key, node);
1016
534
  }
1017
535
  }
1018
536
  function getHydrationKey() {
1019
- const hydrate = sharedConfig.context;
1020
- return `${hydrate.id}${hydrate.count++}`;
537
+ return sharedConfig.getNextContextId();
1021
538
  }
1022
539
  function NoHydration(props) {
1023
540
  return sharedConfig.context ? undefined : props.children;
@@ -1065,47 +582,42 @@ const hydrate = (...args) => {
1065
582
  return hydrate$1(...args);
1066
583
  };
1067
584
  function Portal(props) {
1068
- const { useShadow } = props,
585
+ const {
586
+ useShadow
587
+ } = props,
1069
588
  marker = document.createTextNode(""),
1070
589
  mount = () => props.mount || document.body,
1071
590
  owner = getOwner();
1072
591
  let content;
1073
592
  let hydrating = !!sharedConfig.context;
1074
- createEffect(
1075
- () => {
1076
- if (hydrating) getOwner().user = hydrating = false;
1077
- content || (content = runWithOwner(owner, () => createMemo(() => props.children)));
1078
- const el = mount();
1079
- if (el instanceof HTMLHeadElement) {
1080
- const [clean, setClean] = createSignal(false);
1081
- const cleanup = () => setClean(true);
1082
- createRoot(dispose => insert(el, () => (!clean() ? content() : dispose()), null));
1083
- onCleanup(cleanup);
1084
- } else {
1085
- const container = createElement(props.isSVG ? "g" : "div", props.isSVG),
1086
- renderRoot =
1087
- useShadow && container.attachShadow
1088
- ? container.attachShadow({
1089
- mode: "open"
1090
- })
1091
- : container;
1092
- Object.defineProperty(container, "_$host", {
1093
- get() {
1094
- return marker.parentNode;
1095
- },
1096
- configurable: true
1097
- });
1098
- insert(renderRoot, content);
1099
- el.appendChild(container);
1100
- props.ref && props.ref(container);
1101
- onCleanup(() => el.removeChild(container));
1102
- }
1103
- },
1104
- undefined,
1105
- {
1106
- render: !hydrating
593
+ createEffect(() => {
594
+ if (hydrating) getOwner().user = hydrating = false;
595
+ content || (content = runWithOwner(owner, () => createMemo(() => props.children)));
596
+ const el = mount();
597
+ if (el instanceof HTMLHeadElement) {
598
+ const [clean, setClean] = createSignal(false);
599
+ const cleanup = () => setClean(true);
600
+ createRoot(dispose => insert(el, () => !clean() ? content() : dispose(), null));
601
+ onCleanup(cleanup);
602
+ } else {
603
+ const container = createElement(props.isSVG ? "g" : "div", props.isSVG),
604
+ renderRoot = useShadow && container.attachShadow ? container.attachShadow({
605
+ mode: "open"
606
+ }) : container;
607
+ Object.defineProperty(container, "_$host", {
608
+ get() {
609
+ return marker.parentNode;
610
+ },
611
+ configurable: true
612
+ });
613
+ insert(renderRoot, content);
614
+ el.appendChild(container);
615
+ props.ref && props.ref(container);
616
+ onCleanup(() => el.removeChild(container));
1107
617
  }
1108
- );
618
+ }, undefined, {
619
+ render: !hydrating
620
+ });
1109
621
  return marker;
1110
622
  }
1111
623
  function Dynamic(props) {
@@ -1128,61 +640,4 @@ function Dynamic(props) {
1128
640
  });
1129
641
  }
1130
642
 
1131
- export {
1132
- Aliases,
1133
- voidFn as Assets,
1134
- ChildProperties,
1135
- DOMElements,
1136
- DelegatedEvents,
1137
- Dynamic,
1138
- Hydration,
1139
- voidFn as HydrationScript,
1140
- NoHydration,
1141
- Portal,
1142
- Properties,
1143
- RequestContext,
1144
- SVGElements,
1145
- SVGNamespace,
1146
- addEventListener,
1147
- assign,
1148
- classList,
1149
- className,
1150
- clearDelegatedEvents,
1151
- delegateEvents,
1152
- dynamicProperty,
1153
- escape,
1154
- voidFn as generateHydrationScript,
1155
- voidFn as getAssets,
1156
- getHydrationKey,
1157
- getNextElement,
1158
- getNextMarker,
1159
- getNextMatch,
1160
- getPropAlias,
1161
- voidFn as getRequestEvent,
1162
- hydrate,
1163
- innerHTML,
1164
- insert,
1165
- isDev,
1166
- isServer,
1167
- render,
1168
- renderToStream,
1169
- renderToString,
1170
- renderToStringAsync,
1171
- resolveSSRNode,
1172
- runHydrationEvents,
1173
- setAttribute,
1174
- setAttributeNS,
1175
- setProperty,
1176
- spread,
1177
- ssr,
1178
- ssrAttribute,
1179
- ssrClassList,
1180
- ssrElement,
1181
- ssrHydrationKey,
1182
- ssrSpread,
1183
- ssrStyle,
1184
- style,
1185
- template,
1186
- use,
1187
- voidFn as useAssets
1188
- };
643
+ export { Aliases, voidFn as Assets, ChildProperties, DOMElements, DelegatedEvents, Dynamic, Hydration, voidFn as HydrationScript, NoHydration, Portal, Properties, RequestContext, SVGElements, SVGNamespace, addEventListener, assign, classList, className, clearDelegatedEvents, delegateEvents, dynamicProperty, escape, voidFn as generateHydrationScript, voidFn as getAssets, getHydrationKey, getNextElement, getNextMarker, getNextMatch, getPropAlias, voidFn as getRequestEvent, hydrate, innerHTML, insert, isDev, isServer, render, renderToStream, renderToString, renderToStringAsync, resolveSSRNode, runHydrationEvents, setAttribute, setAttributeNS, setProperty, spread, ssr, ssrAttribute, ssrClassList, ssrElement, ssrHydrationKey, ssrSpread, ssrStyle, style, template, use, voidFn as useAssets };