solid-js 1.3.17 → 1.4.0-beta.0
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 +25 -24
- package/dist/dev.js +25 -24
- package/dist/server.cjs +0 -2
- package/dist/server.js +1 -2
- package/dist/solid.cjs +25 -24
- package/dist/solid.js +25 -24
- package/package.json +2 -2
- package/store/dist/dev.cjs +31 -28
- package/store/dist/dev.js +32 -29
- package/store/dist/store.cjs +31 -28
- package/store/dist/store.js +32 -29
- package/store/types/store.d.ts +1 -0
- package/types/index.d.ts +1 -1
- package/types/jsx.d.ts +19 -5
- package/types/reactive/signal.d.ts +3 -4
- package/types/render/component.d.ts +6 -11
- package/types/server/index.d.ts +1 -1
- package/types/server/rendering.d.ts +1 -3
- package/web/dist/dev.cjs +5 -1
- package/web/dist/dev.js +5 -2
- package/web/dist/server.cjs +6 -5
- package/web/dist/server.js +6 -5
- package/web/dist/web.cjs +5 -1
- package/web/dist/web.js +5 -2
- package/web/types/client.d.ts +1 -0
|
@@ -23,18 +23,13 @@ declare type UnboxIntersection<T> = T extends {
|
|
|
23
23
|
} ? U : never;
|
|
24
24
|
declare type MergeProps<T extends any[]> = UnboxIntersection<UnionToIntersection<BoxedTupleTypes<T>>>;
|
|
25
25
|
export declare function mergeProps<T extends any[]>(...sources: T): MergeProps<T>;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
Pick<T, K1>,
|
|
32
|
-
Pick<T, K2>,
|
|
33
|
-
Pick<T, K3>,
|
|
34
|
-
Pick<T, K4>,
|
|
35
|
-
Pick<T, K5>,
|
|
36
|
-
Omit<T, K1 | K2 | K3 | K4 | K5>
|
|
26
|
+
declare type SplitProps<T, K extends (readonly (keyof T)[])[]> = [
|
|
27
|
+
...{
|
|
28
|
+
[P in keyof K]: P extends `${number}` ? Pick<T, Extract<K[P], readonly (keyof T)[]>[number]> : K[P];
|
|
29
|
+
},
|
|
30
|
+
Omit<T, K[number][number]>
|
|
37
31
|
];
|
|
32
|
+
export declare function splitProps<T, K extends [readonly (keyof T)[], ...(readonly (keyof T)[])[]]>(props: T, ...keys: K): SplitProps<T, K>;
|
|
38
33
|
export declare function lazy<T extends Component<any>>(fn: () => Promise<{
|
|
39
34
|
default: T;
|
|
40
35
|
}>): T & {
|
package/types/server/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { createRoot, createSignal, createComputed, createRenderEffect, createEffect, createReaction, createDeferred, createSelector, createMemo, getListener, onMount, onCleanup, onError, untrack, batch, on, children, createContext, useContext, getOwner, runWithOwner, equalFn, requestCallback, mapArray, observable, from, $PROXY, $DEVCOMP, DEV, enableExternalSource } from "./reactive";
|
|
2
|
-
export { mergeProps, splitProps, createComponent, For, Index, Show, Switch, Match, ErrorBoundary, Suspense, SuspenseList, createResource,
|
|
2
|
+
export { mergeProps, splitProps, createComponent, For, Index, Show, Switch, Match, ErrorBoundary, Suspense, SuspenseList, createResource, resetErrorBoundaries, enableScheduling, enableHydration, startTransition, useTransition, createUniqueId, lazy, sharedConfig } from "./rendering";
|
|
3
3
|
export type { Component, Resource } from "./rendering";
|
|
@@ -61,6 +61,7 @@ export interface Resource<T> {
|
|
|
61
61
|
(): T | undefined;
|
|
62
62
|
loading: boolean;
|
|
63
63
|
error: any;
|
|
64
|
+
latest: T | undefined;
|
|
64
65
|
}
|
|
65
66
|
declare type SuspenseContextType = {
|
|
66
67
|
resources: Map<string, {
|
|
@@ -83,19 +84,16 @@ export declare type ResourceFetcherInfo<T> = {
|
|
|
83
84
|
export declare type ResourceOptions<T> = undefined extends T ? {
|
|
84
85
|
initialValue?: T;
|
|
85
86
|
name?: string;
|
|
86
|
-
globalRefetch?: boolean;
|
|
87
87
|
onHydrated?: <S, T>(k: S, info: ResourceFetcherInfo<T>) => void;
|
|
88
88
|
} : {
|
|
89
89
|
initialValue: T;
|
|
90
90
|
name?: string;
|
|
91
|
-
globalRefetch?: boolean;
|
|
92
91
|
onHydrated?: <S, T>(k: S, info: ResourceFetcherInfo<T>) => void;
|
|
93
92
|
};
|
|
94
93
|
export declare function createResource<T, S = true>(fetcher: ResourceFetcher<S, T>, options?: ResourceOptions<undefined>): ResourceReturn<T | undefined>;
|
|
95
94
|
export declare function createResource<T, S = true>(fetcher: ResourceFetcher<S, T>, options: ResourceOptions<T>): ResourceReturn<T>;
|
|
96
95
|
export declare function createResource<T, S>(source: ResourceSource<S>, fetcher: ResourceFetcher<S, T>, options?: ResourceOptions<undefined>): ResourceReturn<T | undefined>;
|
|
97
96
|
export declare function createResource<T, S>(source: ResourceSource<S>, fetcher: ResourceFetcher<S, T>, options: ResourceOptions<T>): ResourceReturn<T>;
|
|
98
|
-
export declare function refetchResources(info?: unknown): void;
|
|
99
97
|
export declare function lazy(fn: () => Promise<{
|
|
100
98
|
default: any;
|
|
101
99
|
}>): (props: any) => string;
|
package/web/dist/dev.cjs
CHANGED
|
@@ -136,6 +136,9 @@ function setAttribute(node, name, value) {
|
|
|
136
136
|
function setAttributeNS(node, namespace, name, value) {
|
|
137
137
|
if (value == null) node.removeAttributeNS(namespace, name);else node.setAttributeNS(namespace, name, value);
|
|
138
138
|
}
|
|
139
|
+
function className(node, value) {
|
|
140
|
+
if (value == null) node.removeAttribute("class");else node.className = value;
|
|
141
|
+
}
|
|
139
142
|
function addEventListener(node, name, handler, delegate) {
|
|
140
143
|
if (delegate) {
|
|
141
144
|
if (Array.isArray(handler)) {
|
|
@@ -316,7 +319,7 @@ function assignProp(node, prop, value, prev, isSVG, skipRef) {
|
|
|
316
319
|
addEventListener(node, name, value, delegate);
|
|
317
320
|
delegate && delegateEvents([name]);
|
|
318
321
|
} else if ((isChildProp = ChildProperties.has(prop)) || !isSVG && (PropAliases[prop] || (isProp = Properties.has(prop))) || (isCE = node.nodeName.includes("-"))) {
|
|
319
|
-
if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;else node[PropAliases[prop] || prop] = value;
|
|
322
|
+
if (prop === "class" || prop === "className") className(node, value);else if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;else node[PropAliases[prop] || prop] = value;
|
|
320
323
|
} else {
|
|
321
324
|
const ns = isSVG && prop.indexOf(":") > -1 && SVGNamespace[prop.split(":")[0]];
|
|
322
325
|
if (ns) setAttributeNS(node, ns, prop, value);else setAttribute(node, Aliases[prop] || prop, value);
|
|
@@ -639,6 +642,7 @@ exports.SVGNamespace = SVGNamespace;
|
|
|
639
642
|
exports.addEventListener = addEventListener;
|
|
640
643
|
exports.assign = assign;
|
|
641
644
|
exports.classList = classList;
|
|
645
|
+
exports.className = className;
|
|
642
646
|
exports.clearDelegatedEvents = clearDelegatedEvents;
|
|
643
647
|
exports.delegateEvents = delegateEvents;
|
|
644
648
|
exports.dynamicProperty = dynamicProperty;
|
package/web/dist/dev.js
CHANGED
|
@@ -133,6 +133,9 @@ function setAttribute(node, name, value) {
|
|
|
133
133
|
function setAttributeNS(node, namespace, name, value) {
|
|
134
134
|
if (value == null) node.removeAttributeNS(namespace, name);else node.setAttributeNS(namespace, name, value);
|
|
135
135
|
}
|
|
136
|
+
function className(node, value) {
|
|
137
|
+
if (value == null) node.removeAttribute("class");else node.className = value;
|
|
138
|
+
}
|
|
136
139
|
function addEventListener(node, name, handler, delegate) {
|
|
137
140
|
if (delegate) {
|
|
138
141
|
if (Array.isArray(handler)) {
|
|
@@ -313,7 +316,7 @@ function assignProp(node, prop, value, prev, isSVG, skipRef) {
|
|
|
313
316
|
addEventListener(node, name, value, delegate);
|
|
314
317
|
delegate && delegateEvents([name]);
|
|
315
318
|
} else if ((isChildProp = ChildProperties.has(prop)) || !isSVG && (PropAliases[prop] || (isProp = Properties.has(prop))) || (isCE = node.nodeName.includes("-"))) {
|
|
316
|
-
if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;else node[PropAliases[prop] || prop] = value;
|
|
319
|
+
if (prop === "class" || prop === "className") className(node, value);else if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;else node[PropAliases[prop] || prop] = value;
|
|
317
320
|
} else {
|
|
318
321
|
const ns = isSVG && prop.indexOf(":") > -1 && SVGNamespace[prop.split(":")[0]];
|
|
319
322
|
if (ns) setAttributeNS(node, ns, prop, value);else setAttribute(node, Aliases[prop] || prop, value);
|
|
@@ -572,4 +575,4 @@ function Dynamic(props) {
|
|
|
572
575
|
});
|
|
573
576
|
}
|
|
574
577
|
|
|
575
|
-
export { Aliases, Assets, ChildProperties, DOMElements, DelegatedEvents, Dynamic, Assets as HydrationScript, NoHydration, Portal, PropAliases, Properties, SVGElements, SVGNamespace, addEventListener, assign, classList, clearDelegatedEvents, delegateEvents, dynamicProperty, escape, generateHydrationScript, getHydrationKey, getNextElement, getNextMarker, getNextMatch, hydrate, innerHTML, insert, isServer, memo, render, renderToStream, renderToString, renderToStringAsync, resolveSSRNode, runHydrationEvents, setAttribute, setAttributeNS, spread, ssr, ssrBoolean, ssrClassList, ssrHydrationKey, ssrSpread, ssrStyle, style, template };
|
|
578
|
+
export { Aliases, Assets, ChildProperties, DOMElements, DelegatedEvents, Dynamic, Assets as HydrationScript, NoHydration, Portal, PropAliases, Properties, SVGElements, SVGNamespace, addEventListener, assign, classList, className, clearDelegatedEvents, delegateEvents, dynamicProperty, escape, generateHydrationScript, getHydrationKey, getNextElement, getNextMarker, getNextMatch, hydrate, innerHTML, insert, isServer, memo, render, renderToStream, renderToString, renderToStringAsync, resolveSSRNode, runHydrationEvents, setAttribute, setAttributeNS, spread, ssr, ssrBoolean, ssrClassList, ssrHydrationKey, ssrSpread, ssrStyle, style, template };
|
package/web/dist/server.cjs
CHANGED
|
@@ -496,9 +496,10 @@ function ssrStyle(value) {
|
|
|
496
496
|
return result;
|
|
497
497
|
}
|
|
498
498
|
function ssrSpread(props, isSVG, skipChildren) {
|
|
499
|
+
let result = "";
|
|
500
|
+
if (props == null) return results;
|
|
499
501
|
if (typeof props === "function") props = props();
|
|
500
502
|
const keys = Object.keys(props);
|
|
501
|
-
let result = "";
|
|
502
503
|
let classResolved;
|
|
503
504
|
for (let i = 0; i < keys.length; i++) {
|
|
504
505
|
const prop = keys[i];
|
|
@@ -516,7 +517,7 @@ function ssrSpread(props, isSVG, skipChildren) {
|
|
|
516
517
|
classResolved = true;
|
|
517
518
|
} else if (BooleanAttributes.has(prop)) {
|
|
518
519
|
if (value) result += prop;else continue;
|
|
519
|
-
} else if (prop === "ref" || prop.slice(0, 2) === "on") {
|
|
520
|
+
} else if (value == undefined || prop === "ref" || prop.slice(0, 2) === "on") {
|
|
520
521
|
continue;
|
|
521
522
|
} else {
|
|
522
523
|
result += `${Aliases[prop] || prop}="${escape(value, true)}"`;
|
|
@@ -525,8 +526,8 @@ function ssrSpread(props, isSVG, skipChildren) {
|
|
|
525
526
|
}
|
|
526
527
|
return result;
|
|
527
528
|
}
|
|
528
|
-
function
|
|
529
|
-
return value ? " " + key : "";
|
|
529
|
+
function ssrAttribute(key, value, isBoolean) {
|
|
530
|
+
return isBoolean ? value ? " " + key : "" : value != null ? ` ${key}="${value}"` : "";
|
|
530
531
|
}
|
|
531
532
|
function ssrHydrationKey() {
|
|
532
533
|
const hk = getHydrationKey();
|
|
@@ -748,7 +749,7 @@ exports.renderToStringAsync = renderToStringAsync;
|
|
|
748
749
|
exports.resolveSSRNode = resolveSSRNode;
|
|
749
750
|
exports.spread = spread;
|
|
750
751
|
exports.ssr = ssr;
|
|
751
|
-
exports.
|
|
752
|
+
exports.ssrAttribute = ssrAttribute;
|
|
752
753
|
exports.ssrClassList = ssrClassList;
|
|
753
754
|
exports.ssrHydrationKey = ssrHydrationKey;
|
|
754
755
|
exports.ssrSpread = ssrSpread;
|
package/web/dist/server.js
CHANGED
|
@@ -493,9 +493,10 @@ function ssrStyle(value) {
|
|
|
493
493
|
return result;
|
|
494
494
|
}
|
|
495
495
|
function ssrSpread(props, isSVG, skipChildren) {
|
|
496
|
+
let result = "";
|
|
497
|
+
if (props == null) return results;
|
|
496
498
|
if (typeof props === "function") props = props();
|
|
497
499
|
const keys = Object.keys(props);
|
|
498
|
-
let result = "";
|
|
499
500
|
let classResolved;
|
|
500
501
|
for (let i = 0; i < keys.length; i++) {
|
|
501
502
|
const prop = keys[i];
|
|
@@ -513,7 +514,7 @@ function ssrSpread(props, isSVG, skipChildren) {
|
|
|
513
514
|
classResolved = true;
|
|
514
515
|
} else if (BooleanAttributes.has(prop)) {
|
|
515
516
|
if (value) result += prop;else continue;
|
|
516
|
-
} else if (prop === "ref" || prop.slice(0, 2) === "on") {
|
|
517
|
+
} else if (value == undefined || prop === "ref" || prop.slice(0, 2) === "on") {
|
|
517
518
|
continue;
|
|
518
519
|
} else {
|
|
519
520
|
result += `${Aliases[prop] || prop}="${escape(value, true)}"`;
|
|
@@ -522,8 +523,8 @@ function ssrSpread(props, isSVG, skipChildren) {
|
|
|
522
523
|
}
|
|
523
524
|
return result;
|
|
524
525
|
}
|
|
525
|
-
function
|
|
526
|
-
return value ? " " + key : "";
|
|
526
|
+
function ssrAttribute(key, value, isBoolean) {
|
|
527
|
+
return isBoolean ? value ? " " + key : "" : value != null ? ` ${key}="${value}"` : "";
|
|
527
528
|
}
|
|
528
529
|
function ssrHydrationKey() {
|
|
529
530
|
const hk = getHydrationKey();
|
|
@@ -688,4 +689,4 @@ function Portal(props) {
|
|
|
688
689
|
return "";
|
|
689
690
|
}
|
|
690
691
|
|
|
691
|
-
export { Assets, Dynamic, HydrationScript, NoHydration, Portal, escape, generateHydrationScript, getHydrationKey, isServer, pipeToNodeWritable, pipeToWritable, renderToStream, renderToString, renderToStringAsync, resolveSSRNode, spread, ssr,
|
|
692
|
+
export { Assets, Dynamic, HydrationScript, NoHydration, Portal, escape, generateHydrationScript, getHydrationKey, isServer, pipeToNodeWritable, pipeToWritable, renderToStream, renderToString, renderToStringAsync, resolveSSRNode, spread, ssr, ssrAttribute, ssrClassList, ssrHydrationKey, ssrSpread, ssrStyle };
|
package/web/dist/web.cjs
CHANGED
|
@@ -135,6 +135,9 @@ function setAttribute(node, name, value) {
|
|
|
135
135
|
function setAttributeNS(node, namespace, name, value) {
|
|
136
136
|
if (value == null) node.removeAttributeNS(namespace, name);else node.setAttributeNS(namespace, name, value);
|
|
137
137
|
}
|
|
138
|
+
function className(node, value) {
|
|
139
|
+
if (value == null) node.removeAttribute("class");else node.className = value;
|
|
140
|
+
}
|
|
138
141
|
function addEventListener(node, name, handler, delegate) {
|
|
139
142
|
if (delegate) {
|
|
140
143
|
if (Array.isArray(handler)) {
|
|
@@ -315,7 +318,7 @@ function assignProp(node, prop, value, prev, isSVG, skipRef) {
|
|
|
315
318
|
addEventListener(node, name, value, delegate);
|
|
316
319
|
delegate && delegateEvents([name]);
|
|
317
320
|
} 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;
|
|
321
|
+
if (prop === "class" || prop === "className") className(node, value);else if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;else node[PropAliases[prop] || prop] = value;
|
|
319
322
|
} else {
|
|
320
323
|
const ns = isSVG && prop.indexOf(":") > -1 && SVGNamespace[prop.split(":")[0]];
|
|
321
324
|
if (ns) setAttributeNS(node, ns, prop, value);else setAttribute(node, Aliases[prop] || prop, value);
|
|
@@ -635,6 +638,7 @@ exports.SVGNamespace = SVGNamespace;
|
|
|
635
638
|
exports.addEventListener = addEventListener;
|
|
636
639
|
exports.assign = assign;
|
|
637
640
|
exports.classList = classList;
|
|
641
|
+
exports.className = className;
|
|
638
642
|
exports.clearDelegatedEvents = clearDelegatedEvents;
|
|
639
643
|
exports.delegateEvents = delegateEvents;
|
|
640
644
|
exports.dynamicProperty = dynamicProperty;
|
package/web/dist/web.js
CHANGED
|
@@ -132,6 +132,9 @@ function setAttribute(node, name, value) {
|
|
|
132
132
|
function setAttributeNS(node, namespace, name, value) {
|
|
133
133
|
if (value == null) node.removeAttributeNS(namespace, name);else node.setAttributeNS(namespace, name, value);
|
|
134
134
|
}
|
|
135
|
+
function className(node, value) {
|
|
136
|
+
if (value == null) node.removeAttribute("class");else node.className = value;
|
|
137
|
+
}
|
|
135
138
|
function addEventListener(node, name, handler, delegate) {
|
|
136
139
|
if (delegate) {
|
|
137
140
|
if (Array.isArray(handler)) {
|
|
@@ -312,7 +315,7 @@ function assignProp(node, prop, value, prev, isSVG, skipRef) {
|
|
|
312
315
|
addEventListener(node, name, value, delegate);
|
|
313
316
|
delegate && delegateEvents([name]);
|
|
314
317
|
} 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;
|
|
318
|
+
if (prop === "class" || prop === "className") className(node, value);else if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;else node[PropAliases[prop] || prop] = value;
|
|
316
319
|
} else {
|
|
317
320
|
const ns = isSVG && prop.indexOf(":") > -1 && SVGNamespace[prop.split(":")[0]];
|
|
318
321
|
if (ns) setAttributeNS(node, ns, prop, value);else setAttribute(node, Aliases[prop] || prop, value);
|
|
@@ -568,4 +571,4 @@ function Dynamic(props) {
|
|
|
568
571
|
});
|
|
569
572
|
}
|
|
570
573
|
|
|
571
|
-
export { Aliases, Assets, ChildProperties, DOMElements, DelegatedEvents, Dynamic, Assets as HydrationScript, NoHydration, Portal, PropAliases, Properties, SVGElements, SVGNamespace, addEventListener, assign, classList, clearDelegatedEvents, delegateEvents, dynamicProperty, escape, generateHydrationScript, getHydrationKey, getNextElement, getNextMarker, getNextMatch, hydrate, innerHTML, insert, isServer, memo, render, renderToStream, renderToString, renderToStringAsync, resolveSSRNode, runHydrationEvents, setAttribute, setAttributeNS, spread, ssr, ssrBoolean, ssrClassList, ssrHydrationKey, ssrSpread, ssrStyle, style, template };
|
|
574
|
+
export { Aliases, Assets, ChildProperties, DOMElements, DelegatedEvents, Dynamic, Assets as HydrationScript, NoHydration, Portal, PropAliases, Properties, SVGElements, SVGNamespace, addEventListener, assign, classList, className, clearDelegatedEvents, delegateEvents, dynamicProperty, escape, generateHydrationScript, getHydrationKey, getNextElement, getNextMarker, getNextMatch, hydrate, innerHTML, insert, isServer, memo, render, renderToStream, renderToString, renderToStringAsync, resolveSSRNode, runHydrationEvents, setAttribute, setAttributeNS, spread, ssr, ssrBoolean, ssrClassList, ssrHydrationKey, ssrSpread, ssrStyle, style, template };
|
package/web/types/client.d.ts
CHANGED
|
@@ -31,6 +31,7 @@ export function spread<T>(
|
|
|
31
31
|
export function assign(node: Element, props: any, isSVG?: Boolean, skipChildren?: Boolean): void;
|
|
32
32
|
export function setAttribute(node: Element, name: string, value: string): void;
|
|
33
33
|
export function setAttributeNS(node: Element, namespace: string, name: string, value: string): void;
|
|
34
|
+
export function className(node: Element, value: string): void;
|
|
34
35
|
export function innerHTML(node: Element, content: string): void;
|
|
35
36
|
export function addEventListener(
|
|
36
37
|
node: Element,
|