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/web.js
CHANGED
|
@@ -1,14 +1,82 @@
|
|
|
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
|
+
} from "solid-js";
|
|
15
|
+
export {
|
|
16
|
+
ErrorBoundary,
|
|
17
|
+
For,
|
|
18
|
+
Index,
|
|
19
|
+
Match,
|
|
20
|
+
Show,
|
|
21
|
+
Suspense,
|
|
22
|
+
SuspenseList,
|
|
23
|
+
Switch,
|
|
24
|
+
createComponent,
|
|
25
|
+
createRenderEffect as effect,
|
|
26
|
+
getOwner,
|
|
27
|
+
createMemo as memo,
|
|
28
|
+
mergeProps,
|
|
29
|
+
untrack
|
|
30
|
+
} from "solid-js";
|
|
3
31
|
|
|
4
|
-
const booleans = [
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
32
|
+
const booleans = [
|
|
33
|
+
"allowfullscreen",
|
|
34
|
+
"async",
|
|
35
|
+
"autofocus",
|
|
36
|
+
"autoplay",
|
|
37
|
+
"checked",
|
|
38
|
+
"controls",
|
|
39
|
+
"default",
|
|
40
|
+
"disabled",
|
|
41
|
+
"formnovalidate",
|
|
42
|
+
"hidden",
|
|
43
|
+
"indeterminate",
|
|
44
|
+
"inert",
|
|
45
|
+
"ismap",
|
|
46
|
+
"loop",
|
|
47
|
+
"multiple",
|
|
48
|
+
"muted",
|
|
49
|
+
"nomodule",
|
|
50
|
+
"novalidate",
|
|
51
|
+
"open",
|
|
52
|
+
"playsinline",
|
|
53
|
+
"readonly",
|
|
54
|
+
"required",
|
|
55
|
+
"reversed",
|
|
56
|
+
"seamless",
|
|
57
|
+
"selected"
|
|
58
|
+
];
|
|
59
|
+
const Properties = /*#__PURE__*/ new Set([
|
|
60
|
+
"className",
|
|
61
|
+
"value",
|
|
62
|
+
"readOnly",
|
|
63
|
+
"formNoValidate",
|
|
64
|
+
"isMap",
|
|
65
|
+
"noModule",
|
|
66
|
+
"playsInline",
|
|
67
|
+
...booleans
|
|
68
|
+
]);
|
|
69
|
+
const ChildProperties = /*#__PURE__*/ new Set([
|
|
70
|
+
"innerHTML",
|
|
71
|
+
"textContent",
|
|
72
|
+
"innerText",
|
|
73
|
+
"children"
|
|
74
|
+
]);
|
|
75
|
+
const Aliases = /*#__PURE__*/ Object.assign(Object.create(null), {
|
|
8
76
|
className: "class",
|
|
9
77
|
htmlFor: "for"
|
|
10
78
|
});
|
|
11
|
-
const PropAliases = /*#__PURE__*/Object.assign(Object.create(null), {
|
|
79
|
+
const PropAliases = /*#__PURE__*/ Object.assign(Object.create(null), {
|
|
12
80
|
class: "className",
|
|
13
81
|
formnovalidate: {
|
|
14
82
|
$: "formNoValidate",
|
|
@@ -35,19 +103,395 @@ const PropAliases = /*#__PURE__*/Object.assign(Object.create(null), {
|
|
|
35
103
|
});
|
|
36
104
|
function getPropAlias(prop, tagName) {
|
|
37
105
|
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
|
-
"
|
|
106
|
+
return typeof a === "object" ? (a[tagName] ? a["$"] : undefined) : a;
|
|
107
|
+
}
|
|
108
|
+
const DelegatedEvents = /*#__PURE__*/ new Set([
|
|
109
|
+
"beforeinput",
|
|
110
|
+
"click",
|
|
111
|
+
"dblclick",
|
|
112
|
+
"contextmenu",
|
|
113
|
+
"focusin",
|
|
114
|
+
"focusout",
|
|
115
|
+
"input",
|
|
116
|
+
"keydown",
|
|
117
|
+
"keyup",
|
|
118
|
+
"mousedown",
|
|
119
|
+
"mousemove",
|
|
120
|
+
"mouseout",
|
|
121
|
+
"mouseover",
|
|
122
|
+
"mouseup",
|
|
123
|
+
"pointerdown",
|
|
124
|
+
"pointermove",
|
|
125
|
+
"pointerout",
|
|
126
|
+
"pointerover",
|
|
127
|
+
"pointerup",
|
|
128
|
+
"touchend",
|
|
129
|
+
"touchmove",
|
|
130
|
+
"touchstart"
|
|
131
|
+
]);
|
|
132
|
+
const SVGElements = /*#__PURE__*/ new Set([
|
|
133
|
+
"altGlyph",
|
|
134
|
+
"altGlyphDef",
|
|
135
|
+
"altGlyphItem",
|
|
136
|
+
"animate",
|
|
137
|
+
"animateColor",
|
|
138
|
+
"animateMotion",
|
|
139
|
+
"animateTransform",
|
|
140
|
+
"circle",
|
|
141
|
+
"clipPath",
|
|
142
|
+
"color-profile",
|
|
143
|
+
"cursor",
|
|
144
|
+
"defs",
|
|
145
|
+
"desc",
|
|
146
|
+
"ellipse",
|
|
147
|
+
"feBlend",
|
|
148
|
+
"feColorMatrix",
|
|
149
|
+
"feComponentTransfer",
|
|
150
|
+
"feComposite",
|
|
151
|
+
"feConvolveMatrix",
|
|
152
|
+
"feDiffuseLighting",
|
|
153
|
+
"feDisplacementMap",
|
|
154
|
+
"feDistantLight",
|
|
155
|
+
"feFlood",
|
|
156
|
+
"feFuncA",
|
|
157
|
+
"feFuncB",
|
|
158
|
+
"feFuncG",
|
|
159
|
+
"feFuncR",
|
|
160
|
+
"feGaussianBlur",
|
|
161
|
+
"feImage",
|
|
162
|
+
"feMerge",
|
|
163
|
+
"feMergeNode",
|
|
164
|
+
"feMorphology",
|
|
165
|
+
"feOffset",
|
|
166
|
+
"fePointLight",
|
|
167
|
+
"feSpecularLighting",
|
|
168
|
+
"feSpotLight",
|
|
169
|
+
"feTile",
|
|
170
|
+
"feTurbulence",
|
|
171
|
+
"filter",
|
|
172
|
+
"font",
|
|
173
|
+
"font-face",
|
|
174
|
+
"font-face-format",
|
|
175
|
+
"font-face-name",
|
|
176
|
+
"font-face-src",
|
|
177
|
+
"font-face-uri",
|
|
178
|
+
"foreignObject",
|
|
179
|
+
"g",
|
|
180
|
+
"glyph",
|
|
181
|
+
"glyphRef",
|
|
182
|
+
"hkern",
|
|
183
|
+
"image",
|
|
184
|
+
"line",
|
|
185
|
+
"linearGradient",
|
|
186
|
+
"marker",
|
|
187
|
+
"mask",
|
|
188
|
+
"metadata",
|
|
189
|
+
"missing-glyph",
|
|
190
|
+
"mpath",
|
|
191
|
+
"path",
|
|
192
|
+
"pattern",
|
|
193
|
+
"polygon",
|
|
194
|
+
"polyline",
|
|
195
|
+
"radialGradient",
|
|
196
|
+
"rect",
|
|
197
|
+
"set",
|
|
198
|
+
"stop",
|
|
199
|
+
"svg",
|
|
200
|
+
"switch",
|
|
201
|
+
"symbol",
|
|
202
|
+
"text",
|
|
203
|
+
"textPath",
|
|
204
|
+
"tref",
|
|
205
|
+
"tspan",
|
|
206
|
+
"use",
|
|
207
|
+
"view",
|
|
208
|
+
"vkern"
|
|
209
|
+
]);
|
|
46
210
|
const SVGNamespace = {
|
|
47
211
|
xlink: "http://www.w3.org/1999/xlink",
|
|
48
212
|
xml: "http://www.w3.org/XML/1998/namespace"
|
|
49
213
|
};
|
|
50
|
-
const DOMElements = /*#__PURE__*/new Set([
|
|
214
|
+
const DOMElements = /*#__PURE__*/ new Set([
|
|
215
|
+
"html",
|
|
216
|
+
"base",
|
|
217
|
+
"head",
|
|
218
|
+
"link",
|
|
219
|
+
"meta",
|
|
220
|
+
"style",
|
|
221
|
+
"title",
|
|
222
|
+
"body",
|
|
223
|
+
"address",
|
|
224
|
+
"article",
|
|
225
|
+
"aside",
|
|
226
|
+
"footer",
|
|
227
|
+
"header",
|
|
228
|
+
"main",
|
|
229
|
+
"nav",
|
|
230
|
+
"section",
|
|
231
|
+
"body",
|
|
232
|
+
"blockquote",
|
|
233
|
+
"dd",
|
|
234
|
+
"div",
|
|
235
|
+
"dl",
|
|
236
|
+
"dt",
|
|
237
|
+
"figcaption",
|
|
238
|
+
"figure",
|
|
239
|
+
"hr",
|
|
240
|
+
"li",
|
|
241
|
+
"ol",
|
|
242
|
+
"p",
|
|
243
|
+
"pre",
|
|
244
|
+
"ul",
|
|
245
|
+
"a",
|
|
246
|
+
"abbr",
|
|
247
|
+
"b",
|
|
248
|
+
"bdi",
|
|
249
|
+
"bdo",
|
|
250
|
+
"br",
|
|
251
|
+
"cite",
|
|
252
|
+
"code",
|
|
253
|
+
"data",
|
|
254
|
+
"dfn",
|
|
255
|
+
"em",
|
|
256
|
+
"i",
|
|
257
|
+
"kbd",
|
|
258
|
+
"mark",
|
|
259
|
+
"q",
|
|
260
|
+
"rp",
|
|
261
|
+
"rt",
|
|
262
|
+
"ruby",
|
|
263
|
+
"s",
|
|
264
|
+
"samp",
|
|
265
|
+
"small",
|
|
266
|
+
"span",
|
|
267
|
+
"strong",
|
|
268
|
+
"sub",
|
|
269
|
+
"sup",
|
|
270
|
+
"time",
|
|
271
|
+
"u",
|
|
272
|
+
"var",
|
|
273
|
+
"wbr",
|
|
274
|
+
"area",
|
|
275
|
+
"audio",
|
|
276
|
+
"img",
|
|
277
|
+
"map",
|
|
278
|
+
"track",
|
|
279
|
+
"video",
|
|
280
|
+
"embed",
|
|
281
|
+
"iframe",
|
|
282
|
+
"object",
|
|
283
|
+
"param",
|
|
284
|
+
"picture",
|
|
285
|
+
"portal",
|
|
286
|
+
"source",
|
|
287
|
+
"svg",
|
|
288
|
+
"math",
|
|
289
|
+
"canvas",
|
|
290
|
+
"noscript",
|
|
291
|
+
"script",
|
|
292
|
+
"del",
|
|
293
|
+
"ins",
|
|
294
|
+
"caption",
|
|
295
|
+
"col",
|
|
296
|
+
"colgroup",
|
|
297
|
+
"table",
|
|
298
|
+
"tbody",
|
|
299
|
+
"td",
|
|
300
|
+
"tfoot",
|
|
301
|
+
"th",
|
|
302
|
+
"thead",
|
|
303
|
+
"tr",
|
|
304
|
+
"button",
|
|
305
|
+
"datalist",
|
|
306
|
+
"fieldset",
|
|
307
|
+
"form",
|
|
308
|
+
"input",
|
|
309
|
+
"label",
|
|
310
|
+
"legend",
|
|
311
|
+
"meter",
|
|
312
|
+
"optgroup",
|
|
313
|
+
"option",
|
|
314
|
+
"output",
|
|
315
|
+
"progress",
|
|
316
|
+
"select",
|
|
317
|
+
"textarea",
|
|
318
|
+
"details",
|
|
319
|
+
"dialog",
|
|
320
|
+
"menu",
|
|
321
|
+
"summary",
|
|
322
|
+
"details",
|
|
323
|
+
"slot",
|
|
324
|
+
"template",
|
|
325
|
+
"acronym",
|
|
326
|
+
"applet",
|
|
327
|
+
"basefont",
|
|
328
|
+
"bgsound",
|
|
329
|
+
"big",
|
|
330
|
+
"blink",
|
|
331
|
+
"center",
|
|
332
|
+
"content",
|
|
333
|
+
"dir",
|
|
334
|
+
"font",
|
|
335
|
+
"frame",
|
|
336
|
+
"frameset",
|
|
337
|
+
"hgroup",
|
|
338
|
+
"image",
|
|
339
|
+
"keygen",
|
|
340
|
+
"marquee",
|
|
341
|
+
"menuitem",
|
|
342
|
+
"nobr",
|
|
343
|
+
"noembed",
|
|
344
|
+
"noframes",
|
|
345
|
+
"plaintext",
|
|
346
|
+
"rb",
|
|
347
|
+
"rtc",
|
|
348
|
+
"shadow",
|
|
349
|
+
"spacer",
|
|
350
|
+
"strike",
|
|
351
|
+
"tt",
|
|
352
|
+
"xmp",
|
|
353
|
+
"a",
|
|
354
|
+
"abbr",
|
|
355
|
+
"acronym",
|
|
356
|
+
"address",
|
|
357
|
+
"applet",
|
|
358
|
+
"area",
|
|
359
|
+
"article",
|
|
360
|
+
"aside",
|
|
361
|
+
"audio",
|
|
362
|
+
"b",
|
|
363
|
+
"base",
|
|
364
|
+
"basefont",
|
|
365
|
+
"bdi",
|
|
366
|
+
"bdo",
|
|
367
|
+
"bgsound",
|
|
368
|
+
"big",
|
|
369
|
+
"blink",
|
|
370
|
+
"blockquote",
|
|
371
|
+
"body",
|
|
372
|
+
"br",
|
|
373
|
+
"button",
|
|
374
|
+
"canvas",
|
|
375
|
+
"caption",
|
|
376
|
+
"center",
|
|
377
|
+
"cite",
|
|
378
|
+
"code",
|
|
379
|
+
"col",
|
|
380
|
+
"colgroup",
|
|
381
|
+
"content",
|
|
382
|
+
"data",
|
|
383
|
+
"datalist",
|
|
384
|
+
"dd",
|
|
385
|
+
"del",
|
|
386
|
+
"details",
|
|
387
|
+
"dfn",
|
|
388
|
+
"dialog",
|
|
389
|
+
"dir",
|
|
390
|
+
"div",
|
|
391
|
+
"dl",
|
|
392
|
+
"dt",
|
|
393
|
+
"em",
|
|
394
|
+
"embed",
|
|
395
|
+
"fieldset",
|
|
396
|
+
"figcaption",
|
|
397
|
+
"figure",
|
|
398
|
+
"font",
|
|
399
|
+
"footer",
|
|
400
|
+
"form",
|
|
401
|
+
"frame",
|
|
402
|
+
"frameset",
|
|
403
|
+
"head",
|
|
404
|
+
"header",
|
|
405
|
+
"hgroup",
|
|
406
|
+
"hr",
|
|
407
|
+
"html",
|
|
408
|
+
"i",
|
|
409
|
+
"iframe",
|
|
410
|
+
"image",
|
|
411
|
+
"img",
|
|
412
|
+
"input",
|
|
413
|
+
"ins",
|
|
414
|
+
"kbd",
|
|
415
|
+
"keygen",
|
|
416
|
+
"label",
|
|
417
|
+
"legend",
|
|
418
|
+
"li",
|
|
419
|
+
"link",
|
|
420
|
+
"main",
|
|
421
|
+
"map",
|
|
422
|
+
"mark",
|
|
423
|
+
"marquee",
|
|
424
|
+
"menu",
|
|
425
|
+
"menuitem",
|
|
426
|
+
"meta",
|
|
427
|
+
"meter",
|
|
428
|
+
"nav",
|
|
429
|
+
"nobr",
|
|
430
|
+
"noembed",
|
|
431
|
+
"noframes",
|
|
432
|
+
"noscript",
|
|
433
|
+
"object",
|
|
434
|
+
"ol",
|
|
435
|
+
"optgroup",
|
|
436
|
+
"option",
|
|
437
|
+
"output",
|
|
438
|
+
"p",
|
|
439
|
+
"param",
|
|
440
|
+
"picture",
|
|
441
|
+
"plaintext",
|
|
442
|
+
"portal",
|
|
443
|
+
"pre",
|
|
444
|
+
"progress",
|
|
445
|
+
"q",
|
|
446
|
+
"rb",
|
|
447
|
+
"rp",
|
|
448
|
+
"rt",
|
|
449
|
+
"rtc",
|
|
450
|
+
"ruby",
|
|
451
|
+
"s",
|
|
452
|
+
"samp",
|
|
453
|
+
"script",
|
|
454
|
+
"section",
|
|
455
|
+
"select",
|
|
456
|
+
"shadow",
|
|
457
|
+
"slot",
|
|
458
|
+
"small",
|
|
459
|
+
"source",
|
|
460
|
+
"spacer",
|
|
461
|
+
"span",
|
|
462
|
+
"strike",
|
|
463
|
+
"strong",
|
|
464
|
+
"style",
|
|
465
|
+
"sub",
|
|
466
|
+
"summary",
|
|
467
|
+
"sup",
|
|
468
|
+
"table",
|
|
469
|
+
"tbody",
|
|
470
|
+
"td",
|
|
471
|
+
"template",
|
|
472
|
+
"textarea",
|
|
473
|
+
"tfoot",
|
|
474
|
+
"th",
|
|
475
|
+
"thead",
|
|
476
|
+
"time",
|
|
477
|
+
"title",
|
|
478
|
+
"tr",
|
|
479
|
+
"track",
|
|
480
|
+
"tt",
|
|
481
|
+
"u",
|
|
482
|
+
"ul",
|
|
483
|
+
"var",
|
|
484
|
+
"video",
|
|
485
|
+
"wbr",
|
|
486
|
+
"xmp",
|
|
487
|
+
"input",
|
|
488
|
+
"h1",
|
|
489
|
+
"h2",
|
|
490
|
+
"h3",
|
|
491
|
+
"h4",
|
|
492
|
+
"h5",
|
|
493
|
+
"h6"
|
|
494
|
+
]);
|
|
51
495
|
|
|
52
496
|
function reconcileArrays(parentNode, a, b) {
|
|
53
497
|
let bLength = b.length,
|
|
@@ -68,7 +512,7 @@ function reconcileArrays(parentNode, a, b) {
|
|
|
68
512
|
bEnd--;
|
|
69
513
|
}
|
|
70
514
|
if (aEnd === aStart) {
|
|
71
|
-
const node = bEnd < bLength ? bStart ? b[bStart - 1].nextSibling : b[bEnd - bStart] : after;
|
|
515
|
+
const node = bEnd < bLength ? (bStart ? b[bStart - 1].nextSibling : b[bEnd - bStart]) : after;
|
|
72
516
|
while (bStart < bEnd) parentNode.insertBefore(b[bStart++], node);
|
|
73
517
|
} else if (bEnd === bStart) {
|
|
74
518
|
while (aStart < aEnd) {
|
|
@@ -111,7 +555,9 @@ function render(code, element, init, options = {}) {
|
|
|
111
555
|
let disposer;
|
|
112
556
|
createRoot(dispose => {
|
|
113
557
|
disposer = dispose;
|
|
114
|
-
element === document
|
|
558
|
+
element === document
|
|
559
|
+
? code()
|
|
560
|
+
: insert(element, code(), element.firstChild ? null : undefined, init);
|
|
115
561
|
}, options.owner);
|
|
116
562
|
return () => {
|
|
117
563
|
disposer();
|
|
@@ -125,7 +571,9 @@ function template(html, isCE, isSVG) {
|
|
|
125
571
|
t.innerHTML = html;
|
|
126
572
|
return isSVG ? t.content.firstChild.firstChild : t.content.firstChild;
|
|
127
573
|
};
|
|
128
|
-
const fn = isCE
|
|
574
|
+
const fn = isCE
|
|
575
|
+
? () => untrack(() => document.importNode(node || (node = create()), true))
|
|
576
|
+
: () => (node || (node = create())).cloneNode(true);
|
|
129
577
|
fn.cloneNode = fn;
|
|
130
578
|
return fn;
|
|
131
579
|
}
|
|
@@ -150,15 +598,18 @@ function setProperty(node, name, value) {
|
|
|
150
598
|
}
|
|
151
599
|
function setAttribute(node, name, value) {
|
|
152
600
|
if (sharedConfig.context) return;
|
|
153
|
-
if (value == null) node.removeAttribute(name);
|
|
601
|
+
if (value == null) node.removeAttribute(name);
|
|
602
|
+
else node.setAttribute(name, value);
|
|
154
603
|
}
|
|
155
604
|
function setAttributeNS(node, namespace, name, value) {
|
|
156
605
|
if (sharedConfig.context) return;
|
|
157
|
-
if (value == null) node.removeAttributeNS(namespace, name);
|
|
606
|
+
if (value == null) node.removeAttributeNS(namespace, name);
|
|
607
|
+
else node.setAttributeNS(namespace, name, value);
|
|
158
608
|
}
|
|
159
609
|
function className(node, value) {
|
|
160
610
|
if (sharedConfig.context) return;
|
|
161
|
-
if (value == null) node.removeAttribute("class");
|
|
611
|
+
if (value == null) node.removeAttribute("class");
|
|
612
|
+
else node.className = value;
|
|
162
613
|
}
|
|
163
614
|
function addEventListener(node, name, handler, delegate) {
|
|
164
615
|
if (delegate) {
|
|
@@ -168,7 +619,7 @@ function addEventListener(node, name, handler, delegate) {
|
|
|
168
619
|
} else node[`$$${name}`] = handler;
|
|
169
620
|
} else if (Array.isArray(handler)) {
|
|
170
621
|
const handlerFn = handler[0];
|
|
171
|
-
node.addEventListener(name, handler[0] = e => handlerFn.call(node, handler[1], e));
|
|
622
|
+
node.addEventListener(name, (handler[0] = e => handlerFn.call(node, handler[1], e)));
|
|
172
623
|
} else node.addEventListener(name, handler);
|
|
173
624
|
}
|
|
174
625
|
function classList(node, value, prev = {}) {
|
|
@@ -193,7 +644,7 @@ function classList(node, value, prev = {}) {
|
|
|
193
644
|
function style(node, value, prev) {
|
|
194
645
|
if (!value) return prev ? setAttribute(node, "style") : value;
|
|
195
646
|
const nodeStyle = node.style;
|
|
196
|
-
if (typeof value === "string") return nodeStyle.cssText = value;
|
|
647
|
+
if (typeof value === "string") return (nodeStyle.cssText = value);
|
|
197
648
|
typeof prev === "string" && (nodeStyle.cssText = prev = undefined);
|
|
198
649
|
prev || (prev = {});
|
|
199
650
|
value || (value = {});
|
|
@@ -214,7 +665,9 @@ function style(node, value, prev) {
|
|
|
214
665
|
function spread(node, props = {}, isSVG, skipChildren) {
|
|
215
666
|
const prevProps = {};
|
|
216
667
|
if (!skipChildren) {
|
|
217
|
-
createRenderEffect(
|
|
668
|
+
createRenderEffect(
|
|
669
|
+
() => (prevProps.children = insertExpression(node, props.children, prevProps.children))
|
|
670
|
+
);
|
|
218
671
|
}
|
|
219
672
|
createRenderEffect(() => props.ref && props.ref(node));
|
|
220
673
|
createRenderEffect(() => assign(node, props, isSVG, true, prevProps, true));
|
|
@@ -273,7 +726,7 @@ function hydrate$1(code, element, options = {}) {
|
|
|
273
726
|
}
|
|
274
727
|
function getNextElement(template) {
|
|
275
728
|
let node, key;
|
|
276
|
-
if (!sharedConfig.context || !(node = sharedConfig.registry.get(key = getHydrationKey()))) {
|
|
729
|
+
if (!sharedConfig.context || !(node = sharedConfig.registry.get((key = getHydrationKey())))) {
|
|
277
730
|
return template();
|
|
278
731
|
}
|
|
279
732
|
if (sharedConfig.completed) sharedConfig.completed.add(node);
|
|
@@ -292,7 +745,8 @@ function getNextMarker(start) {
|
|
|
292
745
|
while (end) {
|
|
293
746
|
if (end.nodeType === 8) {
|
|
294
747
|
const v = end.nodeValue;
|
|
295
|
-
if (v === "$") count++;
|
|
748
|
+
if (v === "$") count++;
|
|
749
|
+
else if (v === "/") {
|
|
296
750
|
if (count === 0) return [end, current];
|
|
297
751
|
count--;
|
|
298
752
|
}
|
|
@@ -306,10 +760,7 @@ function getNextMarker(start) {
|
|
|
306
760
|
function runHydrationEvents() {
|
|
307
761
|
if (sharedConfig.events && !sharedConfig.events.queued) {
|
|
308
762
|
queueMicrotask(() => {
|
|
309
|
-
const {
|
|
310
|
-
completed,
|
|
311
|
-
events
|
|
312
|
-
} = sharedConfig;
|
|
763
|
+
const { completed, events } = sharedConfig;
|
|
313
764
|
events.queued = false;
|
|
314
765
|
while (events.length) {
|
|
315
766
|
const [el, e] = events[0];
|
|
@@ -326,7 +777,8 @@ function toPropertyName(name) {
|
|
|
326
777
|
}
|
|
327
778
|
function toggleClassKey(node, key, value) {
|
|
328
779
|
const classNames = key.trim().split(/\s+/);
|
|
329
|
-
for (let i = 0, nameLen = classNames.length; i < nameLen; i++)
|
|
780
|
+
for (let i = 0, nameLen = classNames.length; i < nameLen; i++)
|
|
781
|
+
node.classList.toggle(classNames[i], value);
|
|
330
782
|
}
|
|
331
783
|
function assignProp(node, prop, value, prev, isSVG, skipRef) {
|
|
332
784
|
let isCE, isProp, isChildProp, propAlias, forceProp;
|
|
@@ -356,21 +808,30 @@ function assignProp(node, prop, value, prev, isSVG, skipRef) {
|
|
|
356
808
|
}
|
|
357
809
|
} else if (prop.slice(0, 5) === "attr:") {
|
|
358
810
|
setAttribute(node, prop.slice(5), value);
|
|
359
|
-
} else if (
|
|
811
|
+
} else if (
|
|
812
|
+
(forceProp = prop.slice(0, 5) === "prop:") ||
|
|
813
|
+
(isChildProp = ChildProperties.has(prop)) ||
|
|
814
|
+
(!isSVG &&
|
|
815
|
+
((propAlias = getPropAlias(prop, node.tagName)) || (isProp = Properties.has(prop)))) ||
|
|
816
|
+
(isCE = node.nodeName.includes("-"))
|
|
817
|
+
) {
|
|
360
818
|
if (forceProp) {
|
|
361
819
|
prop = prop.slice(5);
|
|
362
820
|
isProp = true;
|
|
363
821
|
} else if (sharedConfig.context) return value;
|
|
364
|
-
if (prop === "class" || prop === "className") className(node, value);
|
|
822
|
+
if (prop === "class" || prop === "className") className(node, value);
|
|
823
|
+
else if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;
|
|
824
|
+
else node[propAlias || prop] = value;
|
|
365
825
|
} else {
|
|
366
826
|
const ns = isSVG && prop.indexOf(":") > -1 && SVGNamespace[prop.split(":")[0]];
|
|
367
|
-
if (ns) setAttributeNS(node, ns, prop, value);
|
|
827
|
+
if (ns) setAttributeNS(node, ns, prop, value);
|
|
828
|
+
else setAttribute(node, Aliases[prop] || prop, value);
|
|
368
829
|
}
|
|
369
830
|
return value;
|
|
370
831
|
}
|
|
371
832
|
function eventHandler(e) {
|
|
372
833
|
const key = `$$${e.type}`;
|
|
373
|
-
let node = e.composedPath && e.composedPath()[0] || e.target;
|
|
834
|
+
let node = (e.composedPath && e.composedPath()[0]) || e.target;
|
|
374
835
|
if (e.target !== node) {
|
|
375
836
|
Object.defineProperty(e, "target", {
|
|
376
837
|
configurable: true,
|
|
@@ -400,7 +861,8 @@ function insertExpression(parent, value, current, marker, unwrapArray) {
|
|
|
400
861
|
let cleaned = [];
|
|
401
862
|
for (let i = 0; i < current.length; i++) {
|
|
402
863
|
const node = current[i];
|
|
403
|
-
if (node.nodeType === 8 && node.data.slice(0, 2) === "!$") node.remove();
|
|
864
|
+
if (node.nodeType === 8 && node.data.slice(0, 2) === "!$") node.remove();
|
|
865
|
+
else cleaned.push(node);
|
|
404
866
|
}
|
|
405
867
|
current = cleaned;
|
|
406
868
|
}
|
|
@@ -408,7 +870,7 @@ function insertExpression(parent, value, current, marker, unwrapArray) {
|
|
|
408
870
|
if (value === current) return current;
|
|
409
871
|
const t = typeof value,
|
|
410
872
|
multi = marker !== undefined;
|
|
411
|
-
parent = multi && current[0] && current[0].parentNode || parent;
|
|
873
|
+
parent = (multi && current[0] && current[0].parentNode) || parent;
|
|
412
874
|
if (t === "string" || t === "number") {
|
|
413
875
|
if (sharedConfig.context) return current;
|
|
414
876
|
if (t === "number") value = value.toString();
|
|
@@ -437,7 +899,7 @@ function insertExpression(parent, value, current, marker, unwrapArray) {
|
|
|
437
899
|
const array = [];
|
|
438
900
|
const currentArray = current && Array.isArray(current);
|
|
439
901
|
if (normalizeIncomingArray(array, value, current, unwrapArray)) {
|
|
440
|
-
createRenderEffect(() => current = insertExpression(parent, array, current, marker, true));
|
|
902
|
+
createRenderEffect(() => (current = insertExpression(parent, array, current, marker, true)));
|
|
441
903
|
return () => current;
|
|
442
904
|
}
|
|
443
905
|
if (sharedConfig.context) {
|
|
@@ -446,7 +908,7 @@ function insertExpression(parent, value, current, marker, unwrapArray) {
|
|
|
446
908
|
let node = array[0];
|
|
447
909
|
let nodes = [node];
|
|
448
910
|
while ((node = node.nextSibling) !== marker) nodes.push(node);
|
|
449
|
-
return current = nodes;
|
|
911
|
+
return (current = nodes);
|
|
450
912
|
}
|
|
451
913
|
if (array.length === 0) {
|
|
452
914
|
current = cleanChildren(parent, current, marker);
|
|
@@ -461,15 +923,15 @@ function insertExpression(parent, value, current, marker, unwrapArray) {
|
|
|
461
923
|
}
|
|
462
924
|
current = array;
|
|
463
925
|
} else if (value.nodeType) {
|
|
464
|
-
if (sharedConfig.context && value.parentNode) return current = multi ? [value] : value;
|
|
926
|
+
if (sharedConfig.context && value.parentNode) return (current = multi ? [value] : value);
|
|
465
927
|
if (Array.isArray(current)) {
|
|
466
|
-
if (multi) return current = cleanChildren(parent, current, marker, value);
|
|
928
|
+
if (multi) return (current = cleanChildren(parent, current, marker, value));
|
|
467
929
|
cleanChildren(parent, current, null, value);
|
|
468
930
|
} else if (current == null || current === "" || !parent.firstChild) {
|
|
469
931
|
parent.appendChild(value);
|
|
470
932
|
} else parent.replaceChild(value, parent.firstChild);
|
|
471
933
|
current = value;
|
|
472
|
-
} else
|
|
934
|
+
} else;
|
|
473
935
|
return current;
|
|
474
936
|
}
|
|
475
937
|
function normalizeIncomingArray(normalized, array, current, unwrap) {
|
|
@@ -478,21 +940,28 @@ function normalizeIncomingArray(normalized, array, current, unwrap) {
|
|
|
478
940
|
let item = array[i],
|
|
479
941
|
prev = current && current[i],
|
|
480
942
|
t;
|
|
481
|
-
if (item == null || item === true || item === false)
|
|
943
|
+
if (item == null || item === true || item === false);
|
|
944
|
+
else if ((t = typeof item) === "object" && item.nodeType) {
|
|
482
945
|
normalized.push(item);
|
|
483
946
|
} else if (Array.isArray(item)) {
|
|
484
947
|
dynamic = normalizeIncomingArray(normalized, item, prev) || dynamic;
|
|
485
948
|
} else if (t === "function") {
|
|
486
949
|
if (unwrap) {
|
|
487
950
|
while (typeof item === "function") item = item();
|
|
488
|
-
dynamic =
|
|
951
|
+
dynamic =
|
|
952
|
+
normalizeIncomingArray(
|
|
953
|
+
normalized,
|
|
954
|
+
Array.isArray(item) ? item : [item],
|
|
955
|
+
Array.isArray(prev) ? prev : [prev]
|
|
956
|
+
) || dynamic;
|
|
489
957
|
} else {
|
|
490
958
|
normalized.push(item);
|
|
491
959
|
dynamic = true;
|
|
492
960
|
}
|
|
493
961
|
} else {
|
|
494
962
|
const value = String(item);
|
|
495
|
-
if (prev && prev.nodeType === 3 && prev.data === value) normalized.push(prev);
|
|
963
|
+
if (prev && prev.nodeType === 3 && prev.data === value) normalized.push(prev);
|
|
964
|
+
else normalized.push(document.createTextNode(value));
|
|
496
965
|
}
|
|
497
966
|
}
|
|
498
967
|
return dynamic;
|
|
@@ -501,7 +970,7 @@ function appendNodes(parent, array, marker = null) {
|
|
|
501
970
|
for (let i = 0, len = array.length; i < len; i++) parent.insertBefore(array[i], marker);
|
|
502
971
|
}
|
|
503
972
|
function cleanChildren(parent, current, marker, replacement) {
|
|
504
|
-
if (marker === undefined) return parent.textContent = "";
|
|
973
|
+
if (marker === undefined) return (parent.textContent = "");
|
|
505
974
|
const node = replacement || document.createTextNode("");
|
|
506
975
|
if (current.length) {
|
|
507
976
|
let inserted = false;
|
|
@@ -509,7 +978,9 @@ function cleanChildren(parent, current, marker, replacement) {
|
|
|
509
978
|
const el = current[i];
|
|
510
979
|
if (node !== el) {
|
|
511
980
|
const isParent = el.parentNode === parent;
|
|
512
|
-
if (!inserted && !i)
|
|
981
|
+
if (!inserted && !i)
|
|
982
|
+
isParent ? parent.replaceChild(node, el) : parent.insertBefore(node, marker);
|
|
983
|
+
else isParent && el.remove();
|
|
513
984
|
} else inserted = true;
|
|
514
985
|
}
|
|
515
986
|
} else parent.insertBefore(node, marker);
|
|
@@ -520,7 +991,8 @@ function gatherHydratable(element, root) {
|
|
|
520
991
|
for (let i = 0; i < templates.length; i++) {
|
|
521
992
|
const node = templates[i];
|
|
522
993
|
const key = node.getAttribute("data-hk");
|
|
523
|
-
if ((!root || key.startsWith(root)) && !sharedConfig.registry.has(key))
|
|
994
|
+
if ((!root || key.startsWith(root)) && !sharedConfig.registry.has(key))
|
|
995
|
+
sharedConfig.registry.set(key, node);
|
|
524
996
|
}
|
|
525
997
|
}
|
|
526
998
|
function getHydrationKey() {
|
|
@@ -573,42 +1045,47 @@ const hydrate = (...args) => {
|
|
|
573
1045
|
return hydrate$1(...args);
|
|
574
1046
|
};
|
|
575
1047
|
function Portal(props) {
|
|
576
|
-
const {
|
|
577
|
-
useShadow
|
|
578
|
-
} = props,
|
|
1048
|
+
const { useShadow } = props,
|
|
579
1049
|
marker = document.createTextNode(""),
|
|
580
1050
|
mount = () => props.mount || document.body,
|
|
581
1051
|
owner = getOwner();
|
|
582
1052
|
let content;
|
|
583
1053
|
let hydrating = !!sharedConfig.context;
|
|
584
|
-
createEffect(
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
1054
|
+
createEffect(
|
|
1055
|
+
() => {
|
|
1056
|
+
if (hydrating) getOwner().user = hydrating = false;
|
|
1057
|
+
content || (content = runWithOwner(owner, () => createMemo(() => props.children)));
|
|
1058
|
+
const el = mount();
|
|
1059
|
+
if (el instanceof HTMLHeadElement) {
|
|
1060
|
+
const [clean, setClean] = createSignal(false);
|
|
1061
|
+
const cleanup = () => setClean(true);
|
|
1062
|
+
createRoot(dispose => insert(el, () => (!clean() ? content() : dispose()), null));
|
|
1063
|
+
onCleanup(cleanup);
|
|
1064
|
+
} else {
|
|
1065
|
+
const container = createElement(props.isSVG ? "g" : "div", props.isSVG),
|
|
1066
|
+
renderRoot =
|
|
1067
|
+
useShadow && container.attachShadow
|
|
1068
|
+
? container.attachShadow({
|
|
1069
|
+
mode: "open"
|
|
1070
|
+
})
|
|
1071
|
+
: container;
|
|
1072
|
+
Object.defineProperty(container, "_$host", {
|
|
1073
|
+
get() {
|
|
1074
|
+
return marker.parentNode;
|
|
1075
|
+
},
|
|
1076
|
+
configurable: true
|
|
1077
|
+
});
|
|
1078
|
+
insert(renderRoot, content);
|
|
1079
|
+
el.appendChild(container);
|
|
1080
|
+
props.ref && props.ref(container);
|
|
1081
|
+
onCleanup(() => el.removeChild(container));
|
|
1082
|
+
}
|
|
1083
|
+
},
|
|
1084
|
+
undefined,
|
|
1085
|
+
{
|
|
1086
|
+
render: !hydrating
|
|
608
1087
|
}
|
|
609
|
-
|
|
610
|
-
render: !hydrating
|
|
611
|
-
});
|
|
1088
|
+
);
|
|
612
1089
|
return marker;
|
|
613
1090
|
}
|
|
614
1091
|
function Dynamic(props) {
|
|
@@ -628,4 +1105,61 @@ function Dynamic(props) {
|
|
|
628
1105
|
});
|
|
629
1106
|
}
|
|
630
1107
|
|
|
631
|
-
export {
|
|
1108
|
+
export {
|
|
1109
|
+
Aliases,
|
|
1110
|
+
voidFn as Assets,
|
|
1111
|
+
ChildProperties,
|
|
1112
|
+
DOMElements,
|
|
1113
|
+
DelegatedEvents,
|
|
1114
|
+
Dynamic,
|
|
1115
|
+
Hydration,
|
|
1116
|
+
voidFn as HydrationScript,
|
|
1117
|
+
NoHydration,
|
|
1118
|
+
Portal,
|
|
1119
|
+
Properties,
|
|
1120
|
+
RequestContext,
|
|
1121
|
+
SVGElements,
|
|
1122
|
+
SVGNamespace,
|
|
1123
|
+
addEventListener,
|
|
1124
|
+
assign,
|
|
1125
|
+
classList,
|
|
1126
|
+
className,
|
|
1127
|
+
clearDelegatedEvents,
|
|
1128
|
+
delegateEvents,
|
|
1129
|
+
dynamicProperty,
|
|
1130
|
+
escape,
|
|
1131
|
+
voidFn as generateHydrationScript,
|
|
1132
|
+
voidFn as getAssets,
|
|
1133
|
+
getHydrationKey,
|
|
1134
|
+
getNextElement,
|
|
1135
|
+
getNextMarker,
|
|
1136
|
+
getNextMatch,
|
|
1137
|
+
getPropAlias,
|
|
1138
|
+
voidFn as getRequestEvent,
|
|
1139
|
+
hydrate,
|
|
1140
|
+
innerHTML,
|
|
1141
|
+
insert,
|
|
1142
|
+
isDev,
|
|
1143
|
+
isServer,
|
|
1144
|
+
render,
|
|
1145
|
+
renderToStream,
|
|
1146
|
+
renderToString,
|
|
1147
|
+
renderToStringAsync,
|
|
1148
|
+
resolveSSRNode,
|
|
1149
|
+
runHydrationEvents,
|
|
1150
|
+
setAttribute,
|
|
1151
|
+
setAttributeNS,
|
|
1152
|
+
setProperty,
|
|
1153
|
+
spread,
|
|
1154
|
+
ssr,
|
|
1155
|
+
ssrAttribute,
|
|
1156
|
+
ssrClassList,
|
|
1157
|
+
ssrElement,
|
|
1158
|
+
ssrHydrationKey,
|
|
1159
|
+
ssrSpread,
|
|
1160
|
+
ssrStyle,
|
|
1161
|
+
style,
|
|
1162
|
+
template,
|
|
1163
|
+
use,
|
|
1164
|
+
voidFn as useAssets
|
|
1165
|
+
};
|