@web-widget/react 0.10.5 → 0.13.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/react.client.d.ts +9 -27
- package/dist/react.client.js +11 -11
- package/dist/react.server.d.ts +24 -6
- package/dist/react.server.js +9 -6
- package/package.json +12 -11
package/dist/react.client.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as _web_widget_schema from '@web-widget/schema';
|
|
2
|
-
import { RenderContext, ComponentProps } from '@web-widget/schema';
|
|
3
2
|
import * as react from 'react';
|
|
4
3
|
import { ReactNode, Component } from 'react';
|
|
5
|
-
|
|
6
|
-
export
|
|
4
|
+
import { RenderContext, ComponentProps } from '@web-widget/helpers';
|
|
5
|
+
export * from '@web-widget/helpers';
|
|
6
|
+
export { useWidgetSyncState as useWidgetState } from '@web-widget/helpers/context';
|
|
7
7
|
import { WebWidgetRendererOptions, Loader } from '@web-widget/web-widget';
|
|
8
8
|
|
|
9
9
|
interface WebWidgetProps {
|
|
@@ -47,45 +47,27 @@ interface CreateReactRenderOptions {
|
|
|
47
47
|
onPrefetchData?: (context: RenderContext, component: Component, props: ComponentProps) => Promise<JSONProps>;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
declare const createReactRender: ({ onPrefetchData, }?: CreateReactRenderOptions) => (context: _web_widget_schema.
|
|
50
|
+
declare const createReactRender: ({ onPrefetchData, }?: CreateReactRenderOptions) => (context: _web_widget_schema.WidgetRenderContext<unknown> | _web_widget_schema.RouteRenderContext<unknown, Record<string, string>>, renderOptions: unknown) => Promise<string | void | ReadableStream<any> | {
|
|
51
51
|
mount?: (() => void | Promise<void>) | undefined;
|
|
52
52
|
unmount?: (() => void | Promise<void>) | undefined;
|
|
53
53
|
update?: (({ data }: {
|
|
54
54
|
data: Record<string, any>;
|
|
55
55
|
}) => void | Promise<void>) | undefined;
|
|
56
|
-
} |
|
|
57
|
-
mount?: (() => void | Promise<void>) | undefined;
|
|
58
|
-
unmount?: (() => void | Promise<void>) | undefined;
|
|
59
|
-
update?: (({ data }: {
|
|
60
|
-
data: Record<string, any>;
|
|
61
|
-
}) => void | Promise<void>) | undefined;
|
|
62
|
-
}>;
|
|
56
|
+
} | ReadableStream<any>>;
|
|
63
57
|
/**@deprecated Please use `createReactRender` instead.*/
|
|
64
|
-
declare const defineReactRender: ({ onPrefetchData, }?: CreateReactRenderOptions) => (context: _web_widget_schema.
|
|
65
|
-
mount?: (() => void | Promise<void>) | undefined;
|
|
66
|
-
unmount?: (() => void | Promise<void>) | undefined;
|
|
67
|
-
update?: (({ data }: {
|
|
68
|
-
data: Record<string, any>;
|
|
69
|
-
}) => void | Promise<void>) | undefined;
|
|
70
|
-
} | {
|
|
71
|
-
mount?: (() => void | Promise<void>) | undefined;
|
|
72
|
-
unmount?: (() => void | Promise<void>) | undefined;
|
|
73
|
-
update?: (({ data }: {
|
|
74
|
-
data: Record<string, any>;
|
|
75
|
-
}) => void | Promise<void>) | undefined;
|
|
76
|
-
}>;
|
|
77
|
-
declare const render: (context: _web_widget_schema.ClientWidgetRenderContext<unknown> | _web_widget_schema.ClientRouteRenderContext<unknown, Record<string, string>>, renderOptions: any) => Promise<void | {
|
|
58
|
+
declare const defineReactRender: ({ onPrefetchData, }?: CreateReactRenderOptions) => (context: _web_widget_schema.WidgetRenderContext<unknown> | _web_widget_schema.RouteRenderContext<unknown, Record<string, string>>, renderOptions: unknown) => Promise<string | void | ReadableStream<any> | {
|
|
78
59
|
mount?: (() => void | Promise<void>) | undefined;
|
|
79
60
|
unmount?: (() => void | Promise<void>) | undefined;
|
|
80
61
|
update?: (({ data }: {
|
|
81
62
|
data: Record<string, any>;
|
|
82
63
|
}) => void | Promise<void>) | undefined;
|
|
83
|
-
} |
|
|
64
|
+
} | ReadableStream<any>>;
|
|
65
|
+
declare const render: (context: _web_widget_schema.WidgetRenderContext<unknown> | _web_widget_schema.RouteRenderContext<unknown, Record<string, string>>, renderOptions: unknown) => Promise<string | void | ReadableStream<any> | {
|
|
84
66
|
mount?: (() => void | Promise<void>) | undefined;
|
|
85
67
|
unmount?: (() => void | Promise<void>) | undefined;
|
|
86
68
|
update?: (({ data }: {
|
|
87
69
|
data: Record<string, any>;
|
|
88
70
|
}) => void | Promise<void>) | undefined;
|
|
89
|
-
}
|
|
71
|
+
} | ReadableStream<any>>;
|
|
90
72
|
|
|
91
73
|
export { type DefineWebWidgetOptions, type WebWidgetProps, type WebWidgetSuspenseProps, createReactRender, defineReactRender, defineWebWidget, render };
|
package/dist/react.client.js
CHANGED
|
@@ -31,19 +31,16 @@ var __objRest = (source, exclude) => {
|
|
|
31
31
|
};
|
|
32
32
|
|
|
33
33
|
// src/client.ts
|
|
34
|
-
import {
|
|
35
|
-
defineRender,
|
|
36
|
-
getComponentDescriptor
|
|
37
|
-
} from "@web-widget/schema/client-helpers";
|
|
34
|
+
import { defineRender, getComponentDescriptor } from "@web-widget/helpers";
|
|
38
35
|
import { createElement as createElement2, StrictMode } from "react";
|
|
39
36
|
import { createRoot, hydrateRoot } from "react-dom/client";
|
|
40
|
-
export * from "@web-widget/
|
|
41
|
-
import { useWidgetSyncState } from "@web-widget/
|
|
37
|
+
export * from "@web-widget/helpers";
|
|
38
|
+
import { useWidgetSyncState } from "@web-widget/helpers/context";
|
|
42
39
|
|
|
43
40
|
// src/components.ts
|
|
44
41
|
import { WebWidgetRenderer } from "@web-widget/web-widget";
|
|
45
42
|
import { Suspense, createElement, use } from "react";
|
|
46
|
-
import {
|
|
43
|
+
import { IS_CLIENT } from "@web-widget/helpers";
|
|
47
44
|
var renderWebWidget = function(_a) {
|
|
48
45
|
var _b = _a, {
|
|
49
46
|
children,
|
|
@@ -72,7 +69,7 @@ var renderWebWidget = function(_a) {
|
|
|
72
69
|
};
|
|
73
70
|
};
|
|
74
71
|
function WebWidget({ localName, attributes, innerHTML }) {
|
|
75
|
-
if (
|
|
72
|
+
if (IS_CLIENT) {
|
|
76
73
|
}
|
|
77
74
|
return createElement(localName, __spreadProps(__spreadValues({}, attributes), {
|
|
78
75
|
dangerouslySetInnerHTML: {
|
|
@@ -133,13 +130,16 @@ var createReactRender = ({
|
|
|
133
130
|
if (typeof component === "function" && component.constructor.name === "AsyncFunction") {
|
|
134
131
|
vNode = await component(props);
|
|
135
132
|
} else {
|
|
136
|
-
vNode = createElement2(
|
|
133
|
+
vNode = createElement2(
|
|
134
|
+
component,
|
|
135
|
+
props
|
|
136
|
+
);
|
|
137
137
|
}
|
|
138
138
|
vNode = createElement2(StrictMode, null, vNode);
|
|
139
139
|
if (recovering) {
|
|
140
|
-
root = hydrateRoot(
|
|
140
|
+
root = hydrateRoot(container, vNode);
|
|
141
141
|
} else {
|
|
142
|
-
root = createRoot(
|
|
142
|
+
root = createRoot(container);
|
|
143
143
|
root.render(vNode);
|
|
144
144
|
}
|
|
145
145
|
},
|
package/dist/react.server.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as _web_widget_schema from '@web-widget/schema';
|
|
2
|
-
import { RenderContext, ComponentProps } from '@web-widget/schema';
|
|
3
2
|
import { RenderToReadableStreamOptions } from 'react-dom/server';
|
|
4
3
|
import * as react from 'react';
|
|
5
4
|
import { ReactNode, Component } from 'react';
|
|
6
|
-
|
|
7
|
-
export
|
|
5
|
+
import { RenderContext, ComponentProps } from '@web-widget/helpers';
|
|
6
|
+
export * from '@web-widget/helpers';
|
|
7
|
+
export { useWidgetSyncState as useWidgetState } from '@web-widget/helpers/context';
|
|
8
8
|
import { WebWidgetRendererOptions, Loader } from '@web-widget/web-widget';
|
|
9
9
|
|
|
10
10
|
interface WebWidgetProps {
|
|
@@ -53,9 +53,27 @@ interface ReactRenderOptions {
|
|
|
53
53
|
awaitAllReady?: boolean;
|
|
54
54
|
} & RenderToReadableStreamOptions;
|
|
55
55
|
}
|
|
56
|
-
declare const createReactRender: ({ onPrefetchData, }?: CreateReactRenderOptions) => (context: _web_widget_schema.
|
|
56
|
+
declare const createReactRender: ({ onPrefetchData, }?: CreateReactRenderOptions) => (context: _web_widget_schema.WidgetRenderContext<unknown> | _web_widget_schema.RouteRenderContext<unknown, Record<string, string>>, renderOptions: ReactRenderOptions | _web_widget_schema.RouteRenderOptions<ReactRenderOptions>) => Promise<string | void | ReadableStream<any> | {
|
|
57
|
+
mount?: (() => void | Promise<void>) | undefined;
|
|
58
|
+
unmount?: (() => void | Promise<void>) | undefined;
|
|
59
|
+
update?: (({ data }: {
|
|
60
|
+
data: Record<string, any>;
|
|
61
|
+
}) => void | Promise<void>) | undefined;
|
|
62
|
+
} | ReadableStream<any>>;
|
|
57
63
|
/**@deprecated Please use `createReactRender` instead.*/
|
|
58
|
-
declare const defineReactRender: ({ onPrefetchData, }?: CreateReactRenderOptions) => (context: _web_widget_schema.
|
|
59
|
-
|
|
64
|
+
declare const defineReactRender: ({ onPrefetchData, }?: CreateReactRenderOptions) => (context: _web_widget_schema.WidgetRenderContext<unknown> | _web_widget_schema.RouteRenderContext<unknown, Record<string, string>>, renderOptions: ReactRenderOptions | _web_widget_schema.RouteRenderOptions<ReactRenderOptions>) => Promise<string | void | ReadableStream<any> | {
|
|
65
|
+
mount?: (() => void | Promise<void>) | undefined;
|
|
66
|
+
unmount?: (() => void | Promise<void>) | undefined;
|
|
67
|
+
update?: (({ data }: {
|
|
68
|
+
data: Record<string, any>;
|
|
69
|
+
}) => void | Promise<void>) | undefined;
|
|
70
|
+
} | ReadableStream<any>>;
|
|
71
|
+
declare const render: (context: _web_widget_schema.WidgetRenderContext<unknown> | _web_widget_schema.RouteRenderContext<unknown, Record<string, string>>, renderOptions: ReactRenderOptions | _web_widget_schema.RouteRenderOptions<ReactRenderOptions>) => Promise<string | void | ReadableStream<any> | {
|
|
72
|
+
mount?: (() => void | Promise<void>) | undefined;
|
|
73
|
+
unmount?: (() => void | Promise<void>) | undefined;
|
|
74
|
+
update?: (({ data }: {
|
|
75
|
+
data: Record<string, any>;
|
|
76
|
+
}) => void | Promise<void>) | undefined;
|
|
77
|
+
} | ReadableStream<any>>;
|
|
60
78
|
|
|
61
79
|
export { type DefineWebWidgetOptions, type ReactRenderOptions, type WebWidgetProps, type WebWidgetSuspenseProps, createReactRender, defineReactRender, defineWebWidget, render };
|
package/dist/react.server.js
CHANGED
|
@@ -34,16 +34,16 @@ var __objRest = (source, exclude) => {
|
|
|
34
34
|
import {
|
|
35
35
|
defineRender,
|
|
36
36
|
getComponentDescriptor
|
|
37
|
-
} from "@web-widget/
|
|
37
|
+
} from "@web-widget/helpers";
|
|
38
38
|
import { createElement as createElement2 } from "react";
|
|
39
39
|
import * as ReactDOMServer from "react-dom/server.browser";
|
|
40
|
-
export * from "@web-widget/
|
|
41
|
-
import { useWidgetSyncState } from "@web-widget/
|
|
40
|
+
export * from "@web-widget/helpers";
|
|
41
|
+
import { useWidgetSyncState } from "@web-widget/helpers/context";
|
|
42
42
|
|
|
43
43
|
// src/components.ts
|
|
44
44
|
import { WebWidgetRenderer } from "@web-widget/web-widget";
|
|
45
45
|
import { Suspense, createElement, use } from "react";
|
|
46
|
-
import {
|
|
46
|
+
import { IS_CLIENT } from "@web-widget/helpers";
|
|
47
47
|
var renderWebWidget = function(_a) {
|
|
48
48
|
var _b = _a, {
|
|
49
49
|
children,
|
|
@@ -72,7 +72,7 @@ var renderWebWidget = function(_a) {
|
|
|
72
72
|
};
|
|
73
73
|
};
|
|
74
74
|
function WebWidget({ localName, attributes, innerHTML }) {
|
|
75
|
-
if (
|
|
75
|
+
if (IS_CLIENT) {
|
|
76
76
|
}
|
|
77
77
|
return createElement(localName, __spreadProps(__spreadValues({}, attributes), {
|
|
78
78
|
dangerouslySetInnerHTML: {
|
|
@@ -159,7 +159,10 @@ var createReactRender = ({
|
|
|
159
159
|
if (typeof component === "function" && component.constructor.name === "AsyncFunction") {
|
|
160
160
|
vNode = await component(props);
|
|
161
161
|
} else {
|
|
162
|
-
vNode = createElement2(
|
|
162
|
+
vNode = createElement2(
|
|
163
|
+
component,
|
|
164
|
+
props
|
|
165
|
+
);
|
|
163
166
|
}
|
|
164
167
|
const stream = await renderToReadableStream2(vNode, reactRenderOptions);
|
|
165
168
|
if (awaitAllReady) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@web-widget/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -30,25 +30,26 @@
|
|
|
30
30
|
"dist",
|
|
31
31
|
"globals.d.ts"
|
|
32
32
|
],
|
|
33
|
-
"dependencies": {
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"@web-widget/vite": "2.11.5"
|
|
35
|
+
},
|
|
34
36
|
"devDependencies": {
|
|
35
|
-
"@types/react": "^18.2.47",
|
|
36
37
|
"@types/react-dom": "^18.2.18",
|
|
37
|
-
"@
|
|
38
|
-
"@web-widget/
|
|
39
|
-
"@web-widget/web-widget": "1.
|
|
40
|
-
"react": "canary",
|
|
38
|
+
"@types/react": "^18.2.47",
|
|
39
|
+
"@web-widget/helpers": "0.13.0",
|
|
40
|
+
"@web-widget/web-widget": "1.9.0",
|
|
41
41
|
"react-dom": "canary",
|
|
42
|
+
"react": "canary",
|
|
42
43
|
"tsup": "^8.0.1",
|
|
43
44
|
"typescript": "^5.3.3",
|
|
44
45
|
"vite": "^5.0.11"
|
|
45
46
|
},
|
|
46
47
|
"peerDependencies": {
|
|
47
|
-
"@web-widget/
|
|
48
|
-
"@web-widget/
|
|
49
|
-
"
|
|
48
|
+
"@web-widget/helpers": "0.13.0",
|
|
49
|
+
"@web-widget/web-widget": "1.9.0",
|
|
50
|
+
"react-dom": "canary",
|
|
50
51
|
"react": "canary",
|
|
51
|
-
"
|
|
52
|
+
"vite": "^5.0.11"
|
|
52
53
|
},
|
|
53
54
|
"publishConfig": {
|
|
54
55
|
"access": "public"
|