solid-js 1.9.0 → 1.9.2

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.
Files changed (50) hide show
  1. package/README.md +1 -1
  2. package/dist/dev.cjs +1 -1
  3. package/dist/dev.js +318 -559
  4. package/dist/server.js +74 -168
  5. package/dist/solid.cjs +1 -1
  6. package/dist/solid.js +276 -486
  7. package/h/dist/h.js +9 -40
  8. package/h/jsx-runtime/dist/jsx.js +1 -1
  9. package/h/jsx-runtime/types/index.d.ts +8 -11
  10. package/h/jsx-runtime/types/jsx.d.ts +196 -59
  11. package/h/types/hyperscript.d.ts +11 -11
  12. package/html/dist/html.cjs +1 -1
  13. package/html/dist/html.js +94 -219
  14. package/html/types/lit.d.ts +33 -52
  15. package/package.json +1 -1
  16. package/store/dist/dev.js +43 -123
  17. package/store/dist/server.js +8 -20
  18. package/store/dist/store.js +40 -114
  19. package/store/types/index.d.ts +7 -21
  20. package/store/types/modifiers.d.ts +3 -6
  21. package/store/types/mutable.d.ts +2 -5
  22. package/store/types/server.d.ts +5 -25
  23. package/store/types/store.d.ts +61 -218
  24. package/types/index.d.ts +10 -75
  25. package/types/jsx.d.ts +195 -47
  26. package/types/reactive/array.d.ts +4 -12
  27. package/types/reactive/observable.d.ts +17 -25
  28. package/types/reactive/scheduler.d.ts +6 -9
  29. package/types/reactive/signal.d.ts +142 -233
  30. package/types/render/Suspense.d.ts +5 -5
  31. package/types/render/component.d.ts +42 -73
  32. package/types/render/flow.d.ts +31 -43
  33. package/types/render/hydration.d.ts +15 -15
  34. package/types/server/index.d.ts +2 -57
  35. package/types/server/reactive.d.ts +42 -73
  36. package/types/server/rendering.d.ts +98 -169
  37. package/universal/dist/dev.js +12 -28
  38. package/universal/dist/universal.js +12 -28
  39. package/universal/types/index.d.ts +1 -3
  40. package/universal/types/universal.d.ts +1 -0
  41. package/web/dist/dev.cjs +15 -15
  42. package/web/dist/dev.js +89 -635
  43. package/web/dist/server.cjs +14 -14
  44. package/web/dist/server.js +108 -635
  45. package/web/dist/web.cjs +15 -15
  46. package/web/dist/web.js +87 -623
  47. package/web/storage/dist/storage.js +3 -3
  48. package/web/types/core.d.ts +1 -10
  49. package/web/types/index.d.ts +10 -27
  50. package/web/types/server-mock.d.ts +32 -47
@@ -2,229 +2,158 @@ import { Accessor, Setter, Signal } from "./reactive.js";
2
2
  import type { JSX } from "../jsx.js";
3
3
  export type Component<P = {}> = (props: P) => JSX.Element;
4
4
  export type VoidProps<P = {}> = P & {
5
- children?: never;
5
+ children?: never;
6
6
  };
7
7
  export type VoidComponent<P = {}> = Component<VoidProps<P>>;
8
8
  export type ParentProps<P = {}> = P & {
9
- children?: JSX.Element;
9
+ children?: JSX.Element;
10
10
  };
11
11
  export type ParentComponent<P = {}> = Component<ParentProps<P>>;
12
12
  export type FlowProps<P = {}, C = JSX.Element> = P & {
13
- children: C;
13
+ children: C;
14
14
  };
15
15
  export type FlowComponent<P = {}, C = JSX.Element> = Component<FlowProps<P, C>>;
16
16
  export type Ref<T> = T | ((val: T) => void);
17
17
  export type ValidComponent = keyof JSX.IntrinsicElements | Component<any> | (string & {});
18
- export type ComponentProps<T extends ValidComponent> = T extends Component<infer P>
19
- ? P
20
- : T extends keyof JSX.IntrinsicElements
21
- ? JSX.IntrinsicElements[T]
22
- : Record<string, unknown>;
18
+ export type ComponentProps<T extends ValidComponent> = T extends Component<infer P> ? P : T extends keyof JSX.IntrinsicElements ? JSX.IntrinsicElements[T] : Record<string, unknown>;
23
19
  type SharedConfig = {
24
- context?: HydrationContext;
25
- getContextId(): string;
26
- getNextContextId(): string;
20
+ context?: HydrationContext;
21
+ getContextId(): string;
22
+ getNextContextId(): string;
27
23
  };
28
24
  export declare const sharedConfig: SharedConfig;
29
25
  export declare function createUniqueId(): string;
30
26
  export declare function createComponent<T>(Comp: (props: T) => JSX.Element, props: T): JSX.Element;
31
27
  export declare function mergeProps<T, U>(source: T, source1: U): T & U;
32
28
  export declare function mergeProps<T, U, V>(source: T, source1: U, source2: V): T & U & V;
33
- export declare function mergeProps<T, U, V, W>(
34
- source: T,
35
- source1: U,
36
- source2: V,
37
- source3: W
38
- ): T & U & V & W;
39
- export declare function splitProps<T extends object, K1 extends keyof T>(
40
- props: T,
41
- ...keys: [K1[]]
42
- ): [Pick<T, K1>, Omit<T, K1>];
43
- export declare function splitProps<T extends object, K1 extends keyof T, K2 extends keyof T>(
44
- props: T,
45
- ...keys: [K1[], K2[]]
46
- ): [Pick<T, K1>, Pick<T, K2>, Omit<T, K1 | K2>];
47
- export declare function splitProps<
48
- T extends object,
49
- K1 extends keyof T,
50
- K2 extends keyof T,
51
- K3 extends keyof T
52
- >(
53
- props: T,
54
- ...keys: [K1[], K2[], K3[]]
55
- ): [Pick<T, K1>, Pick<T, K2>, Pick<T, K3>, Omit<T, K1 | K2 | K3>];
56
- export declare function splitProps<
57
- T extends object,
58
- K1 extends keyof T,
59
- K2 extends keyof T,
60
- K3 extends keyof T,
61
- K4 extends keyof T
62
- >(
63
- props: T,
64
- ...keys: [K1[], K2[], K3[], K4[]]
65
- ): [Pick<T, K1>, Pick<T, K2>, Pick<T, K3>, Pick<T, K4>, Omit<T, K1 | K2 | K3 | K4>];
66
- export declare function splitProps<
67
- T extends object,
68
- K1 extends keyof T,
69
- K2 extends keyof T,
70
- K3 extends keyof T,
71
- K4 extends keyof T,
72
- K5 extends keyof T
73
- >(
74
- props: T,
75
- ...keys: [K1[], K2[], K3[], K4[], K5[]]
76
- ): [
77
- Pick<T, K1>,
78
- Pick<T, K2>,
79
- Pick<T, K3>,
80
- Pick<T, K4>,
81
- Pick<T, K5>,
82
- Omit<T, K1 | K2 | K3 | K4 | K5>
29
+ export declare function mergeProps<T, U, V, W>(source: T, source1: U, source2: V, source3: W): T & U & V & W;
30
+ export declare function splitProps<T extends object, K1 extends keyof T>(props: T, ...keys: [K1[]]): [Pick<T, K1>, Omit<T, K1>];
31
+ export declare function splitProps<T extends object, K1 extends keyof T, K2 extends keyof T>(props: T, ...keys: [K1[], K2[]]): [Pick<T, K1>, Pick<T, K2>, Omit<T, K1 | K2>];
32
+ export declare function splitProps<T extends object, K1 extends keyof T, K2 extends keyof T, K3 extends keyof T>(props: T, ...keys: [K1[], K2[], K3[]]): [Pick<T, K1>, Pick<T, K2>, Pick<T, K3>, Omit<T, K1 | K2 | K3>];
33
+ export declare function splitProps<T extends object, K1 extends keyof T, K2 extends keyof T, K3 extends keyof T, K4 extends keyof T>(props: T, ...keys: [K1[], K2[], K3[], K4[]]): [Pick<T, K1>, Pick<T, K2>, Pick<T, K3>, Pick<T, K4>, Omit<T, K1 | K2 | K3 | K4>];
34
+ export declare function splitProps<T extends object, K1 extends keyof T, K2 extends keyof T, K3 extends keyof T, K4 extends keyof T, K5 extends keyof T>(props: T, ...keys: [K1[], K2[], K3[], K4[], K5[]]): [
35
+ Pick<T, K1>,
36
+ Pick<T, K2>,
37
+ Pick<T, K3>,
38
+ Pick<T, K4>,
39
+ Pick<T, K5>,
40
+ Omit<T, K1 | K2 | K3 | K4 | K5>
83
41
  ];
84
42
  export declare function For<T>(props: {
85
- each: T[];
86
- fallback?: string;
87
- children: (item: T, index: () => number) => string;
43
+ each: T[];
44
+ fallback?: string;
45
+ children: (item: T, index: () => number) => string;
88
46
  }): string | any[] | undefined;
89
47
  export declare function Index<T>(props: {
90
- each: T[];
91
- fallback?: string;
92
- children: (item: () => T, index: number) => string;
48
+ each: T[];
49
+ fallback?: string;
50
+ children: (item: () => T, index: number) => string;
93
51
  }): string | any[] | undefined;
94
52
  /**
95
53
  * Conditionally render its children or an optional fallback component
96
54
  * @description https://docs.solidjs.com/reference/components/show
97
55
  */
98
56
  export declare function Show<T>(props: {
99
- when: T | undefined | null | false;
100
- keyed?: boolean;
101
- fallback?: string;
102
- children: string | ((item: NonNullable<T> | Accessor<NonNullable<T>>) => string);
57
+ when: T | undefined | null | false;
58
+ keyed?: boolean;
59
+ fallback?: string;
60
+ children: string | ((item: NonNullable<T> | Accessor<NonNullable<T>>) => string);
103
61
  }): string;
104
62
  export declare function Switch(props: {
105
- fallback?: string;
106
- children: MatchProps<unknown> | MatchProps<unknown>[];
63
+ fallback?: string;
64
+ children: MatchProps<unknown> | MatchProps<unknown>[];
107
65
  }): string;
108
66
  type MatchProps<T> = {
109
- when: T | false;
110
- keyed?: boolean;
111
- children: string | ((item: NonNullable<T> | Accessor<NonNullable<T>>) => string);
67
+ when: T | false;
68
+ keyed?: boolean;
69
+ children: string | ((item: NonNullable<T> | Accessor<NonNullable<T>>) => string);
112
70
  };
113
71
  export declare function Match<T>(props: MatchProps<T>): MatchProps<T>;
114
72
  export declare function resetErrorBoundaries(): void;
115
73
  export declare function ErrorBoundary(props: {
116
- fallback: string | ((err: any, reset: () => void) => string);
117
- children: string;
118
- }):
119
- | string
120
- | ((err: any, reset: () => void) => string)
121
- | {
122
- t: string;
123
- };
74
+ fallback: string | ((err: any, reset: () => void) => string);
75
+ children: string;
76
+ }): string | ((err: any, reset: () => void) => string) | {
77
+ t: string;
78
+ };
124
79
  export interface Resource<T> {
125
- (): T | undefined;
126
- state: "unresolved" | "pending" | "ready" | "refreshing" | "errored";
127
- loading: boolean;
128
- error: any;
129
- latest: T | undefined;
80
+ (): T | undefined;
81
+ state: "unresolved" | "pending" | "ready" | "refreshing" | "errored";
82
+ loading: boolean;
83
+ error: any;
84
+ latest: T | undefined;
130
85
  }
131
86
  type SuspenseContextType = {
132
- resources: Map<
133
- string,
134
- {
135
- loading: boolean;
136
- error: any;
137
- }
138
- >;
139
- completed: () => void;
87
+ resources: Map<string, {
88
+ loading: boolean;
89
+ error: any;
90
+ }>;
91
+ completed: () => void;
140
92
  };
141
93
  export type ResourceActions<T> = {
142
- mutate: Setter<T>;
143
- refetch: (info?: unknown) => void;
94
+ mutate: Setter<T>;
95
+ refetch: (info?: unknown) => void;
144
96
  };
145
97
  export type ResourceReturn<T> = [Resource<T>, ResourceActions<T>];
146
98
  export type ResourceSource<S> = S | false | null | undefined | (() => S | false | null | undefined);
147
99
  export type ResourceFetcher<S, T> = (k: S, info: ResourceFetcherInfo<T>) => T | Promise<T>;
148
100
  export type ResourceFetcherInfo<T> = {
149
- value: T | undefined;
150
- refetching?: unknown;
101
+ value: T | undefined;
102
+ refetching?: unknown;
151
103
  };
152
- export type ResourceOptions<T> = undefined extends T
153
- ? {
154
- initialValue?: T;
155
- name?: string;
156
- deferStream?: boolean;
157
- ssrLoadFrom?: "initial" | "server";
158
- storage?: () => Signal<T | undefined>;
159
- onHydrated?: <S, T>(k: S, info: ResourceFetcherInfo<T>) => void;
160
- }
161
- : {
162
- initialValue: T;
163
- name?: string;
164
- deferStream?: boolean;
165
- ssrLoadFrom?: "initial" | "server";
166
- storage?: (v?: T) => Signal<T | undefined>;
167
- onHydrated?: <S, T>(k: S, info: ResourceFetcherInfo<T>) => void;
168
- };
169
- export declare function createResource<T, S = true>(
170
- fetcher: ResourceFetcher<S, T>,
171
- options?: ResourceOptions<undefined>
172
- ): ResourceReturn<T | undefined>;
173
- export declare function createResource<T, S = true>(
174
- fetcher: ResourceFetcher<S, T>,
175
- options: ResourceOptions<T>
176
- ): ResourceReturn<T>;
177
- export declare function createResource<T, S>(
178
- source: ResourceSource<S>,
179
- fetcher: ResourceFetcher<S, T>,
180
- options?: ResourceOptions<undefined>
181
- ): ResourceReturn<T | undefined>;
182
- export declare function createResource<T, S>(
183
- source: ResourceSource<S>,
184
- fetcher: ResourceFetcher<S, T>,
185
- options: ResourceOptions<T>
186
- ): ResourceReturn<T>;
187
- export declare function lazy<T extends Component<any>>(
188
- fn: () => Promise<{
189
- default: T;
190
- }>
191
- ): T & {
192
- preload: () => Promise<{
104
+ export type ResourceOptions<T> = undefined extends T ? {
105
+ initialValue?: T;
106
+ name?: string;
107
+ deferStream?: boolean;
108
+ ssrLoadFrom?: "initial" | "server";
109
+ storage?: () => Signal<T | undefined>;
110
+ onHydrated?: <S, T>(k: S, info: ResourceFetcherInfo<T>) => void;
111
+ } : {
112
+ initialValue: T;
113
+ name?: string;
114
+ deferStream?: boolean;
115
+ ssrLoadFrom?: "initial" | "server";
116
+ storage?: (v?: T) => Signal<T | undefined>;
117
+ onHydrated?: <S, T>(k: S, info: ResourceFetcherInfo<T>) => void;
118
+ };
119
+ export declare function createResource<T, S = true>(fetcher: ResourceFetcher<S, T>, options?: ResourceOptions<undefined>): ResourceReturn<T | undefined>;
120
+ export declare function createResource<T, S = true>(fetcher: ResourceFetcher<S, T>, options: ResourceOptions<T>): ResourceReturn<T>;
121
+ export declare function createResource<T, S>(source: ResourceSource<S>, fetcher: ResourceFetcher<S, T>, options?: ResourceOptions<undefined>): ResourceReturn<T | undefined>;
122
+ export declare function createResource<T, S>(source: ResourceSource<S>, fetcher: ResourceFetcher<S, T>, options: ResourceOptions<T>): ResourceReturn<T>;
123
+ export declare function lazy<T extends Component<any>>(fn: () => Promise<{
193
124
  default: T;
194
- }>;
125
+ }>): T & {
126
+ preload: () => Promise<{
127
+ default: T;
128
+ }>;
195
129
  };
196
130
  export declare function enableScheduling(): void;
197
131
  export declare function enableHydration(): void;
198
132
  export declare function startTransition(fn: () => any): void;
199
133
  export declare function useTransition(): [() => boolean, (fn: () => any) => void];
200
134
  type HydrationContext = {
201
- id: string;
202
- count: number;
203
- serialize: (id: string, v: Promise<any> | any, deferStream?: boolean) => void;
204
- nextRoot: (v: any) => string;
205
- replace: (id: string, replacement: () => any) => void;
206
- block: (p: Promise<any>) => void;
207
- resources: Record<string, any>;
208
- suspense: Record<string, SuspenseContextType>;
209
- registerFragment: (v: string) => (v?: string, err?: any) => boolean;
210
- lazy: Record<string, Promise<any>>;
211
- async?: boolean;
212
- noHydrate: boolean;
135
+ id: string;
136
+ count: number;
137
+ serialize: (id: string, v: Promise<any> | any, deferStream?: boolean) => void;
138
+ nextRoot: (v: any) => string;
139
+ replace: (id: string, replacement: () => any) => void;
140
+ block: (p: Promise<any>) => void;
141
+ resources: Record<string, any>;
142
+ suspense: Record<string, SuspenseContextType>;
143
+ registerFragment: (v: string) => (v?: string, err?: any) => boolean;
144
+ lazy: Record<string, Promise<any>>;
145
+ async?: boolean;
146
+ noHydrate: boolean;
213
147
  };
214
148
  export declare function SuspenseList(props: {
215
- children: string;
216
- revealOrder: "forwards" | "backwards" | "together";
217
- tail?: "collapsed" | "hidden";
149
+ children: string;
150
+ revealOrder: "forwards" | "backwards" | "together";
151
+ tail?: "collapsed" | "hidden";
218
152
  }): string;
219
- export declare function Suspense(props: { fallback?: string; children: string }):
220
- | string
221
- | number
222
- | boolean
223
- | Node
224
- | JSX.ArrayElement
225
- | {
226
- t: string;
227
- }
228
- | null
229
- | undefined;
153
+ export declare function Suspense(props: {
154
+ fallback?: string;
155
+ children: string;
156
+ }): string | number | boolean | Node | JSX.ArrayElement | {
157
+ t: string;
158
+ } | null | undefined;
230
159
  export {};
@@ -1,11 +1,4 @@
1
- import {
2
- createRoot,
3
- createRenderEffect,
4
- mergeProps,
5
- createMemo,
6
- createComponent,
7
- untrack
8
- } from "solid-js";
1
+ import { createRoot, createRenderEffect, mergeProps, createMemo, createComponent, untrack } from 'solid-js';
9
2
 
10
3
  function createRenderer$1({
11
4
  createElement,
@@ -39,7 +32,7 @@ function createRenderer$1({
39
32
  current = cleanChildren(parent, current, marker, node);
40
33
  } else {
41
34
  if (current !== "" && typeof current === "string") {
42
- replaceText(getFirstChild(parent), (current = value));
35
+ replaceText(getFirstChild(parent), current = value);
43
36
  } else {
44
37
  cleanChildren(parent, current, marker, createTextNode(value));
45
38
  current = value;
@@ -57,14 +50,12 @@ function createRenderer$1({
57
50
  } else if (Array.isArray(value)) {
58
51
  const array = [];
59
52
  if (normalizeIncomingArray(array, value, unwrapArray)) {
60
- createRenderEffect(
61
- () => (current = insertExpression(parent, array, current, marker, true))
62
- );
53
+ createRenderEffect(() => current = insertExpression(parent, array, current, marker, true));
63
54
  return () => current;
64
55
  }
65
56
  if (array.length === 0) {
66
57
  const replacement = cleanChildren(parent, current, marker);
67
- if (multi) return (current = replacement);
58
+ if (multi) return current = replacement;
68
59
  } else {
69
60
  if (Array.isArray(current)) {
70
61
  if (current.length === 0) {
@@ -73,13 +64,13 @@ function createRenderer$1({
73
64
  } else if (current == null || current === "") {
74
65
  appendNodes(parent, array);
75
66
  } else {
76
- reconcileArrays(parent, (multi && current) || [getFirstChild(parent)], array);
67
+ reconcileArrays(parent, multi && current || [getFirstChild(parent)], array);
77
68
  }
78
69
  }
79
70
  current = array;
80
71
  } else {
81
72
  if (Array.isArray(current)) {
82
- if (multi) return (current = cleanChildren(parent, current, marker, value));
73
+ if (multi) return current = cleanChildren(parent, current, marker, value);
83
74
  cleanChildren(parent, current, null, value);
84
75
  } else if (current == null || current === "" || !getFirstChild(parent)) {
85
76
  insertNode(parent, value);
@@ -93,16 +84,14 @@ function createRenderer$1({
93
84
  for (let i = 0, len = array.length; i < len; i++) {
94
85
  let item = array[i],
95
86
  t;
96
- if (item == null || item === true || item === false);
97
- else if (Array.isArray(item)) {
87
+ if (item == null || item === true || item === false) ; else if (Array.isArray(item)) {
98
88
  dynamic = normalizeIncomingArray(normalized, item) || dynamic;
99
89
  } else if ((t = typeof item) === "string" || t === "number") {
100
90
  normalized.push(createTextNode(item));
101
91
  } else if (t === "function") {
102
92
  if (unwrap) {
103
93
  while (typeof item === "function") item = item();
104
- dynamic =
105
- normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item]) || dynamic;
94
+ dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item]) || dynamic;
106
95
  } else {
107
96
  normalized.push(item);
108
97
  dynamic = true;
@@ -130,8 +119,7 @@ function createRenderer$1({
130
119
  bEnd--;
131
120
  }
132
121
  if (aEnd === aStart) {
133
- const node =
134
- bEnd < bLength ? (bStart ? getNextSibling(b[bStart - 1]) : b[bEnd - bStart]) : after;
122
+ const node = bEnd < bLength ? bStart ? getNextSibling(b[bStart - 1]) : b[bEnd - bStart] : after;
135
123
  while (bStart < bEnd) insertNode(parentNode, b[bStart++], node);
136
124
  } else if (bEnd === bStart) {
137
125
  while (aStart < aEnd) {
@@ -171,7 +159,7 @@ function createRenderer$1({
171
159
  function cleanChildren(parent, current, marker, replacement) {
172
160
  if (marker === undefined) {
173
161
  let removed;
174
- while ((removed = getFirstChild(parent))) removeNode(parent, removed);
162
+ while (removed = getFirstChild(parent)) removeNode(parent, removed);
175
163
  replacement && insertNode(parent, replacement);
176
164
  return "";
177
165
  }
@@ -182,9 +170,7 @@ function createRenderer$1({
182
170
  const el = current[i];
183
171
  if (node !== el) {
184
172
  const isParent = getParentNode(el) === parent;
185
- if (!inserted && !i)
186
- isParent ? replaceNode(parent, node, el) : insertNode(parent, node, marker);
187
- else isParent && removeNode(parent, el);
173
+ if (!inserted && !i) isParent ? replaceNode(parent, node, el) : insertNode(parent, node, marker);else isParent && removeNode(parent, el);
188
174
  } else inserted = true;
189
175
  }
190
176
  } else insertNode(parent, node, marker);
@@ -200,9 +186,7 @@ function createRenderer$1({
200
186
  function spreadExpression(node, props, prevProps = {}, skipChildren) {
201
187
  props || (props = {});
202
188
  if (!skipChildren) {
203
- createRenderEffect(
204
- () => (prevProps.children = insertExpression(node, props.children, prevProps.children))
205
- );
189
+ createRenderEffect(() => prevProps.children = insertExpression(node, props.children, prevProps.children));
206
190
  }
207
191
  createRenderEffect(() => props.ref && props.ref(node));
208
192
  createRenderEffect(() => {
@@ -1,11 +1,4 @@
1
- import {
2
- createRoot,
3
- createRenderEffect,
4
- mergeProps,
5
- createMemo,
6
- createComponent,
7
- untrack
8
- } from "solid-js";
1
+ import { createRoot, createRenderEffect, mergeProps, createMemo, createComponent, untrack } from 'solid-js';
9
2
 
10
3
  function createRenderer$1({
11
4
  createElement,
@@ -39,7 +32,7 @@ function createRenderer$1({
39
32
  current = cleanChildren(parent, current, marker, node);
40
33
  } else {
41
34
  if (current !== "" && typeof current === "string") {
42
- replaceText(getFirstChild(parent), (current = value));
35
+ replaceText(getFirstChild(parent), current = value);
43
36
  } else {
44
37
  cleanChildren(parent, current, marker, createTextNode(value));
45
38
  current = value;
@@ -57,14 +50,12 @@ function createRenderer$1({
57
50
  } else if (Array.isArray(value)) {
58
51
  const array = [];
59
52
  if (normalizeIncomingArray(array, value, unwrapArray)) {
60
- createRenderEffect(
61
- () => (current = insertExpression(parent, array, current, marker, true))
62
- );
53
+ createRenderEffect(() => current = insertExpression(parent, array, current, marker, true));
63
54
  return () => current;
64
55
  }
65
56
  if (array.length === 0) {
66
57
  const replacement = cleanChildren(parent, current, marker);
67
- if (multi) return (current = replacement);
58
+ if (multi) return current = replacement;
68
59
  } else {
69
60
  if (Array.isArray(current)) {
70
61
  if (current.length === 0) {
@@ -73,13 +64,13 @@ function createRenderer$1({
73
64
  } else if (current == null || current === "") {
74
65
  appendNodes(parent, array);
75
66
  } else {
76
- reconcileArrays(parent, (multi && current) || [getFirstChild(parent)], array);
67
+ reconcileArrays(parent, multi && current || [getFirstChild(parent)], array);
77
68
  }
78
69
  }
79
70
  current = array;
80
71
  } else {
81
72
  if (Array.isArray(current)) {
82
- if (multi) return (current = cleanChildren(parent, current, marker, value));
73
+ if (multi) return current = cleanChildren(parent, current, marker, value);
83
74
  cleanChildren(parent, current, null, value);
84
75
  } else if (current == null || current === "" || !getFirstChild(parent)) {
85
76
  insertNode(parent, value);
@@ -93,16 +84,14 @@ function createRenderer$1({
93
84
  for (let i = 0, len = array.length; i < len; i++) {
94
85
  let item = array[i],
95
86
  t;
96
- if (item == null || item === true || item === false);
97
- else if (Array.isArray(item)) {
87
+ if (item == null || item === true || item === false) ; else if (Array.isArray(item)) {
98
88
  dynamic = normalizeIncomingArray(normalized, item) || dynamic;
99
89
  } else if ((t = typeof item) === "string" || t === "number") {
100
90
  normalized.push(createTextNode(item));
101
91
  } else if (t === "function") {
102
92
  if (unwrap) {
103
93
  while (typeof item === "function") item = item();
104
- dynamic =
105
- normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item]) || dynamic;
94
+ dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item]) || dynamic;
106
95
  } else {
107
96
  normalized.push(item);
108
97
  dynamic = true;
@@ -130,8 +119,7 @@ function createRenderer$1({
130
119
  bEnd--;
131
120
  }
132
121
  if (aEnd === aStart) {
133
- const node =
134
- bEnd < bLength ? (bStart ? getNextSibling(b[bStart - 1]) : b[bEnd - bStart]) : after;
122
+ const node = bEnd < bLength ? bStart ? getNextSibling(b[bStart - 1]) : b[bEnd - bStart] : after;
135
123
  while (bStart < bEnd) insertNode(parentNode, b[bStart++], node);
136
124
  } else if (bEnd === bStart) {
137
125
  while (aStart < aEnd) {
@@ -171,7 +159,7 @@ function createRenderer$1({
171
159
  function cleanChildren(parent, current, marker, replacement) {
172
160
  if (marker === undefined) {
173
161
  let removed;
174
- while ((removed = getFirstChild(parent))) removeNode(parent, removed);
162
+ while (removed = getFirstChild(parent)) removeNode(parent, removed);
175
163
  replacement && insertNode(parent, replacement);
176
164
  return "";
177
165
  }
@@ -182,9 +170,7 @@ function createRenderer$1({
182
170
  const el = current[i];
183
171
  if (node !== el) {
184
172
  const isParent = getParentNode(el) === parent;
185
- if (!inserted && !i)
186
- isParent ? replaceNode(parent, node, el) : insertNode(parent, node, marker);
187
- else isParent && removeNode(parent, el);
173
+ if (!inserted && !i) isParent ? replaceNode(parent, node, el) : insertNode(parent, node, marker);else isParent && removeNode(parent, el);
188
174
  } else inserted = true;
189
175
  }
190
176
  } else insertNode(parent, node, marker);
@@ -200,9 +186,7 @@ function createRenderer$1({
200
186
  function spreadExpression(node, props, prevProps = {}, skipChildren) {
201
187
  props || (props = {});
202
188
  if (!skipChildren) {
203
- createRenderEffect(
204
- () => (prevProps.children = insertExpression(node, props.children, prevProps.children))
205
- );
189
+ createRenderEffect(() => prevProps.children = insertExpression(node, props.children, prevProps.children));
206
190
  }
207
191
  createRenderEffect(() => props.ref && props.ref(node));
208
192
  createRenderEffect(() => {
@@ -1,4 +1,2 @@
1
1
  import type { RendererOptions, Renderer } from "./universal.js";
2
- export declare function createRenderer<NodeType>(
3
- options: RendererOptions<NodeType>
4
- ): Renderer<NodeType>;
2
+ export declare function createRenderer<NodeType>(options: RendererOptions<NodeType>): Renderer<NodeType>;
@@ -27,3 +27,4 @@ export interface Renderer<NodeType> {
27
27
  }
28
28
 
29
29
  export function createRenderer<NodeType>(options: RendererOptions<NodeType>): Renderer<NodeType>;
30
+
package/web/dist/dev.cjs CHANGED
@@ -416,7 +416,7 @@ function eventHandler(e) {
416
416
  data !== undefined ? handler.call(node, data, e) : handler.call(node, e);
417
417
  if (e.cancelBubble) return;
418
418
  }
419
- node.host && node.contains(e.target) && !node.host._$host && retarget(node.host);
419
+ node.host && typeof node.host !== "string" && !node.host._$host && node.contains(e.target) && retarget(node.host);
420
420
  return true;
421
421
  };
422
422
  const walkUpTree = () => {
@@ -689,59 +689,59 @@ function Dynamic(props) {
689
689
  });
690
690
  }
691
691
 
692
- Object.defineProperty(exports, 'ErrorBoundary', {
692
+ Object.defineProperty(exports, "ErrorBoundary", {
693
693
  enumerable: true,
694
694
  get: function () { return solidJs.ErrorBoundary; }
695
695
  });
696
- Object.defineProperty(exports, 'For', {
696
+ Object.defineProperty(exports, "For", {
697
697
  enumerable: true,
698
698
  get: function () { return solidJs.For; }
699
699
  });
700
- Object.defineProperty(exports, 'Index', {
700
+ Object.defineProperty(exports, "Index", {
701
701
  enumerable: true,
702
702
  get: function () { return solidJs.Index; }
703
703
  });
704
- Object.defineProperty(exports, 'Match', {
704
+ Object.defineProperty(exports, "Match", {
705
705
  enumerable: true,
706
706
  get: function () { return solidJs.Match; }
707
707
  });
708
- Object.defineProperty(exports, 'Show', {
708
+ Object.defineProperty(exports, "Show", {
709
709
  enumerable: true,
710
710
  get: function () { return solidJs.Show; }
711
711
  });
712
- Object.defineProperty(exports, 'Suspense', {
712
+ Object.defineProperty(exports, "Suspense", {
713
713
  enumerable: true,
714
714
  get: function () { return solidJs.Suspense; }
715
715
  });
716
- Object.defineProperty(exports, 'SuspenseList', {
716
+ Object.defineProperty(exports, "SuspenseList", {
717
717
  enumerable: true,
718
718
  get: function () { return solidJs.SuspenseList; }
719
719
  });
720
- Object.defineProperty(exports, 'Switch', {
720
+ Object.defineProperty(exports, "Switch", {
721
721
  enumerable: true,
722
722
  get: function () { return solidJs.Switch; }
723
723
  });
724
- Object.defineProperty(exports, 'createComponent', {
724
+ Object.defineProperty(exports, "createComponent", {
725
725
  enumerable: true,
726
726
  get: function () { return solidJs.createComponent; }
727
727
  });
728
- Object.defineProperty(exports, 'effect', {
728
+ Object.defineProperty(exports, "effect", {
729
729
  enumerable: true,
730
730
  get: function () { return solidJs.createRenderEffect; }
731
731
  });
732
- Object.defineProperty(exports, 'getOwner', {
732
+ Object.defineProperty(exports, "getOwner", {
733
733
  enumerable: true,
734
734
  get: function () { return solidJs.getOwner; }
735
735
  });
736
- Object.defineProperty(exports, 'memo', {
736
+ Object.defineProperty(exports, "memo", {
737
737
  enumerable: true,
738
738
  get: function () { return solidJs.createMemo; }
739
739
  });
740
- Object.defineProperty(exports, 'mergeProps', {
740
+ Object.defineProperty(exports, "mergeProps", {
741
741
  enumerable: true,
742
742
  get: function () { return solidJs.mergeProps; }
743
743
  });
744
- Object.defineProperty(exports, 'untrack', {
744
+ Object.defineProperty(exports, "untrack", {
745
745
  enumerable: true,
746
746
  get: function () { return solidJs.untrack; }
747
747
  });