solid-js 1.5.0-beta.0 → 1.5.0-beta.3

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 (53) hide show
  1. package/dist/dev.cjs +143 -132
  2. package/dist/dev.js +143 -132
  3. package/dist/server.cjs +86 -35
  4. package/dist/server.js +86 -35
  5. package/dist/solid.cjs +143 -132
  6. package/dist/solid.js +143 -132
  7. package/h/jsx-runtime/types/jsx.d.ts +3 -1
  8. package/h/types/hyperscript.d.ts +17 -0
  9. package/html/types/lit.d.ts +37 -0
  10. package/package.json +103 -41
  11. package/store/dist/dev.js +1 -1
  12. package/store/types/index.d.ts +4 -4
  13. package/store/types/mutable.d.ts +1 -1
  14. package/store/types/server.d.ts +1 -1
  15. package/types/index.d.ts +8 -8
  16. package/types/jsx.d.ts +4 -2
  17. package/types/reactive/array.d.ts +1 -1
  18. package/types/reactive/observable.d.ts +1 -1
  19. package/types/reactive/signal.d.ts +40 -33
  20. package/types/render/Suspense.d.ts +1 -1
  21. package/types/render/component.d.ts +1 -1
  22. package/types/render/flow.d.ts +20 -3
  23. package/types/render/index.d.ts +4 -4
  24. package/types/server/index.d.ts +3 -3
  25. package/types/server/reactive.d.ts +7 -3
  26. package/types/server/rendering.d.ts +15 -6
  27. package/universal/dist/dev.cjs +4 -1
  28. package/universal/dist/dev.js +5 -2
  29. package/universal/dist/universal.cjs +4 -1
  30. package/universal/dist/universal.js +5 -2
  31. package/universal/types/index.d.ts +1 -1
  32. package/web/dist/dev.cjs +5 -0
  33. package/web/dist/dev.js +6 -2
  34. package/web/dist/server.cjs +275 -234
  35. package/web/dist/server.js +275 -234
  36. package/web/dist/web.cjs +5 -0
  37. package/web/dist/web.js +6 -2
  38. package/web/types/client.d.ts +1 -1
  39. package/web/types/core.d.ts +3 -3
  40. package/web/types/index.d.ts +5 -5
  41. package/web/types/jsx.d.ts +1 -1
  42. package/web/types/server.d.ts +70 -0
  43. package/h/README.md +0 -99
  44. package/h/jsx-runtime/package.json +0 -8
  45. package/h/package.json +0 -8
  46. package/html/README.md +0 -84
  47. package/html/package.json +0 -8
  48. package/store/README.md +0 -23
  49. package/store/package.json +0 -35
  50. package/universal/README.md +0 -102
  51. package/universal/package.json +0 -18
  52. package/web/README.md +0 -7
  53. package/web/package.json +0 -35
@@ -1,5 +1,5 @@
1
- import { Setter } from "./reactive";
2
- import type { JSX } from "../jsx";
1
+ import { Setter } from "./reactive.js";
2
+ import type { JSX } from "../jsx.js";
3
3
  export declare type Component<P = {}> = (props: P) => JSX.Element;
4
4
  export declare type VoidProps<P = {}> = P & {
5
5
  children?: never;
@@ -48,9 +48,10 @@ export declare function Index<T>(props: {
48
48
  children: (item: () => T, index: number) => string;
49
49
  }): string | any[] | undefined;
50
50
  export declare function Show<T>(props: {
51
- when: T | false;
51
+ when: T | undefined | null | false;
52
+ keyed?: boolean;
52
53
  fallback?: string;
53
- children: string | ((item: T) => string);
54
+ children: string | ((item: NonNullable<T>) => string);
54
55
  }): string;
55
56
  export declare function Switch(props: {
56
57
  fallback?: string;
@@ -58,6 +59,7 @@ export declare function Switch(props: {
58
59
  }): string;
59
60
  declare type MatchProps<T> = {
60
61
  when: T | false;
62
+ keyed?: boolean;
61
63
  children: string | ((item: T) => string);
62
64
  };
63
65
  export declare function Match<T>(props: MatchProps<T>): MatchProps<T>;
@@ -65,9 +67,12 @@ export declare function resetErrorBoundaries(): void;
65
67
  export declare function ErrorBoundary(props: {
66
68
  fallback: string | ((err: any, reset: () => void) => string);
67
69
  children: string;
68
- }): any;
70
+ }): string | ((err: any, reset: () => void) => string) | {
71
+ t: string;
72
+ };
69
73
  export interface Resource<T> {
70
74
  (): T | undefined;
75
+ state: "unresolved" | "pending" | "ready" | "refreshing" | "error";
71
76
  loading: boolean;
72
77
  error: any;
73
78
  latest: T | undefined;
@@ -77,6 +82,7 @@ declare type SuspenseContextType = {
77
82
  loading: boolean;
78
83
  error: any;
79
84
  }>;
85
+ complete: boolean;
80
86
  completed: () => void;
81
87
  };
82
88
  export declare type ResourceActions<T> = {
@@ -94,11 +100,13 @@ export declare type ResourceOptions<T> = undefined extends T ? {
94
100
  initialValue?: T;
95
101
  name?: string;
96
102
  deferStream?: boolean;
103
+ useInitialValue?: boolean;
97
104
  onHydrated?: <S, T>(k: S, info: ResourceFetcherInfo<T>) => void;
98
105
  } : {
99
106
  initialValue: T;
100
107
  name?: string;
101
108
  deferStream?: boolean;
109
+ useInitialValue?: boolean;
102
110
  onHydrated?: <S, T>(k: S, info: ResourceFetcherInfo<T>) => void;
103
111
  };
104
112
  export declare function createResource<T, S = true>(fetcher: ResourceFetcher<S, T>, options?: ResourceOptions<undefined>): ResourceReturn<T | undefined>;
@@ -119,7 +127,8 @@ export declare function useTransition(): [() => boolean, (fn: () => any) => void
119
127
  declare type HydrationContext = {
120
128
  id: string;
121
129
  count: number;
122
- writeResource?: (id: string, v: Promise<any> | any, error?: boolean, deferStream?: boolean) => void;
130
+ writeResource: (id: string, v: Promise<any> | any, error?: boolean, deferStream?: boolean) => void;
131
+ replace: (id: string, replacement: () => any) => void;
123
132
  resources: Record<string, any>;
124
133
  suspense: Record<string, SuspenseContextType>;
125
134
  registerFragment: (v: string) => (v?: string, err?: any) => boolean;
@@ -235,7 +235,10 @@ function createRenderer$1({
235
235
  mergeProps,
236
236
  effect: solidJs.createRenderEffect,
237
237
  memo,
238
- createComponent: solidJs.createComponent
238
+ createComponent: solidJs.createComponent,
239
+ use(fn, element, arg) {
240
+ return solidJs.untrack(() => fn(element, arg));
241
+ }
239
242
  };
240
243
  }
241
244
  function mergeProps(...sources) {
@@ -1,4 +1,4 @@
1
- import { createMemo, createRoot, createRenderEffect, createComponent, mergeProps as mergeProps$1 } from 'solid-js';
1
+ import { createMemo, createRoot, createRenderEffect, createComponent, untrack, mergeProps as mergeProps$1 } from 'solid-js';
2
2
 
3
3
  function memo(fn, equals) {
4
4
  return createMemo(fn, undefined, !equals ? {
@@ -231,7 +231,10 @@ function createRenderer$1({
231
231
  mergeProps,
232
232
  effect: createRenderEffect,
233
233
  memo,
234
- createComponent
234
+ createComponent,
235
+ use(fn, element, arg) {
236
+ return untrack(() => fn(element, arg));
237
+ }
235
238
  };
236
239
  }
237
240
  function mergeProps(...sources) {
@@ -235,7 +235,10 @@ function createRenderer$1({
235
235
  mergeProps,
236
236
  effect: solidJs.createRenderEffect,
237
237
  memo,
238
- createComponent: solidJs.createComponent
238
+ createComponent: solidJs.createComponent,
239
+ use(fn, element, arg) {
240
+ return solidJs.untrack(() => fn(element, arg));
241
+ }
239
242
  };
240
243
  }
241
244
  function mergeProps(...sources) {
@@ -1,4 +1,4 @@
1
- import { createMemo, createRoot, createRenderEffect, createComponent, mergeProps as mergeProps$1 } from 'solid-js';
1
+ import { createMemo, createRoot, createRenderEffect, createComponent, untrack, mergeProps as mergeProps$1 } from 'solid-js';
2
2
 
3
3
  function memo(fn, equals) {
4
4
  return createMemo(fn, undefined, !equals ? {
@@ -231,7 +231,10 @@ function createRenderer$1({
231
231
  mergeProps,
232
232
  effect: createRenderEffect,
233
233
  memo,
234
- createComponent
234
+ createComponent,
235
+ use(fn, element, arg) {
236
+ return untrack(() => fn(element, arg));
237
+ }
235
238
  };
236
239
  }
237
240
  function mergeProps(...sources) {
@@ -1,2 +1,2 @@
1
- import type { RendererOptions, Renderer } from "./universal";
1
+ import type { RendererOptions, Renderer } from "./universal.js";
2
2
  export declare function createRenderer<NodeType>(options: RendererOptions<NodeType>): Renderer<NodeType>;
package/web/dist/dev.cjs CHANGED
@@ -207,6 +207,9 @@ function dynamicProperty(props, key) {
207
207
  function innerHTML(parent, content) {
208
208
  !solidJs.sharedConfig.context && (parent.innerHTML = content);
209
209
  }
210
+ function use(fn, element, arg) {
211
+ return solidJs.untrack(() => fn(element, arg));
212
+ }
210
213
  function insert(parent, accessor, marker, initial) {
211
214
  if (marker !== undefined && !initial) initial = [];
212
215
  if (typeof accessor !== "function") return insertExpression(parent, accessor, initial, marker);
@@ -414,6 +417,7 @@ function insertExpression(parent, value, current, marker, unwrapArray) {
414
417
  return () => current;
415
418
  }
416
419
  if (solidJs.sharedConfig.context) {
420
+ if (!array.length) return current;
417
421
  for (let i = 0; i < array.length; i++) {
418
422
  if (array[i].parentNode) return current = array;
419
423
  }
@@ -690,3 +694,4 @@ exports.ssrHydrationKey = ssrHydrationKey;
690
694
  exports.ssrStyle = ssrStyle;
691
695
  exports.style = style;
692
696
  exports.template = template;
697
+ exports.use = use;
package/web/dist/dev.js CHANGED
@@ -1,4 +1,4 @@
1
- import { createMemo, createRoot, createRenderEffect, sharedConfig, enableHydration, createSignal, onCleanup, splitProps, $DEVCOMP, untrack } from 'solid-js';
1
+ import { createMemo, createRoot, createRenderEffect, sharedConfig, untrack, enableHydration, createSignal, onCleanup, splitProps, $DEVCOMP } from 'solid-js';
2
2
  export { ErrorBoundary, For, Index, Match, Show, Suspense, SuspenseList, Switch, createComponent, createRenderEffect as effect, getOwner, mergeProps } from 'solid-js';
3
3
 
4
4
  const booleans = ["allowfullscreen", "async", "autofocus", "autoplay", "checked", "controls", "default", "disabled", "formnovalidate", "hidden", "indeterminate", "ismap", "loop", "multiple", "muted", "nomodule", "novalidate", "open", "playsinline", "readonly", "required", "reversed", "seamless", "selected"];
@@ -204,6 +204,9 @@ function dynamicProperty(props, key) {
204
204
  function innerHTML(parent, content) {
205
205
  !sharedConfig.context && (parent.innerHTML = content);
206
206
  }
207
+ function use(fn, element, arg) {
208
+ return untrack(() => fn(element, arg));
209
+ }
207
210
  function insert(parent, accessor, marker, initial) {
208
211
  if (marker !== undefined && !initial) initial = [];
209
212
  if (typeof accessor !== "function") return insertExpression(parent, accessor, initial, marker);
@@ -411,6 +414,7 @@ function insertExpression(parent, value, current, marker, unwrapArray) {
411
414
  return () => current;
412
415
  }
413
416
  if (sharedConfig.context) {
417
+ if (!array.length) return current;
414
418
  for (let i = 0; i < array.length; i++) {
415
419
  if (array[i].parentNode) return current = array;
416
420
  }
@@ -591,4 +595,4 @@ function Dynamic(props) {
591
595
  });
592
596
  }
593
597
 
594
- 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, ssrAttribute, ssrClassList, ssrElement, ssrHydrationKey, ssrStyle, style, template };
598
+ 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, ssrAttribute, ssrClassList, ssrElement, ssrHydrationKey, ssrStyle, style, template, use };