@web-widget/react 1.49.1 → 1.50.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/chunk-RYJ3BJDY.js +69 -0
- package/dist/react.client.d.ts +5 -38
- package/dist/react.client.js +6 -108
- package/dist/react.server.d.ts +5 -38
- package/dist/react.server.js +5 -107
- package/dist/types-CYxYkOI1.d.ts +39 -0
- package/dist/vite.js +8 -27
- package/package.json +6 -8
- package/dist/vite.cjs +0 -71
- package/dist/vite.d.cts +0 -8
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// src/components.ts
|
|
2
|
+
import { WebWidgetRenderer } from "@web-widget/web-widget";
|
|
3
|
+
import { Suspense, createElement, use, memo } from "react";
|
|
4
|
+
var renderWebWidget = function({
|
|
5
|
+
children,
|
|
6
|
+
loader,
|
|
7
|
+
...props
|
|
8
|
+
}) {
|
|
9
|
+
if (!loader) {
|
|
10
|
+
throw new TypeError(`Missing loader.`);
|
|
11
|
+
}
|
|
12
|
+
if (children) {
|
|
13
|
+
throw new TypeError(`Children not supported.`);
|
|
14
|
+
}
|
|
15
|
+
const widget = new WebWidgetRenderer(loader, {
|
|
16
|
+
...props,
|
|
17
|
+
// TODO children
|
|
18
|
+
children: ""
|
|
19
|
+
});
|
|
20
|
+
const localName = widget.localName;
|
|
21
|
+
const attributes = widget.attributes;
|
|
22
|
+
const innerHTML = widget.renderInnerHTMLToString();
|
|
23
|
+
return {
|
|
24
|
+
localName,
|
|
25
|
+
attributes,
|
|
26
|
+
innerHTML
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
function WebWidget({ localName, attributes, innerHTML }) {
|
|
30
|
+
const html = use(innerHTML);
|
|
31
|
+
return createElement(localName, {
|
|
32
|
+
...attributes,
|
|
33
|
+
dangerouslySetInnerHTML: { __html: html },
|
|
34
|
+
// NOTE: Since the innerHTML property of a widget
|
|
35
|
+
// will inevitably differ between the server and the client,
|
|
36
|
+
// this turns off hydration mismatch warnings.
|
|
37
|
+
suppressHydrationWarning: true
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function defineWebWidget(loader, options) {
|
|
41
|
+
return memo(function WebWidgetSuspense({
|
|
42
|
+
children,
|
|
43
|
+
fallback,
|
|
44
|
+
experimental_loading = ((_a) => (_a = options.loading) != null ? _a : "lazy")(),
|
|
45
|
+
renderStage = options.renderStage,
|
|
46
|
+
experimental_renderTarget = ((_b) => (_b = options.renderTarget) != null ? _b : "light")(),
|
|
47
|
+
...data
|
|
48
|
+
}) {
|
|
49
|
+
return createElement(Suspense, {
|
|
50
|
+
fallback,
|
|
51
|
+
children: createElement(
|
|
52
|
+
WebWidget,
|
|
53
|
+
renderWebWidget({
|
|
54
|
+
...options,
|
|
55
|
+
children,
|
|
56
|
+
data,
|
|
57
|
+
loader,
|
|
58
|
+
loading: experimental_loading,
|
|
59
|
+
renderStage,
|
|
60
|
+
renderTarget: experimental_renderTarget
|
|
61
|
+
})
|
|
62
|
+
)
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export {
|
|
68
|
+
defineWebWidget
|
|
69
|
+
};
|
package/dist/react.client.d.ts
CHANGED
|
@@ -1,47 +1,14 @@
|
|
|
1
1
|
import * as _web_widget_schema from '@web-widget/schema';
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
import { RenderContext, ComponentProps, SerializableValue } from '@web-widget/helpers';
|
|
2
|
+
import { C as CreateReactRenderOptions } from './types-CYxYkOI1.js';
|
|
3
|
+
export { D as DefineWebWidgetOptions, R as ReactWidgetComponent, W as WebWidgetProps, a as WebWidgetSuspenseProps, d as defineWebWidget } from './types-CYxYkOI1.js';
|
|
5
4
|
export * from '@web-widget/helpers';
|
|
6
5
|
export { useWidgetSyncState as useWidgetState } from '@web-widget/helpers/state';
|
|
7
|
-
import
|
|
8
|
-
|
|
9
|
-
interface ReactWidgetComponent<T> extends FunctionComponent<T & WebWidgetSuspenseProps> {
|
|
10
|
-
}
|
|
11
|
-
interface WebWidgetProps {
|
|
12
|
-
base?: WebWidgetRendererOptions['base'];
|
|
13
|
-
children?: ReactNode;
|
|
14
|
-
data?: WebWidgetRendererOptions['data'];
|
|
15
|
-
import?: WebWidgetRendererOptions['import'];
|
|
16
|
-
inactive?: WebWidgetRendererOptions['inactive'];
|
|
17
|
-
loader: Loader;
|
|
18
|
-
meta?: WebWidgetRendererOptions['meta'];
|
|
19
|
-
loading?: WebWidgetRendererOptions['loading'];
|
|
20
|
-
name?: WebWidgetRendererOptions['name'];
|
|
21
|
-
renderStage?: WebWidgetRendererOptions['renderStage'];
|
|
22
|
-
renderTarget?: WebWidgetRendererOptions['renderTarget'];
|
|
23
|
-
}
|
|
24
|
-
type DefineWebWidgetOptions = Partial<Pick<WebWidgetRendererOptions, 'base' | 'import' | 'loading' | 'name' | 'renderStage' | 'renderTarget'>>;
|
|
25
|
-
interface WebWidgetSuspenseProps {
|
|
26
|
-
children?: ReactNode;
|
|
27
|
-
fallback?: ReactNode;
|
|
28
|
-
experimental_loading?: WebWidgetRendererOptions['loading'];
|
|
29
|
-
renderStage?: WebWidgetRendererOptions['renderStage'];
|
|
30
|
-
experimental_renderTarget?: WebWidgetRendererOptions['renderTarget'];
|
|
31
|
-
}
|
|
32
|
-
declare function defineWebWidget(loader: Loader, options: DefineWebWidgetOptions): react.NamedExoticComponent<WebWidgetSuspenseProps>;
|
|
33
|
-
|
|
34
|
-
interface SerializableObject {
|
|
35
|
-
[key: string]: SerializableValue;
|
|
36
|
-
}
|
|
37
|
-
interface CreateReactRenderOptions {
|
|
38
|
-
/**@deprecated*/
|
|
39
|
-
onPrefetchData?: (context: RenderContext, component: Component, props: ComponentProps) => Promise<SerializableObject>;
|
|
40
|
-
}
|
|
6
|
+
import 'react';
|
|
7
|
+
import '@web-widget/web-widget';
|
|
41
8
|
|
|
42
9
|
declare const createReactRender: ({ onPrefetchData, }?: CreateReactRenderOptions) => (context: _web_widget_schema.WidgetRenderContext<unknown>, renderOptions: _web_widget_schema.WidgetRenderOptions) => Promise<_web_widget_schema.WidgetRenderResult>;
|
|
43
10
|
/**@deprecated Please use `createReactRender` instead.*/
|
|
44
11
|
declare const defineReactRender: ({ onPrefetchData, }?: CreateReactRenderOptions) => (context: _web_widget_schema.WidgetRenderContext<unknown>, renderOptions: _web_widget_schema.WidgetRenderOptions) => Promise<_web_widget_schema.WidgetRenderResult>;
|
|
45
12
|
declare const render: (context: _web_widget_schema.WidgetRenderContext<unknown>, renderOptions: _web_widget_schema.WidgetRenderOptions) => Promise<_web_widget_schema.WidgetRenderResult>;
|
|
46
13
|
|
|
47
|
-
export {
|
|
14
|
+
export { createReactRender, defineReactRender, render };
|
package/dist/react.client.js
CHANGED
|
@@ -1,115 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
-
var __spreadValues = (a, b) => {
|
|
9
|
-
for (var prop in b || (b = {}))
|
|
10
|
-
if (__hasOwnProp.call(b, prop))
|
|
11
|
-
__defNormalProp(a, prop, b[prop]);
|
|
12
|
-
if (__getOwnPropSymbols)
|
|
13
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
-
if (__propIsEnum.call(b, prop))
|
|
15
|
-
__defNormalProp(a, prop, b[prop]);
|
|
16
|
-
}
|
|
17
|
-
return a;
|
|
18
|
-
};
|
|
19
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
-
var __objRest = (source, exclude) => {
|
|
21
|
-
var target = {};
|
|
22
|
-
for (var prop in source)
|
|
23
|
-
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
24
|
-
target[prop] = source[prop];
|
|
25
|
-
if (source != null && __getOwnPropSymbols)
|
|
26
|
-
for (var prop of __getOwnPropSymbols(source)) {
|
|
27
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
28
|
-
target[prop] = source[prop];
|
|
29
|
-
}
|
|
30
|
-
return target;
|
|
31
|
-
};
|
|
1
|
+
import {
|
|
2
|
+
defineWebWidget
|
|
3
|
+
} from "./chunk-RYJ3BJDY.js";
|
|
32
4
|
|
|
33
5
|
// src/client.ts
|
|
34
6
|
import { defineRender, getComponentDescriptor } from "@web-widget/helpers";
|
|
35
|
-
import { createElement
|
|
7
|
+
import { createElement, StrictMode } from "react";
|
|
36
8
|
import { createRoot, hydrateRoot } from "react-dom/client";
|
|
37
9
|
export * from "@web-widget/helpers";
|
|
38
10
|
import { useWidgetSyncState } from "@web-widget/helpers/state";
|
|
39
|
-
|
|
40
|
-
// src/components.ts
|
|
41
|
-
import { WebWidgetRenderer } from "@web-widget/web-widget";
|
|
42
|
-
import { Suspense, createElement, use, memo } from "react";
|
|
43
|
-
var renderWebWidget = function(_a) {
|
|
44
|
-
var _b = _a, {
|
|
45
|
-
children,
|
|
46
|
-
loader
|
|
47
|
-
} = _b, props = __objRest(_b, [
|
|
48
|
-
"children",
|
|
49
|
-
"loader"
|
|
50
|
-
]);
|
|
51
|
-
if (!loader) {
|
|
52
|
-
throw new TypeError(`Missing loader.`);
|
|
53
|
-
}
|
|
54
|
-
if (children) {
|
|
55
|
-
throw new TypeError(`Children not supported.`);
|
|
56
|
-
}
|
|
57
|
-
const widget = new WebWidgetRenderer(loader, __spreadProps(__spreadValues({}, props), {
|
|
58
|
-
// TODO children
|
|
59
|
-
children: ""
|
|
60
|
-
}));
|
|
61
|
-
const localName = widget.localName;
|
|
62
|
-
const attributes = widget.attributes;
|
|
63
|
-
const innerHTML = widget.renderInnerHTMLToString();
|
|
64
|
-
return {
|
|
65
|
-
localName,
|
|
66
|
-
attributes,
|
|
67
|
-
innerHTML
|
|
68
|
-
};
|
|
69
|
-
};
|
|
70
|
-
function WebWidget({ localName, attributes, innerHTML }) {
|
|
71
|
-
const html = use(innerHTML);
|
|
72
|
-
return createElement(localName, __spreadProps(__spreadValues({}, attributes), {
|
|
73
|
-
dangerouslySetInnerHTML: { __html: html },
|
|
74
|
-
// NOTE: Since the innerHTML property of a widget
|
|
75
|
-
// will inevitably differ between the server and the client,
|
|
76
|
-
// this turns off hydration mismatch warnings.
|
|
77
|
-
suppressHydrationWarning: true
|
|
78
|
-
}));
|
|
79
|
-
}
|
|
80
|
-
function defineWebWidget(loader, options) {
|
|
81
|
-
return memo(function WebWidgetSuspense(_c) {
|
|
82
|
-
var _d = _c, {
|
|
83
|
-
children,
|
|
84
|
-
fallback,
|
|
85
|
-
experimental_loading = ((_a) => (_a = options.loading) != null ? _a : "lazy")(),
|
|
86
|
-
renderStage = options.renderStage,
|
|
87
|
-
experimental_renderTarget = ((_b) => (_b = options.renderTarget) != null ? _b : "light")()
|
|
88
|
-
} = _d, data = __objRest(_d, [
|
|
89
|
-
"children",
|
|
90
|
-
"fallback",
|
|
91
|
-
"experimental_loading",
|
|
92
|
-
"renderStage",
|
|
93
|
-
"experimental_renderTarget"
|
|
94
|
-
]);
|
|
95
|
-
return createElement(Suspense, {
|
|
96
|
-
fallback,
|
|
97
|
-
children: createElement(
|
|
98
|
-
WebWidget,
|
|
99
|
-
renderWebWidget(__spreadProps(__spreadValues({}, options), {
|
|
100
|
-
children,
|
|
101
|
-
data,
|
|
102
|
-
loader,
|
|
103
|
-
loading: experimental_loading,
|
|
104
|
-
renderStage,
|
|
105
|
-
renderTarget: experimental_renderTarget
|
|
106
|
-
}))
|
|
107
|
-
)
|
|
108
|
-
});
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
// src/client.ts
|
|
113
11
|
var createReactRender = ({
|
|
114
12
|
onPrefetchData
|
|
115
13
|
} = {}) => {
|
|
@@ -130,12 +28,12 @@ var createReactRender = ({
|
|
|
130
28
|
if (typeof component === "function" && component.constructor.name === "AsyncFunction") {
|
|
131
29
|
vNode = await component(props);
|
|
132
30
|
} else {
|
|
133
|
-
vNode =
|
|
31
|
+
vNode = createElement(
|
|
134
32
|
component,
|
|
135
33
|
props
|
|
136
34
|
);
|
|
137
35
|
}
|
|
138
|
-
vNode =
|
|
36
|
+
vNode = createElement(StrictMode, null, vNode);
|
|
139
37
|
if (recovering) {
|
|
140
38
|
root = hydrateRoot(container, vNode);
|
|
141
39
|
} else {
|
package/dist/react.server.d.ts
CHANGED
|
@@ -1,44 +1,11 @@
|
|
|
1
1
|
import * as _web_widget_schema from '@web-widget/schema';
|
|
2
2
|
import { RenderToReadableStreamOptions } from 'react-dom/server';
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
import { RenderContext, ComponentProps, SerializableValue } from '@web-widget/helpers';
|
|
3
|
+
import { C as CreateReactRenderOptions } from './types-CYxYkOI1.js';
|
|
4
|
+
export { D as DefineWebWidgetOptions, R as ReactWidgetComponent, W as WebWidgetProps, a as WebWidgetSuspenseProps, d as defineWebWidget } from './types-CYxYkOI1.js';
|
|
6
5
|
export * from '@web-widget/helpers';
|
|
7
6
|
export { useWidgetSyncState as useWidgetState } from '@web-widget/helpers/state';
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
interface ReactWidgetComponent<T> extends FunctionComponent<T & WebWidgetSuspenseProps> {
|
|
11
|
-
}
|
|
12
|
-
interface WebWidgetProps {
|
|
13
|
-
base?: WebWidgetRendererOptions['base'];
|
|
14
|
-
children?: ReactNode;
|
|
15
|
-
data?: WebWidgetRendererOptions['data'];
|
|
16
|
-
import?: WebWidgetRendererOptions['import'];
|
|
17
|
-
inactive?: WebWidgetRendererOptions['inactive'];
|
|
18
|
-
loader: Loader;
|
|
19
|
-
meta?: WebWidgetRendererOptions['meta'];
|
|
20
|
-
loading?: WebWidgetRendererOptions['loading'];
|
|
21
|
-
name?: WebWidgetRendererOptions['name'];
|
|
22
|
-
renderStage?: WebWidgetRendererOptions['renderStage'];
|
|
23
|
-
renderTarget?: WebWidgetRendererOptions['renderTarget'];
|
|
24
|
-
}
|
|
25
|
-
type DefineWebWidgetOptions = Partial<Pick<WebWidgetRendererOptions, 'base' | 'import' | 'loading' | 'name' | 'renderStage' | 'renderTarget'>>;
|
|
26
|
-
interface WebWidgetSuspenseProps {
|
|
27
|
-
children?: ReactNode;
|
|
28
|
-
fallback?: ReactNode;
|
|
29
|
-
experimental_loading?: WebWidgetRendererOptions['loading'];
|
|
30
|
-
renderStage?: WebWidgetRendererOptions['renderStage'];
|
|
31
|
-
experimental_renderTarget?: WebWidgetRendererOptions['renderTarget'];
|
|
32
|
-
}
|
|
33
|
-
declare function defineWebWidget(loader: Loader, options: DefineWebWidgetOptions): react.NamedExoticComponent<WebWidgetSuspenseProps>;
|
|
34
|
-
|
|
35
|
-
interface SerializableObject {
|
|
36
|
-
[key: string]: SerializableValue;
|
|
37
|
-
}
|
|
38
|
-
interface CreateReactRenderOptions {
|
|
39
|
-
/**@deprecated*/
|
|
40
|
-
onPrefetchData?: (context: RenderContext, component: Component, props: ComponentProps) => Promise<SerializableObject>;
|
|
41
|
-
}
|
|
7
|
+
import 'react';
|
|
8
|
+
import '@web-widget/web-widget';
|
|
42
9
|
|
|
43
10
|
declare module '@web-widget/schema' {
|
|
44
11
|
interface WidgetRenderOptions {
|
|
@@ -60,4 +27,4 @@ declare const createReactRender: ({ onPrefetchData, }?: CreateReactRenderOptions
|
|
|
60
27
|
declare const defineReactRender: ({ onPrefetchData, }?: CreateReactRenderOptions) => (context: _web_widget_schema.RouteRenderContext<unknown, Record<string, string>>, renderOptions: _web_widget_schema.RouteRenderOptions) => Promise<_web_widget_schema.RouteRenderResult>;
|
|
61
28
|
declare const render: (context: _web_widget_schema.RouteRenderContext<unknown, Record<string, string>>, renderOptions: _web_widget_schema.RouteRenderOptions) => Promise<_web_widget_schema.RouteRenderResult>;
|
|
62
29
|
|
|
63
|
-
export { type
|
|
30
|
+
export { type ReactRenderOptions, createReactRender, defineReactRender, render };
|
package/dist/react.server.js
CHANGED
|
@@ -1,118 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
-
var __spreadValues = (a, b) => {
|
|
9
|
-
for (var prop in b || (b = {}))
|
|
10
|
-
if (__hasOwnProp.call(b, prop))
|
|
11
|
-
__defNormalProp(a, prop, b[prop]);
|
|
12
|
-
if (__getOwnPropSymbols)
|
|
13
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
-
if (__propIsEnum.call(b, prop))
|
|
15
|
-
__defNormalProp(a, prop, b[prop]);
|
|
16
|
-
}
|
|
17
|
-
return a;
|
|
18
|
-
};
|
|
19
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
-
var __objRest = (source, exclude) => {
|
|
21
|
-
var target = {};
|
|
22
|
-
for (var prop in source)
|
|
23
|
-
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
24
|
-
target[prop] = source[prop];
|
|
25
|
-
if (source != null && __getOwnPropSymbols)
|
|
26
|
-
for (var prop of __getOwnPropSymbols(source)) {
|
|
27
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
28
|
-
target[prop] = source[prop];
|
|
29
|
-
}
|
|
30
|
-
return target;
|
|
31
|
-
};
|
|
1
|
+
import {
|
|
2
|
+
defineWebWidget
|
|
3
|
+
} from "./chunk-RYJ3BJDY.js";
|
|
32
4
|
|
|
33
5
|
// src/server.ts
|
|
34
6
|
import {
|
|
35
7
|
defineRender,
|
|
36
8
|
getComponentDescriptor
|
|
37
9
|
} from "@web-widget/helpers";
|
|
38
|
-
import { createElement
|
|
10
|
+
import { createElement } from "react";
|
|
39
11
|
import { renderToReadableStream } from "react-dom/server.edge";
|
|
40
12
|
export * from "@web-widget/helpers";
|
|
41
13
|
import { useWidgetSyncState } from "@web-widget/helpers/state";
|
|
42
|
-
|
|
43
|
-
// src/components.ts
|
|
44
|
-
import { WebWidgetRenderer } from "@web-widget/web-widget";
|
|
45
|
-
import { Suspense, createElement, use, memo } from "react";
|
|
46
|
-
var renderWebWidget = function(_a) {
|
|
47
|
-
var _b = _a, {
|
|
48
|
-
children,
|
|
49
|
-
loader
|
|
50
|
-
} = _b, props = __objRest(_b, [
|
|
51
|
-
"children",
|
|
52
|
-
"loader"
|
|
53
|
-
]);
|
|
54
|
-
if (!loader) {
|
|
55
|
-
throw new TypeError(`Missing loader.`);
|
|
56
|
-
}
|
|
57
|
-
if (children) {
|
|
58
|
-
throw new TypeError(`Children not supported.`);
|
|
59
|
-
}
|
|
60
|
-
const widget = new WebWidgetRenderer(loader, __spreadProps(__spreadValues({}, props), {
|
|
61
|
-
// TODO children
|
|
62
|
-
children: ""
|
|
63
|
-
}));
|
|
64
|
-
const localName = widget.localName;
|
|
65
|
-
const attributes = widget.attributes;
|
|
66
|
-
const innerHTML = widget.renderInnerHTMLToString();
|
|
67
|
-
return {
|
|
68
|
-
localName,
|
|
69
|
-
attributes,
|
|
70
|
-
innerHTML
|
|
71
|
-
};
|
|
72
|
-
};
|
|
73
|
-
function WebWidget({ localName, attributes, innerHTML }) {
|
|
74
|
-
const html = use(innerHTML);
|
|
75
|
-
return createElement(localName, __spreadProps(__spreadValues({}, attributes), {
|
|
76
|
-
dangerouslySetInnerHTML: { __html: html },
|
|
77
|
-
// NOTE: Since the innerHTML property of a widget
|
|
78
|
-
// will inevitably differ between the server and the client,
|
|
79
|
-
// this turns off hydration mismatch warnings.
|
|
80
|
-
suppressHydrationWarning: true
|
|
81
|
-
}));
|
|
82
|
-
}
|
|
83
|
-
function defineWebWidget(loader, options) {
|
|
84
|
-
return memo(function WebWidgetSuspense(_c) {
|
|
85
|
-
var _d = _c, {
|
|
86
|
-
children,
|
|
87
|
-
fallback,
|
|
88
|
-
experimental_loading = ((_a) => (_a = options.loading) != null ? _a : "lazy")(),
|
|
89
|
-
renderStage = options.renderStage,
|
|
90
|
-
experimental_renderTarget = ((_b) => (_b = options.renderTarget) != null ? _b : "light")()
|
|
91
|
-
} = _d, data = __objRest(_d, [
|
|
92
|
-
"children",
|
|
93
|
-
"fallback",
|
|
94
|
-
"experimental_loading",
|
|
95
|
-
"renderStage",
|
|
96
|
-
"experimental_renderTarget"
|
|
97
|
-
]);
|
|
98
|
-
return createElement(Suspense, {
|
|
99
|
-
fallback,
|
|
100
|
-
children: createElement(
|
|
101
|
-
WebWidget,
|
|
102
|
-
renderWebWidget(__spreadProps(__spreadValues({}, options), {
|
|
103
|
-
children,
|
|
104
|
-
data,
|
|
105
|
-
loader,
|
|
106
|
-
loading: experimental_loading,
|
|
107
|
-
renderStage,
|
|
108
|
-
renderTarget: experimental_renderTarget
|
|
109
|
-
}))
|
|
110
|
-
)
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
// src/server.ts
|
|
116
14
|
var createReactRender = ({
|
|
117
15
|
onPrefetchData
|
|
118
16
|
} = {}) => {
|
|
@@ -142,7 +40,7 @@ var createReactRender = ({
|
|
|
142
40
|
if (typeof component === "function" && component.constructor.name === "AsyncFunction") {
|
|
143
41
|
vNode = await component(props);
|
|
144
42
|
} else {
|
|
145
|
-
vNode =
|
|
43
|
+
vNode = createElement(
|
|
146
44
|
component,
|
|
147
45
|
props
|
|
148
46
|
);
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { FunctionComponent, ReactNode, Component } from 'react';
|
|
3
|
+
import { WebWidgetRendererOptions, Loader } from '@web-widget/web-widget';
|
|
4
|
+
import { RenderContext, ComponentProps, SerializableValue } from '@web-widget/helpers';
|
|
5
|
+
|
|
6
|
+
interface ReactWidgetComponent<T> extends FunctionComponent<T & WebWidgetSuspenseProps> {
|
|
7
|
+
}
|
|
8
|
+
interface WebWidgetProps {
|
|
9
|
+
base?: WebWidgetRendererOptions['base'];
|
|
10
|
+
children?: ReactNode;
|
|
11
|
+
data?: WebWidgetRendererOptions['data'];
|
|
12
|
+
import?: WebWidgetRendererOptions['import'];
|
|
13
|
+
inactive?: WebWidgetRendererOptions['inactive'];
|
|
14
|
+
loader: Loader;
|
|
15
|
+
meta?: WebWidgetRendererOptions['meta'];
|
|
16
|
+
loading?: WebWidgetRendererOptions['loading'];
|
|
17
|
+
name?: WebWidgetRendererOptions['name'];
|
|
18
|
+
renderStage?: WebWidgetRendererOptions['renderStage'];
|
|
19
|
+
renderTarget?: WebWidgetRendererOptions['renderTarget'];
|
|
20
|
+
}
|
|
21
|
+
type DefineWebWidgetOptions = Partial<Pick<WebWidgetRendererOptions, 'base' | 'import' | 'loading' | 'name' | 'renderStage' | 'renderTarget'>>;
|
|
22
|
+
interface WebWidgetSuspenseProps {
|
|
23
|
+
children?: ReactNode;
|
|
24
|
+
fallback?: ReactNode;
|
|
25
|
+
experimental_loading?: WebWidgetRendererOptions['loading'];
|
|
26
|
+
renderStage?: WebWidgetRendererOptions['renderStage'];
|
|
27
|
+
experimental_renderTarget?: WebWidgetRendererOptions['renderTarget'];
|
|
28
|
+
}
|
|
29
|
+
declare function defineWebWidget(loader: Loader, options: DefineWebWidgetOptions): react.NamedExoticComponent<WebWidgetSuspenseProps>;
|
|
30
|
+
|
|
31
|
+
interface SerializableObject {
|
|
32
|
+
[key: string]: SerializableValue;
|
|
33
|
+
}
|
|
34
|
+
interface CreateReactRenderOptions {
|
|
35
|
+
/**@deprecated*/
|
|
36
|
+
onPrefetchData?: (context: RenderContext, component: Component, props: ComponentProps) => Promise<SerializableObject>;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export { type CreateReactRenderOptions as C, type DefineWebWidgetOptions as D, type ReactWidgetComponent as R, type WebWidgetProps as W, type WebWidgetSuspenseProps as a, defineWebWidget as d };
|
package/dist/vite.js
CHANGED
|
@@ -1,23 +1,3 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __defProps = Object.defineProperties;
|
|
3
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
-
var __spreadValues = (a, b) => {
|
|
9
|
-
for (var prop in b || (b = {}))
|
|
10
|
-
if (__hasOwnProp.call(b, prop))
|
|
11
|
-
__defNormalProp(a, prop, b[prop]);
|
|
12
|
-
if (__getOwnPropSymbols)
|
|
13
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
-
if (__propIsEnum.call(b, prop))
|
|
15
|
-
__defNormalProp(a, prop, b[prop]);
|
|
16
|
-
}
|
|
17
|
-
return a;
|
|
18
|
-
};
|
|
19
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
-
|
|
21
1
|
// src/vite.ts
|
|
22
2
|
import { webWidgetPlugin } from "@web-widget/vite-plugin";
|
|
23
3
|
var VUE_INTERNAL_REQUEST = /\.vue\?vue\b.*$/;
|
|
@@ -31,18 +11,19 @@ function reactWebWidgetPlugin(options) {
|
|
|
31
11
|
return webWidgetPlugin({
|
|
32
12
|
manifest,
|
|
33
13
|
provide,
|
|
34
|
-
export:
|
|
35
|
-
include: /(?:\.|@)(?:route|widget)\.(?:tsx|jsx)(?:\?.*)
|
|
36
|
-
|
|
37
|
-
|
|
14
|
+
export: {
|
|
15
|
+
include: /(?:\.|@)(?:route|widget)\.(?:tsx|jsx)(?:\?.*)?$/,
|
|
16
|
+
...exportWidget
|
|
17
|
+
},
|
|
18
|
+
import: {
|
|
38
19
|
include: /(?:\.|@)widget\..*$/,
|
|
39
|
-
includeImporter: /\.(?:tsx|jsx)(?:\?.*)
|
|
40
|
-
|
|
20
|
+
includeImporter: /\.(?:tsx|jsx)(?:\?.*)?$/,
|
|
21
|
+
...importWidget,
|
|
41
22
|
excludeImporter: [
|
|
42
23
|
...toArray(importWidget.excludeImporter),
|
|
43
24
|
VUE_INTERNAL_REQUEST
|
|
44
25
|
]
|
|
45
|
-
}
|
|
26
|
+
}
|
|
46
27
|
});
|
|
47
28
|
}
|
|
48
29
|
function toArray(value) {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@web-widget/react",
|
|
3
3
|
"description": "React adapter",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.50.0",
|
|
5
5
|
"homepage": "https://github.com/web-widget/web-widget#readme",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -13,10 +13,10 @@
|
|
|
13
13
|
},
|
|
14
14
|
"license": "MIT",
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@web-widget/helpers": "1.
|
|
17
|
-
"@web-widget/schema": "1.
|
|
18
|
-
"@web-widget/vite-plugin": "1.
|
|
19
|
-
"@web-widget/web-widget": "1.
|
|
16
|
+
"@web-widget/helpers": "1.50.0",
|
|
17
|
+
"@web-widget/schema": "1.50.0",
|
|
18
|
+
"@web-widget/vite-plugin": "1.50.0",
|
|
19
|
+
"@web-widget/web-widget": "1.50.0"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@types/react": "npm:types-react@rc",
|
|
@@ -25,8 +25,7 @@
|
|
|
25
25
|
"react-dom": "rc",
|
|
26
26
|
"tsup": "^8.3.4",
|
|
27
27
|
"typescript": "^5.5.4",
|
|
28
|
-
"vite": "^5.4.10"
|
|
29
|
-
"@web-widget/schema": "1.49.1"
|
|
28
|
+
"vite": "^5.4.10"
|
|
30
29
|
},
|
|
31
30
|
"exports": {
|
|
32
31
|
".": {
|
|
@@ -45,7 +44,6 @@
|
|
|
45
44
|
},
|
|
46
45
|
"./vite": {
|
|
47
46
|
"types": "./dist/vite.d.ts",
|
|
48
|
-
"require": "./dist/vite.cjs",
|
|
49
47
|
"default": "./dist/vite.js"
|
|
50
48
|
},
|
|
51
49
|
"./globals": {
|
package/dist/vite.cjs
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __defProps = Object.defineProperties;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
6
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
8
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
10
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
11
|
-
var __spreadValues = (a, b) => {
|
|
12
|
-
for (var prop in b || (b = {}))
|
|
13
|
-
if (__hasOwnProp.call(b, prop))
|
|
14
|
-
__defNormalProp(a, prop, b[prop]);
|
|
15
|
-
if (__getOwnPropSymbols)
|
|
16
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
17
|
-
if (__propIsEnum.call(b, prop))
|
|
18
|
-
__defNormalProp(a, prop, b[prop]);
|
|
19
|
-
}
|
|
20
|
-
return a;
|
|
21
|
-
};
|
|
22
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
23
|
-
var __export = (target, all) => {
|
|
24
|
-
for (var name in all)
|
|
25
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
26
|
-
};
|
|
27
|
-
var __copyProps = (to, from, except, desc) => {
|
|
28
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
29
|
-
for (let key of __getOwnPropNames(from))
|
|
30
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
31
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
32
|
-
}
|
|
33
|
-
return to;
|
|
34
|
-
};
|
|
35
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
36
|
-
|
|
37
|
-
// src/vite.ts
|
|
38
|
-
var vite_exports = {};
|
|
39
|
-
__export(vite_exports, {
|
|
40
|
-
default: () => reactWebWidgetPlugin
|
|
41
|
-
});
|
|
42
|
-
module.exports = __toCommonJS(vite_exports);
|
|
43
|
-
var import_vite_plugin = require("@web-widget/vite-plugin");
|
|
44
|
-
var VUE_INTERNAL_REQUEST = /\.vue\?vue\b.*$/;
|
|
45
|
-
function reactWebWidgetPlugin(options) {
|
|
46
|
-
const {
|
|
47
|
-
provide = "@web-widget/react",
|
|
48
|
-
export: exportWidget = {},
|
|
49
|
-
import: importWidget = {},
|
|
50
|
-
manifest
|
|
51
|
-
} = options != null ? options : {};
|
|
52
|
-
return (0, import_vite_plugin.webWidgetPlugin)({
|
|
53
|
-
manifest,
|
|
54
|
-
provide,
|
|
55
|
-
export: __spreadValues({
|
|
56
|
-
include: /(?:\.|@)(?:route|widget)\.(?:tsx|jsx)(?:\?.*)?$/
|
|
57
|
-
}, exportWidget),
|
|
58
|
-
import: __spreadProps(__spreadValues({
|
|
59
|
-
include: /(?:\.|@)widget\..*$/,
|
|
60
|
-
includeImporter: /\.(?:tsx|jsx)(?:\?.*)?$/
|
|
61
|
-
}, importWidget), {
|
|
62
|
-
excludeImporter: [
|
|
63
|
-
...toArray(importWidget.excludeImporter),
|
|
64
|
-
VUE_INTERNAL_REQUEST
|
|
65
|
-
]
|
|
66
|
-
})
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
function toArray(value) {
|
|
70
|
-
return Array.isArray(value) ? value : value ? [value] : [];
|
|
71
|
-
}
|
package/dist/vite.d.cts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import * as vite from 'vite';
|
|
2
|
-
import { WebWidgetUserConfig } from '@web-widget/vite-plugin';
|
|
3
|
-
|
|
4
|
-
interface ReactWebWidgetPluginOptions extends Partial<WebWidgetUserConfig> {
|
|
5
|
-
}
|
|
6
|
-
declare function reactWebWidgetPlugin(options?: ReactWebWidgetPluginOptions): vite.Plugin<any>[];
|
|
7
|
-
|
|
8
|
-
export { type ReactWebWidgetPluginOptions, reactWebWidgetPlugin as default };
|