solid-js 1.8.11 → 1.8.13
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 +544 -307
- package/dist/server.js +170 -75
- package/dist/solid.js +471 -265
- package/h/dist/h.js +34 -8
- package/h/jsx-runtime/dist/jsx.js +1 -1
- package/h/jsx-runtime/types/index.d.ts +11 -8
- package/h/types/hyperscript.d.ts +11 -11
- package/html/dist/html.js +216 -94
- package/html/types/lit.d.ts +47 -33
- package/package.json +9 -4
- package/store/dist/dev.cjs +12 -2
- package/store/dist/dev.js +133 -44
- package/store/dist/server.js +19 -8
- package/store/dist/store.cjs +12 -2
- package/store/dist/store.js +124 -41
- package/store/types/index.d.ts +21 -7
- package/store/types/modifiers.d.ts +6 -3
- package/store/types/mutable.d.ts +5 -2
- package/store/types/server.d.ts +12 -4
- package/store/types/store.d.ts +218 -61
- package/types/index.d.ts +75 -10
- package/types/reactive/array.d.ts +12 -4
- package/types/reactive/observable.d.ts +25 -17
- package/types/reactive/scheduler.d.ts +9 -6
- package/types/reactive/signal.d.ts +233 -142
- package/types/render/Suspense.d.ts +5 -5
- package/types/render/component.d.ts +64 -33
- package/types/render/flow.d.ts +43 -31
- package/types/render/hydration.d.ts +13 -13
- package/types/server/index.d.ts +57 -2
- package/types/server/reactive.d.ts +73 -42
- package/types/server/rendering.d.ts +167 -96
- package/universal/dist/dev.js +28 -12
- package/universal/dist/universal.js +28 -12
- package/universal/types/index.d.ts +3 -1
- package/universal/types/universal.d.ts +0 -1
- package/web/dist/dev.cjs +3 -0
- package/web/dist/dev.js +625 -81
- package/web/dist/server.cjs +10 -15
- package/web/dist/server.js +216 -107
- package/web/dist/web.js +614 -80
- package/web/storage/dist/storage.js +10 -0
- package/web/storage/package.json +15 -0
- package/web/storage/types/index.d.ts +2 -0
- package/web/storage/types/index.js +13 -0
- package/web/types/client.d.ts +2 -2
- package/web/types/core.d.ts +10 -1
- package/web/types/index.d.ts +27 -10
- package/web/types/server-mock.d.ts +47 -32
- package/web/dist/storage.js +0 -10
- package/web/types/storage.d.ts +0 -2
- /package/web/{dist → storage/dist}/storage.cjs +0 -0
package/web/dist/dev.js
CHANGED
|
@@ -1,14 +1,83 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
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";
|
|
3
32
|
|
|
4
|
-
const booleans = [
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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), {
|
|
8
77
|
className: "class",
|
|
9
78
|
htmlFor: "for"
|
|
10
79
|
});
|
|
11
|
-
const PropAliases = /*#__PURE__*/Object.assign(Object.create(null), {
|
|
80
|
+
const PropAliases = /*#__PURE__*/ Object.assign(Object.create(null), {
|
|
12
81
|
class: "className",
|
|
13
82
|
formnovalidate: {
|
|
14
83
|
$: "formNoValidate",
|
|
@@ -35,19 +104,395 @@ const PropAliases = /*#__PURE__*/Object.assign(Object.create(null), {
|
|
|
35
104
|
});
|
|
36
105
|
function getPropAlias(prop, tagName) {
|
|
37
106
|
const a = PropAliases[prop];
|
|
38
|
-
return typeof a === "object" ? a[tagName] ? a["$"] : undefined : a;
|
|
39
|
-
}
|
|
40
|
-
const DelegatedEvents = /*#__PURE__*/new Set([
|
|
41
|
-
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
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
|
+
"feFlood",
|
|
157
|
+
"feFuncA",
|
|
158
|
+
"feFuncB",
|
|
159
|
+
"feFuncG",
|
|
160
|
+
"feFuncR",
|
|
161
|
+
"feGaussianBlur",
|
|
162
|
+
"feImage",
|
|
163
|
+
"feMerge",
|
|
164
|
+
"feMergeNode",
|
|
165
|
+
"feMorphology",
|
|
166
|
+
"feOffset",
|
|
167
|
+
"fePointLight",
|
|
168
|
+
"feSpecularLighting",
|
|
169
|
+
"feSpotLight",
|
|
170
|
+
"feTile",
|
|
171
|
+
"feTurbulence",
|
|
172
|
+
"filter",
|
|
173
|
+
"font",
|
|
174
|
+
"font-face",
|
|
175
|
+
"font-face-format",
|
|
176
|
+
"font-face-name",
|
|
177
|
+
"font-face-src",
|
|
178
|
+
"font-face-uri",
|
|
179
|
+
"foreignObject",
|
|
180
|
+
"g",
|
|
181
|
+
"glyph",
|
|
182
|
+
"glyphRef",
|
|
183
|
+
"hkern",
|
|
184
|
+
"image",
|
|
185
|
+
"line",
|
|
186
|
+
"linearGradient",
|
|
187
|
+
"marker",
|
|
188
|
+
"mask",
|
|
189
|
+
"metadata",
|
|
190
|
+
"missing-glyph",
|
|
191
|
+
"mpath",
|
|
192
|
+
"path",
|
|
193
|
+
"pattern",
|
|
194
|
+
"polygon",
|
|
195
|
+
"polyline",
|
|
196
|
+
"radialGradient",
|
|
197
|
+
"rect",
|
|
198
|
+
"set",
|
|
199
|
+
"stop",
|
|
200
|
+
"svg",
|
|
201
|
+
"switch",
|
|
202
|
+
"symbol",
|
|
203
|
+
"text",
|
|
204
|
+
"textPath",
|
|
205
|
+
"tref",
|
|
206
|
+
"tspan",
|
|
207
|
+
"use",
|
|
208
|
+
"view",
|
|
209
|
+
"vkern"
|
|
210
|
+
]);
|
|
46
211
|
const SVGNamespace = {
|
|
47
212
|
xlink: "http://www.w3.org/1999/xlink",
|
|
48
213
|
xml: "http://www.w3.org/XML/1998/namespace"
|
|
49
214
|
};
|
|
50
|
-
const DOMElements = /*#__PURE__*/new Set([
|
|
215
|
+
const DOMElements = /*#__PURE__*/ new Set([
|
|
216
|
+
"html",
|
|
217
|
+
"base",
|
|
218
|
+
"head",
|
|
219
|
+
"link",
|
|
220
|
+
"meta",
|
|
221
|
+
"style",
|
|
222
|
+
"title",
|
|
223
|
+
"body",
|
|
224
|
+
"address",
|
|
225
|
+
"article",
|
|
226
|
+
"aside",
|
|
227
|
+
"footer",
|
|
228
|
+
"header",
|
|
229
|
+
"main",
|
|
230
|
+
"nav",
|
|
231
|
+
"section",
|
|
232
|
+
"body",
|
|
233
|
+
"blockquote",
|
|
234
|
+
"dd",
|
|
235
|
+
"div",
|
|
236
|
+
"dl",
|
|
237
|
+
"dt",
|
|
238
|
+
"figcaption",
|
|
239
|
+
"figure",
|
|
240
|
+
"hr",
|
|
241
|
+
"li",
|
|
242
|
+
"ol",
|
|
243
|
+
"p",
|
|
244
|
+
"pre",
|
|
245
|
+
"ul",
|
|
246
|
+
"a",
|
|
247
|
+
"abbr",
|
|
248
|
+
"b",
|
|
249
|
+
"bdi",
|
|
250
|
+
"bdo",
|
|
251
|
+
"br",
|
|
252
|
+
"cite",
|
|
253
|
+
"code",
|
|
254
|
+
"data",
|
|
255
|
+
"dfn",
|
|
256
|
+
"em",
|
|
257
|
+
"i",
|
|
258
|
+
"kbd",
|
|
259
|
+
"mark",
|
|
260
|
+
"q",
|
|
261
|
+
"rp",
|
|
262
|
+
"rt",
|
|
263
|
+
"ruby",
|
|
264
|
+
"s",
|
|
265
|
+
"samp",
|
|
266
|
+
"small",
|
|
267
|
+
"span",
|
|
268
|
+
"strong",
|
|
269
|
+
"sub",
|
|
270
|
+
"sup",
|
|
271
|
+
"time",
|
|
272
|
+
"u",
|
|
273
|
+
"var",
|
|
274
|
+
"wbr",
|
|
275
|
+
"area",
|
|
276
|
+
"audio",
|
|
277
|
+
"img",
|
|
278
|
+
"map",
|
|
279
|
+
"track",
|
|
280
|
+
"video",
|
|
281
|
+
"embed",
|
|
282
|
+
"iframe",
|
|
283
|
+
"object",
|
|
284
|
+
"param",
|
|
285
|
+
"picture",
|
|
286
|
+
"portal",
|
|
287
|
+
"source",
|
|
288
|
+
"svg",
|
|
289
|
+
"math",
|
|
290
|
+
"canvas",
|
|
291
|
+
"noscript",
|
|
292
|
+
"script",
|
|
293
|
+
"del",
|
|
294
|
+
"ins",
|
|
295
|
+
"caption",
|
|
296
|
+
"col",
|
|
297
|
+
"colgroup",
|
|
298
|
+
"table",
|
|
299
|
+
"tbody",
|
|
300
|
+
"td",
|
|
301
|
+
"tfoot",
|
|
302
|
+
"th",
|
|
303
|
+
"thead",
|
|
304
|
+
"tr",
|
|
305
|
+
"button",
|
|
306
|
+
"datalist",
|
|
307
|
+
"fieldset",
|
|
308
|
+
"form",
|
|
309
|
+
"input",
|
|
310
|
+
"label",
|
|
311
|
+
"legend",
|
|
312
|
+
"meter",
|
|
313
|
+
"optgroup",
|
|
314
|
+
"option",
|
|
315
|
+
"output",
|
|
316
|
+
"progress",
|
|
317
|
+
"select",
|
|
318
|
+
"textarea",
|
|
319
|
+
"details",
|
|
320
|
+
"dialog",
|
|
321
|
+
"menu",
|
|
322
|
+
"summary",
|
|
323
|
+
"details",
|
|
324
|
+
"slot",
|
|
325
|
+
"template",
|
|
326
|
+
"acronym",
|
|
327
|
+
"applet",
|
|
328
|
+
"basefont",
|
|
329
|
+
"bgsound",
|
|
330
|
+
"big",
|
|
331
|
+
"blink",
|
|
332
|
+
"center",
|
|
333
|
+
"content",
|
|
334
|
+
"dir",
|
|
335
|
+
"font",
|
|
336
|
+
"frame",
|
|
337
|
+
"frameset",
|
|
338
|
+
"hgroup",
|
|
339
|
+
"image",
|
|
340
|
+
"keygen",
|
|
341
|
+
"marquee",
|
|
342
|
+
"menuitem",
|
|
343
|
+
"nobr",
|
|
344
|
+
"noembed",
|
|
345
|
+
"noframes",
|
|
346
|
+
"plaintext",
|
|
347
|
+
"rb",
|
|
348
|
+
"rtc",
|
|
349
|
+
"shadow",
|
|
350
|
+
"spacer",
|
|
351
|
+
"strike",
|
|
352
|
+
"tt",
|
|
353
|
+
"xmp",
|
|
354
|
+
"a",
|
|
355
|
+
"abbr",
|
|
356
|
+
"acronym",
|
|
357
|
+
"address",
|
|
358
|
+
"applet",
|
|
359
|
+
"area",
|
|
360
|
+
"article",
|
|
361
|
+
"aside",
|
|
362
|
+
"audio",
|
|
363
|
+
"b",
|
|
364
|
+
"base",
|
|
365
|
+
"basefont",
|
|
366
|
+
"bdi",
|
|
367
|
+
"bdo",
|
|
368
|
+
"bgsound",
|
|
369
|
+
"big",
|
|
370
|
+
"blink",
|
|
371
|
+
"blockquote",
|
|
372
|
+
"body",
|
|
373
|
+
"br",
|
|
374
|
+
"button",
|
|
375
|
+
"canvas",
|
|
376
|
+
"caption",
|
|
377
|
+
"center",
|
|
378
|
+
"cite",
|
|
379
|
+
"code",
|
|
380
|
+
"col",
|
|
381
|
+
"colgroup",
|
|
382
|
+
"content",
|
|
383
|
+
"data",
|
|
384
|
+
"datalist",
|
|
385
|
+
"dd",
|
|
386
|
+
"del",
|
|
387
|
+
"details",
|
|
388
|
+
"dfn",
|
|
389
|
+
"dialog",
|
|
390
|
+
"dir",
|
|
391
|
+
"div",
|
|
392
|
+
"dl",
|
|
393
|
+
"dt",
|
|
394
|
+
"em",
|
|
395
|
+
"embed",
|
|
396
|
+
"fieldset",
|
|
397
|
+
"figcaption",
|
|
398
|
+
"figure",
|
|
399
|
+
"font",
|
|
400
|
+
"footer",
|
|
401
|
+
"form",
|
|
402
|
+
"frame",
|
|
403
|
+
"frameset",
|
|
404
|
+
"head",
|
|
405
|
+
"header",
|
|
406
|
+
"hgroup",
|
|
407
|
+
"hr",
|
|
408
|
+
"html",
|
|
409
|
+
"i",
|
|
410
|
+
"iframe",
|
|
411
|
+
"image",
|
|
412
|
+
"img",
|
|
413
|
+
"input",
|
|
414
|
+
"ins",
|
|
415
|
+
"kbd",
|
|
416
|
+
"keygen",
|
|
417
|
+
"label",
|
|
418
|
+
"legend",
|
|
419
|
+
"li",
|
|
420
|
+
"link",
|
|
421
|
+
"main",
|
|
422
|
+
"map",
|
|
423
|
+
"mark",
|
|
424
|
+
"marquee",
|
|
425
|
+
"menu",
|
|
426
|
+
"menuitem",
|
|
427
|
+
"meta",
|
|
428
|
+
"meter",
|
|
429
|
+
"nav",
|
|
430
|
+
"nobr",
|
|
431
|
+
"noembed",
|
|
432
|
+
"noframes",
|
|
433
|
+
"noscript",
|
|
434
|
+
"object",
|
|
435
|
+
"ol",
|
|
436
|
+
"optgroup",
|
|
437
|
+
"option",
|
|
438
|
+
"output",
|
|
439
|
+
"p",
|
|
440
|
+
"param",
|
|
441
|
+
"picture",
|
|
442
|
+
"plaintext",
|
|
443
|
+
"portal",
|
|
444
|
+
"pre",
|
|
445
|
+
"progress",
|
|
446
|
+
"q",
|
|
447
|
+
"rb",
|
|
448
|
+
"rp",
|
|
449
|
+
"rt",
|
|
450
|
+
"rtc",
|
|
451
|
+
"ruby",
|
|
452
|
+
"s",
|
|
453
|
+
"samp",
|
|
454
|
+
"script",
|
|
455
|
+
"section",
|
|
456
|
+
"select",
|
|
457
|
+
"shadow",
|
|
458
|
+
"slot",
|
|
459
|
+
"small",
|
|
460
|
+
"source",
|
|
461
|
+
"spacer",
|
|
462
|
+
"span",
|
|
463
|
+
"strike",
|
|
464
|
+
"strong",
|
|
465
|
+
"style",
|
|
466
|
+
"sub",
|
|
467
|
+
"summary",
|
|
468
|
+
"sup",
|
|
469
|
+
"table",
|
|
470
|
+
"tbody",
|
|
471
|
+
"td",
|
|
472
|
+
"template",
|
|
473
|
+
"textarea",
|
|
474
|
+
"tfoot",
|
|
475
|
+
"th",
|
|
476
|
+
"thead",
|
|
477
|
+
"time",
|
|
478
|
+
"title",
|
|
479
|
+
"tr",
|
|
480
|
+
"track",
|
|
481
|
+
"tt",
|
|
482
|
+
"u",
|
|
483
|
+
"ul",
|
|
484
|
+
"var",
|
|
485
|
+
"video",
|
|
486
|
+
"wbr",
|
|
487
|
+
"xmp",
|
|
488
|
+
"input",
|
|
489
|
+
"h1",
|
|
490
|
+
"h2",
|
|
491
|
+
"h3",
|
|
492
|
+
"h4",
|
|
493
|
+
"h5",
|
|
494
|
+
"h6"
|
|
495
|
+
]);
|
|
51
496
|
|
|
52
497
|
function reconcileArrays(parentNode, a, b) {
|
|
53
498
|
let bLength = b.length,
|
|
@@ -68,7 +513,7 @@ function reconcileArrays(parentNode, a, b) {
|
|
|
68
513
|
bEnd--;
|
|
69
514
|
}
|
|
70
515
|
if (aEnd === aStart) {
|
|
71
|
-
const node = bEnd < bLength ? bStart ? b[bStart - 1].nextSibling : b[bEnd - bStart] : after;
|
|
516
|
+
const node = bEnd < bLength ? (bStart ? b[bStart - 1].nextSibling : b[bEnd - bStart]) : after;
|
|
72
517
|
while (bStart < bEnd) parentNode.insertBefore(b[bStart++], node);
|
|
73
518
|
} else if (bEnd === bStart) {
|
|
74
519
|
while (aStart < aEnd) {
|
|
@@ -108,10 +553,17 @@ function reconcileArrays(parentNode, a, b) {
|
|
|
108
553
|
|
|
109
554
|
const $$EVENTS = "_$DX_DELEGATE";
|
|
110
555
|
function render(code, element, init, options = {}) {
|
|
556
|
+
if (!element) {
|
|
557
|
+
throw new Error(
|
|
558
|
+
"The `element` passed to `render(..., element)` doesn't exist. Make sure `element` exists in the document."
|
|
559
|
+
);
|
|
560
|
+
}
|
|
111
561
|
let disposer;
|
|
112
562
|
createRoot(dispose => {
|
|
113
563
|
disposer = dispose;
|
|
114
|
-
element === document
|
|
564
|
+
element === document
|
|
565
|
+
? code()
|
|
566
|
+
: insert(element, code(), element.firstChild ? null : undefined, init);
|
|
115
567
|
}, options.owner);
|
|
116
568
|
return () => {
|
|
117
569
|
disposer();
|
|
@@ -121,12 +573,17 @@ function render(code, element, init, options = {}) {
|
|
|
121
573
|
function template(html, isCE, isSVG) {
|
|
122
574
|
let node;
|
|
123
575
|
const create = () => {
|
|
124
|
-
if (sharedConfig.context)
|
|
576
|
+
if (sharedConfig.context)
|
|
577
|
+
throw new Error(
|
|
578
|
+
"Failed attempt to create new DOM elements during hydration. Check that the libraries you are using support hydration."
|
|
579
|
+
);
|
|
125
580
|
const t = document.createElement("template");
|
|
126
581
|
t.innerHTML = html;
|
|
127
582
|
return isSVG ? t.content.firstChild.firstChild : t.content.firstChild;
|
|
128
583
|
};
|
|
129
|
-
const fn = isCE
|
|
584
|
+
const fn = isCE
|
|
585
|
+
? () => untrack(() => document.importNode(node || (node = create()), true))
|
|
586
|
+
: () => (node || (node = create())).cloneNode(true);
|
|
130
587
|
fn.cloneNode = fn;
|
|
131
588
|
return fn;
|
|
132
589
|
}
|
|
@@ -151,15 +608,18 @@ function setProperty(node, name, value) {
|
|
|
151
608
|
}
|
|
152
609
|
function setAttribute(node, name, value) {
|
|
153
610
|
if (sharedConfig.context) return;
|
|
154
|
-
if (value == null) node.removeAttribute(name);
|
|
611
|
+
if (value == null) node.removeAttribute(name);
|
|
612
|
+
else node.setAttribute(name, value);
|
|
155
613
|
}
|
|
156
614
|
function setAttributeNS(node, namespace, name, value) {
|
|
157
615
|
if (sharedConfig.context) return;
|
|
158
|
-
if (value == null) node.removeAttributeNS(namespace, name);
|
|
616
|
+
if (value == null) node.removeAttributeNS(namespace, name);
|
|
617
|
+
else node.setAttributeNS(namespace, name, value);
|
|
159
618
|
}
|
|
160
619
|
function className(node, value) {
|
|
161
620
|
if (sharedConfig.context) return;
|
|
162
|
-
if (value == null) node.removeAttribute("class");
|
|
621
|
+
if (value == null) node.removeAttribute("class");
|
|
622
|
+
else node.className = value;
|
|
163
623
|
}
|
|
164
624
|
function addEventListener(node, name, handler, delegate) {
|
|
165
625
|
if (delegate) {
|
|
@@ -169,7 +629,7 @@ function addEventListener(node, name, handler, delegate) {
|
|
|
169
629
|
} else node[`$$${name}`] = handler;
|
|
170
630
|
} else if (Array.isArray(handler)) {
|
|
171
631
|
const handlerFn = handler[0];
|
|
172
|
-
node.addEventListener(name, handler[0] = e => handlerFn.call(node, handler[1], e));
|
|
632
|
+
node.addEventListener(name, (handler[0] = e => handlerFn.call(node, handler[1], e)));
|
|
173
633
|
} else node.addEventListener(name, handler);
|
|
174
634
|
}
|
|
175
635
|
function classList(node, value, prev = {}) {
|
|
@@ -194,7 +654,7 @@ function classList(node, value, prev = {}) {
|
|
|
194
654
|
function style(node, value, prev) {
|
|
195
655
|
if (!value) return prev ? setAttribute(node, "style") : value;
|
|
196
656
|
const nodeStyle = node.style;
|
|
197
|
-
if (typeof value === "string") return nodeStyle.cssText = value;
|
|
657
|
+
if (typeof value === "string") return (nodeStyle.cssText = value);
|
|
198
658
|
typeof prev === "string" && (nodeStyle.cssText = prev = undefined);
|
|
199
659
|
prev || (prev = {});
|
|
200
660
|
value || (value = {});
|
|
@@ -215,7 +675,9 @@ function style(node, value, prev) {
|
|
|
215
675
|
function spread(node, props = {}, isSVG, skipChildren) {
|
|
216
676
|
const prevProps = {};
|
|
217
677
|
if (!skipChildren) {
|
|
218
|
-
createRenderEffect(
|
|
678
|
+
createRenderEffect(
|
|
679
|
+
() => (prevProps.children = insertExpression(node, props.children, prevProps.children))
|
|
680
|
+
);
|
|
219
681
|
}
|
|
220
682
|
createRenderEffect(() => props.ref && props.ref(node));
|
|
221
683
|
createRenderEffect(() => assign(node, props, isSVG, true, prevProps, true));
|
|
@@ -274,8 +736,9 @@ function hydrate$1(code, element, options = {}) {
|
|
|
274
736
|
}
|
|
275
737
|
function getNextElement(template) {
|
|
276
738
|
let node, key;
|
|
277
|
-
if (!sharedConfig.context || !(node = sharedConfig.registry.get(key = getHydrationKey()))) {
|
|
278
|
-
if (sharedConfig.context)
|
|
739
|
+
if (!sharedConfig.context || !(node = sharedConfig.registry.get((key = getHydrationKey())))) {
|
|
740
|
+
if (sharedConfig.context)
|
|
741
|
+
throw new Error(`Hydration Mismatch. Unable to find DOM nodes for hydration key: ${key}`);
|
|
279
742
|
return template();
|
|
280
743
|
}
|
|
281
744
|
if (sharedConfig.completed) sharedConfig.completed.add(node);
|
|
@@ -294,7 +757,8 @@ function getNextMarker(start) {
|
|
|
294
757
|
while (end) {
|
|
295
758
|
if (end.nodeType === 8) {
|
|
296
759
|
const v = end.nodeValue;
|
|
297
|
-
if (v === "$") count++;
|
|
760
|
+
if (v === "$") count++;
|
|
761
|
+
else if (v === "/") {
|
|
298
762
|
if (count === 0) return [end, current];
|
|
299
763
|
count--;
|
|
300
764
|
}
|
|
@@ -308,10 +772,7 @@ function getNextMarker(start) {
|
|
|
308
772
|
function runHydrationEvents() {
|
|
309
773
|
if (sharedConfig.events && !sharedConfig.events.queued) {
|
|
310
774
|
queueMicrotask(() => {
|
|
311
|
-
const {
|
|
312
|
-
completed,
|
|
313
|
-
events
|
|
314
|
-
} = sharedConfig;
|
|
775
|
+
const { completed, events } = sharedConfig;
|
|
315
776
|
events.queued = false;
|
|
316
777
|
while (events.length) {
|
|
317
778
|
const [el, e] = events[0];
|
|
@@ -328,7 +789,8 @@ function toPropertyName(name) {
|
|
|
328
789
|
}
|
|
329
790
|
function toggleClassKey(node, key, value) {
|
|
330
791
|
const classNames = key.trim().split(/\s+/);
|
|
331
|
-
for (let i = 0, nameLen = classNames.length; i < nameLen; i++)
|
|
792
|
+
for (let i = 0, nameLen = classNames.length; i < nameLen; i++)
|
|
793
|
+
node.classList.toggle(classNames[i], value);
|
|
332
794
|
}
|
|
333
795
|
function assignProp(node, prop, value, prev, isSVG, skipRef) {
|
|
334
796
|
let isCE, isProp, isChildProp, propAlias, forceProp;
|
|
@@ -358,21 +820,30 @@ function assignProp(node, prop, value, prev, isSVG, skipRef) {
|
|
|
358
820
|
}
|
|
359
821
|
} else if (prop.slice(0, 5) === "attr:") {
|
|
360
822
|
setAttribute(node, prop.slice(5), value);
|
|
361
|
-
} else if (
|
|
823
|
+
} else if (
|
|
824
|
+
(forceProp = prop.slice(0, 5) === "prop:") ||
|
|
825
|
+
(isChildProp = ChildProperties.has(prop)) ||
|
|
826
|
+
(!isSVG &&
|
|
827
|
+
((propAlias = getPropAlias(prop, node.tagName)) || (isProp = Properties.has(prop)))) ||
|
|
828
|
+
(isCE = node.nodeName.includes("-"))
|
|
829
|
+
) {
|
|
362
830
|
if (forceProp) {
|
|
363
831
|
prop = prop.slice(5);
|
|
364
832
|
isProp = true;
|
|
365
833
|
} else if (sharedConfig.context) return value;
|
|
366
|
-
if (prop === "class" || prop === "className") className(node, value);
|
|
834
|
+
if (prop === "class" || prop === "className") className(node, value);
|
|
835
|
+
else if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;
|
|
836
|
+
else node[propAlias || prop] = value;
|
|
367
837
|
} else {
|
|
368
838
|
const ns = isSVG && prop.indexOf(":") > -1 && SVGNamespace[prop.split(":")[0]];
|
|
369
|
-
if (ns) setAttributeNS(node, ns, prop, value);
|
|
839
|
+
if (ns) setAttributeNS(node, ns, prop, value);
|
|
840
|
+
else setAttribute(node, Aliases[prop] || prop, value);
|
|
370
841
|
}
|
|
371
842
|
return value;
|
|
372
843
|
}
|
|
373
844
|
function eventHandler(e) {
|
|
374
845
|
const key = `$$${e.type}`;
|
|
375
|
-
let node = e.composedPath && e.composedPath()[0] || e.target;
|
|
846
|
+
let node = (e.composedPath && e.composedPath()[0]) || e.target;
|
|
376
847
|
if (e.target !== node) {
|
|
377
848
|
Object.defineProperty(e, "target", {
|
|
378
849
|
configurable: true,
|
|
@@ -402,7 +873,8 @@ function insertExpression(parent, value, current, marker, unwrapArray) {
|
|
|
402
873
|
let cleaned = [];
|
|
403
874
|
for (let i = 0; i < current.length; i++) {
|
|
404
875
|
const node = current[i];
|
|
405
|
-
if (node.nodeType === 8 && node.data.slice(0, 2) === "!$") node.remove();
|
|
876
|
+
if (node.nodeType === 8 && node.data.slice(0, 2) === "!$") node.remove();
|
|
877
|
+
else cleaned.push(node);
|
|
406
878
|
}
|
|
407
879
|
current = cleaned;
|
|
408
880
|
}
|
|
@@ -410,7 +882,7 @@ function insertExpression(parent, value, current, marker, unwrapArray) {
|
|
|
410
882
|
if (value === current) return current;
|
|
411
883
|
const t = typeof value,
|
|
412
884
|
multi = marker !== undefined;
|
|
413
|
-
parent = multi && current[0] && current[0].parentNode || parent;
|
|
885
|
+
parent = (multi && current[0] && current[0].parentNode) || parent;
|
|
414
886
|
if (t === "string" || t === "number") {
|
|
415
887
|
if (sharedConfig.context) return current;
|
|
416
888
|
if (t === "number") value = value.toString();
|
|
@@ -439,7 +911,7 @@ function insertExpression(parent, value, current, marker, unwrapArray) {
|
|
|
439
911
|
const array = [];
|
|
440
912
|
const currentArray = current && Array.isArray(current);
|
|
441
913
|
if (normalizeIncomingArray(array, value, current, unwrapArray)) {
|
|
442
|
-
createRenderEffect(() => current = insertExpression(parent, array, current, marker, true));
|
|
914
|
+
createRenderEffect(() => (current = insertExpression(parent, array, current, marker, true)));
|
|
443
915
|
return () => current;
|
|
444
916
|
}
|
|
445
917
|
if (sharedConfig.context) {
|
|
@@ -448,7 +920,7 @@ function insertExpression(parent, value, current, marker, unwrapArray) {
|
|
|
448
920
|
let node = array[0];
|
|
449
921
|
let nodes = [node];
|
|
450
922
|
while ((node = node.nextSibling) !== marker) nodes.push(node);
|
|
451
|
-
return current = nodes;
|
|
923
|
+
return (current = nodes);
|
|
452
924
|
}
|
|
453
925
|
if (array.length === 0) {
|
|
454
926
|
current = cleanChildren(parent, current, marker);
|
|
@@ -463,9 +935,9 @@ function insertExpression(parent, value, current, marker, unwrapArray) {
|
|
|
463
935
|
}
|
|
464
936
|
current = array;
|
|
465
937
|
} else if (value.nodeType) {
|
|
466
|
-
if (sharedConfig.context && value.parentNode) return current = multi ? [value] : value;
|
|
938
|
+
if (sharedConfig.context && value.parentNode) return (current = multi ? [value] : value);
|
|
467
939
|
if (Array.isArray(current)) {
|
|
468
|
-
if (multi) return current = cleanChildren(parent, current, marker, value);
|
|
940
|
+
if (multi) return (current = cleanChildren(parent, current, marker, value));
|
|
469
941
|
cleanChildren(parent, current, null, value);
|
|
470
942
|
} else if (current == null || current === "" || !parent.firstChild) {
|
|
471
943
|
parent.appendChild(value);
|
|
@@ -480,21 +952,28 @@ function normalizeIncomingArray(normalized, array, current, unwrap) {
|
|
|
480
952
|
let item = array[i],
|
|
481
953
|
prev = current && current[i],
|
|
482
954
|
t;
|
|
483
|
-
if (item == null || item === true || item === false)
|
|
955
|
+
if (item == null || item === true || item === false);
|
|
956
|
+
else if ((t = typeof item) === "object" && item.nodeType) {
|
|
484
957
|
normalized.push(item);
|
|
485
958
|
} else if (Array.isArray(item)) {
|
|
486
959
|
dynamic = normalizeIncomingArray(normalized, item, prev) || dynamic;
|
|
487
960
|
} else if (t === "function") {
|
|
488
961
|
if (unwrap) {
|
|
489
962
|
while (typeof item === "function") item = item();
|
|
490
|
-
dynamic =
|
|
963
|
+
dynamic =
|
|
964
|
+
normalizeIncomingArray(
|
|
965
|
+
normalized,
|
|
966
|
+
Array.isArray(item) ? item : [item],
|
|
967
|
+
Array.isArray(prev) ? prev : [prev]
|
|
968
|
+
) || dynamic;
|
|
491
969
|
} else {
|
|
492
970
|
normalized.push(item);
|
|
493
971
|
dynamic = true;
|
|
494
972
|
}
|
|
495
973
|
} else {
|
|
496
974
|
const value = String(item);
|
|
497
|
-
if (prev && prev.nodeType === 3 && prev.data === value) normalized.push(prev);
|
|
975
|
+
if (prev && prev.nodeType === 3 && prev.data === value) normalized.push(prev);
|
|
976
|
+
else normalized.push(document.createTextNode(value));
|
|
498
977
|
}
|
|
499
978
|
}
|
|
500
979
|
return dynamic;
|
|
@@ -503,7 +982,7 @@ function appendNodes(parent, array, marker = null) {
|
|
|
503
982
|
for (let i = 0, len = array.length; i < len; i++) parent.insertBefore(array[i], marker);
|
|
504
983
|
}
|
|
505
984
|
function cleanChildren(parent, current, marker, replacement) {
|
|
506
|
-
if (marker === undefined) return parent.textContent = "";
|
|
985
|
+
if (marker === undefined) return (parent.textContent = "");
|
|
507
986
|
const node = replacement || document.createTextNode("");
|
|
508
987
|
if (current.length) {
|
|
509
988
|
let inserted = false;
|
|
@@ -511,7 +990,9 @@ function cleanChildren(parent, current, marker, replacement) {
|
|
|
511
990
|
const el = current[i];
|
|
512
991
|
if (node !== el) {
|
|
513
992
|
const isParent = el.parentNode === parent;
|
|
514
|
-
if (!inserted && !i)
|
|
993
|
+
if (!inserted && !i)
|
|
994
|
+
isParent ? parent.replaceChild(node, el) : parent.insertBefore(node, marker);
|
|
995
|
+
else isParent && el.remove();
|
|
515
996
|
} else inserted = true;
|
|
516
997
|
}
|
|
517
998
|
} else parent.insertBefore(node, marker);
|
|
@@ -522,7 +1003,8 @@ function gatherHydratable(element, root) {
|
|
|
522
1003
|
for (let i = 0; i < templates.length; i++) {
|
|
523
1004
|
const node = templates[i];
|
|
524
1005
|
const key = node.getAttribute("data-hk");
|
|
525
|
-
if ((!root || key.startsWith(root)) && !sharedConfig.registry.has(key))
|
|
1006
|
+
if ((!root || key.startsWith(root)) && !sharedConfig.registry.has(key))
|
|
1007
|
+
sharedConfig.registry.set(key, node);
|
|
526
1008
|
}
|
|
527
1009
|
}
|
|
528
1010
|
function getHydrationKey() {
|
|
@@ -575,42 +1057,47 @@ const hydrate = (...args) => {
|
|
|
575
1057
|
return hydrate$1(...args);
|
|
576
1058
|
};
|
|
577
1059
|
function Portal(props) {
|
|
578
|
-
const {
|
|
579
|
-
useShadow
|
|
580
|
-
} = props,
|
|
1060
|
+
const { useShadow } = props,
|
|
581
1061
|
marker = document.createTextNode(""),
|
|
582
1062
|
mount = () => props.mount || document.body,
|
|
583
1063
|
owner = getOwner();
|
|
584
1064
|
let content;
|
|
585
1065
|
let hydrating = !!sharedConfig.context;
|
|
586
|
-
createEffect(
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
1066
|
+
createEffect(
|
|
1067
|
+
() => {
|
|
1068
|
+
if (hydrating) getOwner().user = hydrating = false;
|
|
1069
|
+
content || (content = runWithOwner(owner, () => createMemo(() => props.children)));
|
|
1070
|
+
const el = mount();
|
|
1071
|
+
if (el instanceof HTMLHeadElement) {
|
|
1072
|
+
const [clean, setClean] = createSignal(false);
|
|
1073
|
+
const cleanup = () => setClean(true);
|
|
1074
|
+
createRoot(dispose => insert(el, () => (!clean() ? content() : dispose()), null));
|
|
1075
|
+
onCleanup(cleanup);
|
|
1076
|
+
} else {
|
|
1077
|
+
const container = createElement(props.isSVG ? "g" : "div", props.isSVG),
|
|
1078
|
+
renderRoot =
|
|
1079
|
+
useShadow && container.attachShadow
|
|
1080
|
+
? container.attachShadow({
|
|
1081
|
+
mode: "open"
|
|
1082
|
+
})
|
|
1083
|
+
: container;
|
|
1084
|
+
Object.defineProperty(container, "_$host", {
|
|
1085
|
+
get() {
|
|
1086
|
+
return marker.parentNode;
|
|
1087
|
+
},
|
|
1088
|
+
configurable: true
|
|
1089
|
+
});
|
|
1090
|
+
insert(renderRoot, content);
|
|
1091
|
+
el.appendChild(container);
|
|
1092
|
+
props.ref && props.ref(container);
|
|
1093
|
+
onCleanup(() => el.removeChild(container));
|
|
1094
|
+
}
|
|
1095
|
+
},
|
|
1096
|
+
undefined,
|
|
1097
|
+
{
|
|
1098
|
+
render: !hydrating
|
|
610
1099
|
}
|
|
611
|
-
|
|
612
|
-
render: !hydrating
|
|
613
|
-
});
|
|
1100
|
+
);
|
|
614
1101
|
return marker;
|
|
615
1102
|
}
|
|
616
1103
|
function Dynamic(props) {
|
|
@@ -633,4 +1120,61 @@ function Dynamic(props) {
|
|
|
633
1120
|
});
|
|
634
1121
|
}
|
|
635
1122
|
|
|
636
|
-
export {
|
|
1123
|
+
export {
|
|
1124
|
+
Aliases,
|
|
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
|
+
classList,
|
|
1141
|
+
className,
|
|
1142
|
+
clearDelegatedEvents,
|
|
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
|
+
innerHTML,
|
|
1156
|
+
insert,
|
|
1157
|
+
isDev,
|
|
1158
|
+
isServer,
|
|
1159
|
+
render,
|
|
1160
|
+
renderToStream,
|
|
1161
|
+
renderToString,
|
|
1162
|
+
renderToStringAsync,
|
|
1163
|
+
resolveSSRNode,
|
|
1164
|
+
runHydrationEvents,
|
|
1165
|
+
setAttribute,
|
|
1166
|
+
setAttributeNS,
|
|
1167
|
+
setProperty,
|
|
1168
|
+
spread,
|
|
1169
|
+
ssr,
|
|
1170
|
+
ssrAttribute,
|
|
1171
|
+
ssrClassList,
|
|
1172
|
+
ssrElement,
|
|
1173
|
+
ssrHydrationKey,
|
|
1174
|
+
ssrSpread,
|
|
1175
|
+
ssrStyle,
|
|
1176
|
+
style,
|
|
1177
|
+
template,
|
|
1178
|
+
use,
|
|
1179
|
+
voidFn as useAssets
|
|
1180
|
+
};
|