solid-js 1.2.3 → 1.2.4
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.cjs +3 -0
- package/dist/dev.js +3 -0
- package/dist/solid.cjs +3 -0
- package/dist/solid.js +3 -0
- package/html/dist/html.cjs +3 -2
- package/html/dist/html.js +3 -2
- package/package.json +2 -2
- package/store/dist/dev.cjs +1 -1
- package/store/dist/dev.js +2 -2
- package/store/dist/store.cjs +1 -1
- package/store/dist/store.js +1 -1
- package/store/types/store.d.ts +1 -1
- package/types/jsx.d.ts +2 -0
- package/web/dist/dev.cjs +30 -23
- package/web/dist/dev.js +30 -23
- package/web/dist/server.cjs +3 -1
- package/web/dist/server.js +3 -1
- package/web/dist/web.cjs +30 -23
- package/web/dist/web.js +30 -23
package/dist/dev.cjs
CHANGED
package/dist/dev.js
CHANGED
package/dist/solid.cjs
CHANGED
package/dist/solid.js
CHANGED
package/html/dist/html.cjs
CHANGED
|
@@ -358,7 +358,8 @@ function createHTML(r, {
|
|
|
358
358
|
childOptions = Object.assign({}, options, {
|
|
359
359
|
first: true,
|
|
360
360
|
decl: [],
|
|
361
|
-
exprs: []
|
|
361
|
+
exprs: [],
|
|
362
|
+
parent: false
|
|
362
363
|
});
|
|
363
364
|
parseNode(children, childOptions);
|
|
364
365
|
props.push(`children: () => { ${childOptions.exprs.join(";\n")}}`);
|
|
@@ -399,8 +400,8 @@ function createHTML(r, {
|
|
|
399
400
|
decl: [],
|
|
400
401
|
exprs: []
|
|
401
402
|
});
|
|
402
|
-
parseNode(child, childOptions);
|
|
403
403
|
options.templateNodes.push([child]);
|
|
404
|
+
parseNode(child, childOptions);
|
|
404
405
|
parts.push(`function() { ${childOptions.decl.join(",\n") + ";\n" + childOptions.exprs.join(";\n") + `;\nreturn _$el${id};\n`}}()`);
|
|
405
406
|
options.counter = childOptions.counter;
|
|
406
407
|
options.templateId = childOptions.templateId;
|
package/html/dist/html.js
CHANGED
|
@@ -356,7 +356,8 @@ function createHTML(r, {
|
|
|
356
356
|
childOptions = Object.assign({}, options, {
|
|
357
357
|
first: true,
|
|
358
358
|
decl: [],
|
|
359
|
-
exprs: []
|
|
359
|
+
exprs: [],
|
|
360
|
+
parent: false
|
|
360
361
|
});
|
|
361
362
|
parseNode(children, childOptions);
|
|
362
363
|
props.push(`children: () => { ${childOptions.exprs.join(";\n")}}`);
|
|
@@ -397,8 +398,8 @@ function createHTML(r, {
|
|
|
397
398
|
decl: [],
|
|
398
399
|
exprs: []
|
|
399
400
|
});
|
|
400
|
-
parseNode(child, childOptions);
|
|
401
401
|
options.templateNodes.push([child]);
|
|
402
|
+
parseNode(child, childOptions);
|
|
402
403
|
parts.push(`function() { ${childOptions.decl.join(",\n") + ";\n" + childOptions.exprs.join(";\n") + `;\nreturn _$el${id};\n`}}()`);
|
|
403
404
|
options.counter = childOptions.counter;
|
|
404
405
|
options.templateId = childOptions.templateId;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "solid-js",
|
|
3
3
|
"description": "A declarative JavaScript library for building user interfaces.",
|
|
4
|
-
"version": "1.2.
|
|
4
|
+
"version": "1.2.4",
|
|
5
5
|
"author": "Ryan Carniato",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"homepage": "https://github.com/solidjs/solid#readme",
|
|
@@ -132,5 +132,5 @@
|
|
|
132
132
|
"compiler",
|
|
133
133
|
"performance"
|
|
134
134
|
],
|
|
135
|
-
"gitHead": "
|
|
135
|
+
"gitHead": "2866e83def4f3a02c305277fa8f589e355ab8952"
|
|
136
136
|
}
|
package/store/dist/dev.cjs
CHANGED
|
@@ -31,7 +31,7 @@ function wrap$1(value, name) {
|
|
|
31
31
|
return p;
|
|
32
32
|
}
|
|
33
33
|
function isWrappable(obj) {
|
|
34
|
-
return obj != null && typeof obj === "object" && (!obj.__proto__ || obj.__proto__ === Object.prototype || Array.isArray(obj));
|
|
34
|
+
return obj != null && typeof obj === "object" && (obj[solidJs.$PROXY] || !obj.__proto__ || obj.__proto__ === Object.prototype || Array.isArray(obj));
|
|
35
35
|
}
|
|
36
36
|
function unwrap(item, set = new Set()) {
|
|
37
37
|
let result, unwrapped, v, prop;
|
package/store/dist/dev.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { $PROXY, DEV, getListener, batch, createSignal } from 'solid-js';
|
|
2
2
|
|
|
3
3
|
const $RAW = Symbol("store-raw"),
|
|
4
4
|
$NODE = Symbol("store-node"),
|
|
@@ -27,7 +27,7 @@ function wrap$1(value, name) {
|
|
|
27
27
|
return p;
|
|
28
28
|
}
|
|
29
29
|
function isWrappable(obj) {
|
|
30
|
-
return obj != null && typeof obj === "object" && (!obj.__proto__ || obj.__proto__ === Object.prototype || Array.isArray(obj));
|
|
30
|
+
return obj != null && typeof obj === "object" && (obj[$PROXY] || !obj.__proto__ || obj.__proto__ === Object.prototype || Array.isArray(obj));
|
|
31
31
|
}
|
|
32
32
|
function unwrap(item, set = new Set()) {
|
|
33
33
|
let result, unwrapped, v, prop;
|
package/store/dist/store.cjs
CHANGED
|
@@ -28,7 +28,7 @@ function wrap$1(value, name) {
|
|
|
28
28
|
return p;
|
|
29
29
|
}
|
|
30
30
|
function isWrappable(obj) {
|
|
31
|
-
return obj != null && typeof obj === "object" && (!obj.__proto__ || obj.__proto__ === Object.prototype || Array.isArray(obj));
|
|
31
|
+
return obj != null && typeof obj === "object" && (obj[solidJs.$PROXY] || !obj.__proto__ || obj.__proto__ === Object.prototype || Array.isArray(obj));
|
|
32
32
|
}
|
|
33
33
|
function unwrap(item, set = new Set()) {
|
|
34
34
|
let result, unwrapped, v, prop;
|
package/store/dist/store.js
CHANGED
|
@@ -24,7 +24,7 @@ function wrap$1(value, name) {
|
|
|
24
24
|
return p;
|
|
25
25
|
}
|
|
26
26
|
function isWrappable(obj) {
|
|
27
|
-
return obj != null && typeof obj === "object" && (!obj.__proto__ || obj.__proto__ === Object.prototype || Array.isArray(obj));
|
|
27
|
+
return obj != null && typeof obj === "object" && (obj[$PROXY] || !obj.__proto__ || obj.__proto__ === Object.prototype || Array.isArray(obj));
|
|
28
28
|
}
|
|
29
29
|
function unwrap(item, set = new Set()) {
|
|
30
30
|
let result, unwrapped, v, prop;
|
package/store/types/store.d.ts
CHANGED
|
@@ -33,7 +33,7 @@ export declare type Store<T> = {
|
|
|
33
33
|
} & {
|
|
34
34
|
[$RAW]?: T;
|
|
35
35
|
} & AddSymbolToPrimitive<T> & AddSymbolIterator<T> & AddSymbolToStringTag<T> & AddCallable<T>;
|
|
36
|
-
export declare function isWrappable(obj: any):
|
|
36
|
+
export declare function isWrappable(obj: any): any;
|
|
37
37
|
export declare function unwrap<T extends StoreNode>(item: any, set?: Set<unknown>): T;
|
|
38
38
|
export declare function getDataNodes(target: StoreNode): any;
|
|
39
39
|
export declare function proxyDescriptor(target: StoreNode, property: string | number | symbol): PropertyDescriptor | undefined;
|
package/types/jsx.d.ts
CHANGED
|
@@ -92,6 +92,7 @@ export namespace JSX {
|
|
|
92
92
|
onFocusIn?: EventHandlerUnion<T, FocusEvent>;
|
|
93
93
|
onBlur?: EventHandlerUnion<T, FocusEvent>;
|
|
94
94
|
onChange?: EventHandlerUnion<T, Event>;
|
|
95
|
+
onInvalid?: EventHandlerUnion<T, Event>;
|
|
95
96
|
onInput?: EventHandlerUnion<T, InputEvent>;
|
|
96
97
|
onBeforeInput?: EventHandlerUnion<T, InputEvent>;
|
|
97
98
|
onReset?: EventHandlerUnion<T, Event>;
|
|
@@ -180,6 +181,7 @@ export namespace JSX {
|
|
|
180
181
|
onfocusin?: EventHandlerUnion<T, FocusEvent>;
|
|
181
182
|
onblur?: EventHandlerUnion<T, FocusEvent>;
|
|
182
183
|
onchange?: EventHandlerUnion<T, Event>;
|
|
184
|
+
oninvalid?: EventHandlerUnion<T, Event>;
|
|
183
185
|
oninput?: EventHandlerUnion<T, InputEvent>;
|
|
184
186
|
onbeforeinput?: EventHandlerUnion<T, InputEvent>;
|
|
185
187
|
onreset?: EventHandlerUnion<T, Event>;
|
package/web/dist/dev.cjs
CHANGED
|
@@ -203,35 +203,19 @@ function insert(parent, accessor, marker, initial) {
|
|
|
203
203
|
solidJs.createRenderEffect(current => insertExpression(parent, accessor(), current, marker), initial);
|
|
204
204
|
}
|
|
205
205
|
function assign(node, props, isSVG, skipChildren, prevProps = {}) {
|
|
206
|
-
|
|
206
|
+
for (const prop in prevProps) {
|
|
207
|
+
if (!(prop in props)) {
|
|
208
|
+
if (prop === "children") continue;
|
|
209
|
+
assignProp(node, prop, null, prevProps[prop], isSVG);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
207
212
|
for (const prop in props) {
|
|
208
213
|
if (prop === "children") {
|
|
209
214
|
if (!skipChildren) insertExpression(node, props.children);
|
|
210
215
|
continue;
|
|
211
216
|
}
|
|
212
217
|
const value = props[prop];
|
|
213
|
-
|
|
214
|
-
if (prop === "style") {
|
|
215
|
-
style(node, value, prevProps[prop]);
|
|
216
|
-
} else if (prop === "classList") {
|
|
217
|
-
classList(node, value, prevProps[prop]);
|
|
218
|
-
} else if (prop === "ref") {
|
|
219
|
-
value(node);
|
|
220
|
-
} else if (prop.slice(0, 3) === "on:") {
|
|
221
|
-
node.addEventListener(prop.slice(3), value);
|
|
222
|
-
} else if (prop.slice(0, 10) === "oncapture:") {
|
|
223
|
-
node.addEventListener(prop.slice(10), value, true);
|
|
224
|
-
} else if (prop.slice(0, 2) === "on") {
|
|
225
|
-
const name = prop.slice(2).toLowerCase();
|
|
226
|
-
const delegate = DelegatedEvents.has(name);
|
|
227
|
-
addEventListener(node, name, value, delegate);
|
|
228
|
-
delegate && delegateEvents([name]);
|
|
229
|
-
} else if ((isChildProp = ChildProperties.has(prop)) || !isSVG && (PropAliases[prop] || (isProp = Properties.has(prop))) || (isCE = node.nodeName.includes("-"))) {
|
|
230
|
-
if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;else node[PropAliases[prop] || prop] = value;
|
|
231
|
-
} else {
|
|
232
|
-
const ns = isSVG && prop.indexOf(":") > -1 && SVGNamespace[prop.split(":")[0]];
|
|
233
|
-
if (ns) setAttributeNS(node, ns, prop, value);else setAttribute(node, Aliases[prop] || prop, value);
|
|
234
|
-
}
|
|
218
|
+
assignProp(node, prop, value, prevProps[prop], isSVG);
|
|
235
219
|
prevProps[prop] = value;
|
|
236
220
|
}
|
|
237
221
|
}
|
|
@@ -314,6 +298,29 @@ function toggleClassKey(node, key, value) {
|
|
|
314
298
|
const classNames = key.trim().split(/\s+/);
|
|
315
299
|
for (let i = 0, nameLen = classNames.length; i < nameLen; i++) node.classList.toggle(classNames[i], value);
|
|
316
300
|
}
|
|
301
|
+
function assignProp(node, prop, value, prev, isSVG) {
|
|
302
|
+
let isCE, isProp, isChildProp;
|
|
303
|
+
if (prop === "style") return style(node, value, prev);
|
|
304
|
+
if (prop === "classList") return classList(node, value, prev);
|
|
305
|
+
if (value === prev) return;
|
|
306
|
+
if (prop === "ref") {
|
|
307
|
+
value(node);
|
|
308
|
+
} else if (prop.slice(0, 3) === "on:") {
|
|
309
|
+
node.addEventListener(prop.slice(3), value);
|
|
310
|
+
} else if (prop.slice(0, 10) === "oncapture:") {
|
|
311
|
+
node.addEventListener(prop.slice(10), value, true);
|
|
312
|
+
} else if (prop.slice(0, 2) === "on") {
|
|
313
|
+
const name = prop.slice(2).toLowerCase();
|
|
314
|
+
const delegate = DelegatedEvents.has(name);
|
|
315
|
+
addEventListener(node, name, value, delegate);
|
|
316
|
+
delegate && delegateEvents([name]);
|
|
317
|
+
} else if ((isChildProp = ChildProperties.has(prop)) || !isSVG && (PropAliases[prop] || (isProp = Properties.has(prop))) || (isCE = node.nodeName.includes("-"))) {
|
|
318
|
+
if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;else node[PropAliases[prop] || prop] = value;
|
|
319
|
+
} else {
|
|
320
|
+
const ns = isSVG && prop.indexOf(":") > -1 && SVGNamespace[prop.split(":")[0]];
|
|
321
|
+
if (ns) setAttributeNS(node, ns, prop, value);else setAttribute(node, Aliases[prop] || prop, value);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
317
324
|
function eventHandler(e) {
|
|
318
325
|
const key = `$$${e.type}`;
|
|
319
326
|
let node = e.composedPath && e.composedPath()[0] || e.target;
|
package/web/dist/dev.js
CHANGED
|
@@ -200,35 +200,19 @@ function insert(parent, accessor, marker, initial) {
|
|
|
200
200
|
createRenderEffect(current => insertExpression(parent, accessor(), current, marker), initial);
|
|
201
201
|
}
|
|
202
202
|
function assign(node, props, isSVG, skipChildren, prevProps = {}) {
|
|
203
|
-
|
|
203
|
+
for (const prop in prevProps) {
|
|
204
|
+
if (!(prop in props)) {
|
|
205
|
+
if (prop === "children") continue;
|
|
206
|
+
assignProp(node, prop, null, prevProps[prop], isSVG);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
204
209
|
for (const prop in props) {
|
|
205
210
|
if (prop === "children") {
|
|
206
211
|
if (!skipChildren) insertExpression(node, props.children);
|
|
207
212
|
continue;
|
|
208
213
|
}
|
|
209
214
|
const value = props[prop];
|
|
210
|
-
|
|
211
|
-
if (prop === "style") {
|
|
212
|
-
style(node, value, prevProps[prop]);
|
|
213
|
-
} else if (prop === "classList") {
|
|
214
|
-
classList(node, value, prevProps[prop]);
|
|
215
|
-
} else if (prop === "ref") {
|
|
216
|
-
value(node);
|
|
217
|
-
} else if (prop.slice(0, 3) === "on:") {
|
|
218
|
-
node.addEventListener(prop.slice(3), value);
|
|
219
|
-
} else if (prop.slice(0, 10) === "oncapture:") {
|
|
220
|
-
node.addEventListener(prop.slice(10), value, true);
|
|
221
|
-
} else if (prop.slice(0, 2) === "on") {
|
|
222
|
-
const name = prop.slice(2).toLowerCase();
|
|
223
|
-
const delegate = DelegatedEvents.has(name);
|
|
224
|
-
addEventListener(node, name, value, delegate);
|
|
225
|
-
delegate && delegateEvents([name]);
|
|
226
|
-
} else if ((isChildProp = ChildProperties.has(prop)) || !isSVG && (PropAliases[prop] || (isProp = Properties.has(prop))) || (isCE = node.nodeName.includes("-"))) {
|
|
227
|
-
if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;else node[PropAliases[prop] || prop] = value;
|
|
228
|
-
} else {
|
|
229
|
-
const ns = isSVG && prop.indexOf(":") > -1 && SVGNamespace[prop.split(":")[0]];
|
|
230
|
-
if (ns) setAttributeNS(node, ns, prop, value);else setAttribute(node, Aliases[prop] || prop, value);
|
|
231
|
-
}
|
|
215
|
+
assignProp(node, prop, value, prevProps[prop], isSVG);
|
|
232
216
|
prevProps[prop] = value;
|
|
233
217
|
}
|
|
234
218
|
}
|
|
@@ -311,6 +295,29 @@ function toggleClassKey(node, key, value) {
|
|
|
311
295
|
const classNames = key.trim().split(/\s+/);
|
|
312
296
|
for (let i = 0, nameLen = classNames.length; i < nameLen; i++) node.classList.toggle(classNames[i], value);
|
|
313
297
|
}
|
|
298
|
+
function assignProp(node, prop, value, prev, isSVG) {
|
|
299
|
+
let isCE, isProp, isChildProp;
|
|
300
|
+
if (prop === "style") return style(node, value, prev);
|
|
301
|
+
if (prop === "classList") return classList(node, value, prev);
|
|
302
|
+
if (value === prev) return;
|
|
303
|
+
if (prop === "ref") {
|
|
304
|
+
value(node);
|
|
305
|
+
} else if (prop.slice(0, 3) === "on:") {
|
|
306
|
+
node.addEventListener(prop.slice(3), value);
|
|
307
|
+
} else if (prop.slice(0, 10) === "oncapture:") {
|
|
308
|
+
node.addEventListener(prop.slice(10), value, true);
|
|
309
|
+
} else if (prop.slice(0, 2) === "on") {
|
|
310
|
+
const name = prop.slice(2).toLowerCase();
|
|
311
|
+
const delegate = DelegatedEvents.has(name);
|
|
312
|
+
addEventListener(node, name, value, delegate);
|
|
313
|
+
delegate && delegateEvents([name]);
|
|
314
|
+
} else if ((isChildProp = ChildProperties.has(prop)) || !isSVG && (PropAliases[prop] || (isProp = Properties.has(prop))) || (isCE = node.nodeName.includes("-"))) {
|
|
315
|
+
if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;else node[PropAliases[prop] || prop] = value;
|
|
316
|
+
} else {
|
|
317
|
+
const ns = isSVG && prop.indexOf(":") > -1 && SVGNamespace[prop.split(":")[0]];
|
|
318
|
+
if (ns) setAttributeNS(node, ns, prop, value);else setAttribute(node, Aliases[prop] || prop, value);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
314
321
|
function eventHandler(e) {
|
|
315
322
|
const key = `$$${e.type}`;
|
|
316
323
|
let node = e.composedPath && e.composedPath()[0] || e.target;
|
package/web/dist/server.cjs
CHANGED
|
@@ -449,6 +449,8 @@ function ssrSpread(props, isSVG, skipChildren) {
|
|
|
449
449
|
result += `class="${ssrClassList(value)}"`;
|
|
450
450
|
} else if (BooleanAttributes.has(prop)) {
|
|
451
451
|
if (value) result += prop;else continue;
|
|
452
|
+
} else if (prop === "ref" || prop.slice(0, 2) === "on") {
|
|
453
|
+
continue;
|
|
452
454
|
} else {
|
|
453
455
|
result += `${Aliases[prop] || prop}="${escape(value, true)}"`;
|
|
454
456
|
}
|
|
@@ -525,7 +527,7 @@ function generateHydrationScript() {
|
|
|
525
527
|
resources,
|
|
526
528
|
eventNames = ["click", "input"]
|
|
527
529
|
} = solidJs.sharedConfig.context;
|
|
528
|
-
let s = `<script${nonce ? ` nonce="${nonce}"` : ""}>(()=>{_$HYDRATION={events:[],completed:new WeakSet};const t=e=>e&&e.hasAttribute&&(e.hasAttribute("data-hk")
|
|
530
|
+
let s = `<script${nonce ? ` nonce="${nonce}"` : ""}>(()=>{_$HYDRATION={events:[],completed:new WeakSet};const t=e=>e&&e.hasAttribute&&(e.hasAttribute("data-hk")?e:t(e.host&&e.host instanceof Node?e.host:e.parentNode)),e=e=>{let o=e.composedPath&&e.composedPath()[0]||e.target,s=t(o);s&&!_$HYDRATION.completed.has(s)&&_$HYDRATION.events.push([s,e])};["${eventNames.join('","')}"].forEach(t=>document.addEventListener(t,e))})();`;
|
|
529
531
|
if (streaming) {
|
|
530
532
|
s += `(()=>{const e=_$HYDRATION,o={};e.startResource=e=>{let r;o[e]=[new Promise(e=>r=e),r]},e.resolveResource=(e,r)=>{const n=o[e];if(!n)return o[e]=[r];n[1](r)},e.loadResource=e=>{const r=o[e];if(r)return r[0]}})();`;
|
|
531
533
|
}
|
package/web/dist/server.js
CHANGED
|
@@ -446,6 +446,8 @@ function ssrSpread(props, isSVG, skipChildren) {
|
|
|
446
446
|
result += `class="${ssrClassList(value)}"`;
|
|
447
447
|
} else if (BooleanAttributes.has(prop)) {
|
|
448
448
|
if (value) result += prop;else continue;
|
|
449
|
+
} else if (prop === "ref" || prop.slice(0, 2) === "on") {
|
|
450
|
+
continue;
|
|
449
451
|
} else {
|
|
450
452
|
result += `${Aliases[prop] || prop}="${escape(value, true)}"`;
|
|
451
453
|
}
|
|
@@ -522,7 +524,7 @@ function generateHydrationScript() {
|
|
|
522
524
|
resources,
|
|
523
525
|
eventNames = ["click", "input"]
|
|
524
526
|
} = sharedConfig.context;
|
|
525
|
-
let s = `<script${nonce ? ` nonce="${nonce}"` : ""}>(()=>{_$HYDRATION={events:[],completed:new WeakSet};const t=e=>e&&e.hasAttribute&&(e.hasAttribute("data-hk")
|
|
527
|
+
let s = `<script${nonce ? ` nonce="${nonce}"` : ""}>(()=>{_$HYDRATION={events:[],completed:new WeakSet};const t=e=>e&&e.hasAttribute&&(e.hasAttribute("data-hk")?e:t(e.host&&e.host instanceof Node?e.host:e.parentNode)),e=e=>{let o=e.composedPath&&e.composedPath()[0]||e.target,s=t(o);s&&!_$HYDRATION.completed.has(s)&&_$HYDRATION.events.push([s,e])};["${eventNames.join('","')}"].forEach(t=>document.addEventListener(t,e))})();`;
|
|
526
528
|
if (streaming) {
|
|
527
529
|
s += `(()=>{const e=_$HYDRATION,o={};e.startResource=e=>{let r;o[e]=[new Promise(e=>r=e),r]},e.resolveResource=(e,r)=>{const n=o[e];if(!n)return o[e]=[r];n[1](r)},e.loadResource=e=>{const r=o[e];if(r)return r[0]}})();`;
|
|
528
530
|
}
|
package/web/dist/web.cjs
CHANGED
|
@@ -202,35 +202,19 @@ function insert(parent, accessor, marker, initial) {
|
|
|
202
202
|
solidJs.createRenderEffect(current => insertExpression(parent, accessor(), current, marker), initial);
|
|
203
203
|
}
|
|
204
204
|
function assign(node, props, isSVG, skipChildren, prevProps = {}) {
|
|
205
|
-
|
|
205
|
+
for (const prop in prevProps) {
|
|
206
|
+
if (!(prop in props)) {
|
|
207
|
+
if (prop === "children") continue;
|
|
208
|
+
assignProp(node, prop, null, prevProps[prop], isSVG);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
206
211
|
for (const prop in props) {
|
|
207
212
|
if (prop === "children") {
|
|
208
213
|
if (!skipChildren) insertExpression(node, props.children);
|
|
209
214
|
continue;
|
|
210
215
|
}
|
|
211
216
|
const value = props[prop];
|
|
212
|
-
|
|
213
|
-
if (prop === "style") {
|
|
214
|
-
style(node, value, prevProps[prop]);
|
|
215
|
-
} else if (prop === "classList") {
|
|
216
|
-
classList(node, value, prevProps[prop]);
|
|
217
|
-
} else if (prop === "ref") {
|
|
218
|
-
value(node);
|
|
219
|
-
} else if (prop.slice(0, 3) === "on:") {
|
|
220
|
-
node.addEventListener(prop.slice(3), value);
|
|
221
|
-
} else if (prop.slice(0, 10) === "oncapture:") {
|
|
222
|
-
node.addEventListener(prop.slice(10), value, true);
|
|
223
|
-
} else if (prop.slice(0, 2) === "on") {
|
|
224
|
-
const name = prop.slice(2).toLowerCase();
|
|
225
|
-
const delegate = DelegatedEvents.has(name);
|
|
226
|
-
addEventListener(node, name, value, delegate);
|
|
227
|
-
delegate && delegateEvents([name]);
|
|
228
|
-
} else if ((isChildProp = ChildProperties.has(prop)) || !isSVG && (PropAliases[prop] || (isProp = Properties.has(prop))) || (isCE = node.nodeName.includes("-"))) {
|
|
229
|
-
if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;else node[PropAliases[prop] || prop] = value;
|
|
230
|
-
} else {
|
|
231
|
-
const ns = isSVG && prop.indexOf(":") > -1 && SVGNamespace[prop.split(":")[0]];
|
|
232
|
-
if (ns) setAttributeNS(node, ns, prop, value);else setAttribute(node, Aliases[prop] || prop, value);
|
|
233
|
-
}
|
|
217
|
+
assignProp(node, prop, value, prevProps[prop], isSVG);
|
|
234
218
|
prevProps[prop] = value;
|
|
235
219
|
}
|
|
236
220
|
}
|
|
@@ -313,6 +297,29 @@ function toggleClassKey(node, key, value) {
|
|
|
313
297
|
const classNames = key.trim().split(/\s+/);
|
|
314
298
|
for (let i = 0, nameLen = classNames.length; i < nameLen; i++) node.classList.toggle(classNames[i], value);
|
|
315
299
|
}
|
|
300
|
+
function assignProp(node, prop, value, prev, isSVG) {
|
|
301
|
+
let isCE, isProp, isChildProp;
|
|
302
|
+
if (prop === "style") return style(node, value, prev);
|
|
303
|
+
if (prop === "classList") return classList(node, value, prev);
|
|
304
|
+
if (value === prev) return;
|
|
305
|
+
if (prop === "ref") {
|
|
306
|
+
value(node);
|
|
307
|
+
} else if (prop.slice(0, 3) === "on:") {
|
|
308
|
+
node.addEventListener(prop.slice(3), value);
|
|
309
|
+
} else if (prop.slice(0, 10) === "oncapture:") {
|
|
310
|
+
node.addEventListener(prop.slice(10), value, true);
|
|
311
|
+
} else if (prop.slice(0, 2) === "on") {
|
|
312
|
+
const name = prop.slice(2).toLowerCase();
|
|
313
|
+
const delegate = DelegatedEvents.has(name);
|
|
314
|
+
addEventListener(node, name, value, delegate);
|
|
315
|
+
delegate && delegateEvents([name]);
|
|
316
|
+
} else if ((isChildProp = ChildProperties.has(prop)) || !isSVG && (PropAliases[prop] || (isProp = Properties.has(prop))) || (isCE = node.nodeName.includes("-"))) {
|
|
317
|
+
if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;else node[PropAliases[prop] || prop] = value;
|
|
318
|
+
} else {
|
|
319
|
+
const ns = isSVG && prop.indexOf(":") > -1 && SVGNamespace[prop.split(":")[0]];
|
|
320
|
+
if (ns) setAttributeNS(node, ns, prop, value);else setAttribute(node, Aliases[prop] || prop, value);
|
|
321
|
+
}
|
|
322
|
+
}
|
|
316
323
|
function eventHandler(e) {
|
|
317
324
|
const key = `$$${e.type}`;
|
|
318
325
|
let node = e.composedPath && e.composedPath()[0] || e.target;
|
package/web/dist/web.js
CHANGED
|
@@ -199,35 +199,19 @@ function insert(parent, accessor, marker, initial) {
|
|
|
199
199
|
createRenderEffect(current => insertExpression(parent, accessor(), current, marker), initial);
|
|
200
200
|
}
|
|
201
201
|
function assign(node, props, isSVG, skipChildren, prevProps = {}) {
|
|
202
|
-
|
|
202
|
+
for (const prop in prevProps) {
|
|
203
|
+
if (!(prop in props)) {
|
|
204
|
+
if (prop === "children") continue;
|
|
205
|
+
assignProp(node, prop, null, prevProps[prop], isSVG);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
203
208
|
for (const prop in props) {
|
|
204
209
|
if (prop === "children") {
|
|
205
210
|
if (!skipChildren) insertExpression(node, props.children);
|
|
206
211
|
continue;
|
|
207
212
|
}
|
|
208
213
|
const value = props[prop];
|
|
209
|
-
|
|
210
|
-
if (prop === "style") {
|
|
211
|
-
style(node, value, prevProps[prop]);
|
|
212
|
-
} else if (prop === "classList") {
|
|
213
|
-
classList(node, value, prevProps[prop]);
|
|
214
|
-
} else if (prop === "ref") {
|
|
215
|
-
value(node);
|
|
216
|
-
} else if (prop.slice(0, 3) === "on:") {
|
|
217
|
-
node.addEventListener(prop.slice(3), value);
|
|
218
|
-
} else if (prop.slice(0, 10) === "oncapture:") {
|
|
219
|
-
node.addEventListener(prop.slice(10), value, true);
|
|
220
|
-
} else if (prop.slice(0, 2) === "on") {
|
|
221
|
-
const name = prop.slice(2).toLowerCase();
|
|
222
|
-
const delegate = DelegatedEvents.has(name);
|
|
223
|
-
addEventListener(node, name, value, delegate);
|
|
224
|
-
delegate && delegateEvents([name]);
|
|
225
|
-
} else if ((isChildProp = ChildProperties.has(prop)) || !isSVG && (PropAliases[prop] || (isProp = Properties.has(prop))) || (isCE = node.nodeName.includes("-"))) {
|
|
226
|
-
if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;else node[PropAliases[prop] || prop] = value;
|
|
227
|
-
} else {
|
|
228
|
-
const ns = isSVG && prop.indexOf(":") > -1 && SVGNamespace[prop.split(":")[0]];
|
|
229
|
-
if (ns) setAttributeNS(node, ns, prop, value);else setAttribute(node, Aliases[prop] || prop, value);
|
|
230
|
-
}
|
|
214
|
+
assignProp(node, prop, value, prevProps[prop], isSVG);
|
|
231
215
|
prevProps[prop] = value;
|
|
232
216
|
}
|
|
233
217
|
}
|
|
@@ -310,6 +294,29 @@ function toggleClassKey(node, key, value) {
|
|
|
310
294
|
const classNames = key.trim().split(/\s+/);
|
|
311
295
|
for (let i = 0, nameLen = classNames.length; i < nameLen; i++) node.classList.toggle(classNames[i], value);
|
|
312
296
|
}
|
|
297
|
+
function assignProp(node, prop, value, prev, isSVG) {
|
|
298
|
+
let isCE, isProp, isChildProp;
|
|
299
|
+
if (prop === "style") return style(node, value, prev);
|
|
300
|
+
if (prop === "classList") return classList(node, value, prev);
|
|
301
|
+
if (value === prev) return;
|
|
302
|
+
if (prop === "ref") {
|
|
303
|
+
value(node);
|
|
304
|
+
} else if (prop.slice(0, 3) === "on:") {
|
|
305
|
+
node.addEventListener(prop.slice(3), value);
|
|
306
|
+
} else if (prop.slice(0, 10) === "oncapture:") {
|
|
307
|
+
node.addEventListener(prop.slice(10), value, true);
|
|
308
|
+
} else if (prop.slice(0, 2) === "on") {
|
|
309
|
+
const name = prop.slice(2).toLowerCase();
|
|
310
|
+
const delegate = DelegatedEvents.has(name);
|
|
311
|
+
addEventListener(node, name, value, delegate);
|
|
312
|
+
delegate && delegateEvents([name]);
|
|
313
|
+
} else if ((isChildProp = ChildProperties.has(prop)) || !isSVG && (PropAliases[prop] || (isProp = Properties.has(prop))) || (isCE = node.nodeName.includes("-"))) {
|
|
314
|
+
if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;else node[PropAliases[prop] || prop] = value;
|
|
315
|
+
} else {
|
|
316
|
+
const ns = isSVG && prop.indexOf(":") > -1 && SVGNamespace[prop.split(":")[0]];
|
|
317
|
+
if (ns) setAttributeNS(node, ns, prop, value);else setAttribute(node, Aliases[prop] || prop, value);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
313
320
|
function eventHandler(e) {
|
|
314
321
|
const key = `$$${e.type}`;
|
|
315
322
|
let node = e.composedPath && e.composedPath()[0] || e.target;
|