@mittwald/flow-remote-react-components 0.2.0-alpha.335 → 0.2.0-alpha.337

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 (34) hide show
  1. package/dist/js/RemoteRoot.mjs +46 -25
  2. package/dist/js/RemoteRoot.mjs.map +1 -1
  3. package/dist/js/auto-generated/index.mjs +0 -1
  4. package/dist/js/auto-generated/index.mjs.map +1 -1
  5. package/dist/js/components/LoadingFallbackTrigger.mjs +19 -0
  6. package/dist/js/components/LoadingFallbackTrigger.mjs.map +1 -0
  7. package/dist/js/components/RemoteContextProvider.mjs +18 -0
  8. package/dist/js/components/RemoteContextProvider.mjs.map +1 -0
  9. package/dist/js/index.mjs +1 -1
  10. package/dist/types/auto-generated/index.d.ts +0 -1
  11. package/dist/types/auto-generated/index.d.ts.map +1 -1
  12. package/dist/types/components/LoadingFallbackTrigger.d.ts +6 -0
  13. package/dist/types/components/LoadingFallbackTrigger.d.ts.map +1 -0
  14. package/dist/types/components/RemoteContextProvider.d.ts +8 -0
  15. package/dist/types/components/RemoteContextProvider.d.ts.map +1 -0
  16. package/dist/types/components/RemoteRoot.d.ts +1 -0
  17. package/dist/types/components/RemoteRoot.d.ts.map +1 -1
  18. package/dist/types/components/index.d.ts +1 -0
  19. package/dist/types/components/index.d.ts.map +1 -1
  20. package/dist/types/tests/LoadingFallbackTrigger.browser.test.d.ts +2 -0
  21. package/dist/types/tests/LoadingFallbackTrigger.browser.test.d.ts.map +1 -0
  22. package/dist/types/tests/{SuspenseTrigger.browser.test.remote.d.ts → LoadingFallbackTrigger.browser.test.remote.d.ts} +1 -1
  23. package/dist/types/tests/LoadingFallbackTrigger.browser.test.remote.d.ts.map +1 -0
  24. package/dist/types/tests/helpers.d.ts +2 -2
  25. package/dist/types/tests/helpers.d.ts.map +1 -1
  26. package/dist/types/tests/renderRemoteTest.d.ts.map +1 -1
  27. package/package.json +7 -7
  28. package/dist/js/auto-generated/SuspenseTrigger.mjs +0 -23
  29. package/dist/js/auto-generated/SuspenseTrigger.mjs.map +0 -1
  30. package/dist/types/auto-generated/SuspenseTrigger.d.ts +0 -4
  31. package/dist/types/auto-generated/SuspenseTrigger.d.ts.map +0 -1
  32. package/dist/types/tests/SuspenseTrigger.browser.test.d.ts +0 -2
  33. package/dist/types/tests/SuspenseTrigger.browser.test.d.ts.map +0 -1
  34. package/dist/types/tests/SuspenseTrigger.browser.test.remote.d.ts.map +0 -1
@@ -8,24 +8,40 @@ import { useWatchPathname } from './hooks/useWatchPathname.mjs';
8
8
  import { stringifyError } from './lib/stringifyError.mjs';
9
9
  import { ViewComponentContextProvider } from '@mittwald/flow-react-components/internal';
10
10
  import { connectHostRenderRootRef } from '@mittwald/flow-remote-core';
11
- import { useRef, useState, useTransition, Suspense } from 'react';
11
+ import { useRef, useState, useTransition, useLayoutEffect, Suspense } from 'react';
12
12
  import { ErrorBoundary } from 'react-error-boundary';
13
- import { SuspenseTrigger } from './auto-generated/SuspenseTrigger.mjs';
13
+ import { RemoteContextProvider } from './components/RemoteContextProvider.mjs';
14
+ import { LoadingFallbackTrigger } from './components/LoadingFallbackTrigger.mjs';
15
+ import { Div } from './auto-generated/Div.mjs';
14
16
 
15
17
  const viewComponents = {
16
18
  ...index$1,
17
19
  ...index
18
20
  };
19
21
  const RemoteRoot = (props) => {
20
- const { children, onHostPathnameChanged } = props;
22
+ const {
23
+ children,
24
+ onHostPathnameChanged,
25
+ isLoading: isLoadingFromProps
26
+ } = props;
21
27
  const connectionRef = useRef(void 0);
28
+ const isConnectionInitialized = useRef(false);
22
29
  const [connectionError, setConnectionError] = useState(null);
30
+ const [isConnected, setIsConnected] = useState(false);
23
31
  const [pathnameChangedPending, startPathnameChangedTransition] = useTransition();
24
32
  const renderErrorRef = useRef(void 0);
25
33
  const handleRenderError = (error) => {
26
34
  renderErrorRef.current = error;
27
35
  connectionRef.current?.imports.setError(stringifyError(error));
28
36
  };
37
+ const setIsLoadingFromProps = () => {
38
+ if (isLoadingFromProps !== void 0) {
39
+ connectionRef.current?.imports.setIsLoading(isLoadingFromProps);
40
+ }
41
+ };
42
+ useLayoutEffect(() => {
43
+ setIsLoadingFromProps();
44
+ }, [isLoadingFromProps]);
29
45
  useWatchPathname(
30
46
  (pathname) => connectionRef.current?.imports.setNavigationState({
31
47
  pathname,
@@ -38,31 +54,36 @@ const RemoteRoot = (props) => {
38
54
  const connect = connectHostRenderRootRef({
39
55
  onPathnameChanged: (pathname) => startPathnameChangedTransition(() => onHostPathnameChanged?.(pathname))
40
56
  });
41
- return /* @__PURE__ */ jsx(
42
- "div",
57
+ const loadingFallback = /* @__PURE__ */ jsx(Div, { children: /* @__PURE__ */ jsx(LoadingFallbackTrigger, {}) });
58
+ const connectDiv = (div) => {
59
+ if (isConnectionInitialized.current) {
60
+ return;
61
+ }
62
+ isConnectionInitialized.current = true;
63
+ connect(div)?.then((connection) => {
64
+ connectionRef.current = connection;
65
+ setIsLoadingFromProps();
66
+ setIsConnected(true);
67
+ }).catch((error) => {
68
+ setConnectionError(error);
69
+ });
70
+ if (renderErrorRef.current) {
71
+ handleRenderError(renderErrorRef.current);
72
+ }
73
+ };
74
+ const ErrorFallbackComponent = (props2) => {
75
+ handleRenderError(props2.error);
76
+ return null;
77
+ };
78
+ return /* @__PURE__ */ jsx("div", { ref: connectDiv, children: /* @__PURE__ */ jsx(ErrorBoundary, { FallbackComponent: ErrorFallbackComponent, children: isConnected && connectionRef.current && /* @__PURE__ */ jsx(
79
+ RemoteContextProvider,
43
80
  {
44
- ref: (div) => {
45
- connect(div)?.then((connection) => {
46
- connectionRef.current = connection;
47
- }).catch((error) => {
48
- setConnectionError(error);
49
- });
50
- if (renderErrorRef.current) {
51
- handleRenderError(renderErrorRef.current);
52
- }
81
+ value: {
82
+ connection: connectionRef.current
53
83
  },
54
- children: /* @__PURE__ */ jsx(
55
- ErrorBoundary,
56
- {
57
- fallbackRender: ({ error }) => {
58
- handleRenderError(error);
59
- return null;
60
- },
61
- children: /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(SuspenseTrigger, {}), children: /* @__PURE__ */ jsx(ViewComponentContextProvider, { components: viewComponents, children }) })
62
- }
63
- )
84
+ children: /* @__PURE__ */ jsx(Suspense, { fallback: loadingFallback, children: /* @__PURE__ */ jsx(ViewComponentContextProvider, { components: viewComponents, children }) })
64
85
  }
65
- );
86
+ ) }) });
66
87
  };
67
88
 
68
89
  export { RemoteRoot, RemoteRoot as default };
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteRoot.mjs","sources":["../../src/components/RemoteRoot.tsx"],"sourcesContent":["\"use client\";\nimport * as remoteComponents from \"@/auto-generated\";\nimport { SuspenseTrigger } from \"@/auto-generated\";\nimport * as customViewComponents from \"@/views\";\nimport { useWatchPathname } from \"@/hooks/useWatchPathname\";\nimport { stringifyError } from \"@/lib/stringifyError\";\nimport { ViewComponentContextProvider } from \"@mittwald/flow-react-components/internal\";\nimport {\n connectHostRenderRootRef,\n type RemoteToHostConnection,\n} from \"@mittwald/flow-remote-core\";\nimport {\n Suspense,\n useRef,\n useState,\n useTransition,\n type FC,\n type PropsWithChildren,\n} from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\n\nconst viewComponents = {\n ...remoteComponents,\n ...customViewComponents,\n} as FlowViewComponents;\n\nexport interface RemoteRootProps extends PropsWithChildren {\n onHostPathnameChanged?: (pathname: string) => void;\n}\n\nexport const RemoteRoot: FC<RemoteRootProps> = (props) => {\n const { children, onHostPathnameChanged } = props;\n\n const connectionRef = useRef<RemoteToHostConnection>(undefined);\n const [connectionError, setConnectionError] = useState(null);\n\n const [pathnameChangedPending, startPathnameChangedTransition] =\n useTransition();\n\n const renderErrorRef = useRef<unknown>(undefined);\n\n const handleRenderError = (error: unknown) => {\n renderErrorRef.current = error;\n connectionRef.current?.imports.setError(stringifyError(error));\n };\n\n useWatchPathname((pathname) =>\n connectionRef.current?.imports.setNavigationState({\n pathname,\n isPending: pathnameChangedPending,\n }),\n );\n\n if (connectionError) {\n throw connectionError;\n }\n\n const connect = connectHostRenderRootRef({\n onPathnameChanged: (pathname) =>\n startPathnameChangedTransition(() => onHostPathnameChanged?.(pathname)),\n });\n\n return (\n <div\n ref={(div) => {\n connect(div)\n ?.then((connection) => {\n connectionRef.current = connection;\n })\n .catch((error) => {\n setConnectionError(error);\n });\n\n if (renderErrorRef.current) {\n handleRenderError(renderErrorRef.current);\n }\n }}\n >\n <ErrorBoundary\n fallbackRender={({ error }) => {\n handleRenderError(error);\n return null;\n }}\n >\n <Suspense fallback={<SuspenseTrigger />}>\n <ViewComponentContextProvider components={viewComponents}>\n {children}\n </ViewComponentContextProvider>\n </Suspense>\n </ErrorBoundary>\n </div>\n );\n};\n\nexport default RemoteRoot;\n"],"names":["remoteComponents","customViewComponents"],"mappings":"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"}
1
+ {"version":3,"file":"RemoteRoot.mjs","sources":["../../src/components/RemoteRoot.tsx"],"sourcesContent":["\"use client\";\nimport * as remoteComponents from \"@/auto-generated\";\nimport * as customViewComponents from \"@/views\";\nimport { useWatchPathname } from \"@/hooks/useWatchPathname\";\nimport { stringifyError } from \"@/lib/stringifyError\";\nimport { ViewComponentContextProvider } from \"@mittwald/flow-react-components/internal\";\nimport {\n connectHostRenderRootRef,\n type RemoteToHostConnection,\n} from \"@mittwald/flow-remote-core\";\nimport {\n Suspense,\n useLayoutEffect,\n useRef,\n useState,\n useTransition,\n type FC,\n type PropsWithChildren,\n} from \"react\";\nimport { ErrorBoundary, type FallbackProps } from \"react-error-boundary\";\nimport { RemoteContextProvider } from \"@/components/RemoteContextProvider\";\nimport { LoadingFallbackTrigger } from \"@/components/LoadingFallbackTrigger\";\n\nconst viewComponents = {\n ...remoteComponents,\n ...customViewComponents,\n} as FlowViewComponents;\n\nexport interface RemoteRootProps extends PropsWithChildren {\n onHostPathnameChanged?: (pathname: string) => void;\n isLoading?: boolean;\n}\n\nexport const RemoteRoot: FC<RemoteRootProps> = (props) => {\n const {\n children,\n onHostPathnameChanged,\n isLoading: isLoadingFromProps,\n } = props;\n\n const connectionRef = useRef<RemoteToHostConnection>(undefined);\n const isConnectionInitialized = useRef(false);\n const [connectionError, setConnectionError] = useState(null);\n const [isConnected, setIsConnected] = useState(false);\n\n const [pathnameChangedPending, startPathnameChangedTransition] =\n useTransition();\n\n const renderErrorRef = useRef<unknown>(undefined);\n\n const handleRenderError = (error: unknown) => {\n renderErrorRef.current = error;\n connectionRef.current?.imports.setError(stringifyError(error));\n };\n\n const setIsLoadingFromProps = () => {\n if (isLoadingFromProps !== undefined) {\n connectionRef.current?.imports.setIsLoading(isLoadingFromProps);\n }\n };\n\n useLayoutEffect(() => {\n setIsLoadingFromProps();\n }, [isLoadingFromProps]);\n\n useWatchPathname((pathname) =>\n connectionRef.current?.imports.setNavigationState({\n pathname,\n isPending: pathnameChangedPending,\n }),\n );\n\n if (connectionError) {\n throw connectionError;\n }\n\n const connect = connectHostRenderRootRef({\n onPathnameChanged: (pathname) =>\n startPathnameChangedTransition(() => onHostPathnameChanged?.(pathname)),\n });\n\n /** Is wrapped in Div to resolve render awaiter in <RemoteRenderer /> */\n const loadingFallback = (\n <remoteComponents.Div>\n <LoadingFallbackTrigger />\n </remoteComponents.Div>\n );\n\n const connectDiv = (div: HTMLDivElement) => {\n if (isConnectionInitialized.current) {\n return;\n }\n isConnectionInitialized.current = true;\n connect(div)\n ?.then((connection) => {\n connectionRef.current = connection;\n setIsLoadingFromProps();\n setIsConnected(true);\n })\n .catch((error) => {\n setConnectionError(error);\n });\n\n if (renderErrorRef.current) {\n handleRenderError(renderErrorRef.current);\n }\n };\n\n const ErrorFallbackComponent: FC<FallbackProps> = (props) => {\n handleRenderError(props.error);\n return null;\n };\n\n return (\n <div ref={connectDiv}>\n <ErrorBoundary FallbackComponent={ErrorFallbackComponent}>\n {isConnected && connectionRef.current && (\n <RemoteContextProvider\n value={{\n connection: connectionRef.current,\n }}\n >\n <Suspense fallback={loadingFallback}>\n <ViewComponentContextProvider components={viewComponents}>\n {children}\n </ViewComponentContextProvider>\n </Suspense>\n </RemoteContextProvider>\n )}\n </ErrorBoundary>\n </div>\n );\n};\n\nexport default RemoteRoot;\n"],"names":["remoteComponents","customViewComponents","remoteComponents.Div","props"],"mappings":"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"}
@@ -95,7 +95,6 @@ export { Separator } from './Separator.mjs';
95
95
  export { Skeleton } from './Skeleton.mjs';
96
96
  export { SkeletonText } from './SkeletonText.mjs';
97
97
  export { Slider } from './Slider.mjs';
98
- export { SuspenseTrigger } from './SuspenseTrigger.mjs';
99
98
  export { Switch } from './Switch.mjs';
100
99
  export { Tab } from './Tab.mjs';
101
100
  export { TabTitle } from './TabTitle.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,19 @@
1
+ "use client"
2
+ /* */
3
+ import { useRemoteContext } from './RemoteContextProvider.mjs';
4
+ import { useLayoutEffect } from 'react';
5
+
6
+ const LoadingFallbackTrigger = (props) => {
7
+ const { show = true } = props;
8
+ const { connection } = useRemoteContext();
9
+ useLayoutEffect(() => {
10
+ connection.imports.setIsLoading(show);
11
+ return () => {
12
+ connection.imports.setIsLoading(false);
13
+ };
14
+ }, [connection, show]);
15
+ return null;
16
+ };
17
+
18
+ export { LoadingFallbackTrigger };
19
+ //# sourceMappingURL=LoadingFallbackTrigger.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingFallbackTrigger.mjs","sources":["../../../src/components/LoadingFallbackTrigger.tsx"],"sourcesContent":["import { useRemoteContext } from \"@/components/RemoteContextProvider\";\nimport { useLayoutEffect, type FC } from \"react\";\n\nexport interface LoadingFallbackTriggerProps {\n show?: boolean;\n}\n\nexport const LoadingFallbackTrigger: FC<LoadingFallbackTriggerProps> = (\n props,\n) => {\n const { show = true } = props;\n const { connection } = useRemoteContext();\n useLayoutEffect(() => {\n connection.imports.setIsLoading(show);\n return () => {\n connection.imports.setIsLoading(false);\n };\n }, [connection, show]);\n return null;\n};\n"],"names":[],"mappings":";;;AAOa,MAAA,sBAAA,GAA0D,CACrE,KACG,KAAA;AACH,EAAM,MAAA,EAAE,IAAO,GAAA,IAAA,EAAS,GAAA,KAAA;AACxB,EAAM,MAAA,EAAE,UAAW,EAAA,GAAI,gBAAiB,EAAA;AACxC,EAAA,eAAA,CAAgB,MAAM;AACpB,IAAW,UAAA,CAAA,OAAA,CAAQ,aAAa,IAAI,CAAA;AACpC,IAAA,OAAO,MAAM;AACX,MAAW,UAAA,CAAA,OAAA,CAAQ,aAAa,KAAK,CAAA;AAAA,KACvC;AAAA,GACC,EAAA,CAAC,UAAY,EAAA,IAAI,CAAC,CAAA;AACrB,EAAO,OAAA,IAAA;AACT;;;;"}
@@ -0,0 +1,18 @@
1
+ "use client"
2
+ /* */
3
+ import { createContext, useContext } from 'react';
4
+
5
+ const remoteContext = createContext(null);
6
+ const RemoteContextProvider = remoteContext.Provider;
7
+ const useRemoteContext = () => {
8
+ const context = useContext(remoteContext);
9
+ if (!context) {
10
+ throw new Error(
11
+ "useRemoteContext must be used within a RemoteContextProvider"
12
+ );
13
+ }
14
+ return context;
15
+ };
16
+
17
+ export { RemoteContextProvider, useRemoteContext };
18
+ //# sourceMappingURL=RemoteContextProvider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoteContextProvider.mjs","sources":["../../../src/components/RemoteContextProvider.tsx"],"sourcesContent":["import type { RemoteToHostConnection } from \"@mittwald/flow-remote-core\";\nimport { createContext, useContext } from \"react\";\n\ninterface RemoteContext {\n connection: RemoteToHostConnection;\n}\n\nconst remoteContext = createContext<RemoteContext | null>(null);\n\nexport const RemoteContextProvider = remoteContext.Provider;\n\nexport const useRemoteContext = () => {\n const context = useContext(remoteContext);\n if (!context) {\n throw new Error(\n \"useRemoteContext must be used within a RemoteContextProvider\",\n );\n }\n return context;\n};\n"],"names":[],"mappings":";;AAOA,MAAM,aAAA,GAAgB,cAAoC,IAAI,CAAA;AAEvD,MAAM,wBAAwB,aAAc,CAAA;AAE5C,MAAM,mBAAmB,MAAM;AACpC,EAAM,MAAA,OAAA,GAAU,WAAW,aAAa,CAAA;AACxC,EAAA,IAAI,CAAC,OAAS,EAAA;AACZ,IAAA,MAAM,IAAI,KAAA;AAAA,MACR;AAAA,KACF;AAAA;AAEF,EAAO,OAAA,OAAA;AACT;;;;"}
package/dist/js/index.mjs CHANGED
@@ -95,7 +95,6 @@ export { Separator } from './auto-generated/Separator.mjs';
95
95
  export { Skeleton } from './auto-generated/Skeleton.mjs';
96
96
  export { SkeletonText } from './auto-generated/SkeletonText.mjs';
97
97
  export { Slider } from './auto-generated/Slider.mjs';
98
- export { SuspenseTrigger } from './auto-generated/SuspenseTrigger.mjs';
99
98
  export { Switch } from './auto-generated/Switch.mjs';
100
99
  export { Tab } from './auto-generated/Tab.mjs';
101
100
  export { TabTitle } from './auto-generated/TabTitle.mjs';
@@ -118,4 +117,5 @@ export { XAxis } from './auto-generated/XAxis.mjs';
118
117
  export { YAxis } from './auto-generated/YAxis.mjs';
119
118
  export * from '@mittwald/flow-react-components/flr-universal';
120
119
  export { Form } from './components/Form.mjs';
120
+ export { LoadingFallbackTrigger } from './components/LoadingFallbackTrigger.mjs';
121
121
  //# sourceMappingURL=index.mjs.map
@@ -95,7 +95,6 @@ export * from './Separator';
95
95
  export * from './Skeleton';
96
96
  export * from './SkeletonText';
97
97
  export * from './Slider';
98
- export * from './SuspenseTrigger';
99
98
  export * from './Switch';
100
99
  export * from './Tab';
101
100
  export * from './TabTitle';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auto-generated/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auto-generated/index.ts"],"names":[],"mappings":"AAEA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { FC } from 'react';
2
+ export interface LoadingFallbackTriggerProps {
3
+ show?: boolean;
4
+ }
5
+ export declare const LoadingFallbackTrigger: FC<LoadingFallbackTriggerProps>;
6
+ //# sourceMappingURL=LoadingFallbackTrigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingFallbackTrigger.d.ts","sourceRoot":"","sources":["../../../src/components/LoadingFallbackTrigger.tsx"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAEjD,MAAM,WAAW,2BAA2B;IAC1C,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,2BAA2B,CAYlE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { RemoteToHostConnection } from '@mittwald/flow-remote-core';
2
+ interface RemoteContext {
3
+ connection: RemoteToHostConnection;
4
+ }
5
+ export declare const RemoteContextProvider: import('react').Provider<RemoteContext | null>;
6
+ export declare const useRemoteContext: () => RemoteContext;
7
+ export {};
8
+ //# sourceMappingURL=RemoteContextProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoteContextProvider.d.ts","sourceRoot":"","sources":["../../../src/components/RemoteContextProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAGzE,UAAU,aAAa;IACrB,UAAU,EAAE,sBAAsB,CAAC;CACpC;AAID,eAAO,MAAM,qBAAqB,gDAAyB,CAAC;AAE5D,eAAO,MAAM,gBAAgB,qBAQ5B,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { FC, PropsWithChildren } from 'react';
2
2
  export interface RemoteRootProps extends PropsWithChildren {
3
3
  onHostPathnameChanged?: (pathname: string) => void;
4
+ isLoading?: boolean;
4
5
  }
5
6
  export declare const RemoteRoot: FC<RemoteRootProps>;
6
7
  export default RemoteRoot;
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteRoot.d.ts","sourceRoot":"","sources":["../../../src/components/RemoteRoot.tsx"],"names":[],"mappings":"AAWA,OAAO,EAKL,KAAK,EAAE,EACP,KAAK,iBAAiB,EACvB,MAAM,OAAO,CAAC;AAQf,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,qBAAqB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD;AAED,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CA8D1C,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"RemoteRoot.d.ts","sourceRoot":"","sources":["../../../src/components/RemoteRoot.tsx"],"names":[],"mappings":"AAUA,OAAO,EAML,KAAK,EAAE,EACP,KAAK,iBAAiB,EACvB,MAAM,OAAO,CAAC;AAUf,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,qBAAqB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAmG1C,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './FlowRemoteUniversal';
2
2
  export * from './Form';
3
+ export * from './LoadingFallbackTrigger';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,QAAQ,CAAC;AACvB,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=LoadingFallbackTrigger.browser.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingFallbackTrigger.browser.test.d.ts","sourceRoot":"","sources":["../../../src/tests/LoadingFallbackTrigger.browser.test.tsx"],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
1
  export declare const standard: () => import("react/jsx-runtime").JSX.Element;
2
- //# sourceMappingURL=SuspenseTrigger.browser.test.remote.d.ts.map
2
+ //# sourceMappingURL=LoadingFallbackTrigger.browser.test.remote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingFallbackTrigger.browser.test.remote.d.ts","sourceRoot":"","sources":["../../../src/tests/LoadingFallbackTrigger.browser.test.remote.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ,+CAiBpB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { Locator } from '@vitest/browser/context';
2
- import { ExpectPollOptions } from 'vitest';
3
- export declare const expectNeverBeInTheDocument: (locator: Locator, opts?: ExpectPollOptions) => Promise<void>;
2
+ export declare const expectNotToBeInTheDocumentFor: (locator: Locator, forMs?: number) => Promise<void>;
3
+ export declare const expectNotVisibleFor: (locator: Locator, forMs?: number) => Promise<void>;
4
4
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/tests/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAU,KAAK,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAExD,eAAO,MAAM,0BAA0B,GACrC,SAAS,OAAO,EAChB,OAAM,iBAAsB,kBAM7B,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/tests/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGvD,eAAO,MAAM,6BAA6B,GACxC,SAAS,OAAO,EAChB,cAAY,kBAKb,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAS,OAAO,EAAE,cAAY,kBAIjE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderRemoteTest.d.ts","sourceRoot":"","sources":["../../../src/tests/renderRemoteTest.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC,eAAO,MAAM,gBAAgB,GAAI,UAAU,MAAM,gDAahD,CAAC"}
1
+ {"version":3,"file":"renderRemoteTest.d.ts","sourceRoot":"","sources":["../../../src/tests/renderRemoteTest.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC,eAAO,MAAM,gBAAgB,GAAI,UAAU,MAAM,gDAiBhD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mittwald/flow-remote-react-components",
3
- "version": "0.2.0-alpha.335",
3
+ "version": "0.2.0-alpha.337",
4
4
  "type": "module",
5
5
  "description": "React components that can be used in a remote environment",
6
6
  "homepage": "https://mittwald.github.io/flow",
@@ -36,9 +36,9 @@
36
36
  "test:unit": "exit 0"
37
37
  },
38
38
  "dependencies": {
39
- "@mittwald/flow-react-components": "0.2.0-alpha.335",
40
- "@mittwald/flow-remote-core": "0.2.0-alpha.335",
41
- "@mittwald/flow-remote-elements": "0.2.0-alpha.335",
39
+ "@mittwald/flow-react-components": "0.2.0-alpha.337",
40
+ "@mittwald/flow-remote-core": "0.2.0-alpha.337",
41
+ "@mittwald/flow-remote-elements": "0.2.0-alpha.337",
42
42
  "@mittwald/remote-dom-react": "1.2.2-mittwald.10",
43
43
  "@testing-library/jest-dom": "6.6.3",
44
44
  "@types/react": "^19.1.8",
@@ -46,8 +46,8 @@
46
46
  },
47
47
  "devDependencies": {
48
48
  "@internationalized/date": "^3.8.2",
49
- "@mittwald/ext-bridge": "0.2.0-alpha.335",
50
- "@mittwald/flow-remote-react-renderer": "0.2.0-alpha.335",
49
+ "@mittwald/ext-bridge": "0.2.0-alpha.337",
50
+ "@mittwald/flow-remote-react-renderer": "0.2.0-alpha.337",
51
51
  "@mittwald/typescript-config": "",
52
52
  "@testing-library/dom": "^10.4.0",
53
53
  "@testing-library/jest-dom": "6.6.3",
@@ -93,5 +93,5 @@
93
93
  "optional": true
94
94
  }
95
95
  },
96
- "gitHead": "31bd7721c60e20b41f7ad2dda1c7deb3f4a32152"
96
+ "gitHead": "462079758adc7aa7ae2dbba92654b1dab6117f3a"
97
97
  }
@@ -1,23 +0,0 @@
1
- "use client"
2
- /* */
3
- 'use client';
4
- import { createFlowRemoteComponent } from '../components/createFlowRemoteComponent.mjs';
5
- import { RemoteSuspenseTriggerElement } from '@mittwald/flow-remote-elements';
6
-
7
- const SuspenseTrigger = createFlowRemoteComponent(
8
- "flr-suspense-trigger",
9
- "SuspenseTrigger",
10
- {
11
- clearPropsContext: false
12
- },
13
- RemoteSuspenseTriggerElement,
14
- {
15
- slotProps: {
16
- wrapper: "flr-slot-root-wrapper"
17
- },
18
- eventProps: {}
19
- }
20
- );
21
-
22
- export { SuspenseTrigger };
23
- //# sourceMappingURL=SuspenseTrigger.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SuspenseTrigger.mjs","sources":["../../../src/auto-generated/SuspenseTrigger.ts"],"sourcesContent":["/* prettier-ignore */\n/* This file is auto-generated with the remote-components-generator */\n\"use client\";\nimport createFlowRemoteComponent from \"@/components/createFlowRemoteComponent\";\nimport { RemoteSuspenseTriggerElement } from \"@mittwald/flow-remote-elements\";\nexport { type RemoteSuspenseTriggerElement } from \"@mittwald/flow-remote-elements\";\n\nexport const SuspenseTrigger = createFlowRemoteComponent(\n \"flr-suspense-trigger\",\n \"SuspenseTrigger\",\n {\n clearPropsContext: false,\n },\n RemoteSuspenseTriggerElement,\n {\n slotProps: {\n wrapper: \"flr-slot-root-wrapper\",\n },\n eventProps: {},\n },\n);\n"],"names":[],"mappings":";;;;AAOO,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACA,CAAA;AAAA,CAAA,CAAA,CAAA,CACE,iBAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACrB,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACA,CAAA;AAAA,CAAA,CAAA,CAAA,CACE,SAAW,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACT,OAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACX,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,WAAY,CAAA,CAAA;AAAC,CAAA,CAAA;AAEjB,CAAA;;"}
@@ -1,4 +0,0 @@
1
- import { RemoteSuspenseTriggerElement } from '@mittwald/flow-remote-elements';
2
- export { type RemoteSuspenseTriggerElement } from '@mittwald/flow-remote-elements';
3
- export declare const SuspenseTrigger: import('@mittwald/remote-dom-react').RemoteComponentTypeFromElementConstructor<typeof RemoteSuspenseTriggerElement>;
4
- //# sourceMappingURL=SuspenseTrigger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SuspenseTrigger.d.ts","sourceRoot":"","sources":["../../../src/auto-generated/SuspenseTrigger.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAEnF,eAAO,MAAM,eAAe,qHAa3B,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=SuspenseTrigger.browser.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SuspenseTrigger.browser.test.d.ts","sourceRoot":"","sources":["../../../src/tests/SuspenseTrigger.browser.test.tsx"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SuspenseTrigger.browser.test.remote.d.ts","sourceRoot":"","sources":["../../../src/tests/SuspenseTrigger.browser.test.remote.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,+CAKpB,CAAC"}