solid-js 1.2.0 → 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 +23 -11
- package/dist/dev.js +23 -11
- package/dist/server.cjs +1 -0
- package/dist/server.js +1 -1
- package/dist/solid.cjs +23 -11
- package/dist/solid.js +23 -11
- package/html/dist/html.cjs +3 -2
- package/html/dist/html.js +3 -2
- package/package.json +2 -2
- package/store/dist/dev.cjs +2 -2
- package/store/dist/dev.js +3 -3
- package/store/dist/store.cjs +2 -2
- package/store/dist/store.js +2 -2
- package/store/types/store.d.ts +1 -1
- package/types/jsx.d.ts +5 -1
- package/types/server/index.d.ts +1 -1
- 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
|
@@ -553,10 +553,11 @@ function getSuspenseContext() {
|
|
|
553
553
|
return SuspenseContext || (SuspenseContext = createContext({}));
|
|
554
554
|
}
|
|
555
555
|
function readSignal() {
|
|
556
|
-
|
|
556
|
+
const runningTransition = Transition && Transition.running;
|
|
557
|
+
if (this.sources && (!runningTransition && this.state || runningTransition && this.tState)) {
|
|
557
558
|
const updates = Updates;
|
|
558
559
|
Updates = null;
|
|
559
|
-
this.state === STALE ||
|
|
560
|
+
!runningTransition && this.state === STALE || runningTransition && this.tState === STALE ? updateComputation(this) : lookDownstream(this);
|
|
560
561
|
Updates = updates;
|
|
561
562
|
}
|
|
562
563
|
if (Listener) {
|
|
@@ -576,7 +577,7 @@ function readSignal() {
|
|
|
576
577
|
this.observerSlots.push(Listener.sources.length - 1);
|
|
577
578
|
}
|
|
578
579
|
}
|
|
579
|
-
if (
|
|
580
|
+
if (runningTransition && Transition.sources.has(this)) return this.tValue;
|
|
580
581
|
return this.value;
|
|
581
582
|
}
|
|
582
583
|
function writeSignal(node, value, isComp) {
|
|
@@ -624,7 +625,7 @@ function updateComputation(node) {
|
|
|
624
625
|
listener = Listener,
|
|
625
626
|
time = ExecCount;
|
|
626
627
|
Listener = Owner = node;
|
|
627
|
-
runComputation(node, node.value, time);
|
|
628
|
+
runComputation(node, Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value, time);
|
|
628
629
|
if (Transition && !Transition.running && Transition.sources.has(node)) {
|
|
629
630
|
queueMicrotask(() => {
|
|
630
631
|
runUpdates(() => {
|
|
@@ -689,7 +690,7 @@ function runTop(node) {
|
|
|
689
690
|
const ancestors = [node];
|
|
690
691
|
while ((node = node.owner) && (!node.updatedAt || node.updatedAt < ExecCount)) {
|
|
691
692
|
if (runningTransition && Transition.disposed.has(node)) return;
|
|
692
|
-
if (node.state || runningTransition && node.tState) ancestors.push(node);
|
|
693
|
+
if (!runningTransition && node.state || runningTransition && node.tState) ancestors.push(node);
|
|
693
694
|
}
|
|
694
695
|
for (let i = ancestors.length - 1; i >= 0; i--) {
|
|
695
696
|
node = ancestors[i];
|
|
@@ -700,9 +701,9 @@ function runTop(node) {
|
|
|
700
701
|
if (Transition.disposed.has(top)) return;
|
|
701
702
|
}
|
|
702
703
|
}
|
|
703
|
-
if (node.state === STALE || runningTransition && node.tState === STALE) {
|
|
704
|
+
if (!runningTransition && node.state === STALE || runningTransition && node.tState === STALE) {
|
|
704
705
|
updateComputation(node);
|
|
705
|
-
} else if (node.state === PENDING || runningTransition && node.tState === PENDING) {
|
|
706
|
+
} else if (!runningTransition && node.state === PENDING || runningTransition && node.tState === PENDING) {
|
|
706
707
|
const updates = Updates;
|
|
707
708
|
Updates = null;
|
|
708
709
|
lookDownstream(node);
|
|
@@ -806,10 +807,11 @@ function runUserEffects(queue) {
|
|
|
806
807
|
}
|
|
807
808
|
function lookDownstream(node) {
|
|
808
809
|
node.state = 0;
|
|
810
|
+
const runningTransition = Transition && Transition.running;
|
|
809
811
|
for (let i = 0; i < node.sources.length; i += 1) {
|
|
810
812
|
const source = node.sources[i];
|
|
811
813
|
if (source.sources) {
|
|
812
|
-
if (source.state === STALE ||
|
|
814
|
+
if (!runningTransition && source.state === STALE || runningTransition && source.tState === STALE) runTop(source);else if (!runningTransition && source.state === PENDING || runningTransition && source.tState === PENDING) lookDownstream(source);
|
|
813
815
|
}
|
|
814
816
|
}
|
|
815
817
|
}
|
|
@@ -817,7 +819,7 @@ function markUpstream(node) {
|
|
|
817
819
|
const runningTransition = Transition && Transition.running;
|
|
818
820
|
for (let i = 0; i < node.observers.length; i += 1) {
|
|
819
821
|
const o = node.observers[i];
|
|
820
|
-
if (!o.state || runningTransition && !o.tState) {
|
|
822
|
+
if (!runningTransition && !o.state || runningTransition && !o.tState) {
|
|
821
823
|
if (runningTransition) o.tState = PENDING;else o.state = PENDING;
|
|
822
824
|
if (o.pure) Updates.push(o);else Effects.push(o);
|
|
823
825
|
o.observers && markUpstream(o);
|
|
@@ -1205,6 +1207,9 @@ function splitProps(props, ...keys) {
|
|
|
1205
1207
|
Object.defineProperty(clone, key, descriptors[key] ? descriptors[key] : {
|
|
1206
1208
|
get() {
|
|
1207
1209
|
return props[key];
|
|
1210
|
+
},
|
|
1211
|
+
set() {
|
|
1212
|
+
return true;
|
|
1208
1213
|
}
|
|
1209
1214
|
});
|
|
1210
1215
|
}
|
|
@@ -1407,9 +1412,12 @@ function Suspense(props) {
|
|
|
1407
1412
|
inFallback,
|
|
1408
1413
|
effects: [],
|
|
1409
1414
|
resolved: false
|
|
1410
|
-
}
|
|
1415
|
+
},
|
|
1416
|
+
owner = getOwner();
|
|
1411
1417
|
const listContext = useContext(SuspenseListContext);
|
|
1412
1418
|
if (listContext) [showContent, showFallback] = listContext.register(store.inFallback);
|
|
1419
|
+
let dispose;
|
|
1420
|
+
onCleanup(() => dispose && dispose());
|
|
1413
1421
|
return createComponent(SuspenseContext.Provider, {
|
|
1414
1422
|
value: store,
|
|
1415
1423
|
get children() {
|
|
@@ -1418,13 +1426,17 @@ function Suspense(props) {
|
|
|
1418
1426
|
const inFallback = store.inFallback(),
|
|
1419
1427
|
visibleContent = showContent ? showContent() : true,
|
|
1420
1428
|
visibleFallback = showFallback ? showFallback() : true;
|
|
1429
|
+
dispose && dispose();
|
|
1421
1430
|
if (!inFallback && visibleContent) {
|
|
1422
1431
|
store.resolved = true;
|
|
1423
1432
|
resumeEffects(store.effects);
|
|
1424
1433
|
return rendered;
|
|
1425
1434
|
}
|
|
1426
1435
|
if (!visibleFallback) return;
|
|
1427
|
-
return
|
|
1436
|
+
return createRoot(disposer => {
|
|
1437
|
+
dispose = disposer;
|
|
1438
|
+
return props.fallback;
|
|
1439
|
+
}, owner);
|
|
1428
1440
|
});
|
|
1429
1441
|
}
|
|
1430
1442
|
});
|
package/dist/dev.js
CHANGED
|
@@ -549,10 +549,11 @@ function getSuspenseContext() {
|
|
|
549
549
|
return SuspenseContext || (SuspenseContext = createContext({}));
|
|
550
550
|
}
|
|
551
551
|
function readSignal() {
|
|
552
|
-
|
|
552
|
+
const runningTransition = Transition && Transition.running;
|
|
553
|
+
if (this.sources && (!runningTransition && this.state || runningTransition && this.tState)) {
|
|
553
554
|
const updates = Updates;
|
|
554
555
|
Updates = null;
|
|
555
|
-
this.state === STALE ||
|
|
556
|
+
!runningTransition && this.state === STALE || runningTransition && this.tState === STALE ? updateComputation(this) : lookDownstream(this);
|
|
556
557
|
Updates = updates;
|
|
557
558
|
}
|
|
558
559
|
if (Listener) {
|
|
@@ -572,7 +573,7 @@ function readSignal() {
|
|
|
572
573
|
this.observerSlots.push(Listener.sources.length - 1);
|
|
573
574
|
}
|
|
574
575
|
}
|
|
575
|
-
if (
|
|
576
|
+
if (runningTransition && Transition.sources.has(this)) return this.tValue;
|
|
576
577
|
return this.value;
|
|
577
578
|
}
|
|
578
579
|
function writeSignal(node, value, isComp) {
|
|
@@ -620,7 +621,7 @@ function updateComputation(node) {
|
|
|
620
621
|
listener = Listener,
|
|
621
622
|
time = ExecCount;
|
|
622
623
|
Listener = Owner = node;
|
|
623
|
-
runComputation(node, node.value, time);
|
|
624
|
+
runComputation(node, Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value, time);
|
|
624
625
|
if (Transition && !Transition.running && Transition.sources.has(node)) {
|
|
625
626
|
queueMicrotask(() => {
|
|
626
627
|
runUpdates(() => {
|
|
@@ -685,7 +686,7 @@ function runTop(node) {
|
|
|
685
686
|
const ancestors = [node];
|
|
686
687
|
while ((node = node.owner) && (!node.updatedAt || node.updatedAt < ExecCount)) {
|
|
687
688
|
if (runningTransition && Transition.disposed.has(node)) return;
|
|
688
|
-
if (node.state || runningTransition && node.tState) ancestors.push(node);
|
|
689
|
+
if (!runningTransition && node.state || runningTransition && node.tState) ancestors.push(node);
|
|
689
690
|
}
|
|
690
691
|
for (let i = ancestors.length - 1; i >= 0; i--) {
|
|
691
692
|
node = ancestors[i];
|
|
@@ -696,9 +697,9 @@ function runTop(node) {
|
|
|
696
697
|
if (Transition.disposed.has(top)) return;
|
|
697
698
|
}
|
|
698
699
|
}
|
|
699
|
-
if (node.state === STALE || runningTransition && node.tState === STALE) {
|
|
700
|
+
if (!runningTransition && node.state === STALE || runningTransition && node.tState === STALE) {
|
|
700
701
|
updateComputation(node);
|
|
701
|
-
} else if (node.state === PENDING || runningTransition && node.tState === PENDING) {
|
|
702
|
+
} else if (!runningTransition && node.state === PENDING || runningTransition && node.tState === PENDING) {
|
|
702
703
|
const updates = Updates;
|
|
703
704
|
Updates = null;
|
|
704
705
|
lookDownstream(node);
|
|
@@ -802,10 +803,11 @@ function runUserEffects(queue) {
|
|
|
802
803
|
}
|
|
803
804
|
function lookDownstream(node) {
|
|
804
805
|
node.state = 0;
|
|
806
|
+
const runningTransition = Transition && Transition.running;
|
|
805
807
|
for (let i = 0; i < node.sources.length; i += 1) {
|
|
806
808
|
const source = node.sources[i];
|
|
807
809
|
if (source.sources) {
|
|
808
|
-
if (source.state === STALE ||
|
|
810
|
+
if (!runningTransition && source.state === STALE || runningTransition && source.tState === STALE) runTop(source);else if (!runningTransition && source.state === PENDING || runningTransition && source.tState === PENDING) lookDownstream(source);
|
|
809
811
|
}
|
|
810
812
|
}
|
|
811
813
|
}
|
|
@@ -813,7 +815,7 @@ function markUpstream(node) {
|
|
|
813
815
|
const runningTransition = Transition && Transition.running;
|
|
814
816
|
for (let i = 0; i < node.observers.length; i += 1) {
|
|
815
817
|
const o = node.observers[i];
|
|
816
|
-
if (!o.state || runningTransition && !o.tState) {
|
|
818
|
+
if (!runningTransition && !o.state || runningTransition && !o.tState) {
|
|
817
819
|
if (runningTransition) o.tState = PENDING;else o.state = PENDING;
|
|
818
820
|
if (o.pure) Updates.push(o);else Effects.push(o);
|
|
819
821
|
o.observers && markUpstream(o);
|
|
@@ -1201,6 +1203,9 @@ function splitProps(props, ...keys) {
|
|
|
1201
1203
|
Object.defineProperty(clone, key, descriptors[key] ? descriptors[key] : {
|
|
1202
1204
|
get() {
|
|
1203
1205
|
return props[key];
|
|
1206
|
+
},
|
|
1207
|
+
set() {
|
|
1208
|
+
return true;
|
|
1204
1209
|
}
|
|
1205
1210
|
});
|
|
1206
1211
|
}
|
|
@@ -1403,9 +1408,12 @@ function Suspense(props) {
|
|
|
1403
1408
|
inFallback,
|
|
1404
1409
|
effects: [],
|
|
1405
1410
|
resolved: false
|
|
1406
|
-
}
|
|
1411
|
+
},
|
|
1412
|
+
owner = getOwner();
|
|
1407
1413
|
const listContext = useContext(SuspenseListContext);
|
|
1408
1414
|
if (listContext) [showContent, showFallback] = listContext.register(store.inFallback);
|
|
1415
|
+
let dispose;
|
|
1416
|
+
onCleanup(() => dispose && dispose());
|
|
1409
1417
|
return createComponent(SuspenseContext.Provider, {
|
|
1410
1418
|
value: store,
|
|
1411
1419
|
get children() {
|
|
@@ -1414,13 +1422,17 @@ function Suspense(props) {
|
|
|
1414
1422
|
const inFallback = store.inFallback(),
|
|
1415
1423
|
visibleContent = showContent ? showContent() : true,
|
|
1416
1424
|
visibleFallback = showFallback ? showFallback() : true;
|
|
1425
|
+
dispose && dispose();
|
|
1417
1426
|
if (!inFallback && visibleContent) {
|
|
1418
1427
|
store.resolved = true;
|
|
1419
1428
|
resumeEffects(store.effects);
|
|
1420
1429
|
return rendered;
|
|
1421
1430
|
}
|
|
1422
1431
|
if (!visibleFallback) return;
|
|
1423
|
-
return
|
|
1432
|
+
return createRoot(disposer => {
|
|
1433
|
+
dispose = disposer;
|
|
1434
|
+
return props.fallback;
|
|
1435
|
+
}, owner);
|
|
1424
1436
|
});
|
|
1425
1437
|
}
|
|
1426
1438
|
});
|
package/dist/server.cjs
CHANGED
|
@@ -510,6 +510,7 @@ exports.SuspenseList = SuspenseList;
|
|
|
510
510
|
exports.Switch = Switch;
|
|
511
511
|
exports.awaitSuspense = awaitSuspense;
|
|
512
512
|
exports.batch = batch;
|
|
513
|
+
exports.children = children;
|
|
513
514
|
exports.createComponent = createComponent;
|
|
514
515
|
exports.createComputed = createComputed;
|
|
515
516
|
exports.createContext = createContext;
|
package/dist/server.js
CHANGED
|
@@ -494,4 +494,4 @@ function awaitSuspense(fn) {
|
|
|
494
494
|
});
|
|
495
495
|
}
|
|
496
496
|
|
|
497
|
-
export { $PROXY, DEV, ErrorBoundary, For, Index, Match, Show, Suspense, SuspenseList, Switch, awaitSuspense, batch, createComponent, createComputed, createContext, createDeferred, createEffect, createMemo, createRenderEffect, createResource, createRoot, createSelector, createSignal, createUniqueId, enableScheduling, equalFn, from, getListener, getOwner, lazy, mapArray, mergeProps, observable, on, onCleanup, onError, onMount, requestCallback, runWithOwner, sharedConfig, splitProps, startTransition, untrack, useContext, useTransition };
|
|
497
|
+
export { $PROXY, DEV, ErrorBoundary, For, Index, Match, Show, Suspense, SuspenseList, Switch, awaitSuspense, batch, children, createComponent, createComputed, createContext, createDeferred, createEffect, createMemo, createRenderEffect, createResource, createRoot, createSelector, createSignal, createUniqueId, enableScheduling, equalFn, from, getListener, getOwner, lazy, mapArray, mergeProps, observable, on, onCleanup, onError, onMount, requestCallback, runWithOwner, sharedConfig, splitProps, startTransition, untrack, useContext, useTransition };
|
package/dist/solid.cjs
CHANGED
|
@@ -502,10 +502,11 @@ function getSuspenseContext() {
|
|
|
502
502
|
return SuspenseContext || (SuspenseContext = createContext({}));
|
|
503
503
|
}
|
|
504
504
|
function readSignal() {
|
|
505
|
-
|
|
505
|
+
const runningTransition = Transition && Transition.running;
|
|
506
|
+
if (this.sources && (!runningTransition && this.state || runningTransition && this.tState)) {
|
|
506
507
|
const updates = Updates;
|
|
507
508
|
Updates = null;
|
|
508
|
-
this.state === STALE ||
|
|
509
|
+
!runningTransition && this.state === STALE || runningTransition && this.tState === STALE ? updateComputation(this) : lookDownstream(this);
|
|
509
510
|
Updates = updates;
|
|
510
511
|
}
|
|
511
512
|
if (Listener) {
|
|
@@ -525,7 +526,7 @@ function readSignal() {
|
|
|
525
526
|
this.observerSlots.push(Listener.sources.length - 1);
|
|
526
527
|
}
|
|
527
528
|
}
|
|
528
|
-
if (
|
|
529
|
+
if (runningTransition && Transition.sources.has(this)) return this.tValue;
|
|
529
530
|
return this.value;
|
|
530
531
|
}
|
|
531
532
|
function writeSignal(node, value, isComp) {
|
|
@@ -573,7 +574,7 @@ function updateComputation(node) {
|
|
|
573
574
|
listener = Listener,
|
|
574
575
|
time = ExecCount;
|
|
575
576
|
Listener = Owner = node;
|
|
576
|
-
runComputation(node, node.value, time);
|
|
577
|
+
runComputation(node, Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value, time);
|
|
577
578
|
if (Transition && !Transition.running && Transition.sources.has(node)) {
|
|
578
579
|
queueMicrotask(() => {
|
|
579
580
|
runUpdates(() => {
|
|
@@ -637,7 +638,7 @@ function runTop(node) {
|
|
|
637
638
|
const ancestors = [node];
|
|
638
639
|
while ((node = node.owner) && (!node.updatedAt || node.updatedAt < ExecCount)) {
|
|
639
640
|
if (runningTransition && Transition.disposed.has(node)) return;
|
|
640
|
-
if (node.state || runningTransition && node.tState) ancestors.push(node);
|
|
641
|
+
if (!runningTransition && node.state || runningTransition && node.tState) ancestors.push(node);
|
|
641
642
|
}
|
|
642
643
|
for (let i = ancestors.length - 1; i >= 0; i--) {
|
|
643
644
|
node = ancestors[i];
|
|
@@ -648,9 +649,9 @@ function runTop(node) {
|
|
|
648
649
|
if (Transition.disposed.has(top)) return;
|
|
649
650
|
}
|
|
650
651
|
}
|
|
651
|
-
if (node.state === STALE || runningTransition && node.tState === STALE) {
|
|
652
|
+
if (!runningTransition && node.state === STALE || runningTransition && node.tState === STALE) {
|
|
652
653
|
updateComputation(node);
|
|
653
|
-
} else if (node.state === PENDING || runningTransition && node.tState === PENDING) {
|
|
654
|
+
} else if (!runningTransition && node.state === PENDING || runningTransition && node.tState === PENDING) {
|
|
654
655
|
const updates = Updates;
|
|
655
656
|
Updates = null;
|
|
656
657
|
lookDownstream(node);
|
|
@@ -753,10 +754,11 @@ function runUserEffects(queue) {
|
|
|
753
754
|
}
|
|
754
755
|
function lookDownstream(node) {
|
|
755
756
|
node.state = 0;
|
|
757
|
+
const runningTransition = Transition && Transition.running;
|
|
756
758
|
for (let i = 0; i < node.sources.length; i += 1) {
|
|
757
759
|
const source = node.sources[i];
|
|
758
760
|
if (source.sources) {
|
|
759
|
-
if (source.state === STALE ||
|
|
761
|
+
if (!runningTransition && source.state === STALE || runningTransition && source.tState === STALE) runTop(source);else if (!runningTransition && source.state === PENDING || runningTransition && source.tState === PENDING) lookDownstream(source);
|
|
760
762
|
}
|
|
761
763
|
}
|
|
762
764
|
}
|
|
@@ -764,7 +766,7 @@ function markUpstream(node) {
|
|
|
764
766
|
const runningTransition = Transition && Transition.running;
|
|
765
767
|
for (let i = 0; i < node.observers.length; i += 1) {
|
|
766
768
|
const o = node.observers[i];
|
|
767
|
-
if (!o.state || runningTransition && !o.tState) {
|
|
769
|
+
if (!runningTransition && !o.state || runningTransition && !o.tState) {
|
|
768
770
|
if (runningTransition) o.tState = PENDING;else o.state = PENDING;
|
|
769
771
|
if (o.pure) Updates.push(o);else Effects.push(o);
|
|
770
772
|
o.observers && markUpstream(o);
|
|
@@ -1129,6 +1131,9 @@ function splitProps(props, ...keys) {
|
|
|
1129
1131
|
Object.defineProperty(clone, key, descriptors[key] ? descriptors[key] : {
|
|
1130
1132
|
get() {
|
|
1131
1133
|
return props[key];
|
|
1134
|
+
},
|
|
1135
|
+
set() {
|
|
1136
|
+
return true;
|
|
1132
1137
|
}
|
|
1133
1138
|
});
|
|
1134
1139
|
}
|
|
@@ -1331,9 +1336,12 @@ function Suspense(props) {
|
|
|
1331
1336
|
inFallback,
|
|
1332
1337
|
effects: [],
|
|
1333
1338
|
resolved: false
|
|
1334
|
-
}
|
|
1339
|
+
},
|
|
1340
|
+
owner = getOwner();
|
|
1335
1341
|
const listContext = useContext(SuspenseListContext);
|
|
1336
1342
|
if (listContext) [showContent, showFallback] = listContext.register(store.inFallback);
|
|
1343
|
+
let dispose;
|
|
1344
|
+
onCleanup(() => dispose && dispose());
|
|
1337
1345
|
return createComponent(SuspenseContext.Provider, {
|
|
1338
1346
|
value: store,
|
|
1339
1347
|
get children() {
|
|
@@ -1342,13 +1350,17 @@ function Suspense(props) {
|
|
|
1342
1350
|
const inFallback = store.inFallback(),
|
|
1343
1351
|
visibleContent = showContent ? showContent() : true,
|
|
1344
1352
|
visibleFallback = showFallback ? showFallback() : true;
|
|
1353
|
+
dispose && dispose();
|
|
1345
1354
|
if (!inFallback && visibleContent) {
|
|
1346
1355
|
store.resolved = true;
|
|
1347
1356
|
resumeEffects(store.effects);
|
|
1348
1357
|
return rendered;
|
|
1349
1358
|
}
|
|
1350
1359
|
if (!visibleFallback) return;
|
|
1351
|
-
return
|
|
1360
|
+
return createRoot(disposer => {
|
|
1361
|
+
dispose = disposer;
|
|
1362
|
+
return props.fallback;
|
|
1363
|
+
}, owner);
|
|
1352
1364
|
});
|
|
1353
1365
|
}
|
|
1354
1366
|
});
|
package/dist/solid.js
CHANGED
|
@@ -498,10 +498,11 @@ function getSuspenseContext() {
|
|
|
498
498
|
return SuspenseContext || (SuspenseContext = createContext({}));
|
|
499
499
|
}
|
|
500
500
|
function readSignal() {
|
|
501
|
-
|
|
501
|
+
const runningTransition = Transition && Transition.running;
|
|
502
|
+
if (this.sources && (!runningTransition && this.state || runningTransition && this.tState)) {
|
|
502
503
|
const updates = Updates;
|
|
503
504
|
Updates = null;
|
|
504
|
-
this.state === STALE ||
|
|
505
|
+
!runningTransition && this.state === STALE || runningTransition && this.tState === STALE ? updateComputation(this) : lookDownstream(this);
|
|
505
506
|
Updates = updates;
|
|
506
507
|
}
|
|
507
508
|
if (Listener) {
|
|
@@ -521,7 +522,7 @@ function readSignal() {
|
|
|
521
522
|
this.observerSlots.push(Listener.sources.length - 1);
|
|
522
523
|
}
|
|
523
524
|
}
|
|
524
|
-
if (
|
|
525
|
+
if (runningTransition && Transition.sources.has(this)) return this.tValue;
|
|
525
526
|
return this.value;
|
|
526
527
|
}
|
|
527
528
|
function writeSignal(node, value, isComp) {
|
|
@@ -569,7 +570,7 @@ function updateComputation(node) {
|
|
|
569
570
|
listener = Listener,
|
|
570
571
|
time = ExecCount;
|
|
571
572
|
Listener = Owner = node;
|
|
572
|
-
runComputation(node, node.value, time);
|
|
573
|
+
runComputation(node, Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value, time);
|
|
573
574
|
if (Transition && !Transition.running && Transition.sources.has(node)) {
|
|
574
575
|
queueMicrotask(() => {
|
|
575
576
|
runUpdates(() => {
|
|
@@ -633,7 +634,7 @@ function runTop(node) {
|
|
|
633
634
|
const ancestors = [node];
|
|
634
635
|
while ((node = node.owner) && (!node.updatedAt || node.updatedAt < ExecCount)) {
|
|
635
636
|
if (runningTransition && Transition.disposed.has(node)) return;
|
|
636
|
-
if (node.state || runningTransition && node.tState) ancestors.push(node);
|
|
637
|
+
if (!runningTransition && node.state || runningTransition && node.tState) ancestors.push(node);
|
|
637
638
|
}
|
|
638
639
|
for (let i = ancestors.length - 1; i >= 0; i--) {
|
|
639
640
|
node = ancestors[i];
|
|
@@ -644,9 +645,9 @@ function runTop(node) {
|
|
|
644
645
|
if (Transition.disposed.has(top)) return;
|
|
645
646
|
}
|
|
646
647
|
}
|
|
647
|
-
if (node.state === STALE || runningTransition && node.tState === STALE) {
|
|
648
|
+
if (!runningTransition && node.state === STALE || runningTransition && node.tState === STALE) {
|
|
648
649
|
updateComputation(node);
|
|
649
|
-
} else if (node.state === PENDING || runningTransition && node.tState === PENDING) {
|
|
650
|
+
} else if (!runningTransition && node.state === PENDING || runningTransition && node.tState === PENDING) {
|
|
650
651
|
const updates = Updates;
|
|
651
652
|
Updates = null;
|
|
652
653
|
lookDownstream(node);
|
|
@@ -749,10 +750,11 @@ function runUserEffects(queue) {
|
|
|
749
750
|
}
|
|
750
751
|
function lookDownstream(node) {
|
|
751
752
|
node.state = 0;
|
|
753
|
+
const runningTransition = Transition && Transition.running;
|
|
752
754
|
for (let i = 0; i < node.sources.length; i += 1) {
|
|
753
755
|
const source = node.sources[i];
|
|
754
756
|
if (source.sources) {
|
|
755
|
-
if (source.state === STALE ||
|
|
757
|
+
if (!runningTransition && source.state === STALE || runningTransition && source.tState === STALE) runTop(source);else if (!runningTransition && source.state === PENDING || runningTransition && source.tState === PENDING) lookDownstream(source);
|
|
756
758
|
}
|
|
757
759
|
}
|
|
758
760
|
}
|
|
@@ -760,7 +762,7 @@ function markUpstream(node) {
|
|
|
760
762
|
const runningTransition = Transition && Transition.running;
|
|
761
763
|
for (let i = 0; i < node.observers.length; i += 1) {
|
|
762
764
|
const o = node.observers[i];
|
|
763
|
-
if (!o.state || runningTransition && !o.tState) {
|
|
765
|
+
if (!runningTransition && !o.state || runningTransition && !o.tState) {
|
|
764
766
|
if (runningTransition) o.tState = PENDING;else o.state = PENDING;
|
|
765
767
|
if (o.pure) Updates.push(o);else Effects.push(o);
|
|
766
768
|
o.observers && markUpstream(o);
|
|
@@ -1125,6 +1127,9 @@ function splitProps(props, ...keys) {
|
|
|
1125
1127
|
Object.defineProperty(clone, key, descriptors[key] ? descriptors[key] : {
|
|
1126
1128
|
get() {
|
|
1127
1129
|
return props[key];
|
|
1130
|
+
},
|
|
1131
|
+
set() {
|
|
1132
|
+
return true;
|
|
1128
1133
|
}
|
|
1129
1134
|
});
|
|
1130
1135
|
}
|
|
@@ -1327,9 +1332,12 @@ function Suspense(props) {
|
|
|
1327
1332
|
inFallback,
|
|
1328
1333
|
effects: [],
|
|
1329
1334
|
resolved: false
|
|
1330
|
-
}
|
|
1335
|
+
},
|
|
1336
|
+
owner = getOwner();
|
|
1331
1337
|
const listContext = useContext(SuspenseListContext);
|
|
1332
1338
|
if (listContext) [showContent, showFallback] = listContext.register(store.inFallback);
|
|
1339
|
+
let dispose;
|
|
1340
|
+
onCleanup(() => dispose && dispose());
|
|
1333
1341
|
return createComponent(SuspenseContext.Provider, {
|
|
1334
1342
|
value: store,
|
|
1335
1343
|
get children() {
|
|
@@ -1338,13 +1346,17 @@ function Suspense(props) {
|
|
|
1338
1346
|
const inFallback = store.inFallback(),
|
|
1339
1347
|
visibleContent = showContent ? showContent() : true,
|
|
1340
1348
|
visibleFallback = showFallback ? showFallback() : true;
|
|
1349
|
+
dispose && dispose();
|
|
1341
1350
|
if (!inFallback && visibleContent) {
|
|
1342
1351
|
store.resolved = true;
|
|
1343
1352
|
resumeEffects(store.effects);
|
|
1344
1353
|
return rendered;
|
|
1345
1354
|
}
|
|
1346
1355
|
if (!visibleFallback) return;
|
|
1347
|
-
return
|
|
1356
|
+
return createRoot(disposer => {
|
|
1357
|
+
dispose = disposer;
|
|
1358
|
+
return props.fallback;
|
|
1359
|
+
}, owner);
|
|
1348
1360
|
});
|
|
1349
1361
|
}
|
|
1350
1362
|
});
|
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;
|
|
@@ -65,7 +65,7 @@ function getDataNodes(target) {
|
|
|
65
65
|
}
|
|
66
66
|
function proxyDescriptor(target, property) {
|
|
67
67
|
const desc = Reflect.getOwnPropertyDescriptor(target, property);
|
|
68
|
-
if (!desc || desc.get || property === solidJs.$PROXY || property === $NODE || property === $NAME) return desc;
|
|
68
|
+
if (!desc || desc.get || !desc.configurable || property === solidJs.$PROXY || property === $NODE || property === $NAME) return desc;
|
|
69
69
|
delete desc.value;
|
|
70
70
|
delete desc.writable;
|
|
71
71
|
desc.get = () => target[solidJs.$PROXY][property];
|
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;
|
|
@@ -61,7 +61,7 @@ function getDataNodes(target) {
|
|
|
61
61
|
}
|
|
62
62
|
function proxyDescriptor(target, property) {
|
|
63
63
|
const desc = Reflect.getOwnPropertyDescriptor(target, property);
|
|
64
|
-
if (!desc || desc.get || property === $PROXY || property === $NODE || property === $NAME) return desc;
|
|
64
|
+
if (!desc || desc.get || !desc.configurable || property === $PROXY || property === $NODE || property === $NAME) return desc;
|
|
65
65
|
delete desc.value;
|
|
66
66
|
delete desc.writable;
|
|
67
67
|
desc.get = () => target[$PROXY][property];
|
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;
|
|
@@ -62,7 +62,7 @@ function getDataNodes(target) {
|
|
|
62
62
|
}
|
|
63
63
|
function proxyDescriptor(target, property) {
|
|
64
64
|
const desc = Reflect.getOwnPropertyDescriptor(target, property);
|
|
65
|
-
if (!desc || desc.get || property === solidJs.$PROXY || property === $NODE || property === $NAME) return desc;
|
|
65
|
+
if (!desc || desc.get || !desc.configurable || property === solidJs.$PROXY || property === $NODE || property === $NAME) return desc;
|
|
66
66
|
delete desc.value;
|
|
67
67
|
delete desc.writable;
|
|
68
68
|
desc.get = () => target[solidJs.$PROXY][property];
|
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;
|
|
@@ -58,7 +58,7 @@ function getDataNodes(target) {
|
|
|
58
58
|
}
|
|
59
59
|
function proxyDescriptor(target, property) {
|
|
60
60
|
const desc = Reflect.getOwnPropertyDescriptor(target, property);
|
|
61
|
-
if (!desc || desc.get || property === $PROXY || property === $NODE || property === $NAME) return desc;
|
|
61
|
+
if (!desc || desc.get || !desc.configurable || property === $PROXY || property === $NODE || property === $NAME) return desc;
|
|
62
62
|
delete desc.value;
|
|
63
63
|
delete desc.writable;
|
|
64
64
|
desc.get = () => target[$PROXY][property];
|
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>;
|
|
@@ -2874,7 +2876,8 @@ export namespace JSX {
|
|
|
2874
2876
|
extends FilterPrimitiveElementSVGAttributes<T>,
|
|
2875
2877
|
ExternalResourceSVGAttributes,
|
|
2876
2878
|
StylableSVGAttributes {
|
|
2877
|
-
preserveAspectRatio
|
|
2879
|
+
preserveAspectRatio?: SVGPreserveAspectRatio;
|
|
2880
|
+
href?: string;
|
|
2878
2881
|
}
|
|
2879
2882
|
interface FeMergeSVGAttributes<T>
|
|
2880
2883
|
extends FilterPrimitiveElementSVGAttributes<T>,
|
|
@@ -2977,6 +2980,7 @@ export namespace JSX {
|
|
|
2977
2980
|
width?: number | string;
|
|
2978
2981
|
height?: number | string;
|
|
2979
2982
|
preserveAspectRatio?: ImagePreserveAspectRatio;
|
|
2983
|
+
href?: string;
|
|
2980
2984
|
}
|
|
2981
2985
|
interface LineSVGAttributes<T>
|
|
2982
2986
|
extends GraphicsElementSVGAttributes<T>,
|
package/types/server/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { createRoot, createSignal, createComputed, createRenderEffect, createEffect, createDeferred, createSelector, createMemo, getListener, onMount, onCleanup, onError, untrack, batch, on, createContext, useContext, getOwner, runWithOwner, equalFn, requestCallback, mapArray, observable, from, $PROXY, DEV } from "./reactive";
|
|
1
|
+
export { createRoot, createSignal, createComputed, createRenderEffect, createEffect, createDeferred, createSelector, createMemo, getListener, onMount, onCleanup, onError, untrack, batch, on, children, createContext, useContext, getOwner, runWithOwner, equalFn, requestCallback, mapArray, observable, from, $PROXY, DEV } from "./reactive";
|
|
2
2
|
export { awaitSuspense, mergeProps, splitProps, createComponent, For, Index, Show, Switch, Match, ErrorBoundary, Suspense, SuspenseList, createResource, enableScheduling, startTransition, useTransition, createUniqueId, lazy, sharedConfig } from "./rendering";
|
|
3
3
|
export type { Component, Resource } from "./rendering";
|
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;
|