@web-widget/react 0.3.2 → 0.4.1

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.
@@ -33,9 +33,11 @@ interface DefineWebWidgetOptions {
33
33
  interface WebWidgetSuspenseProps {
34
34
  children?: ReactNode;
35
35
  fallback?: ReactNode;
36
+ experimental_loading?: WebWidgetContainerOptions["loading"];
36
37
  renderStage?: WebWidgetContainerOptions["renderStage"];
38
+ experimental_renderTarget?: WebWidgetContainerOptions["renderTarget"];
37
39
  }
38
- declare function defineWebWidget(loader: Loader, options: DefineWebWidgetOptions): ({ children, fallback, renderStage, ...data }: WebWidgetSuspenseProps) => react.FunctionComponentElement<react.SuspenseProps>;
40
+ declare function defineWebWidget(loader: Loader, options: DefineWebWidgetOptions): ({ children, fallback, experimental_loading, renderStage, experimental_renderTarget, ...data }: WebWidgetSuspenseProps) => react.FunctionComponentElement<react.SuspenseProps>;
39
41
 
40
42
  type JSONValue = string | number | boolean | {
41
43
  [x: string]: JSONValue;
@@ -38,7 +38,7 @@ import {
38
38
  import { createElement as createElement2 } from "react";
39
39
  import { createRoot, hydrateRoot } from "react-dom/client";
40
40
 
41
- // src/web-widget.tsx
41
+ // src/web-widget.ts
42
42
  import { parse } from "@web-widget/web-widget";
43
43
  import { Suspense, createElement, lazy } from "react";
44
44
  var __ENV__ = {
@@ -83,17 +83,19 @@ function WebWidget(_a) {
83
83
  );
84
84
  }
85
85
  function defineWebWidget(loader, options) {
86
- options.renderTarget = "light";
87
- options.loading = "lazy";
88
- return function WebWidgetSuspense(_a) {
89
- var _b = _a, {
86
+ return function WebWidgetSuspense(_c) {
87
+ var _d = _c, {
90
88
  children,
91
89
  fallback,
92
- renderStage = options.renderStage
93
- } = _b, data = __objRest(_b, [
90
+ experimental_loading = ((_a) => (_a = options.loading) != null ? _a : "lazy")(),
91
+ renderStage = options.renderStage,
92
+ experimental_renderTarget = ((_b) => (_b = options.renderTarget) != null ? _b : "light")()
93
+ } = _d, data = __objRest(_d, [
94
94
  "children",
95
95
  "fallback",
96
- "renderStage"
96
+ "experimental_loading",
97
+ "renderStage",
98
+ "experimental_renderTarget"
97
99
  ]);
98
100
  return createElement(Suspense, {
99
101
  fallback,
@@ -101,7 +103,9 @@ function defineWebWidget(loader, options) {
101
103
  children,
102
104
  data,
103
105
  loader,
104
- renderStage
106
+ loading: experimental_loading,
107
+ renderStage,
108
+ renderTarget: experimental_renderTarget
105
109
  }))
106
110
  });
107
111
  };
@@ -34,9 +34,11 @@ interface DefineWebWidgetOptions {
34
34
  interface WebWidgetSuspenseProps {
35
35
  children?: ReactNode;
36
36
  fallback?: ReactNode;
37
+ experimental_loading?: WebWidgetContainerOptions["loading"];
37
38
  renderStage?: WebWidgetContainerOptions["renderStage"];
39
+ experimental_renderTarget?: WebWidgetContainerOptions["renderTarget"];
38
40
  }
39
- declare function defineWebWidget(loader: Loader, options: DefineWebWidgetOptions): ({ children, fallback, renderStage, ...data }: WebWidgetSuspenseProps) => react.FunctionComponentElement<react.SuspenseProps>;
41
+ declare function defineWebWidget(loader: Loader, options: DefineWebWidgetOptions): ({ children, fallback, experimental_loading, renderStage, experimental_renderTarget, ...data }: WebWidgetSuspenseProps) => react.FunctionComponentElement<react.SuspenseProps>;
40
42
 
41
43
  type JSONValue = string | number | boolean | {
42
44
  [x: string]: JSONValue;
@@ -37,7 +37,7 @@ import {
37
37
  } from "@web-widget/schema/server-helpers";
38
38
  import { Fragment, createElement as createElement2 } from "react";
39
39
 
40
- // src/web-widget.tsx
40
+ // src/web-widget.ts
41
41
  import { parse } from "@web-widget/web-widget";
42
42
  import { Suspense, createElement, lazy } from "react";
43
43
  var __ENV__ = {
@@ -82,17 +82,19 @@ function WebWidget(_a) {
82
82
  );
83
83
  }
84
84
  function defineWebWidget(loader, options) {
85
- options.renderTarget = "light";
86
- options.loading = "lazy";
87
- return function WebWidgetSuspense(_a) {
88
- var _b = _a, {
85
+ return function WebWidgetSuspense(_c) {
86
+ var _d = _c, {
89
87
  children,
90
88
  fallback,
91
- renderStage = options.renderStage
92
- } = _b, data = __objRest(_b, [
89
+ experimental_loading = ((_a) => (_a = options.loading) != null ? _a : "lazy")(),
90
+ renderStage = options.renderStage,
91
+ experimental_renderTarget = ((_b) => (_b = options.renderTarget) != null ? _b : "light")()
92
+ } = _d, data = __objRest(_d, [
93
93
  "children",
94
94
  "fallback",
95
- "renderStage"
95
+ "experimental_loading",
96
+ "renderStage",
97
+ "experimental_renderTarget"
96
98
  ]);
97
99
  return createElement(Suspense, {
98
100
  fallback,
@@ -100,7 +102,9 @@ function defineWebWidget(loader, options) {
100
102
  children,
101
103
  data,
102
104
  loader,
103
- renderStage
105
+ loading: experimental_loading,
106
+ renderStage,
107
+ renderTarget: experimental_renderTarget
104
108
  }))
105
109
  });
106
110
  };
package/globals.d.ts CHANGED
@@ -1,21 +1,26 @@
1
1
  import type { ReactNode, ComponentProps } from "react";
2
2
 
3
+ interface WebWidgetSuspenseProps {
4
+ fallback?: ReactNode;
5
+ experimental_loading?: "lazy" | "eager";
6
+ renderStage?: "server" | "client";
7
+ experimental_renderTarget?: "light" | "shadow";
8
+ }
9
+
3
10
  declare global {
4
11
  declare namespace JSX {
5
- interface IntrinsicAttributes {
12
+ interface IntrinsicAttributes extends WebWidgetSuspenseProps {
6
13
  key?: Key | null | undefined;
7
- renderStage?: "server" | "client";
8
- fallback?: ReactNode;
9
14
  }
10
15
  }
11
16
  }
12
17
 
13
18
  interface ReactWidgetComponent extends ComponentProps<any> {
14
- (props: {
15
- children?: ReactNode;
16
- renderStage?: "server" | "client";
17
- fallback?: ReactNode;
18
- }): ReactNode;
19
+ (
20
+ props: {
21
+ children?: ReactNode;
22
+ } & WebWidgetSuspenseProps
23
+ ): ReactNode;
19
24
  }
20
25
 
21
26
  declare module "*.widget.jsx" {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@web-widget/react",
3
- "version": "0.3.2",
3
+ "version": "0.4.1",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {