@mittwald/flow-remote-react-renderer 1.0.8 → 1.0.10

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 (72) hide show
  1. package/dist/js/RemoteRenderer.mjs +1 -1
  2. package/dist/js/RemoteRenderer.mjs.map +1 -1
  3. package/dist/js/node_modules/.pnpm/@mittwald_remote-dom-core@1.7.0-mittwald.10_@preact_signals-core@1.14.2/node_modules/@mittwald/remote-dom-core/build/esm/connection.mjs +26 -0
  4. package/dist/js/node_modules/.pnpm/@mittwald_remote-dom-core@1.7.0-mittwald.10_@preact_signals-core@1.14.2/node_modules/@mittwald/remote-dom-core/build/esm/connection.mjs.map +1 -0
  5. package/dist/js/node_modules/.pnpm/@mittwald_remote-dom-core@1.7.0-mittwald.10_@preact_signals-core@1.14.2/node_modules/@mittwald/remote-dom-core/build/esm/receivers/RemoteReceiver.mjs +274 -0
  6. package/dist/js/node_modules/.pnpm/@mittwald_remote-dom-core@1.7.0-mittwald.10_@preact_signals-core@1.14.2/node_modules/@mittwald/remote-dom-core/build/esm/receivers/RemoteReceiver.mjs.map +1 -0
  7. package/dist/js/node_modules/.pnpm/@mittwald_remote-dom-react@1.2.2-mittwald.10_patch_hash_165efefefb651960d4019e048af092f_d026c16774e8ba039112cc5604b77d04/node_modules/@mittwald/remote-dom-react/build/esm/host/RemoteRootRenderer.mjs +19 -0
  8. package/dist/js/node_modules/.pnpm/@mittwald_remote-dom-react@1.2.2-mittwald.10_patch_hash_165efefefb651960d4019e048af092f_d026c16774e8ba039112cc5604b77d04/node_modules/@mittwald/remote-dom-react/build/esm/host/RemoteRootRenderer.mjs.map +1 -0
  9. package/dist/js/node_modules/.pnpm/@mittwald_remote-dom-react@1.2.2-mittwald.10_patch_hash_165efefefb651960d4019e048af092f_d026c16774e8ba039112cc5604b77d04/node_modules/@mittwald/remote-dom-react/build/esm/host/RemoteTextRenderer.mjs +16 -0
  10. package/dist/js/node_modules/.pnpm/@mittwald_remote-dom-react@1.2.2-mittwald.10_patch_hash_165efefefb651960d4019e048af092f_d026c16774e8ba039112cc5604b77d04/node_modules/@mittwald/remote-dom-react/build/esm/host/RemoteTextRenderer.mjs.map +1 -0
  11. package/dist/js/node_modules/.pnpm/@mittwald_remote-dom-react@1.2.2-mittwald.10_patch_hash_165efefefb651960d4019e048af092f_d026c16774e8ba039112cc5604b77d04/node_modules/@mittwald/remote-dom-react/build/esm/host/component.mjs +68 -0
  12. package/dist/js/node_modules/.pnpm/@mittwald_remote-dom-react@1.2.2-mittwald.10_patch_hash_165efefefb651960d4019e048af092f_d026c16774e8ba039112cc5604b77d04/node_modules/@mittwald/remote-dom-react/build/esm/host/component.mjs.map +1 -0
  13. package/dist/js/node_modules/.pnpm/@mittwald_remote-dom-react@1.2.2-mittwald.10_patch_hash_165efefefb651960d4019e048af092f_d026c16774e8ba039112cc5604b77d04/node_modules/@mittwald/remote-dom-react/build/esm/host/constants.mjs +13 -0
  14. package/dist/js/node_modules/.pnpm/@mittwald_remote-dom-react@1.2.2-mittwald.10_patch_hash_165efefefb651960d4019e048af092f_d026c16774e8ba039112cc5604b77d04/node_modules/@mittwald/remote-dom-react/build/esm/host/constants.mjs.map +1 -0
  15. package/dist/js/node_modules/.pnpm/@mittwald_remote-dom-react@1.2.2-mittwald.10_patch_hash_165efefefb651960d4019e048af092f_d026c16774e8ba039112cc5604b77d04/node_modules/@mittwald/remote-dom-react/build/esm/host/hooks/props-for-element.mjs +45 -0
  16. package/dist/js/node_modules/.pnpm/@mittwald_remote-dom-react@1.2.2-mittwald.10_patch_hash_165efefefb651960d4019e048af092f_d026c16774e8ba039112cc5604b77d04/node_modules/@mittwald/remote-dom-react/build/esm/host/hooks/props-for-element.mjs.map +1 -0
  17. package/dist/js/node_modules/.pnpm/@mittwald_remote-dom-react@1.2.2-mittwald.10_patch_hash_165efefefb651960d4019e048af092f_d026c16774e8ba039112cc5604b77d04/node_modules/@mittwald/remote-dom-react/build/esm/host/hooks/remote-received.mjs +60 -0
  18. package/dist/js/node_modules/.pnpm/@mittwald_remote-dom-react@1.2.2-mittwald.10_patch_hash_165efefefb651960d4019e048af092f_d026c16774e8ba039112cc5604b77d04/node_modules/@mittwald/remote-dom-react/build/esm/host/hooks/remote-received.mjs.map +1 -0
  19. package/dist/js/node_modules/.pnpm/@mittwald_remote-dom-react@1.2.2-mittwald.10_patch_hash_165efefefb651960d4019e048af092f_d026c16774e8ba039112cc5604b77d04/node_modules/@mittwald/remote-dom-react/build/esm/host/node.mjs +33 -0
  20. package/dist/js/node_modules/.pnpm/@mittwald_remote-dom-react@1.2.2-mittwald.10_patch_hash_165efefefb651960d4019e048af092f_d026c16774e8ba039112cc5604b77d04/node_modules/@mittwald/remote-dom-react/build/esm/host/node.mjs.map +1 -0
  21. package/dist/js/{RemoteRendererBrowser.mjs → packages/remote-react-renderer/src/RemoteRendererBrowser.mjs} +2 -1
  22. package/dist/js/packages/remote-react-renderer/src/RemoteRendererBrowser.mjs.map +1 -0
  23. package/dist/js/packages/remote-react-renderer/src/auto-generated/index.mjs.map +1 -0
  24. package/dist/js/{components → packages/remote-react-renderer/src/components}/Form.mjs +4 -2
  25. package/dist/js/packages/remote-react-renderer/src/components/Form.mjs.map +1 -0
  26. package/dist/js/packages/remote-react-renderer/src/components/HostRenderErrorBoundary.mjs.map +1 -0
  27. package/dist/js/packages/remote-react-renderer/src/components/NotificationRenderController.mjs.map +1 -0
  28. package/dist/js/packages/remote-react-renderer/src/components/SlotRootWrapper.mjs.map +1 -0
  29. package/dist/js/{components.mjs → packages/remote-react-renderer/src/components.mjs} +1 -1
  30. package/dist/js/packages/remote-react-renderer/src/components.mjs.map +1 -0
  31. package/dist/js/packages/remote-react-renderer/src/hooks/useControllableSuspenseTrigger.mjs.map +1 -0
  32. package/dist/js/packages/remote-react-renderer/src/hooks/useMergedComponents.mjs.map +1 -0
  33. package/dist/js/packages/remote-react-renderer/src/hooks/useUpdateHostPathnameOnRemote.mjs.map +1 -0
  34. package/dist/js/{integrations → packages/remote-react-renderer/src/integrations}/react-hook-form/Form.mjs +1 -0
  35. package/dist/js/packages/remote-react-renderer/src/integrations/react-hook-form/Form.mjs.map +1 -0
  36. package/dist/js/packages/remote-react-renderer/src/lib/componentUsage.mjs.map +1 -0
  37. package/dist/js/{lib → packages/remote-react-renderer/src/lib}/createFlowRemoteComponentRenderer.mjs +1 -1
  38. package/dist/js/packages/remote-react-renderer/src/lib/createFlowRemoteComponentRenderer.mjs.map +1 -0
  39. package/dist/js/packages/remote-react-renderer/src/lib/elementFactory.mjs.map +1 -0
  40. package/dist/js/packages/remote-react-renderer/src/lib/mapAttributeToReactProperty.mjs.map +1 -0
  41. package/dist/js/packages/remote-react-renderer/src/lib/propClassifiers.mjs.map +1 -0
  42. package/dist/types/components/Form.d.ts.map +1 -1
  43. package/dist/types/integrations/react-hook-form/Form.d.ts.map +1 -1
  44. package/package.json +9 -9
  45. package/dist/js/RemoteRendererBrowser.mjs.map +0 -1
  46. package/dist/js/auto-generated/index.mjs.map +0 -1
  47. package/dist/js/components/Form.mjs.map +0 -1
  48. package/dist/js/components/HostRenderErrorBoundary.mjs.map +0 -1
  49. package/dist/js/components/NotificationRenderController.mjs.map +0 -1
  50. package/dist/js/components/SlotRootWrapper.mjs.map +0 -1
  51. package/dist/js/components.mjs.map +0 -1
  52. package/dist/js/hooks/useControllableSuspenseTrigger.mjs.map +0 -1
  53. package/dist/js/hooks/useMergedComponents.mjs.map +0 -1
  54. package/dist/js/hooks/useUpdateHostPathnameOnRemote.mjs.map +0 -1
  55. package/dist/js/integrations/react-hook-form/Form.mjs.map +0 -1
  56. package/dist/js/lib/componentUsage.mjs.map +0 -1
  57. package/dist/js/lib/createFlowRemoteComponentRenderer.mjs.map +0 -1
  58. package/dist/js/lib/elementFactory.mjs.map +0 -1
  59. package/dist/js/lib/mapAttributeToReactProperty.mjs.map +0 -1
  60. package/dist/js/lib/propClassifiers.mjs.map +0 -1
  61. /package/dist/js/{auto-generated → packages/remote-react-renderer/src/auto-generated}/index.mjs +0 -0
  62. /package/dist/js/{components → packages/remote-react-renderer/src/components}/HostRenderErrorBoundary.mjs +0 -0
  63. /package/dist/js/{components → packages/remote-react-renderer/src/components}/NotificationRenderController.mjs +0 -0
  64. /package/dist/js/{components → packages/remote-react-renderer/src/components}/SlotRootWrapper.mjs +0 -0
  65. /package/dist/js/{components → packages/remote-react-renderer/src/components}/index.mjs +0 -0
  66. /package/dist/js/{hooks → packages/remote-react-renderer/src/hooks}/useControllableSuspenseTrigger.mjs +0 -0
  67. /package/dist/js/{hooks → packages/remote-react-renderer/src/hooks}/useMergedComponents.mjs +0 -0
  68. /package/dist/js/{hooks → packages/remote-react-renderer/src/hooks}/useUpdateHostPathnameOnRemote.mjs +0 -0
  69. /package/dist/js/{lib → packages/remote-react-renderer/src/lib}/componentUsage.mjs +0 -0
  70. /package/dist/js/{lib → packages/remote-react-renderer/src/lib}/elementFactory.mjs +0 -0
  71. /package/dist/js/{lib → packages/remote-react-renderer/src/lib}/mapAttributeToReactProperty.mjs +0 -0
  72. /package/dist/js/{lib → packages/remote-react-renderer/src/lib}/propClassifiers.mjs +0 -0
@@ -0,0 +1,33 @@
1
+ "use client"
2
+ /* */
3
+ import { RemoteTextRenderer } from "./RemoteTextRenderer.mjs";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region ../../node_modules/.pnpm/@mittwald+remote-dom-react@1.2.2-mittwald.10_patch_hash=165efefefb651960d4019e048af092f_d026c16774e8ba039112cc5604b77d04/node_modules/@mittwald/remote-dom-react/build/esm/host/node.mjs
6
+ /**
7
+ * Renders a remote node to the host using React.
8
+ *
9
+ * @param node The remote node to render using React
10
+ */
11
+ function renderRemoteNode(node, { receiver, components }) {
12
+ switch (node.type) {
13
+ case 1: {
14
+ const Component = components.get(node.element);
15
+ if (Component == null) throw new Error(`No component found for remote element: ${node.element}`);
16
+ return /*#__PURE__*/ jsx(Component, {
17
+ element: node,
18
+ receiver,
19
+ components
20
+ }, node.id);
21
+ }
22
+ case 3: return /*#__PURE__*/ jsx(RemoteTextRenderer, {
23
+ remote: node,
24
+ receiver
25
+ }, node.id);
26
+ case 8: return null;
27
+ default: throw new Error(`Unknown remote node type: ${String(node)}`);
28
+ }
29
+ }
30
+ //#endregion
31
+ export { renderRemoteNode };
32
+
33
+ //# sourceMappingURL=node.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.mjs","names":[],"sources":["../../../../../../../../../../../../../node_modules/.pnpm/@mittwald+remote-dom-react@1.2.2-mittwald.10_patch_hash=165efefefb651960d4019e048af092f_d026c16774e8ba039112cc5604b77d04/node_modules/@mittwald/remote-dom-react/build/esm/host/node.mjs"],"sourcesContent":["import { RemoteTextRenderer } from './RemoteTextRenderer.mjs';\nimport { jsx } from 'react/jsx-runtime';\n\n/**\n * Renders a remote node to the host using React.\n *\n * @param node The remote node to render using React\n */\nfunction renderRemoteNode(node, {\n receiver,\n components\n}) {\n switch (node.type) {\n case 1:\n {\n const Component = components.get(node.element);\n if (Component == null) {\n throw new Error(`No component found for remote element: ${node.element}`);\n }\n return /*#__PURE__*/jsx(Component, {\n element: node,\n receiver: receiver,\n components: components\n }, node.id);\n }\n case 3:\n {\n return /*#__PURE__*/jsx(RemoteTextRenderer, {\n remote: node,\n receiver: receiver\n }, node.id);\n }\n case 8:\n {\n return null;\n }\n default:\n {\n throw new Error(`Unknown remote node type: ${String(node)}`);\n }\n }\n}\n\nexport { renderRemoteNode };\n"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;AAQA,SAAS,iBAAiB,MAAM,EAC9B,UACA,cACC;CACD,QAAQ,KAAK,MAAb;EACE,KAAK,GACH;GACE,MAAM,YAAY,WAAW,IAAI,KAAK,OAAO;GAC7C,IAAI,aAAa,MACf,MAAM,IAAI,MAAM,0CAA0C,KAAK,SAAS;GAE1E,OAAoB,kBAAI,WAAW;IACjC,SAAS;IACC;IACE;GACd,GAAG,KAAK,EAAE;EACZ;EACF,KAAK,GAED,OAAoB,kBAAI,oBAAoB;GAC1C,QAAQ;GACE;EACZ,GAAG,KAAK,EAAE;EAEd,KAAK,GAED,OAAO;EAEX,SAEI,MAAM,IAAI,MAAM,6BAA6B,OAAO,IAAI,GAAG;CAEjE;AACF"}
@@ -2,6 +2,8 @@
2
2
  /* */
3
3
  "use client";
4
4
  import { HostRenderErrorBoundary } from "./components/HostRenderErrorBoundary.mjs";
5
+ import { RemoteReceiver } from "../../../node_modules/.pnpm/@mittwald_remote-dom-core@1.7.0-mittwald.10_@preact_signals-core@1.14.2/node_modules/@mittwald/remote-dom-core/build/esm/receivers/RemoteReceiver.mjs";
6
+ import { RemoteRootRenderer } from "../../../node_modules/.pnpm/@mittwald_remote-dom-react@1.2.2-mittwald.10_patch_hash_165efefefb651960d4019e048af092f_d026c16774e8ba039112cc5604b77d04/node_modules/@mittwald/remote-dom-react/build/esm/host/RemoteRootRenderer.mjs";
5
7
  import { useMergedComponents } from "./hooks/useMergedComponents.mjs";
6
8
  import { toComponentUsageEvent } from "./lib/componentUsage.mjs";
7
9
  import { useControllableSuspenseTrigger } from "./hooks/useControllableSuspenseTrigger.mjs";
@@ -10,7 +12,6 @@ import { useLanguage, useTheme } from "@mittwald/flow-react-components";
10
12
  import { useEffect, useMemo, useRef, useState } from "react";
11
13
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
12
14
  import { RemoteError, connectRemoteIframeRef } from "@mittwald/flow-remote-core";
13
- import { RemoteReceiver, RemoteRootRenderer } from "@mittwald/remote-dom-react/host";
14
15
  import { getFlowComponentStatus } from "@mittwald/flow-react-components/internal";
15
16
  import { refresh, usePromise } from "@mittwald/react-use-promise";
16
17
  //#region src/RemoteRendererBrowser.tsx
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoteRendererBrowser.mjs","names":[],"sources":["../../../../../src/RemoteRendererBrowser.tsx"],"sourcesContent":["\"use client\";\n\nimport { HostRenderErrorBoundary } from \"@/components/HostRenderErrorBoundary\";\nimport { useMergedComponents } from \"@/hooks/useMergedComponents\";\nimport {\n toComponentUsageEvent,\n type ComponentUsageHandler,\n} from \"@/lib/componentUsage\";\nimport { getFlowComponentStatus } from \"@mittwald/flow-react-components/internal\";\nimport { useControllableSuspenseTrigger } from \"@/hooks/useControllableSuspenseTrigger\";\nimport { useUpdateHostPathnameOnRemote } from \"@/hooks/useUpdateHostPathnameOnRemote\";\nimport type { RemoteComponentsMap } from \"@/lib/types\";\nimport {\n connectRemoteIframeRef,\n RemoteError,\n type HostToRemoteConnection,\n type NavigationState,\n type RemoteExtBridgeConnectionApi,\n type RemoteReadyEvent,\n} from \"@mittwald/flow-remote-core\";\nimport { refresh, usePromise } from \"@mittwald/react-use-promise\";\nimport {\n RemoteReceiver,\n RemoteRootRenderer,\n} from \"@mittwald/remote-dom-react/host\";\nimport {\n type CSSProperties,\n type FC,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useLanguage, useTheme } from \"@mittwald/flow-react-components\";\nimport type { HostConfig } from \"@mittwald/ext-bridge\";\n\nexport interface RemoteRendererBrowserProps {\n integrations?: RemoteComponentsMap<never>[];\n src?: string;\n timeoutMs?: number;\n onNavigationStateChanged?: (state: NavigationState) => void;\n onConnected?: (event: RemoteReadyEvent) => void;\n onDeprecation?: (message: string) => void;\n onComponentUsage?: ComponentUsageHandler;\n hostPathname?: string;\n extBridgeImplementation?: RemoteExtBridgeConnectionApi;\n /** Internal use only */\n __remoteReceiver?: RemoteReceiver;\n}\n\nconst hiddenIframeStyle: CSSProperties = {\n visibility: \"hidden\",\n height: 0,\n width: 0,\n border: \"none\",\n position: \"absolute\",\n marginLeft: \"-9999px\",\n};\n\nexport const RemoteRendererBrowser: FC<RemoteRendererBrowserProps> = (\n props,\n) => {\n const {\n integrations = [],\n __remoteReceiver: remoteReceiverFromProps,\n ...connectedProps\n } = props;\n\n const remoteComponents = useMergedComponents(integrations);\n\n // The two branches use disjoint sets of hooks, so the connection path lives\n // in a dedicated component. This keeps each component's hook order stable\n // (Rules of Hooks) while preserving the exact rendering of both paths.\n // Note that the receiver path has no connection, so it reports no usage.\n if (remoteReceiverFromProps) {\n return (\n <RemoteRootRenderer\n components={remoteComponents}\n receiver={remoteReceiverFromProps}\n />\n );\n }\n\n const { src } = connectedProps;\n if (!src) {\n throw new RemoteError(\"'src' prop is required\");\n }\n\n return (\n <RemoteRendererConnected\n {...connectedProps}\n src={src}\n remoteComponents={remoteComponents}\n />\n );\n};\n\ninterface RemoteRendererConnectedProps extends Omit<\n RemoteRendererBrowserProps,\n \"integrations\" | \"__remoteReceiver\" | \"src\"\n> {\n src: string;\n remoteComponents: ReturnType<typeof useMergedComponents>;\n}\n\nconst RemoteRendererConnected: FC<RemoteRendererConnectedProps> = (props) => {\n const {\n timeoutMs = 10_000,\n src,\n extBridgeImplementation,\n onNavigationStateChanged,\n onConnected,\n onDeprecation,\n onComponentUsage,\n hostPathname,\n remoteComponents,\n } = props;\n\n const language = useLanguage();\n const theme = useTheme();\n\n const renderPromise = useMemo(() => Promise.withResolvers<void>(), [src]);\n const connectionPromise = useMemo(() => Promise.withResolvers<void>(), [src]);\n const loadingPromise = useMemo(() => Promise.withResolvers<void>(), [src]);\n const suspenseTrigger = useControllableSuspenseTrigger();\n\n const [connectionSrc, setConnectionSrc] = useState<string | null>(null);\n const connection = useRef<HostToRemoteConnection>(undefined);\n const [remoteError, setRemoteError] = useState<string | undefined>();\n\n const [receiver, rendererSubscriber] = useMemo(() => {\n const remoteReceiver = new RemoteReceiver();\n const controller = new AbortController();\n remoteReceiver.subscribe(\n { id: remoteReceiver.root.id },\n () => renderPromise.resolve(),\n { signal: controller.signal },\n );\n return [remoteReceiver, controller];\n }, [src]);\n\n useUpdateHostPathnameOnRemote(hostPathname, connection.current);\n\n const hostConfig: HostConfig = {\n language,\n theme,\n };\n\n const connect = connectRemoteIframeRef({\n connection: receiver.connection,\n extBridgeImplementation,\n hostConfig,\n onReady: ({ connection: establishedConnection, remoteReadyEvent }) => {\n establishedConnection.updateHostPathname(hostPathname);\n onConnected?.(remoteReadyEvent);\n connectionPromise.resolve();\n },\n onLoadingChanged: (isLoading) => {\n if (isLoading) {\n suspenseTrigger.start();\n } else {\n suspenseTrigger.stop();\n }\n },\n onError: setRemoteError,\n onNavigationStateChanged,\n onDeprecation,\n onEvent: (event) => {\n if (event.event === \"ComponentRendered\") {\n onComponentUsage?.(\n toComponentUsageEvent(event, getFlowComponentStatus),\n );\n }\n },\n });\n\n const timeoutPromise = (message: string) =>\n new Promise((_, rej) => {\n setTimeout(() => {\n rej(new RemoteError(`${message}: Timeout reached`));\n }, timeoutMs);\n });\n\n const overallLoading = () =>\n Promise.all([\n Promise.race([\n loadingPromise.promise,\n timeoutPromise(\"Remote URL could not be loaded\"),\n ]),\n Promise.race([\n connectionPromise.promise,\n timeoutPromise(\"Could not establish remote connection\"),\n ]),\n Promise.race([\n renderPromise.promise,\n timeoutPromise(\"Remote rendering failed\"),\n ]),\n ]);\n\n const awaitLoadingPromise = connectionSrc === src;\n\n const loaderResourceTag = `mittwald/remote-react-renderer/connect/${src}`;\n\n // refresh on remount\n useEffect(\n () => () => {\n refresh({\n tag: loaderResourceTag,\n });\n },\n [src],\n );\n\n usePromise(\n async () => {\n await overallLoading();\n rendererSubscriber.abort();\n },\n // Disabled while erroring so the error is thrown below instead of the\n // loader suspending indefinitely.\n awaitLoadingPromise && !remoteError ? [] : null,\n {\n loaderId: src,\n tags: [loaderResourceTag],\n },\n );\n\n if (remoteError) {\n throw new RemoteError(`Remote rendering failed: ${remoteError}`);\n }\n\n return (\n <>\n <HostRenderErrorBoundary\n onNoComponentError={async (error) => {\n await connection.current?.reportHostError(\n error instanceof Error ? error.message : String(error),\n );\n }}\n >\n <RemoteRootRenderer components={remoteComponents} receiver={receiver} />\n </HostRenderErrorBoundary>\n <iframe\n src={src}\n ref={(ref) => {\n connection.current = connect(ref);\n setConnectionSrc(src);\n }}\n onLoad={() => loadingPromise.resolve()}\n onError={() => loadingPromise.reject()}\n style={hiddenIframeStyle}\n />\n </>\n );\n};\n\nexport default RemoteRendererBrowser;\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../src/auto-generated/index.ts"],"sourcesContent":["/* prettier-ignore */\n/* This file is auto-generated with the remote-components-generator */\nimport { createFlowRemoteComponentRenderer } from \"@/lib/createFlowRemoteComponentRenderer\";\nimport { AccentBox as AccentBox } from \"@mittwald/flow-react-components\";\nimport { Accordion as Accordion } from \"@mittwald/flow-react-components\";\nimport { ActionGroup as ActionGroup } from \"@mittwald/flow-react-components\";\nimport { Alert as Alert } from \"@mittwald/flow-react-components\";\nimport { AlertBadge as AlertBadge } from \"@mittwald/flow-react-components\";\nimport { AlertIcon as AlertIcon } from \"@mittwald/flow-react-components\";\nimport { AlertText as AlertText } from \"@mittwald/flow-react-components\";\nimport { Align as Align } from \"@mittwald/flow-react-components\";\nimport { Area as Area } from \"@mittwald/flow-react-components\";\nimport { Autocomplete as Autocomplete } from \"@mittwald/flow-react-components\";\nimport { Avatar as Avatar } from \"@mittwald/flow-react-components\";\nimport { AvatarStack as AvatarStack } from \"@mittwald/flow-react-components\";\nimport { Badge as Badge } from \"@mittwald/flow-react-components\";\nimport { BigNumber as BigNumber } from \"@mittwald/flow-react-components\";\nimport { Breadcrumb as Breadcrumb } from \"@mittwald/flow-react-components\";\nimport { Button as Button } from \"@mittwald/flow-react-components\";\nimport { CartesianChart as CartesianChart } from \"@mittwald/flow-react-components\";\nimport { CartesianGrid as CartesianGrid } from \"@mittwald/flow-react-components\";\nimport { ChartGrid as ChartGrid } from \"@mittwald/flow-react-components\";\nimport { ChartLegend as ChartLegend } from \"@mittwald/flow-react-components\";\nimport { ChartTooltip as ChartTooltip } from \"@mittwald/flow-react-components\";\nimport { Chat as Chat } from \"@mittwald/flow-react-components\";\nimport { Checkbox as Checkbox } from \"@mittwald/flow-react-components\";\nimport { CheckboxButton as CheckboxButton } from \"@mittwald/flow-react-components\";\nimport { CheckboxGroup as CheckboxGroup } from \"@mittwald/flow-react-components\";\nimport { ClearPropsContext as ClearPropsContext } from \"@mittwald/flow-react-components\";\nimport { CodeBlock as CodeBlock } from \"@mittwald/flow-react-components\";\nimport { CodeEditor as CodeEditor } from \"@mittwald/flow-react-components\";\nimport { Color as Color } from \"@mittwald/flow-react-components\";\nimport { ColumnLayout as ColumnLayout } from \"@mittwald/flow-react-components\";\nimport { Combine as Combine } from \"@mittwald/flow-react-components\";\nimport { ComboBox as ComboBox } from \"@mittwald/flow-react-components\";\nimport { ComponentPropsContextProvider as ComponentPropsContextProvider } from \"@mittwald/flow-react-components\";\nimport { Content as Content } from \"@mittwald/flow-react-components\";\nimport { ContextMenu as ContextMenu } from \"@mittwald/flow-react-components\";\nimport { ContextMenuContent as ContextMenuContent } from \"@mittwald/flow-react-components\";\nimport { ContextMenuSection as ContextMenuSection } from \"@mittwald/flow-react-components\";\nimport { ContextMenuTrigger as ContextMenuTrigger } from \"@mittwald/flow-react-components\";\nimport { ContextualHelp as ContextualHelp } from \"@mittwald/flow-react-components\";\nimport { ContextualHelpTrigger as ContextualHelpTrigger } from \"@mittwald/flow-react-components\";\nimport { CopyButton as CopyButton } from \"@mittwald/flow-react-components\";\nimport { CounterBadge as CounterBadge } from \"@mittwald/flow-react-components\";\nimport { DatePicker as DatePicker } from \"@mittwald/flow-react-components\";\nimport { DateRangePicker as DateRangePicker } from \"@mittwald/flow-react-components\";\nimport { DialogTrigger as DialogTrigger } from \"@mittwald/flow-react-components\";\nimport { Div as Div } from \"@mittwald/flow-react-components\";\nimport { DonutChart as DonutChart } from \"@mittwald/flow-react-components\";\nimport { FieldDescription as FieldDescription } from \"@mittwald/flow-react-components\";\nimport { FieldError as FieldError } from \"@mittwald/flow-react-components\";\nimport { FileCard as FileCard } from \"@mittwald/flow-react-components\";\nimport { FileCardList as FileCardList } from \"@mittwald/flow-react-components\";\nimport { FileDropZone as FileDropZone } from \"@mittwald/flow-react-components\";\nimport { FileField as FileField } from \"@mittwald/flow-react-components\";\nimport { Flex as Flex } from \"@mittwald/flow-react-components\";\nimport { Header as Header } from \"@mittwald/flow-react-components\";\nimport { HeaderNavigation as HeaderNavigation } from \"@mittwald/flow-react-components\";\nimport { Heading as Heading } from \"@mittwald/flow-react-components\";\nimport { Icon as Icon } from \"@mittwald/flow-react-components\";\nimport { IllustratedMessage as IllustratedMessage } from \"@mittwald/flow-react-components\";\nimport { Image as Image } from \"@mittwald/flow-react-components\";\nimport { ImageCropper as ImageCropper } from \"@mittwald/flow-react-components\";\nimport { Initials as Initials } from \"@mittwald/flow-react-components\";\nimport { InlineCode as InlineCode } from \"@mittwald/flow-react-components\";\nimport { GridList as ItemsGridList } from \"@mittwald/flow-react-components\";\nimport { GridListItem as ItemsGridListItem } from \"@mittwald/flow-react-components\";\nimport { Kbd as Kbd } from \"@mittwald/flow-react-components\";\nimport { Label as Label } from \"@mittwald/flow-react-components\";\nimport { LabeledValue as LabeledValue } from \"@mittwald/flow-react-components\";\nimport { LayoutCard as LayoutCard } from \"@mittwald/flow-react-components\";\nimport { Legend as Legend } from \"@mittwald/flow-react-components\";\nimport { LightBoxGallery as LightBoxGallery } from \"@mittwald/flow-react-components\";\nimport { LightBoxGalleryItem as LightBoxGalleryItem } from \"@mittwald/flow-react-components\";\nimport { Line as Line } from \"@mittwald/flow-react-components\";\nimport { Link as Link } from \"@mittwald/flow-react-components\";\nimport { EmptyView as ListEmptyView } from \"@mittwald/flow-react-components\";\nimport { EmptyViewContainer as ListEmptyViewContainer } from \"@mittwald/flow-react-components\";\nimport { ListItemViewContent as ListItemViewContent } from \"@mittwald/flow-react-components\";\nimport { ListSummary as ListSummary } from \"@mittwald/flow-react-components\";\nimport { LoadingSpinner as LoadingSpinner } from \"@mittwald/flow-react-components\";\nimport { Markdown as Markdown } from \"@mittwald/flow-react-components\";\nimport { MarkdownEditor as MarkdownEditor } from \"@mittwald/flow-react-components\";\nimport { MenuItem as MenuItem } from \"@mittwald/flow-react-components\";\nimport { MenuTrigger as MenuTrigger } from \"@mittwald/flow-react-components\";\nimport { Message as Message } from \"@mittwald/flow-react-components\";\nimport { MessageSeparator as MessageSeparator } from \"@mittwald/flow-react-components\";\nimport { MessageThread as MessageThread } from \"@mittwald/flow-react-components\";\nimport { Navigation as Navigation } from \"@mittwald/flow-react-components\";\nimport { NavigationGroup as NavigationGroup } from \"@mittwald/flow-react-components\";\nimport { Notification as Notification } from \"@mittwald/flow-react-components\";\nimport { NumberField as NumberField } from \"@mittwald/flow-react-components\";\nimport { Option as Option } from \"@mittwald/flow-react-components\";\nimport { OverlayContent as OverlayContent } from \"@mittwald/flow-react-components\";\nimport { PasswordCreationField as PasswordCreationField } from \"@mittwald/flow-react-components\";\nimport { PopoverContent as PopoverContent } from \"@mittwald/flow-react-components\";\nimport { ProgressBar as ProgressBar } from \"@mittwald/flow-react-components\";\nimport { Radio as Radio } from \"@mittwald/flow-react-components\";\nimport { RadioButton as RadioButton } from \"@mittwald/flow-react-components\";\nimport { RadioGroup as RadioGroup } from \"@mittwald/flow-react-components\";\nimport { RangeCalendar as RangeCalendar } from \"@mittwald/flow-react-components\";\nimport { Rating as Rating } from \"@mittwald/flow-react-components\";\nimport { SearchField as SearchField } from \"@mittwald/flow-react-components\";\nimport { Section as Section } from \"@mittwald/flow-react-components\";\nimport { Segment as Segment } from \"@mittwald/flow-react-components\";\nimport { SegmentedControl as SegmentedControl } from \"@mittwald/flow-react-components\";\nimport { Select as Select } from \"@mittwald/flow-react-components\";\nimport { Separator as Separator } from \"@mittwald/flow-react-components\";\nimport { Skeleton as Skeleton } from \"@mittwald/flow-react-components\";\nimport { SkeletonText as SkeletonText } from \"@mittwald/flow-react-components\";\nimport { Slider as Slider } from \"@mittwald/flow-react-components\";\nimport { Switch as Switch } from \"@mittwald/flow-react-components\";\nimport { Tab as Tab } from \"@mittwald/flow-react-components\";\nimport { TabNavigation as TabNavigation } from \"@mittwald/flow-react-components\";\nimport { TabTitle as TabTitle } from \"@mittwald/flow-react-components\";\nimport { Table as Table } from \"@mittwald/flow-react-components\";\nimport { TableBody as TableBody } from \"@mittwald/flow-react-components\";\nimport { TableCell as TableCell } from \"@mittwald/flow-react-components\";\nimport { TableColumn as TableColumn } from \"@mittwald/flow-react-components\";\nimport { TableFooterRow as TableFooterRow } from \"@mittwald/flow-react-components\";\nimport { TableHeader as TableHeader } from \"@mittwald/flow-react-components\";\nimport { TableRow as TableRow } from \"@mittwald/flow-react-components\";\nimport { Tabs as Tabs } from \"@mittwald/flow-react-components\";\nimport { Text as Text } from \"@mittwald/flow-react-components\";\nimport { TextArea as TextArea } from \"@mittwald/flow-react-components\";\nimport { TextField as TextField } from \"@mittwald/flow-react-components\";\nimport { TimeField as TimeField } from \"@mittwald/flow-react-components\";\nimport { Tooltip as Tooltip } from \"@mittwald/flow-react-components\";\nimport { TooltipTrigger as TooltipTrigger } from \"@mittwald/flow-react-components\";\nimport { TranslationProvider as TranslationProvider } from \"@mittwald/flow-react-components\";\nimport { Truncate as Truncate } from \"@mittwald/flow-react-components\";\nimport { TunnelEntry as TunnelEntry } from \"@mittwald/flow-react-components\";\nimport { XAxis as XAxis } from \"@mittwald/flow-react-components\";\nimport { YAxis as YAxis } from \"@mittwald/flow-react-components\";\n\nexport const flowComponents = {\n \"flr-accent-box\": createFlowRemoteComponentRenderer(\"AccentBox\", AccentBox),\n \"flr-accordion\": createFlowRemoteComponentRenderer(\"Accordion\", Accordion),\n \"flr-action-group\": createFlowRemoteComponentRenderer(\n \"ActionGroup\",\n ActionGroup,\n ),\n \"flr-alert\": createFlowRemoteComponentRenderer(\"Alert\", Alert),\n \"flr-alert-badge\": createFlowRemoteComponentRenderer(\n \"AlertBadge\",\n AlertBadge,\n ),\n \"flr-alert-icon\": createFlowRemoteComponentRenderer(\"AlertIcon\", AlertIcon),\n \"flr-alert-text\": createFlowRemoteComponentRenderer(\"AlertText\", AlertText),\n \"flr-align\": createFlowRemoteComponentRenderer(\"Align\", Align),\n \"flr-area\": createFlowRemoteComponentRenderer(\"Area\", Area),\n \"flr-autocomplete\": createFlowRemoteComponentRenderer(\n \"Autocomplete\",\n Autocomplete,\n ),\n \"flr-avatar\": createFlowRemoteComponentRenderer(\"Avatar\", Avatar),\n \"flr-avatar-stack\": createFlowRemoteComponentRenderer(\n \"AvatarStack\",\n AvatarStack,\n ),\n \"flr-badge\": createFlowRemoteComponentRenderer(\"Badge\", Badge),\n \"flr-big-number\": createFlowRemoteComponentRenderer(\"BigNumber\", BigNumber),\n \"flr-breadcrumb\": createFlowRemoteComponentRenderer(\"Breadcrumb\", Breadcrumb),\n \"flr-button\": createFlowRemoteComponentRenderer(\"Button\", Button),\n \"flr-cartesian-chart\": createFlowRemoteComponentRenderer(\n \"CartesianChart\",\n CartesianChart,\n ),\n \"flr-cartesian-grid\": createFlowRemoteComponentRenderer(\n \"CartesianGrid\",\n CartesianGrid,\n ),\n \"flr-chart-grid\": createFlowRemoteComponentRenderer(\"ChartGrid\", ChartGrid),\n \"flr-chart-legend\": createFlowRemoteComponentRenderer(\n \"ChartLegend\",\n ChartLegend,\n ),\n \"flr-chart-tooltip\": createFlowRemoteComponentRenderer(\n \"ChartTooltip\",\n ChartTooltip,\n ),\n \"flr-chat\": createFlowRemoteComponentRenderer(\"Chat\", Chat),\n \"flr-checkbox\": createFlowRemoteComponentRenderer(\"Checkbox\", Checkbox),\n \"flr-checkbox-button\": createFlowRemoteComponentRenderer(\n \"CheckboxButton\",\n CheckboxButton,\n ),\n \"flr-checkbox-group\": createFlowRemoteComponentRenderer(\n \"CheckboxGroup\",\n CheckboxGroup,\n ),\n \"flr-clear-props-context\": createFlowRemoteComponentRenderer(\n \"ClearPropsContext\",\n ClearPropsContext,\n ),\n \"flr-code-block\": createFlowRemoteComponentRenderer(\"CodeBlock\", CodeBlock),\n \"flr-code-editor\": createFlowRemoteComponentRenderer(\n \"CodeEditor\",\n CodeEditor,\n ),\n \"flr-color\": createFlowRemoteComponentRenderer(\"Color\", Color),\n \"flr-column-layout\": createFlowRemoteComponentRenderer(\n \"ColumnLayout\",\n ColumnLayout,\n ),\n \"flr-combine\": createFlowRemoteComponentRenderer(\"Combine\", Combine),\n \"flr-combo-box\": createFlowRemoteComponentRenderer(\"ComboBox\", ComboBox),\n \"flr-component-props-context-provider\": createFlowRemoteComponentRenderer(\n \"ComponentPropsContextProvider\",\n ComponentPropsContextProvider,\n ),\n \"flr-content\": createFlowRemoteComponentRenderer(\"Content\", Content),\n \"flr-context-menu\": createFlowRemoteComponentRenderer(\n \"ContextMenu\",\n ContextMenu,\n ),\n \"flr-context-menu-content\": createFlowRemoteComponentRenderer(\n \"ContextMenuContent\",\n ContextMenuContent,\n ),\n \"flr-context-menu-section\": createFlowRemoteComponentRenderer(\n \"ContextMenuSection\",\n ContextMenuSection,\n ),\n \"flr-context-menu-trigger\": createFlowRemoteComponentRenderer(\n \"ContextMenuTrigger\",\n ContextMenuTrigger,\n ),\n \"flr-contextual-help\": createFlowRemoteComponentRenderer(\n \"ContextualHelp\",\n ContextualHelp,\n ),\n \"flr-contextual-help-trigger\": createFlowRemoteComponentRenderer(\n \"ContextualHelpTrigger\",\n ContextualHelpTrigger,\n ),\n \"flr-copy-button\": createFlowRemoteComponentRenderer(\n \"CopyButton\",\n CopyButton,\n ),\n \"flr-counter-badge\": createFlowRemoteComponentRenderer(\n \"CounterBadge\",\n CounterBadge,\n ),\n \"flr-date-picker\": createFlowRemoteComponentRenderer(\n \"DatePicker\",\n DatePicker,\n ),\n \"flr-date-range-picker\": createFlowRemoteComponentRenderer(\n \"DateRangePicker\",\n DateRangePicker,\n ),\n \"flr-dialog-trigger\": createFlowRemoteComponentRenderer(\n \"DialogTrigger\",\n DialogTrigger,\n ),\n \"flr-div\": createFlowRemoteComponentRenderer(\"Div\", Div),\n \"flr-donut-chart\": createFlowRemoteComponentRenderer(\n \"DonutChart\",\n DonutChart,\n ),\n \"flr-field-description\": createFlowRemoteComponentRenderer(\n \"FieldDescription\",\n FieldDescription,\n ),\n \"flr-field-error\": createFlowRemoteComponentRenderer(\n \"FieldError\",\n FieldError,\n ),\n \"flr-file-card\": createFlowRemoteComponentRenderer(\"FileCard\", FileCard),\n \"flr-file-card-list\": createFlowRemoteComponentRenderer(\n \"FileCardList\",\n FileCardList,\n ),\n \"flr-file-drop-zone\": createFlowRemoteComponentRenderer(\n \"FileDropZone\",\n FileDropZone,\n ),\n \"flr-file-field\": createFlowRemoteComponentRenderer(\"FileField\", FileField),\n \"flr-flex\": createFlowRemoteComponentRenderer(\"Flex\", Flex),\n \"flr-header\": createFlowRemoteComponentRenderer(\"Header\", Header),\n \"flr-header-navigation\": createFlowRemoteComponentRenderer(\n \"HeaderNavigation\",\n HeaderNavigation,\n ),\n \"flr-heading\": createFlowRemoteComponentRenderer(\"Heading\", Heading),\n \"flr-icon\": createFlowRemoteComponentRenderer(\"Icon\", Icon),\n \"flr-illustrated-message\": createFlowRemoteComponentRenderer(\n \"IllustratedMessage\",\n IllustratedMessage,\n ),\n \"flr-image\": createFlowRemoteComponentRenderer(\"Image\", Image),\n \"flr-image-cropper\": createFlowRemoteComponentRenderer(\n \"ImageCropper\",\n ImageCropper,\n ),\n \"flr-initials\": createFlowRemoteComponentRenderer(\"Initials\", Initials),\n \"flr-inline-code\": createFlowRemoteComponentRenderer(\n \"InlineCode\",\n InlineCode,\n ),\n \"flr-items-grid-list\": createFlowRemoteComponentRenderer(\n \"ItemsGridList\",\n ItemsGridList,\n ),\n \"flr-items-grid-list-item\": createFlowRemoteComponentRenderer(\n \"ItemsGridListItem\",\n ItemsGridListItem,\n ),\n \"flr-kbd\": createFlowRemoteComponentRenderer(\"Kbd\", Kbd),\n \"flr-label\": createFlowRemoteComponentRenderer(\"Label\", Label),\n \"flr-labeled-value\": createFlowRemoteComponentRenderer(\n \"LabeledValue\",\n LabeledValue,\n ),\n \"flr-layout-card\": createFlowRemoteComponentRenderer(\n \"LayoutCard\",\n LayoutCard,\n ),\n \"flr-legend\": createFlowRemoteComponentRenderer(\"Legend\", Legend),\n \"flr-light-box-gallery\": createFlowRemoteComponentRenderer(\n \"LightBoxGallery\",\n LightBoxGallery,\n ),\n \"flr-light-box-gallery-item\": createFlowRemoteComponentRenderer(\n \"LightBoxGalleryItem\",\n LightBoxGalleryItem,\n ),\n \"flr-line\": createFlowRemoteComponentRenderer(\"Line\", Line),\n \"flr-link\": createFlowRemoteComponentRenderer(\"Link\", Link),\n \"flr-list-empty-view\": createFlowRemoteComponentRenderer(\n \"ListEmptyView\",\n ListEmptyView,\n ),\n \"flr-list-empty-view-container\": createFlowRemoteComponentRenderer(\n \"ListEmptyViewContainer\",\n ListEmptyViewContainer,\n ),\n \"flr-list-item-view-content\": createFlowRemoteComponentRenderer(\n \"ListItemViewContent\",\n ListItemViewContent,\n ),\n \"flr-list-summary\": createFlowRemoteComponentRenderer(\n \"ListSummary\",\n ListSummary,\n ),\n \"flr-loading-spinner\": createFlowRemoteComponentRenderer(\n \"LoadingSpinner\",\n LoadingSpinner,\n ),\n \"flr-markdown\": createFlowRemoteComponentRenderer(\"Markdown\", Markdown),\n \"flr-markdown-editor\": createFlowRemoteComponentRenderer(\n \"MarkdownEditor\",\n MarkdownEditor,\n ),\n \"flr-menu-item\": createFlowRemoteComponentRenderer(\"MenuItem\", MenuItem),\n \"flr-menu-trigger\": createFlowRemoteComponentRenderer(\n \"MenuTrigger\",\n MenuTrigger,\n ),\n \"flr-message\": createFlowRemoteComponentRenderer(\"Message\", Message),\n \"flr-message-separator\": createFlowRemoteComponentRenderer(\n \"MessageSeparator\",\n MessageSeparator,\n ),\n \"flr-message-thread\": createFlowRemoteComponentRenderer(\n \"MessageThread\",\n MessageThread,\n ),\n \"flr-navigation\": createFlowRemoteComponentRenderer(\"Navigation\", Navigation),\n \"flr-navigation-group\": createFlowRemoteComponentRenderer(\n \"NavigationGroup\",\n NavigationGroup,\n ),\n \"flr-notification\": createFlowRemoteComponentRenderer(\n \"Notification\",\n Notification,\n ),\n \"flr-number-field\": createFlowRemoteComponentRenderer(\n \"NumberField\",\n NumberField,\n ),\n \"flr-option\": createFlowRemoteComponentRenderer(\"Option\", Option),\n \"flr-overlay-content\": createFlowRemoteComponentRenderer(\n \"OverlayContent\",\n OverlayContent,\n ),\n \"flr-password-creation-field\": createFlowRemoteComponentRenderer(\n \"PasswordCreationField\",\n PasswordCreationField,\n ),\n \"flr-popover-content\": createFlowRemoteComponentRenderer(\n \"PopoverContent\",\n PopoverContent,\n ),\n \"flr-progress-bar\": createFlowRemoteComponentRenderer(\n \"ProgressBar\",\n ProgressBar,\n ),\n \"flr-radio\": createFlowRemoteComponentRenderer(\"Radio\", Radio),\n \"flr-radio-button\": createFlowRemoteComponentRenderer(\n \"RadioButton\",\n RadioButton,\n ),\n \"flr-radio-group\": createFlowRemoteComponentRenderer(\n \"RadioGroup\",\n RadioGroup,\n ),\n \"flr-range-calendar\": createFlowRemoteComponentRenderer(\n \"RangeCalendar\",\n RangeCalendar,\n ),\n \"flr-rating\": createFlowRemoteComponentRenderer(\"Rating\", Rating),\n \"flr-search-field\": createFlowRemoteComponentRenderer(\n \"SearchField\",\n SearchField,\n ),\n \"flr-section\": createFlowRemoteComponentRenderer(\"Section\", Section),\n \"flr-segment\": createFlowRemoteComponentRenderer(\"Segment\", Segment),\n \"flr-segmented-control\": createFlowRemoteComponentRenderer(\n \"SegmentedControl\",\n SegmentedControl,\n ),\n \"flr-select\": createFlowRemoteComponentRenderer(\"Select\", Select),\n \"flr-separator\": createFlowRemoteComponentRenderer(\"Separator\", Separator),\n \"flr-skeleton\": createFlowRemoteComponentRenderer(\"Skeleton\", Skeleton),\n \"flr-skeleton-text\": createFlowRemoteComponentRenderer(\n \"SkeletonText\",\n SkeletonText,\n ),\n \"flr-slider\": createFlowRemoteComponentRenderer(\"Slider\", Slider),\n \"flr-switch\": createFlowRemoteComponentRenderer(\"Switch\", Switch),\n \"flr-tab\": createFlowRemoteComponentRenderer(\"Tab\", Tab),\n \"flr-tab-navigation\": createFlowRemoteComponentRenderer(\n \"TabNavigation\",\n TabNavigation,\n ),\n \"flr-tab-title\": createFlowRemoteComponentRenderer(\"TabTitle\", TabTitle),\n \"flr-table\": createFlowRemoteComponentRenderer(\"Table\", Table),\n \"flr-table-body\": createFlowRemoteComponentRenderer(\"TableBody\", TableBody),\n \"flr-table-cell\": createFlowRemoteComponentRenderer(\"TableCell\", TableCell),\n \"flr-table-column\": createFlowRemoteComponentRenderer(\n \"TableColumn\",\n TableColumn,\n ),\n \"flr-table-footer-row\": createFlowRemoteComponentRenderer(\n \"TableFooterRow\",\n TableFooterRow,\n ),\n \"flr-table-header\": createFlowRemoteComponentRenderer(\n \"TableHeader\",\n TableHeader,\n ),\n \"flr-table-row\": createFlowRemoteComponentRenderer(\"TableRow\", TableRow),\n \"flr-tabs\": createFlowRemoteComponentRenderer(\"Tabs\", Tabs),\n \"flr-text\": createFlowRemoteComponentRenderer(\"Text\", Text),\n \"flr-text-area\": createFlowRemoteComponentRenderer(\"TextArea\", TextArea),\n \"flr-text-field\": createFlowRemoteComponentRenderer(\"TextField\", TextField),\n \"flr-time-field\": createFlowRemoteComponentRenderer(\"TimeField\", TimeField),\n \"flr-tooltip\": createFlowRemoteComponentRenderer(\"Tooltip\", Tooltip),\n \"flr-tooltip-trigger\": createFlowRemoteComponentRenderer(\n \"TooltipTrigger\",\n TooltipTrigger,\n ),\n \"flr-translation-provider\": createFlowRemoteComponentRenderer(\n \"TranslationProvider\",\n TranslationProvider,\n ),\n \"flr-truncate\": createFlowRemoteComponentRenderer(\"Truncate\", Truncate),\n \"flr-tunnel-entry\": createFlowRemoteComponentRenderer(\n \"TunnelEntry\",\n TunnelEntry,\n ),\n \"flr-x-axis\": createFlowRemoteComponentRenderer(\"XAxis\", XAxis),\n \"flr-y-axis\": createFlowRemoteComponentRenderer(\"YAxis\", YAxis),\n} as const;\n\nexport default flowComponents;\n"],"mappings":"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"}
@@ -6,8 +6,10 @@ import { jsx } from "react/jsx-runtime";
6
6
  var Form = (props) => {
7
7
  const { action: onActionFromProps, onSubmit: onSubmitFromProps, ref, ...rest } = props;
8
8
  const onSubmit = async (event) => {
9
+ event.stopPropagation();
10
+ if (!onSubmitFromProps) return;
9
11
  event.preventDefault();
10
- await onSubmitFromProps?.(new FormData(event.currentTarget));
12
+ await onSubmitFromProps(new FormData(event.currentTarget));
11
13
  };
12
14
  const onAction = async (formData) => {
13
15
  await onActionFromProps?.(formData);
@@ -16,7 +18,7 @@ var Form = (props) => {
16
18
  ...rest,
17
19
  ref,
18
20
  action: onActionFromProps ? onAction : void 0,
19
- onSubmit: onSubmitFromProps ? onSubmit : void 0
21
+ onSubmit
20
22
  });
21
23
  };
22
24
  //#endregion
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.mjs","names":[],"sources":["../../../../../../src/components/Form.tsx"],"sourcesContent":["import {\n type FC,\n type FormEvent,\n type PropsWithChildren,\n type Ref,\n} from \"react\";\n\ntype FormProps = {\n action?: (data: FormData) => void | Promise<void>;\n onSubmit?: (data: FormData) => void | Promise<void>;\n ref?: Ref<HTMLFormElement>;\n} & PropsWithChildren;\n\nexport const Form: FC<FormProps> = (props) => {\n const {\n action: onActionFromProps,\n onSubmit: onSubmitFromProps,\n ref,\n ...rest\n } = props;\n\n const onSubmit = async (event: FormEvent<HTMLFormElement>) => {\n /*\n * React events bubble through portals, so a submit inside a Modal would\n * reach the Form the Modal sits in and submit it too. An action-only form\n * needs that guard as well, so the handler always runs.\n */\n event.stopPropagation();\n\n if (!onSubmitFromProps) {\n return;\n }\n event.preventDefault();\n await onSubmitFromProps(new FormData(event.currentTarget));\n };\n\n const onAction = async (formData: FormData) => {\n await onActionFromProps?.(formData);\n };\n\n return (\n <form\n {...rest}\n ref={ref}\n action={onActionFromProps ? onAction : undefined}\n onSubmit={onSubmit}\n />\n );\n};\n"],"mappings":";;;;;AAaA,IAAa,QAAuB,UAAU;CAC5C,MAAM,EACJ,QAAQ,mBACR,UAAU,mBACV,KACA,GAAG,SACD;CAEJ,MAAM,WAAW,OAAO,UAAsC;EAM5D,MAAM,gBAAgB;EAEtB,IAAI,CAAC,mBACH;EAEF,MAAM,eAAe;EACrB,MAAM,kBAAkB,IAAI,SAAS,MAAM,aAAa,CAAC;CAC3D;CAEA,MAAM,WAAW,OAAO,aAAuB;EAC7C,MAAM,oBAAoB,QAAQ;CACpC;CAEA,OACE,oBAAC,QAAD;EACE,GAAI;EACC;EACL,QAAQ,oBAAoB,WAAW,KAAA;EAC7B;CACX,CAAA;AAEL"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HostRenderErrorBoundary.mjs","names":[],"sources":["../../../../../../src/components/HostRenderErrorBoundary.tsx"],"sourcesContent":["import { Component, type ReactNode } from \"react\";\n\nconst HOST_ERROR_DELIVERY_TIMEOUT_MS = 1000;\n\nconst isNoComponentFoundError = (error: unknown): error is Error =>\n // Couples to the message thrown by @mittwald/remote-dom-react's host renderer.\n error instanceof Error &&\n error.message.startsWith(\"No component found for remote element\");\n\ninterface Props {\n children: ReactNode;\n onNoComponentError: (error: Error) => Promise<void>;\n}\n\ninterface State {\n errorToRethrow?: unknown;\n isHandling: boolean;\n}\n\nexport class HostRenderErrorBoundary extends Component<Props, State> {\n override state: State = { isHandling: false };\n\n static getDerivedStateFromError(error: unknown): Partial<State> {\n if (isNoComponentFoundError(error)) {\n return { isHandling: true };\n }\n\n return { errorToRethrow: error };\n }\n\n override componentDidCatch(error: unknown): void {\n if (!isNoComponentFoundError(error)) {\n return;\n }\n\n const timeout = new Promise<void>((resolve) =>\n setTimeout(resolve, HOST_ERROR_DELIVERY_TIMEOUT_MS),\n );\n\n Promise.race([\n this.props.onNoComponentError(error).catch(() => undefined),\n timeout,\n ]).finally(() => {\n this.setState({ errorToRethrow: error, isHandling: false });\n });\n }\n\n override render(): ReactNode {\n if (\"errorToRethrow\" in this.state) {\n throw this.state.errorToRethrow;\n }\n\n if (this.state.isHandling) {\n return null;\n }\n\n return this.props.children;\n }\n}\n"],"mappings":";;;;AAEA,IAAM,iCAAiC;AAEvC,IAAM,2BAA2B,UAE/B,iBAAiB,SACjB,MAAM,QAAQ,WAAW,uCAAuC;AAYlE,IAAa,0BAAb,cAA6C,UAAwB;CACnE,QAAwB,EAAE,YAAY,MAAM;CAE5C,OAAO,yBAAyB,OAAgC;EAC9D,IAAI,wBAAwB,KAAK,GAC/B,OAAO,EAAE,YAAY,KAAK;EAG5B,OAAO,EAAE,gBAAgB,MAAM;CACjC;CAEA,kBAA2B,OAAsB;EAC/C,IAAI,CAAC,wBAAwB,KAAK,GAChC;EAGF,MAAM,UAAU,IAAI,SAAe,YACjC,WAAW,SAAS,8BAA8B,CACpD;EAEA,QAAQ,KAAK,CACX,KAAK,MAAM,mBAAmB,KAAK,CAAC,CAAC,YAAY,KAAA,CAAS,GAC1D,OACF,CAAC,CAAC,CAAC,cAAc;GACf,KAAK,SAAS;IAAE,gBAAgB;IAAO,YAAY;GAAM,CAAC;EAC5D,CAAC;CACH;CAEA,SAA6B;EAC3B,IAAI,oBAAoB,KAAK,OAC3B,MAAM,KAAK,MAAM;EAGnB,IAAI,KAAK,MAAM,YACb,OAAO;EAGT,OAAO,KAAK,MAAM;CACpB;AACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotificationRenderController.mjs","names":[],"sources":["../../../../../../src/components/NotificationRenderController.tsx"],"sourcesContent":["import {\n useNotificationController,\n type NotificationProps,\n Notification,\n} from \"@mittwald/flow-react-components\";\nimport { useEffect, useRef, type FC } from \"react\";\n\nexport const NotificationRenderController: FC<NotificationProps> = (props) => {\n const notifications = useNotificationController();\n const isAdded = useRef(false);\n\n useEffect(() => {\n if (isAdded.current) {\n return;\n }\n\n const id = notifications.add(<Notification {...props} />);\n isAdded.current = true;\n\n return () => {\n notifications.remove(id);\n isAdded.current = false;\n };\n }, [notifications]);\n\n return null;\n};\n"],"mappings":";;;;;;AAOA,IAAa,gCAAuD,UAAU;CAC5E,MAAM,gBAAgB,0BAA0B;CAChD,MAAM,UAAU,OAAO,KAAK;CAE5B,gBAAgB;EACd,IAAI,QAAQ,SACV;EAGF,MAAM,KAAK,cAAc,IAAI,oBAAC,cAAD,EAAc,GAAI,MAAQ,CAAA,CAAC;EACxD,QAAQ,UAAU;EAElB,aAAa;GACX,cAAc,OAAO,EAAE;GACvB,QAAQ,UAAU;EACpB;CACF,GAAG,CAAC,aAAa,CAAC;CAElB,OAAO;AACT"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlotRootWrapper.mjs","names":[],"sources":["../../../../../../src/components/SlotRootWrapper.ts"],"sourcesContent":["import React, { createElement, type FC, type PropsWithChildren } from \"react\";\n\nexport const SlotRootWrapper: FC<PropsWithChildren> = (props) => {\n return createElement(React.Fragment, {}, props.children);\n};\n\nexport default SlotRootWrapper;\n"],"mappings":";;;;AAEA,IAAa,mBAA0C,UAAU;CAC/D,OAAO,cAAc,MAAM,UAAU,CAAC,GAAG,MAAM,QAAQ;AACzD"}
@@ -1,5 +1,6 @@
1
1
  "use client"
2
2
  /* */
3
+ import { createRemoteComponentRenderer } from "../../../node_modules/.pnpm/@mittwald_remote-dom-react@1.2.2-mittwald.10_patch_hash_165efefefb651960d4019e048af092f_d026c16774e8ba039112cc5604b77d04/node_modules/@mittwald/remote-dom-react/build/esm/host/component.mjs";
3
4
  import { createFlowRemoteComponentRenderer } from "./lib/createFlowRemoteComponentRenderer.mjs";
4
5
  import { elementFactory } from "./lib/elementFactory.mjs";
5
6
  import flowComponents from "./auto-generated/index.mjs";
@@ -8,7 +9,6 @@ import { SlotRootWrapper } from "./components/SlotRootWrapper.mjs";
8
9
  import "./components/index.mjs";
9
10
  import { Form as Form$1 } from "./integrations/react-hook-form/Form.mjs";
10
11
  import { NotificationRenderController } from "./components/NotificationRenderController.mjs";
11
- import { createRemoteComponentRenderer } from "@mittwald/remote-dom-react/host";
12
12
  //#region src/components.ts
13
13
  var htmlComponentsMap = {
14
14
  svg: createRemoteComponentRenderer(elementFactory("svg")),
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.mjs","names":[],"sources":["../../../../../src/components.ts"],"sourcesContent":["import { createFlowRemoteComponentRenderer } from \"@/lib/createFlowRemoteComponentRenderer\";\nimport { elementFactory } from \"@/lib/elementFactory\";\nimport { createRemoteComponentRenderer } from \"@mittwald/remote-dom-react/host\";\nimport autoGenerated from \"./auto-generated\";\nimport { Form, SlotRootWrapper } from \"@/components/\";\nimport { Form as RhfForm } from \"@/integrations/react-hook-form/Form\";\nimport { NotificationRenderController } from \"@/components/NotificationRenderController\";\n\nconst htmlComponentsMap = {\n svg: createRemoteComponentRenderer(elementFactory(\"svg\")),\n circle: createRemoteComponentRenderer(elementFactory(\"circle\")),\n g: createRemoteComponentRenderer(elementFactory(\"g\")),\n path: createRemoteComponentRenderer(elementFactory(\"path\")),\n strong: createRemoteComponentRenderer(elementFactory(\"strong\")),\n s: createRemoteComponentRenderer(elementFactory(\"s\")),\n ul: createRemoteComponentRenderer(elementFactory(\"ul\")),\n ol: createRemoteComponentRenderer(elementFactory(\"ol\")),\n li: createRemoteComponentRenderer(elementFactory(\"li\")),\n small: createRemoteComponentRenderer(elementFactory(\"small\")),\n i: createRemoteComponentRenderer(elementFactory(\"i\")),\n br: createRemoteComponentRenderer(\n elementFactory(\"br\", { isVoidElement: true }),\n ),\n} as const;\n\n/**\n * Components that are allowed to be used remotely but should not be rendered on\n * the host.\n */\nconst skippedComponentsMap = {\n script: () => null,\n} as const;\n\nconst flowComponentsMap = {\n \"flr-form\": createFlowRemoteComponentRenderer(\"Form\", Form),\n \"flr-rhf-form\": createFlowRemoteComponentRenderer(\"RhfForm\", RhfForm),\n \"flr-slot-root-wrapper\": createFlowRemoteComponentRenderer(\n \"SlotRootWrapper\",\n SlotRootWrapper,\n ),\n \"flr-notification\": createFlowRemoteComponentRenderer(\n \"Notification\",\n NotificationRenderController,\n ),\n \"flr-clear-props-context-content\": createFlowRemoteComponentRenderer(\n \"ClearPropsContextContent\",\n SlotRootWrapper,\n ),\n};\n\nexport const components = {\n ...htmlComponentsMap,\n ...skippedComponentsMap,\n ...autoGenerated,\n ...flowComponentsMap,\n};\n"],"mappings":";;;;;;;;;;;;AAQA,IAAM,oBAAoB;CACxB,KAAK,8BAA8B,eAAe,KAAK,CAAC;CACxD,QAAQ,8BAA8B,eAAe,QAAQ,CAAC;CAC9D,GAAG,8BAA8B,eAAe,GAAG,CAAC;CACpD,MAAM,8BAA8B,eAAe,MAAM,CAAC;CAC1D,QAAQ,8BAA8B,eAAe,QAAQ,CAAC;CAC9D,GAAG,8BAA8B,eAAe,GAAG,CAAC;CACpD,IAAI,8BAA8B,eAAe,IAAI,CAAC;CACtD,IAAI,8BAA8B,eAAe,IAAI,CAAC;CACtD,IAAI,8BAA8B,eAAe,IAAI,CAAC;CACtD,OAAO,8BAA8B,eAAe,OAAO,CAAC;CAC5D,GAAG,8BAA8B,eAAe,GAAG,CAAC;CACpD,IAAI,8BACF,eAAe,MAAM,EAAE,eAAe,KAAK,CAAC,CAC9C;AACF;;;;;AAMA,IAAM,uBAAuB,EAC3B,cAAc,KAChB;AAEA,IAAM,oBAAoB;CACxB,YAAY,kCAAkC,QAAQ,IAAI;CAC1D,gBAAgB,kCAAkC,WAAW,MAAO;CACpE,yBAAyB,kCACvB,mBACA,eACF;CACA,oBAAoB,kCAClB,gBACA,4BACF;CACA,mCAAmC,kCACjC,4BACA,eACF;AACF;AAEA,IAAa,aAAa;CACxB,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;AACL"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useControllableSuspenseTrigger.mjs","names":[],"sources":["../../../../../../src/hooks/useControllableSuspenseTrigger.ts"],"sourcesContent":["import { usePromise } from \"@mittwald/react-use-promise\";\nimport { useId, useRef, useState } from \"react\";\n\nexport const useControllableSuspenseTrigger = () => {\n const localId = useId();\n const promise = useRef<PromiseWithResolvers<void>>(null);\n const [startedCount, setStartedCount] = useState(0);\n\n usePromise(\n (promise: Promise<void>) => promise,\n promise.current ? [promise.current.promise] : null,\n {\n keepValueWhileLoading: false,\n loaderId: localId + startedCount,\n },\n );\n\n return {\n start: () => {\n promise.current = Promise.withResolvers<void>();\n setStartedCount((c) => c + 1);\n },\n stop: () => {\n promise.current?.resolve();\n },\n };\n};\n"],"mappings":";;;;;AAGA,IAAa,uCAAuC;CAClD,MAAM,UAAU,MAAM;CACtB,MAAM,UAAU,OAAmC,IAAI;CACvD,MAAM,CAAC,cAAc,mBAAmB,SAAS,CAAC;CAElD,YACG,YAA2B,SAC5B,QAAQ,UAAU,CAAC,QAAQ,QAAQ,OAAO,IAAI,MAC9C;EACE,uBAAuB;EACvB,UAAU,UAAU;CACtB,CACF;CAEA,OAAO;EACL,aAAa;GACX,QAAQ,UAAU,QAAQ,cAAoB;GAC9C,iBAAiB,MAAM,IAAI,CAAC;EAC9B;EACA,YAAY;GACV,QAAQ,SAAS,QAAQ;EAC3B;CACF;AACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMergedComponents.mjs","names":[],"sources":["../../../../../../src/hooks/useMergedComponents.ts"],"sourcesContent":["import { components } from \"@/components\";\nimport type { RemoteComponentsMap } from \"@/lib/types\";\nimport type { RemoteComponentRendererProps } from \"@mittwald/remote-dom-react/host\";\nimport { type ComponentType, useMemo } from \"react\";\nimport { reduce } from \"remeda\";\n\nexport const useMergedComponents = (\n integrations: RemoteComponentsMap<never>[],\n) =>\n useMemo(\n () =>\n new Map<string, ComponentType<RemoteComponentRendererProps>>(\n Object.entries(\n reduce(\n [...integrations, components],\n (merged, current) => ({\n ...merged,\n ...current,\n }),\n {},\n ),\n ),\n ),\n [...integrations],\n );\n"],"mappings":";;;;;;AAMA,IAAa,uBACX,iBAEA,cAEI,IAAI,IACF,OAAO,QACL,OACE,CAAC,GAAG,cAAc,UAAU,IAC3B,QAAQ,aAAa;CACpB,GAAG;CACH,GAAG;AACL,IACA,CAAC,CACH,CACF,CACF,GACF,CAAC,GAAG,YAAY,CAClB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUpdateHostPathnameOnRemote.mjs","names":[],"sources":["../../../../../../src/hooks/useUpdateHostPathnameOnRemote.ts"],"sourcesContent":["import { type HostToRemoteConnection } from \"@mittwald/flow-remote-core\";\nimport { useLayoutEffect } from \"react\";\n\n/** Updates the host pathname in the remote connection. */\nexport const useUpdateHostPathnameOnRemote = (\n hostPathname?: string,\n connection?: HostToRemoteConnection,\n) => {\n useLayoutEffect(() => {\n if (hostPathname === undefined || !connection) {\n return;\n }\n\n const { updateHostPathname } = connection;\n updateHostPathname(hostPathname);\n }, [hostPathname, connection]);\n};\n"],"mappings":";;;;;;AAIA,IAAa,iCACX,cACA,eACG;CACH,sBAAsB;EACpB,IAAI,iBAAiB,KAAA,KAAa,CAAC,YACjC;EAGF,MAAM,EAAE,uBAAuB;EAC/B,mBAAmB,YAAY;CACjC,GAAG,CAAC,cAAc,UAAU,CAAC;AAC/B"}
@@ -12,6 +12,7 @@ var Form = (props) => {
12
12
  const { onSubmit: onSubmitFromProps, ref, ...rest } = props;
13
13
  const onSubmit = async (event) => {
14
14
  event.preventDefault();
15
+ event.stopPropagation();
15
16
  await onSubmitFromProps?.();
16
17
  };
17
18
  return /* @__PURE__ */ jsx("form", {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.mjs","names":[],"sources":["../../../../../../../src/integrations/react-hook-form/Form.tsx"],"sourcesContent":["import {\n type FC,\n type FormEvent,\n type PropsWithChildren,\n type Ref,\n} from \"react\";\n\ntype FormProps = {\n onSubmit?: () => void | Promise<void>;\n ref?: Ref<HTMLFormElement>;\n} & PropsWithChildren;\n\n/**\n * ReactHookForm won't send the data over onSubmit, the form state is\n * transferred over onChange. To avoid sending unnecessary data, this RemoteForm\n * sends only the onSubmit without any formData.\n */\nexport const Form: FC<FormProps> = (props) => {\n const { onSubmit: onSubmitFromProps, ref, ...rest } = props;\n\n const onSubmit = async (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n /*\n * React events bubble through portals, so a submit inside a Modal would\n * reach the Form the Modal sits in and submit it too. The remote Form\n * cannot stop that itself — its submit has no nativeEvent.\n */\n event.stopPropagation();\n await onSubmitFromProps?.();\n };\n\n return <form {...rest} ref={ref} onSubmit={onSubmit} />;\n};\n"],"mappings":";;;;;;;;;;AAiBA,IAAa,QAAuB,UAAU;CAC5C,MAAM,EAAE,UAAU,mBAAmB,KAAK,GAAG,SAAS;CAEtD,MAAM,WAAW,OAAO,UAAsC;EAC5D,MAAM,eAAe;EAMrB,MAAM,gBAAgB;EACtB,MAAM,oBAAoB;CAC5B;CAEA,OAAO,oBAAC,QAAD;EAAM,GAAI;EAAW;EAAe;CAAW,CAAA;AACxD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"componentUsage.mjs","names":[],"sources":["../../../../../../src/lib/componentUsage.ts"],"sourcesContent":["import type { FlowComponentStatus } from \"@mittwald/flow-react-components/internal\";\nimport type { ComponentRenderedEvent } from \"@mittwald/flow-remote-core\";\n\n/**\n * A Flow component an extension used, as reported by the remote. Renders that\n * arrive through a Flow view are composition rather than usage and are not\n * reported at all.\n */\nexport interface ComponentUsageEvent {\n /** Display name of the used Flow component, e.g. `\"Button\"`. */\n component: string;\n /**\n * The component's lifecycle status (ADR 0003) from the generated status\n * registry. `undefined` for components the registry does not track as an\n * independent contract unit — subcomponents like `TableCell` or `XAxis`.\n */\n status?: FlowComponentStatus;\n}\n\nexport type ComponentUsageHandler = (event: ComponentUsageEvent) => void;\n\nexport type ComponentStatusResolver = (\n component: string,\n) => FlowComponentStatus | undefined;\n\nexport const toComponentUsageEvent = (\n event: ComponentRenderedEvent,\n resolveStatus: ComponentStatusResolver,\n): ComponentUsageEvent => ({\n ...event.data,\n status: resolveStatus(event.data.component),\n});\n"],"mappings":";;;AAyBA,IAAa,yBACX,OACA,mBACyB;CACzB,GAAG,MAAM;CACT,QAAQ,cAAc,MAAM,KAAK,SAAS;AAC5C"}
@@ -1,10 +1,10 @@
1
1
  "use client"
2
2
  /* */
3
3
  import { isReactSuspendedStyle, isStyleProp } from "./propClassifiers.mjs";
4
+ import { createRemoteComponentRenderer } from "../../../../node_modules/.pnpm/@mittwald_remote-dom-react@1.2.2-mittwald.10_patch_hash_165efefefb651960d4019e048af092f_d026c16774e8ba039112cc5604b77d04/node_modules/@mittwald/remote-dom-react/build/esm/host/component.mjs";
4
5
  import "react";
5
6
  import { jsx } from "react/jsx-runtime";
6
7
  import { Version } from "@mittwald/flow-remote-core";
7
- import { createRemoteComponentRenderer } from "@mittwald/remote-dom-react/host";
8
8
  import { FlowRemoteElement } from "@mittwald/flow-remote-elements";
9
9
  import { mapValues } from "remeda";
10
10
  //#region src/lib/createFlowRemoteComponentRenderer.tsx
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFlowRemoteComponentRenderer.mjs","names":[],"sources":["../../../../../../src/lib/createFlowRemoteComponentRenderer.tsx"],"sourcesContent":["import { isReactSuspendedStyle, isStyleProp } from \"@/lib/propClassifiers\";\nimport type { RemoteComponentRendererProps } from \"@mittwald/remote-dom-react/host\";\nimport { createRemoteComponentRenderer } from \"@mittwald/remote-dom-react/host\";\nimport { FlowRemoteElement } from \"@mittwald/flow-remote-elements\";\nimport type { FlowRemoteElementMetaData } from \"@mittwald/flow-remote-elements\";\nimport { Version } from \"@mittwald/flow-remote-core\";\nimport { type ComponentType } from \"react\";\nimport { mapValues } from \"remeda\";\n\nconst mapProperty = (val: unknown, key: string) => {\n if (isStyleProp(key)) {\n if (isReactSuspendedStyle(val)) {\n return {\n display: \"none\",\n };\n }\n return {};\n }\n return val;\n};\n\nexport const createFlowRemoteComponentRenderer = <P extends object>(\n name: string,\n Component: ComponentType<P>,\n): ComponentType<RemoteComponentRendererProps> => {\n function HostComponent(props: P & FlowRemoteElementMetaData) {\n const hostComponentProps = mapValues(props, (v, k) =>\n mapProperty(v, k),\n ) as P & FlowRemoteElementMetaData;\n\n const {\n [FlowRemoteElement.versionPropertyName]: version = Version.v1,\n [FlowRemoteElement.initializationPropertyName]: initialized = false,\n ...restProps\n } = hostComponentProps;\n\n if (version >= Version.v3) {\n // \"initialized\" handling introduced in version 3\n if (!initialized) {\n return null;\n }\n }\n\n return <Component {...(restProps as P)} />;\n }\n HostComponent.displayName = `FlowRemoteRenderer(${name})`;\n return createRemoteComponentRenderer(HostComponent, {\n name: `RemoteRenderer(${name})`,\n });\n};\n"],"mappings":";;;;;;;;;;AASA,IAAM,eAAe,KAAc,QAAgB;CACjD,IAAI,YAAY,GAAG,GAAG;EACpB,IAAI,sBAAsB,GAAG,GAC3B,OAAO,EACL,SAAS,OACX;EAEF,OAAO,CAAC;CACV;CACA,OAAO;AACT;AAEA,IAAa,qCACX,MACA,cACgD;CAChD,SAAS,cAAc,OAAsC;EAK3D,MAAM,GACH,kBAAkB,sBAAsB,UAAU,QAAQ,KAC1D,kBAAkB,6BAA6B,cAAc,OAC9D,GAAG,cAPsB,UAAU,QAAQ,GAAG,MAC9C,YAAY,GAAG,CAAC,CAOd;EAEJ,IAAI,WAAW,QAAQ,IAEjB;OAAA,CAAC,aACH,OAAO;EAAA;EAIX,OAAO,oBAAC,WAAD,EAAW,GAAK,UAAkB,CAAA;CAC3C;CACA,cAAc,cAAc,sBAAsB,KAAK;CACvD,OAAO,8BAA8B,eAAe,EAClD,MAAM,kBAAkB,KAAK,GAC/B,CAAC;AACH"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elementFactory.mjs","names":[],"sources":["../../../../../../src/lib/elementFactory.ts"],"sourcesContent":["import { mapAttributeToReactProperty } from \"@/lib/mapAttributeToReactProperty\";\nimport clsx from \"clsx\";\nimport { createElement } from \"react\";\nimport { mapKeys } from \"remeda\";\n\ntype ElementTagNameMap = HTMLElementTagNameMap &\n Pick<\n SVGElementTagNameMap,\n Exclude<keyof SVGElementTagNameMap, keyof HTMLElementTagNameMap>\n >;\n\ninterface Options {\n isVoidElement?: boolean;\n}\n\nexport const elementFactory =\n <E extends keyof ElementTagNameMap>(element: E, options: Options = {}) =>\n (props: Record<string, unknown>) => {\n const result = { ...props };\n const { isVoidElement = false } = options;\n\n if (isVoidElement) {\n delete result[\"children\"];\n }\n\n // merge className and class\n result[\"className\"] = clsx(\n \"className\" in result && String(result[\"className\"]),\n \"class\" in result && String(result[\"class\"]),\n );\n\n delete result[\"class\"];\n\n return createElement(element, mapKeys(result, mapAttributeToReactProperty));\n };\n"],"mappings":";;;;;;;AAeA,IAAa,kBACyB,SAAY,UAAmB,CAAC,OACnE,UAAmC;CAClC,MAAM,SAAS,EAAE,GAAG,MAAM;CAC1B,MAAM,EAAE,gBAAgB,UAAU;CAElC,IAAI,eACF,OAAO,OAAO;CAIhB,OAAO,eAAe,KACpB,eAAe,UAAU,OAAO,OAAO,YAAY,GACnD,WAAW,UAAU,OAAO,OAAO,QAAQ,CAC7C;CAEA,OAAO,OAAO;CAEd,OAAO,cAAc,SAAS,QAAQ,QAAQ,2BAA2B,CAAC;AAC5E"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapAttributeToReactProperty.mjs","names":[],"sources":["../../../../../../src/lib/mapAttributeToReactProperty.ts"],"sourcesContent":["import { toCamelCase } from \"remeda\";\n\nconst keepWhenStartsWith = [\"aria-\", \"data-\"];\n\nexport const mapAttributeToReactProperty = (key: string) => {\n if (keepWhenStartsWith.some((prefix) => key.startsWith(prefix))) {\n return key;\n }\n\n return toCamelCase(key);\n};\n"],"mappings":";;;;AAEA,IAAM,qBAAqB,CAAC,SAAS,OAAO;AAE5C,IAAa,+BAA+B,QAAgB;CAC1D,IAAI,mBAAmB,MAAM,WAAW,IAAI,WAAW,MAAM,CAAC,GAC5D,OAAO;CAGT,OAAO,YAAY,GAAG;AACxB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propClassifiers.mjs","names":[],"sources":["../../../../../../src/lib/propClassifiers.ts"],"sourcesContent":["export const isStyleProp = (name: string): boolean => name === \"style\";\n\nexport const isReactSuspendedStyle = (value: unknown): boolean =>\n value === \"display: none !important;\";\n"],"mappings":";;;AAAA,IAAa,eAAe,SAA0B,SAAS;AAE/D,IAAa,yBAAyB,UACpC,UAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../../src/components/Form.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAAE,EAEP,KAAK,iBAAiB,EACtB,KAAK,GAAG,EACT,MAAM,OAAO,CAAC;AAEf,KAAK,SAAS,GAAG;IACf,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,GAAG,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;CAC5B,GAAG,iBAAiB,CAAC;AAEtB,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CAyB9B,CAAC"}
1
+ {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../../src/components/Form.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAAE,EAEP,KAAK,iBAAiB,EACtB,KAAK,GAAG,EACT,MAAM,OAAO,CAAC;AAEf,KAAK,SAAS,GAAG;IACf,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,GAAG,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;CAC5B,GAAG,iBAAiB,CAAC;AAEtB,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CAmC9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../../../src/integrations/react-hook-form/Form.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAAE,EAEP,KAAK,iBAAiB,EACtB,KAAK,GAAG,EACT,MAAM,OAAO,CAAC;AAEf,KAAK,SAAS,GAAG;IACf,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,GAAG,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;CAC5B,GAAG,iBAAiB,CAAC;AAEtB;;;;GAIG;AACH,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CAS9B,CAAC"}
1
+ {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../../../src/integrations/react-hook-form/Form.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAAE,EAEP,KAAK,iBAAiB,EACtB,KAAK,GAAG,EACT,MAAM,OAAO,CAAC;AAEf,KAAK,SAAS,GAAG;IACf,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,GAAG,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;CAC5B,GAAG,iBAAiB,CAAC;AAEtB;;;;GAIG;AACH,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CAe9B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mittwald/flow-remote-react-renderer",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "type": "module",
5
5
  "description": "React rendering for Flow Remote Elements",
6
6
  "homepage": "https://flow.mittwald.de",
@@ -28,9 +28,9 @@
28
28
  "test:unit": "vitest run --passWithNoTests"
29
29
  },
30
30
  "dependencies": {
31
- "@mittwald/ext-bridge": "1.0.8",
32
- "@mittwald/flow-remote-core": "1.0.8",
33
- "@mittwald/flow-remote-elements": "1.0.8",
31
+ "@mittwald/ext-bridge": "1.0.10",
32
+ "@mittwald/flow-remote-core": "1.0.10",
33
+ "@mittwald/flow-remote-elements": "1.0.10",
34
34
  "@mittwald/react-use-promise": "^4.2.2",
35
35
  "@mittwald/remote-dom-react": "1.2.2-mittwald.10",
36
36
  "@types/react": "^19.2",
@@ -39,9 +39,9 @@
39
39
  "remeda": "^2.43.0"
40
40
  },
41
41
  "devDependencies": {
42
- "@mittwald/flow-core": "1.0.8",
43
- "@mittwald/flow-react-components": "1.0.8",
44
- "@mittwald/typescript-config": "1.0.8",
42
+ "@mittwald/flow-core": "1.0.10",
43
+ "@mittwald/flow-react-components": "1.0.10",
44
+ "@mittwald/typescript-config": "1.0.10",
45
45
  "@types/node": "^25.9.3",
46
46
  "nx": "^22.7.5",
47
47
  "react": "^19.2.8",
@@ -56,7 +56,7 @@
56
56
  "vitest": "^4.1.11"
57
57
  },
58
58
  "peerDependencies": {
59
- "@mittwald/flow-react-components": "1.0.8",
59
+ "@mittwald/flow-react-components": "1.0.10",
60
60
  "react": "^19.2.0",
61
61
  "react-dom": "^19.2.0",
62
62
  "react-hook-form": "^7.65.0"
@@ -66,5 +66,5 @@
66
66
  "optional": true
67
67
  }
68
68
  },
69
- "gitHead": "83d608680a52fd36ebe79f4768d18bab86c8d14c"
69
+ "gitHead": "70ea4f1f545299ff8c3511871b98ef6b8b013db1"
70
70
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"RemoteRendererBrowser.mjs","names":[],"sources":["../../src/RemoteRendererBrowser.tsx"],"sourcesContent":["\"use client\";\n\nimport { HostRenderErrorBoundary } from \"@/components/HostRenderErrorBoundary\";\nimport { useMergedComponents } from \"@/hooks/useMergedComponents\";\nimport {\n toComponentUsageEvent,\n type ComponentUsageHandler,\n} from \"@/lib/componentUsage\";\nimport { getFlowComponentStatus } from \"@mittwald/flow-react-components/internal\";\nimport { useControllableSuspenseTrigger } from \"@/hooks/useControllableSuspenseTrigger\";\nimport { useUpdateHostPathnameOnRemote } from \"@/hooks/useUpdateHostPathnameOnRemote\";\nimport type { RemoteComponentsMap } from \"@/lib/types\";\nimport {\n connectRemoteIframeRef,\n RemoteError,\n type HostToRemoteConnection,\n type NavigationState,\n type RemoteExtBridgeConnectionApi,\n type RemoteReadyEvent,\n} from \"@mittwald/flow-remote-core\";\nimport { refresh, usePromise } from \"@mittwald/react-use-promise\";\nimport {\n RemoteReceiver,\n RemoteRootRenderer,\n} from \"@mittwald/remote-dom-react/host\";\nimport {\n type CSSProperties,\n type FC,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useLanguage, useTheme } from \"@mittwald/flow-react-components\";\nimport type { HostConfig } from \"@mittwald/ext-bridge\";\n\nexport interface RemoteRendererBrowserProps {\n integrations?: RemoteComponentsMap<never>[];\n src?: string;\n timeoutMs?: number;\n onNavigationStateChanged?: (state: NavigationState) => void;\n onConnected?: (event: RemoteReadyEvent) => void;\n onDeprecation?: (message: string) => void;\n onComponentUsage?: ComponentUsageHandler;\n hostPathname?: string;\n extBridgeImplementation?: RemoteExtBridgeConnectionApi;\n /** Internal use only */\n __remoteReceiver?: RemoteReceiver;\n}\n\nconst hiddenIframeStyle: CSSProperties = {\n visibility: \"hidden\",\n height: 0,\n width: 0,\n border: \"none\",\n position: \"absolute\",\n marginLeft: \"-9999px\",\n};\n\nexport const RemoteRendererBrowser: FC<RemoteRendererBrowserProps> = (\n props,\n) => {\n const {\n integrations = [],\n __remoteReceiver: remoteReceiverFromProps,\n ...connectedProps\n } = props;\n\n const remoteComponents = useMergedComponents(integrations);\n\n // The two branches use disjoint sets of hooks, so the connection path lives\n // in a dedicated component. This keeps each component's hook order stable\n // (Rules of Hooks) while preserving the exact rendering of both paths.\n // Note that the receiver path has no connection, so it reports no usage.\n if (remoteReceiverFromProps) {\n return (\n <RemoteRootRenderer\n components={remoteComponents}\n receiver={remoteReceiverFromProps}\n />\n );\n }\n\n const { src } = connectedProps;\n if (!src) {\n throw new RemoteError(\"'src' prop is required\");\n }\n\n return (\n <RemoteRendererConnected\n {...connectedProps}\n src={src}\n remoteComponents={remoteComponents}\n />\n );\n};\n\ninterface RemoteRendererConnectedProps extends Omit<\n RemoteRendererBrowserProps,\n \"integrations\" | \"__remoteReceiver\" | \"src\"\n> {\n src: string;\n remoteComponents: ReturnType<typeof useMergedComponents>;\n}\n\nconst RemoteRendererConnected: FC<RemoteRendererConnectedProps> = (props) => {\n const {\n timeoutMs = 10_000,\n src,\n extBridgeImplementation,\n onNavigationStateChanged,\n onConnected,\n onDeprecation,\n onComponentUsage,\n hostPathname,\n remoteComponents,\n } = props;\n\n const language = useLanguage();\n const theme = useTheme();\n\n const renderPromise = useMemo(() => Promise.withResolvers<void>(), [src]);\n const connectionPromise = useMemo(() => Promise.withResolvers<void>(), [src]);\n const loadingPromise = useMemo(() => Promise.withResolvers<void>(), [src]);\n const suspenseTrigger = useControllableSuspenseTrigger();\n\n const [connectionSrc, setConnectionSrc] = useState<string | null>(null);\n const connection = useRef<HostToRemoteConnection>(undefined);\n const [remoteError, setRemoteError] = useState<string | undefined>();\n\n const [receiver, rendererSubscriber] = useMemo(() => {\n const remoteReceiver = new RemoteReceiver();\n const controller = new AbortController();\n remoteReceiver.subscribe(\n { id: remoteReceiver.root.id },\n () => renderPromise.resolve(),\n { signal: controller.signal },\n );\n return [remoteReceiver, controller];\n }, [src]);\n\n useUpdateHostPathnameOnRemote(hostPathname, connection.current);\n\n const hostConfig: HostConfig = {\n language,\n theme,\n };\n\n const connect = connectRemoteIframeRef({\n connection: receiver.connection,\n extBridgeImplementation,\n hostConfig,\n onReady: ({ connection: establishedConnection, remoteReadyEvent }) => {\n establishedConnection.updateHostPathname(hostPathname);\n onConnected?.(remoteReadyEvent);\n connectionPromise.resolve();\n },\n onLoadingChanged: (isLoading) => {\n if (isLoading) {\n suspenseTrigger.start();\n } else {\n suspenseTrigger.stop();\n }\n },\n onError: setRemoteError,\n onNavigationStateChanged,\n onDeprecation,\n onEvent: (event) => {\n if (event.event === \"ComponentRendered\") {\n onComponentUsage?.(\n toComponentUsageEvent(event, getFlowComponentStatus),\n );\n }\n },\n });\n\n const timeoutPromise = (message: string) =>\n new Promise((_, rej) => {\n setTimeout(() => {\n rej(new RemoteError(`${message}: Timeout reached`));\n }, timeoutMs);\n });\n\n const overallLoading = () =>\n Promise.all([\n Promise.race([\n loadingPromise.promise,\n timeoutPromise(\"Remote URL could not be loaded\"),\n ]),\n Promise.race([\n connectionPromise.promise,\n timeoutPromise(\"Could not establish remote connection\"),\n ]),\n Promise.race([\n renderPromise.promise,\n timeoutPromise(\"Remote rendering failed\"),\n ]),\n ]);\n\n const awaitLoadingPromise = connectionSrc === src;\n\n const loaderResourceTag = `mittwald/remote-react-renderer/connect/${src}`;\n\n // refresh on remount\n useEffect(\n () => () => {\n refresh({\n tag: loaderResourceTag,\n });\n },\n [src],\n );\n\n usePromise(\n async () => {\n await overallLoading();\n rendererSubscriber.abort();\n },\n // Disabled while erroring so the error is thrown below instead of the\n // loader suspending indefinitely.\n awaitLoadingPromise && !remoteError ? [] : null,\n {\n loaderId: src,\n tags: [loaderResourceTag],\n },\n );\n\n if (remoteError) {\n throw new RemoteError(`Remote rendering failed: ${remoteError}`);\n }\n\n return (\n <>\n <HostRenderErrorBoundary\n onNoComponentError={async (error) => {\n await connection.current?.reportHostError(\n error instanceof Error ? error.message : String(error),\n );\n }}\n >\n <RemoteRootRenderer components={remoteComponents} receiver={receiver} />\n </HostRenderErrorBoundary>\n <iframe\n src={src}\n ref={(ref) => {\n connection.current = connect(ref);\n setConnectionSrc(src);\n }}\n onLoad={() => loadingPromise.resolve()}\n onError={() => loadingPromise.reject()}\n style={hiddenIframeStyle}\n />\n </>\n );\n};\n\nexport default RemoteRendererBrowser;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/auto-generated/index.ts"],"sourcesContent":["/* prettier-ignore */\n/* This file is auto-generated with the remote-components-generator */\nimport { createFlowRemoteComponentRenderer } from \"@/lib/createFlowRemoteComponentRenderer\";\nimport { AccentBox as AccentBox } from \"@mittwald/flow-react-components\";\nimport { Accordion as Accordion } from \"@mittwald/flow-react-components\";\nimport { ActionGroup as ActionGroup } from \"@mittwald/flow-react-components\";\nimport { Alert as Alert } from \"@mittwald/flow-react-components\";\nimport { AlertBadge as AlertBadge } from \"@mittwald/flow-react-components\";\nimport { AlertIcon as AlertIcon } from \"@mittwald/flow-react-components\";\nimport { AlertText as AlertText } from \"@mittwald/flow-react-components\";\nimport { Align as Align } from \"@mittwald/flow-react-components\";\nimport { Area as Area } from \"@mittwald/flow-react-components\";\nimport { Autocomplete as Autocomplete } from \"@mittwald/flow-react-components\";\nimport { Avatar as Avatar } from \"@mittwald/flow-react-components\";\nimport { AvatarStack as AvatarStack } from \"@mittwald/flow-react-components\";\nimport { Badge as Badge } from \"@mittwald/flow-react-components\";\nimport { BigNumber as BigNumber } from \"@mittwald/flow-react-components\";\nimport { Breadcrumb as Breadcrumb } from \"@mittwald/flow-react-components\";\nimport { Button as Button } from \"@mittwald/flow-react-components\";\nimport { CartesianChart as CartesianChart } from \"@mittwald/flow-react-components\";\nimport { CartesianGrid as CartesianGrid } from \"@mittwald/flow-react-components\";\nimport { ChartGrid as ChartGrid } from \"@mittwald/flow-react-components\";\nimport { ChartLegend as ChartLegend } from \"@mittwald/flow-react-components\";\nimport { ChartTooltip as ChartTooltip } from \"@mittwald/flow-react-components\";\nimport { Chat as Chat } from \"@mittwald/flow-react-components\";\nimport { Checkbox as Checkbox } from \"@mittwald/flow-react-components\";\nimport { CheckboxButton as CheckboxButton } from \"@mittwald/flow-react-components\";\nimport { CheckboxGroup as CheckboxGroup } from \"@mittwald/flow-react-components\";\nimport { ClearPropsContext as ClearPropsContext } from \"@mittwald/flow-react-components\";\nimport { CodeBlock as CodeBlock } from \"@mittwald/flow-react-components\";\nimport { CodeEditor as CodeEditor } from \"@mittwald/flow-react-components\";\nimport { Color as Color } from \"@mittwald/flow-react-components\";\nimport { ColumnLayout as ColumnLayout } from \"@mittwald/flow-react-components\";\nimport { Combine as Combine } from \"@mittwald/flow-react-components\";\nimport { ComboBox as ComboBox } from \"@mittwald/flow-react-components\";\nimport { ComponentPropsContextProvider as ComponentPropsContextProvider } from \"@mittwald/flow-react-components\";\nimport { Content as Content } from \"@mittwald/flow-react-components\";\nimport { ContextMenu as ContextMenu } from \"@mittwald/flow-react-components\";\nimport { ContextMenuContent as ContextMenuContent } from \"@mittwald/flow-react-components\";\nimport { ContextMenuSection as ContextMenuSection } from \"@mittwald/flow-react-components\";\nimport { ContextMenuTrigger as ContextMenuTrigger } from \"@mittwald/flow-react-components\";\nimport { ContextualHelp as ContextualHelp } from \"@mittwald/flow-react-components\";\nimport { ContextualHelpTrigger as ContextualHelpTrigger } from \"@mittwald/flow-react-components\";\nimport { CopyButton as CopyButton } from \"@mittwald/flow-react-components\";\nimport { CounterBadge as CounterBadge } from \"@mittwald/flow-react-components\";\nimport { DatePicker as DatePicker } from \"@mittwald/flow-react-components\";\nimport { DateRangePicker as DateRangePicker } from \"@mittwald/flow-react-components\";\nimport { DialogTrigger as DialogTrigger } from \"@mittwald/flow-react-components\";\nimport { Div as Div } from \"@mittwald/flow-react-components\";\nimport { DonutChart as DonutChart } from \"@mittwald/flow-react-components\";\nimport { FieldDescription as FieldDescription } from \"@mittwald/flow-react-components\";\nimport { FieldError as FieldError } from \"@mittwald/flow-react-components\";\nimport { FileCard as FileCard } from \"@mittwald/flow-react-components\";\nimport { FileCardList as FileCardList } from \"@mittwald/flow-react-components\";\nimport { FileDropZone as FileDropZone } from \"@mittwald/flow-react-components\";\nimport { FileField as FileField } from \"@mittwald/flow-react-components\";\nimport { Flex as Flex } from \"@mittwald/flow-react-components\";\nimport { Header as Header } from \"@mittwald/flow-react-components\";\nimport { HeaderNavigation as HeaderNavigation } from \"@mittwald/flow-react-components\";\nimport { Heading as Heading } from \"@mittwald/flow-react-components\";\nimport { Icon as Icon } from \"@mittwald/flow-react-components\";\nimport { IllustratedMessage as IllustratedMessage } from \"@mittwald/flow-react-components\";\nimport { Image as Image } from \"@mittwald/flow-react-components\";\nimport { ImageCropper as ImageCropper } from \"@mittwald/flow-react-components\";\nimport { Initials as Initials } from \"@mittwald/flow-react-components\";\nimport { InlineCode as InlineCode } from \"@mittwald/flow-react-components\";\nimport { GridList as ItemsGridList } from \"@mittwald/flow-react-components\";\nimport { GridListItem as ItemsGridListItem } from \"@mittwald/flow-react-components\";\nimport { Kbd as Kbd } from \"@mittwald/flow-react-components\";\nimport { Label as Label } from \"@mittwald/flow-react-components\";\nimport { LabeledValue as LabeledValue } from \"@mittwald/flow-react-components\";\nimport { LayoutCard as LayoutCard } from \"@mittwald/flow-react-components\";\nimport { Legend as Legend } from \"@mittwald/flow-react-components\";\nimport { LightBoxGallery as LightBoxGallery } from \"@mittwald/flow-react-components\";\nimport { LightBoxGalleryItem as LightBoxGalleryItem } from \"@mittwald/flow-react-components\";\nimport { Line as Line } from \"@mittwald/flow-react-components\";\nimport { Link as Link } from \"@mittwald/flow-react-components\";\nimport { EmptyView as ListEmptyView } from \"@mittwald/flow-react-components\";\nimport { EmptyViewContainer as ListEmptyViewContainer } from \"@mittwald/flow-react-components\";\nimport { ListItemViewContent as ListItemViewContent } from \"@mittwald/flow-react-components\";\nimport { ListSummary as ListSummary } from \"@mittwald/flow-react-components\";\nimport { LoadingSpinner as LoadingSpinner } from \"@mittwald/flow-react-components\";\nimport { Markdown as Markdown } from \"@mittwald/flow-react-components\";\nimport { MarkdownEditor as MarkdownEditor } from \"@mittwald/flow-react-components\";\nimport { MenuItem as MenuItem } from \"@mittwald/flow-react-components\";\nimport { MenuTrigger as MenuTrigger } from \"@mittwald/flow-react-components\";\nimport { Message as Message } from \"@mittwald/flow-react-components\";\nimport { MessageSeparator as MessageSeparator } from \"@mittwald/flow-react-components\";\nimport { MessageThread as MessageThread } from \"@mittwald/flow-react-components\";\nimport { Navigation as Navigation } from \"@mittwald/flow-react-components\";\nimport { NavigationGroup as NavigationGroup } from \"@mittwald/flow-react-components\";\nimport { Notification as Notification } from \"@mittwald/flow-react-components\";\nimport { NumberField as NumberField } from \"@mittwald/flow-react-components\";\nimport { Option as Option } from \"@mittwald/flow-react-components\";\nimport { OverlayContent as OverlayContent } from \"@mittwald/flow-react-components\";\nimport { PasswordCreationField as PasswordCreationField } from \"@mittwald/flow-react-components\";\nimport { PopoverContent as PopoverContent } from \"@mittwald/flow-react-components\";\nimport { ProgressBar as ProgressBar } from \"@mittwald/flow-react-components\";\nimport { Radio as Radio } from \"@mittwald/flow-react-components\";\nimport { RadioButton as RadioButton } from \"@mittwald/flow-react-components\";\nimport { RadioGroup as RadioGroup } from \"@mittwald/flow-react-components\";\nimport { RangeCalendar as RangeCalendar } from \"@mittwald/flow-react-components\";\nimport { Rating as Rating } from \"@mittwald/flow-react-components\";\nimport { SearchField as SearchField } from \"@mittwald/flow-react-components\";\nimport { Section as Section } from \"@mittwald/flow-react-components\";\nimport { Segment as Segment } from \"@mittwald/flow-react-components\";\nimport { SegmentedControl as SegmentedControl } from \"@mittwald/flow-react-components\";\nimport { Select as Select } from \"@mittwald/flow-react-components\";\nimport { Separator as Separator } from \"@mittwald/flow-react-components\";\nimport { Skeleton as Skeleton } from \"@mittwald/flow-react-components\";\nimport { SkeletonText as SkeletonText } from \"@mittwald/flow-react-components\";\nimport { Slider as Slider } from \"@mittwald/flow-react-components\";\nimport { Switch as Switch } from \"@mittwald/flow-react-components\";\nimport { Tab as Tab } from \"@mittwald/flow-react-components\";\nimport { TabNavigation as TabNavigation } from \"@mittwald/flow-react-components\";\nimport { TabTitle as TabTitle } from \"@mittwald/flow-react-components\";\nimport { Table as Table } from \"@mittwald/flow-react-components\";\nimport { TableBody as TableBody } from \"@mittwald/flow-react-components\";\nimport { TableCell as TableCell } from \"@mittwald/flow-react-components\";\nimport { TableColumn as TableColumn } from \"@mittwald/flow-react-components\";\nimport { TableFooterRow as TableFooterRow } from \"@mittwald/flow-react-components\";\nimport { TableHeader as TableHeader } from \"@mittwald/flow-react-components\";\nimport { TableRow as TableRow } from \"@mittwald/flow-react-components\";\nimport { Tabs as Tabs } from \"@mittwald/flow-react-components\";\nimport { Text as Text } from \"@mittwald/flow-react-components\";\nimport { TextArea as TextArea } from \"@mittwald/flow-react-components\";\nimport { TextField as TextField } from \"@mittwald/flow-react-components\";\nimport { TimeField as TimeField } from \"@mittwald/flow-react-components\";\nimport { Tooltip as Tooltip } from \"@mittwald/flow-react-components\";\nimport { TooltipTrigger as TooltipTrigger } from \"@mittwald/flow-react-components\";\nimport { TranslationProvider as TranslationProvider } from \"@mittwald/flow-react-components\";\nimport { Truncate as Truncate } from \"@mittwald/flow-react-components\";\nimport { TunnelEntry as TunnelEntry } from \"@mittwald/flow-react-components\";\nimport { XAxis as XAxis } from \"@mittwald/flow-react-components\";\nimport { YAxis as YAxis } from \"@mittwald/flow-react-components\";\n\nexport const flowComponents = {\n \"flr-accent-box\": createFlowRemoteComponentRenderer(\"AccentBox\", AccentBox),\n \"flr-accordion\": createFlowRemoteComponentRenderer(\"Accordion\", Accordion),\n \"flr-action-group\": createFlowRemoteComponentRenderer(\n \"ActionGroup\",\n ActionGroup,\n ),\n \"flr-alert\": createFlowRemoteComponentRenderer(\"Alert\", Alert),\n \"flr-alert-badge\": createFlowRemoteComponentRenderer(\n \"AlertBadge\",\n AlertBadge,\n ),\n \"flr-alert-icon\": createFlowRemoteComponentRenderer(\"AlertIcon\", AlertIcon),\n \"flr-alert-text\": createFlowRemoteComponentRenderer(\"AlertText\", AlertText),\n \"flr-align\": createFlowRemoteComponentRenderer(\"Align\", Align),\n \"flr-area\": createFlowRemoteComponentRenderer(\"Area\", Area),\n \"flr-autocomplete\": createFlowRemoteComponentRenderer(\n \"Autocomplete\",\n Autocomplete,\n ),\n \"flr-avatar\": createFlowRemoteComponentRenderer(\"Avatar\", Avatar),\n \"flr-avatar-stack\": createFlowRemoteComponentRenderer(\n \"AvatarStack\",\n AvatarStack,\n ),\n \"flr-badge\": createFlowRemoteComponentRenderer(\"Badge\", Badge),\n \"flr-big-number\": createFlowRemoteComponentRenderer(\"BigNumber\", BigNumber),\n \"flr-breadcrumb\": createFlowRemoteComponentRenderer(\"Breadcrumb\", Breadcrumb),\n \"flr-button\": createFlowRemoteComponentRenderer(\"Button\", Button),\n \"flr-cartesian-chart\": createFlowRemoteComponentRenderer(\n \"CartesianChart\",\n CartesianChart,\n ),\n \"flr-cartesian-grid\": createFlowRemoteComponentRenderer(\n \"CartesianGrid\",\n CartesianGrid,\n ),\n \"flr-chart-grid\": createFlowRemoteComponentRenderer(\"ChartGrid\", ChartGrid),\n \"flr-chart-legend\": createFlowRemoteComponentRenderer(\n \"ChartLegend\",\n ChartLegend,\n ),\n \"flr-chart-tooltip\": createFlowRemoteComponentRenderer(\n \"ChartTooltip\",\n ChartTooltip,\n ),\n \"flr-chat\": createFlowRemoteComponentRenderer(\"Chat\", Chat),\n \"flr-checkbox\": createFlowRemoteComponentRenderer(\"Checkbox\", Checkbox),\n \"flr-checkbox-button\": createFlowRemoteComponentRenderer(\n \"CheckboxButton\",\n CheckboxButton,\n ),\n \"flr-checkbox-group\": createFlowRemoteComponentRenderer(\n \"CheckboxGroup\",\n CheckboxGroup,\n ),\n \"flr-clear-props-context\": createFlowRemoteComponentRenderer(\n \"ClearPropsContext\",\n ClearPropsContext,\n ),\n \"flr-code-block\": createFlowRemoteComponentRenderer(\"CodeBlock\", CodeBlock),\n \"flr-code-editor\": createFlowRemoteComponentRenderer(\n \"CodeEditor\",\n CodeEditor,\n ),\n \"flr-color\": createFlowRemoteComponentRenderer(\"Color\", Color),\n \"flr-column-layout\": createFlowRemoteComponentRenderer(\n \"ColumnLayout\",\n ColumnLayout,\n ),\n \"flr-combine\": createFlowRemoteComponentRenderer(\"Combine\", Combine),\n \"flr-combo-box\": createFlowRemoteComponentRenderer(\"ComboBox\", ComboBox),\n \"flr-component-props-context-provider\": createFlowRemoteComponentRenderer(\n \"ComponentPropsContextProvider\",\n ComponentPropsContextProvider,\n ),\n \"flr-content\": createFlowRemoteComponentRenderer(\"Content\", Content),\n \"flr-context-menu\": createFlowRemoteComponentRenderer(\n \"ContextMenu\",\n ContextMenu,\n ),\n \"flr-context-menu-content\": createFlowRemoteComponentRenderer(\n \"ContextMenuContent\",\n ContextMenuContent,\n ),\n \"flr-context-menu-section\": createFlowRemoteComponentRenderer(\n \"ContextMenuSection\",\n ContextMenuSection,\n ),\n \"flr-context-menu-trigger\": createFlowRemoteComponentRenderer(\n \"ContextMenuTrigger\",\n ContextMenuTrigger,\n ),\n \"flr-contextual-help\": createFlowRemoteComponentRenderer(\n \"ContextualHelp\",\n ContextualHelp,\n ),\n \"flr-contextual-help-trigger\": createFlowRemoteComponentRenderer(\n \"ContextualHelpTrigger\",\n ContextualHelpTrigger,\n ),\n \"flr-copy-button\": createFlowRemoteComponentRenderer(\n \"CopyButton\",\n CopyButton,\n ),\n \"flr-counter-badge\": createFlowRemoteComponentRenderer(\n \"CounterBadge\",\n CounterBadge,\n ),\n \"flr-date-picker\": createFlowRemoteComponentRenderer(\n \"DatePicker\",\n DatePicker,\n ),\n \"flr-date-range-picker\": createFlowRemoteComponentRenderer(\n \"DateRangePicker\",\n DateRangePicker,\n ),\n \"flr-dialog-trigger\": createFlowRemoteComponentRenderer(\n \"DialogTrigger\",\n DialogTrigger,\n ),\n \"flr-div\": createFlowRemoteComponentRenderer(\"Div\", Div),\n \"flr-donut-chart\": createFlowRemoteComponentRenderer(\n \"DonutChart\",\n DonutChart,\n ),\n \"flr-field-description\": createFlowRemoteComponentRenderer(\n \"FieldDescription\",\n FieldDescription,\n ),\n \"flr-field-error\": createFlowRemoteComponentRenderer(\n \"FieldError\",\n FieldError,\n ),\n \"flr-file-card\": createFlowRemoteComponentRenderer(\"FileCard\", FileCard),\n \"flr-file-card-list\": createFlowRemoteComponentRenderer(\n \"FileCardList\",\n FileCardList,\n ),\n \"flr-file-drop-zone\": createFlowRemoteComponentRenderer(\n \"FileDropZone\",\n FileDropZone,\n ),\n \"flr-file-field\": createFlowRemoteComponentRenderer(\"FileField\", FileField),\n \"flr-flex\": createFlowRemoteComponentRenderer(\"Flex\", Flex),\n \"flr-header\": createFlowRemoteComponentRenderer(\"Header\", Header),\n \"flr-header-navigation\": createFlowRemoteComponentRenderer(\n \"HeaderNavigation\",\n HeaderNavigation,\n ),\n \"flr-heading\": createFlowRemoteComponentRenderer(\"Heading\", Heading),\n \"flr-icon\": createFlowRemoteComponentRenderer(\"Icon\", Icon),\n \"flr-illustrated-message\": createFlowRemoteComponentRenderer(\n \"IllustratedMessage\",\n IllustratedMessage,\n ),\n \"flr-image\": createFlowRemoteComponentRenderer(\"Image\", Image),\n \"flr-image-cropper\": createFlowRemoteComponentRenderer(\n \"ImageCropper\",\n ImageCropper,\n ),\n \"flr-initials\": createFlowRemoteComponentRenderer(\"Initials\", Initials),\n \"flr-inline-code\": createFlowRemoteComponentRenderer(\n \"InlineCode\",\n InlineCode,\n ),\n \"flr-items-grid-list\": createFlowRemoteComponentRenderer(\n \"ItemsGridList\",\n ItemsGridList,\n ),\n \"flr-items-grid-list-item\": createFlowRemoteComponentRenderer(\n \"ItemsGridListItem\",\n ItemsGridListItem,\n ),\n \"flr-kbd\": createFlowRemoteComponentRenderer(\"Kbd\", Kbd),\n \"flr-label\": createFlowRemoteComponentRenderer(\"Label\", Label),\n \"flr-labeled-value\": createFlowRemoteComponentRenderer(\n \"LabeledValue\",\n LabeledValue,\n ),\n \"flr-layout-card\": createFlowRemoteComponentRenderer(\n \"LayoutCard\",\n LayoutCard,\n ),\n \"flr-legend\": createFlowRemoteComponentRenderer(\"Legend\", Legend),\n \"flr-light-box-gallery\": createFlowRemoteComponentRenderer(\n \"LightBoxGallery\",\n LightBoxGallery,\n ),\n \"flr-light-box-gallery-item\": createFlowRemoteComponentRenderer(\n \"LightBoxGalleryItem\",\n LightBoxGalleryItem,\n ),\n \"flr-line\": createFlowRemoteComponentRenderer(\"Line\", Line),\n \"flr-link\": createFlowRemoteComponentRenderer(\"Link\", Link),\n \"flr-list-empty-view\": createFlowRemoteComponentRenderer(\n \"ListEmptyView\",\n ListEmptyView,\n ),\n \"flr-list-empty-view-container\": createFlowRemoteComponentRenderer(\n \"ListEmptyViewContainer\",\n ListEmptyViewContainer,\n ),\n \"flr-list-item-view-content\": createFlowRemoteComponentRenderer(\n \"ListItemViewContent\",\n ListItemViewContent,\n ),\n \"flr-list-summary\": createFlowRemoteComponentRenderer(\n \"ListSummary\",\n ListSummary,\n ),\n \"flr-loading-spinner\": createFlowRemoteComponentRenderer(\n \"LoadingSpinner\",\n LoadingSpinner,\n ),\n \"flr-markdown\": createFlowRemoteComponentRenderer(\"Markdown\", Markdown),\n \"flr-markdown-editor\": createFlowRemoteComponentRenderer(\n \"MarkdownEditor\",\n MarkdownEditor,\n ),\n \"flr-menu-item\": createFlowRemoteComponentRenderer(\"MenuItem\", MenuItem),\n \"flr-menu-trigger\": createFlowRemoteComponentRenderer(\n \"MenuTrigger\",\n MenuTrigger,\n ),\n \"flr-message\": createFlowRemoteComponentRenderer(\"Message\", Message),\n \"flr-message-separator\": createFlowRemoteComponentRenderer(\n \"MessageSeparator\",\n MessageSeparator,\n ),\n \"flr-message-thread\": createFlowRemoteComponentRenderer(\n \"MessageThread\",\n MessageThread,\n ),\n \"flr-navigation\": createFlowRemoteComponentRenderer(\"Navigation\", Navigation),\n \"flr-navigation-group\": createFlowRemoteComponentRenderer(\n \"NavigationGroup\",\n NavigationGroup,\n ),\n \"flr-notification\": createFlowRemoteComponentRenderer(\n \"Notification\",\n Notification,\n ),\n \"flr-number-field\": createFlowRemoteComponentRenderer(\n \"NumberField\",\n NumberField,\n ),\n \"flr-option\": createFlowRemoteComponentRenderer(\"Option\", Option),\n \"flr-overlay-content\": createFlowRemoteComponentRenderer(\n \"OverlayContent\",\n OverlayContent,\n ),\n \"flr-password-creation-field\": createFlowRemoteComponentRenderer(\n \"PasswordCreationField\",\n PasswordCreationField,\n ),\n \"flr-popover-content\": createFlowRemoteComponentRenderer(\n \"PopoverContent\",\n PopoverContent,\n ),\n \"flr-progress-bar\": createFlowRemoteComponentRenderer(\n \"ProgressBar\",\n ProgressBar,\n ),\n \"flr-radio\": createFlowRemoteComponentRenderer(\"Radio\", Radio),\n \"flr-radio-button\": createFlowRemoteComponentRenderer(\n \"RadioButton\",\n RadioButton,\n ),\n \"flr-radio-group\": createFlowRemoteComponentRenderer(\n \"RadioGroup\",\n RadioGroup,\n ),\n \"flr-range-calendar\": createFlowRemoteComponentRenderer(\n \"RangeCalendar\",\n RangeCalendar,\n ),\n \"flr-rating\": createFlowRemoteComponentRenderer(\"Rating\", Rating),\n \"flr-search-field\": createFlowRemoteComponentRenderer(\n \"SearchField\",\n SearchField,\n ),\n \"flr-section\": createFlowRemoteComponentRenderer(\"Section\", Section),\n \"flr-segment\": createFlowRemoteComponentRenderer(\"Segment\", Segment),\n \"flr-segmented-control\": createFlowRemoteComponentRenderer(\n \"SegmentedControl\",\n SegmentedControl,\n ),\n \"flr-select\": createFlowRemoteComponentRenderer(\"Select\", Select),\n \"flr-separator\": createFlowRemoteComponentRenderer(\"Separator\", Separator),\n \"flr-skeleton\": createFlowRemoteComponentRenderer(\"Skeleton\", Skeleton),\n \"flr-skeleton-text\": createFlowRemoteComponentRenderer(\n \"SkeletonText\",\n SkeletonText,\n ),\n \"flr-slider\": createFlowRemoteComponentRenderer(\"Slider\", Slider),\n \"flr-switch\": createFlowRemoteComponentRenderer(\"Switch\", Switch),\n \"flr-tab\": createFlowRemoteComponentRenderer(\"Tab\", Tab),\n \"flr-tab-navigation\": createFlowRemoteComponentRenderer(\n \"TabNavigation\",\n TabNavigation,\n ),\n \"flr-tab-title\": createFlowRemoteComponentRenderer(\"TabTitle\", TabTitle),\n \"flr-table\": createFlowRemoteComponentRenderer(\"Table\", Table),\n \"flr-table-body\": createFlowRemoteComponentRenderer(\"TableBody\", TableBody),\n \"flr-table-cell\": createFlowRemoteComponentRenderer(\"TableCell\", TableCell),\n \"flr-table-column\": createFlowRemoteComponentRenderer(\n \"TableColumn\",\n TableColumn,\n ),\n \"flr-table-footer-row\": createFlowRemoteComponentRenderer(\n \"TableFooterRow\",\n TableFooterRow,\n ),\n \"flr-table-header\": createFlowRemoteComponentRenderer(\n \"TableHeader\",\n TableHeader,\n ),\n \"flr-table-row\": createFlowRemoteComponentRenderer(\"TableRow\", TableRow),\n \"flr-tabs\": createFlowRemoteComponentRenderer(\"Tabs\", Tabs),\n \"flr-text\": createFlowRemoteComponentRenderer(\"Text\", Text),\n \"flr-text-area\": createFlowRemoteComponentRenderer(\"TextArea\", TextArea),\n \"flr-text-field\": createFlowRemoteComponentRenderer(\"TextField\", TextField),\n \"flr-time-field\": createFlowRemoteComponentRenderer(\"TimeField\", TimeField),\n \"flr-tooltip\": createFlowRemoteComponentRenderer(\"Tooltip\", Tooltip),\n \"flr-tooltip-trigger\": createFlowRemoteComponentRenderer(\n \"TooltipTrigger\",\n TooltipTrigger,\n ),\n \"flr-translation-provider\": createFlowRemoteComponentRenderer(\n \"TranslationProvider\",\n TranslationProvider,\n ),\n \"flr-truncate\": createFlowRemoteComponentRenderer(\"Truncate\", Truncate),\n \"flr-tunnel-entry\": createFlowRemoteComponentRenderer(\n \"TunnelEntry\",\n TunnelEntry,\n ),\n \"flr-x-axis\": createFlowRemoteComponentRenderer(\"XAxis\", XAxis),\n \"flr-y-axis\": createFlowRemoteComponentRenderer(\"YAxis\", YAxis),\n} as const;\n\nexport default flowComponents;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Form.mjs","names":[],"sources":["../../../src/components/Form.tsx"],"sourcesContent":["import {\n type FC,\n type FormEvent,\n type PropsWithChildren,\n type Ref,\n} from \"react\";\n\ntype FormProps = {\n action?: (data: FormData) => void | Promise<void>;\n onSubmit?: (data: FormData) => void | Promise<void>;\n ref?: Ref<HTMLFormElement>;\n} & PropsWithChildren;\n\nexport const Form: FC<FormProps> = (props) => {\n const {\n action: onActionFromProps,\n onSubmit: onSubmitFromProps,\n ref,\n ...rest\n } = props;\n\n const onSubmit = async (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n await onSubmitFromProps?.(new FormData(event.currentTarget));\n };\n\n const onAction = async (formData: FormData) => {\n await onActionFromProps?.(formData);\n };\n\n return (\n <form\n {...rest}\n ref={ref}\n action={onActionFromProps ? onAction : undefined}\n onSubmit={onSubmitFromProps ? onSubmit : undefined}\n />\n );\n};\n"],"mappings":";;;;;AAaA,IAAa,QAAuB,UAAU;CAC5C,MAAM,EACJ,QAAQ,mBACR,UAAU,mBACV,KACA,GAAG,SACD;CAEJ,MAAM,WAAW,OAAO,UAAsC;EAC5D,MAAM,eAAe;EACrB,MAAM,oBAAoB,IAAI,SAAS,MAAM,aAAa,CAAC;CAC7D;CAEA,MAAM,WAAW,OAAO,aAAuB;EAC7C,MAAM,oBAAoB,QAAQ;CACpC;CAEA,OACE,oBAAC,QAAD;EACE,GAAI;EACC;EACL,QAAQ,oBAAoB,WAAW,KAAA;EACvC,UAAU,oBAAoB,WAAW,KAAA;CAC1C,CAAA;AAEL"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"HostRenderErrorBoundary.mjs","names":[],"sources":["../../../src/components/HostRenderErrorBoundary.tsx"],"sourcesContent":["import { Component, type ReactNode } from \"react\";\n\nconst HOST_ERROR_DELIVERY_TIMEOUT_MS = 1000;\n\nconst isNoComponentFoundError = (error: unknown): error is Error =>\n // Couples to the message thrown by @mittwald/remote-dom-react's host renderer.\n error instanceof Error &&\n error.message.startsWith(\"No component found for remote element\");\n\ninterface Props {\n children: ReactNode;\n onNoComponentError: (error: Error) => Promise<void>;\n}\n\ninterface State {\n errorToRethrow?: unknown;\n isHandling: boolean;\n}\n\nexport class HostRenderErrorBoundary extends Component<Props, State> {\n override state: State = { isHandling: false };\n\n static getDerivedStateFromError(error: unknown): Partial<State> {\n if (isNoComponentFoundError(error)) {\n return { isHandling: true };\n }\n\n return { errorToRethrow: error };\n }\n\n override componentDidCatch(error: unknown): void {\n if (!isNoComponentFoundError(error)) {\n return;\n }\n\n const timeout = new Promise<void>((resolve) =>\n setTimeout(resolve, HOST_ERROR_DELIVERY_TIMEOUT_MS),\n );\n\n Promise.race([\n this.props.onNoComponentError(error).catch(() => undefined),\n timeout,\n ]).finally(() => {\n this.setState({ errorToRethrow: error, isHandling: false });\n });\n }\n\n override render(): ReactNode {\n if (\"errorToRethrow\" in this.state) {\n throw this.state.errorToRethrow;\n }\n\n if (this.state.isHandling) {\n return null;\n }\n\n return this.props.children;\n }\n}\n"],"mappings":";;;;AAEA,IAAM,iCAAiC;AAEvC,IAAM,2BAA2B,UAE/B,iBAAiB,SACjB,MAAM,QAAQ,WAAW,uCAAuC;AAYlE,IAAa,0BAAb,cAA6C,UAAwB;CACnE,QAAwB,EAAE,YAAY,MAAM;CAE5C,OAAO,yBAAyB,OAAgC;EAC9D,IAAI,wBAAwB,KAAK,GAC/B,OAAO,EAAE,YAAY,KAAK;EAG5B,OAAO,EAAE,gBAAgB,MAAM;CACjC;CAEA,kBAA2B,OAAsB;EAC/C,IAAI,CAAC,wBAAwB,KAAK,GAChC;EAGF,MAAM,UAAU,IAAI,SAAe,YACjC,WAAW,SAAS,8BAA8B,CACpD;EAEA,QAAQ,KAAK,CACX,KAAK,MAAM,mBAAmB,KAAK,CAAC,CAAC,YAAY,KAAA,CAAS,GAC1D,OACF,CAAC,CAAC,CAAC,cAAc;GACf,KAAK,SAAS;IAAE,gBAAgB;IAAO,YAAY;GAAM,CAAC;EAC5D,CAAC;CACH;CAEA,SAA6B;EAC3B,IAAI,oBAAoB,KAAK,OAC3B,MAAM,KAAK,MAAM;EAGnB,IAAI,KAAK,MAAM,YACb,OAAO;EAGT,OAAO,KAAK,MAAM;CACpB;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NotificationRenderController.mjs","names":[],"sources":["../../../src/components/NotificationRenderController.tsx"],"sourcesContent":["import {\n useNotificationController,\n type NotificationProps,\n Notification,\n} from \"@mittwald/flow-react-components\";\nimport { useEffect, useRef, type FC } from \"react\";\n\nexport const NotificationRenderController: FC<NotificationProps> = (props) => {\n const notifications = useNotificationController();\n const isAdded = useRef(false);\n\n useEffect(() => {\n if (isAdded.current) {\n return;\n }\n\n const id = notifications.add(<Notification {...props} />);\n isAdded.current = true;\n\n return () => {\n notifications.remove(id);\n isAdded.current = false;\n };\n }, [notifications]);\n\n return null;\n};\n"],"mappings":";;;;;;AAOA,IAAa,gCAAuD,UAAU;CAC5E,MAAM,gBAAgB,0BAA0B;CAChD,MAAM,UAAU,OAAO,KAAK;CAE5B,gBAAgB;EACd,IAAI,QAAQ,SACV;EAGF,MAAM,KAAK,cAAc,IAAI,oBAAC,cAAD,EAAc,GAAI,MAAQ,CAAA,CAAC;EACxD,QAAQ,UAAU;EAElB,aAAa;GACX,cAAc,OAAO,EAAE;GACvB,QAAQ,UAAU;EACpB;CACF,GAAG,CAAC,aAAa,CAAC;CAElB,OAAO;AACT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SlotRootWrapper.mjs","names":[],"sources":["../../../src/components/SlotRootWrapper.ts"],"sourcesContent":["import React, { createElement, type FC, type PropsWithChildren } from \"react\";\n\nexport const SlotRootWrapper: FC<PropsWithChildren> = (props) => {\n return createElement(React.Fragment, {}, props.children);\n};\n\nexport default SlotRootWrapper;\n"],"mappings":";;;;AAEA,IAAa,mBAA0C,UAAU;CAC/D,OAAO,cAAc,MAAM,UAAU,CAAC,GAAG,MAAM,QAAQ;AACzD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"components.mjs","names":[],"sources":["../../src/components.ts"],"sourcesContent":["import { createFlowRemoteComponentRenderer } from \"@/lib/createFlowRemoteComponentRenderer\";\nimport { elementFactory } from \"@/lib/elementFactory\";\nimport { createRemoteComponentRenderer } from \"@mittwald/remote-dom-react/host\";\nimport autoGenerated from \"./auto-generated\";\nimport { Form, SlotRootWrapper } from \"@/components/\";\nimport { Form as RhfForm } from \"@/integrations/react-hook-form/Form\";\nimport { NotificationRenderController } from \"@/components/NotificationRenderController\";\n\nconst htmlComponentsMap = {\n svg: createRemoteComponentRenderer(elementFactory(\"svg\")),\n circle: createRemoteComponentRenderer(elementFactory(\"circle\")),\n g: createRemoteComponentRenderer(elementFactory(\"g\")),\n path: createRemoteComponentRenderer(elementFactory(\"path\")),\n strong: createRemoteComponentRenderer(elementFactory(\"strong\")),\n s: createRemoteComponentRenderer(elementFactory(\"s\")),\n ul: createRemoteComponentRenderer(elementFactory(\"ul\")),\n ol: createRemoteComponentRenderer(elementFactory(\"ol\")),\n li: createRemoteComponentRenderer(elementFactory(\"li\")),\n small: createRemoteComponentRenderer(elementFactory(\"small\")),\n i: createRemoteComponentRenderer(elementFactory(\"i\")),\n br: createRemoteComponentRenderer(\n elementFactory(\"br\", { isVoidElement: true }),\n ),\n} as const;\n\n/**\n * Components that are allowed to be used remotely but should not be rendered on\n * the host.\n */\nconst skippedComponentsMap = {\n script: () => null,\n} as const;\n\nconst flowComponentsMap = {\n \"flr-form\": createFlowRemoteComponentRenderer(\"Form\", Form),\n \"flr-rhf-form\": createFlowRemoteComponentRenderer(\"RhfForm\", RhfForm),\n \"flr-slot-root-wrapper\": createFlowRemoteComponentRenderer(\n \"SlotRootWrapper\",\n SlotRootWrapper,\n ),\n \"flr-notification\": createFlowRemoteComponentRenderer(\n \"Notification\",\n NotificationRenderController,\n ),\n \"flr-clear-props-context-content\": createFlowRemoteComponentRenderer(\n \"ClearPropsContextContent\",\n SlotRootWrapper,\n ),\n};\n\nexport const components = {\n ...htmlComponentsMap,\n ...skippedComponentsMap,\n ...autoGenerated,\n ...flowComponentsMap,\n};\n"],"mappings":";;;;;;;;;;;;AAQA,IAAM,oBAAoB;CACxB,KAAK,8BAA8B,eAAe,KAAK,CAAC;CACxD,QAAQ,8BAA8B,eAAe,QAAQ,CAAC;CAC9D,GAAG,8BAA8B,eAAe,GAAG,CAAC;CACpD,MAAM,8BAA8B,eAAe,MAAM,CAAC;CAC1D,QAAQ,8BAA8B,eAAe,QAAQ,CAAC;CAC9D,GAAG,8BAA8B,eAAe,GAAG,CAAC;CACpD,IAAI,8BAA8B,eAAe,IAAI,CAAC;CACtD,IAAI,8BAA8B,eAAe,IAAI,CAAC;CACtD,IAAI,8BAA8B,eAAe,IAAI,CAAC;CACtD,OAAO,8BAA8B,eAAe,OAAO,CAAC;CAC5D,GAAG,8BAA8B,eAAe,GAAG,CAAC;CACpD,IAAI,8BACF,eAAe,MAAM,EAAE,eAAe,KAAK,CAAC,CAC9C;AACF;;;;;AAMA,IAAM,uBAAuB,EAC3B,cAAc,KAChB;AAEA,IAAM,oBAAoB;CACxB,YAAY,kCAAkC,QAAQ,IAAI;CAC1D,gBAAgB,kCAAkC,WAAW,MAAO;CACpE,yBAAyB,kCACvB,mBACA,eACF;CACA,oBAAoB,kCAClB,gBACA,4BACF;CACA,mCAAmC,kCACjC,4BACA,eACF;AACF;AAEA,IAAa,aAAa;CACxB,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;AACL"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useControllableSuspenseTrigger.mjs","names":[],"sources":["../../../src/hooks/useControllableSuspenseTrigger.ts"],"sourcesContent":["import { usePromise } from \"@mittwald/react-use-promise\";\nimport { useId, useRef, useState } from \"react\";\n\nexport const useControllableSuspenseTrigger = () => {\n const localId = useId();\n const promise = useRef<PromiseWithResolvers<void>>(null);\n const [startedCount, setStartedCount] = useState(0);\n\n usePromise(\n (promise: Promise<void>) => promise,\n promise.current ? [promise.current.promise] : null,\n {\n keepValueWhileLoading: false,\n loaderId: localId + startedCount,\n },\n );\n\n return {\n start: () => {\n promise.current = Promise.withResolvers<void>();\n setStartedCount((c) => c + 1);\n },\n stop: () => {\n promise.current?.resolve();\n },\n };\n};\n"],"mappings":";;;;;AAGA,IAAa,uCAAuC;CAClD,MAAM,UAAU,MAAM;CACtB,MAAM,UAAU,OAAmC,IAAI;CACvD,MAAM,CAAC,cAAc,mBAAmB,SAAS,CAAC;CAElD,YACG,YAA2B,SAC5B,QAAQ,UAAU,CAAC,QAAQ,QAAQ,OAAO,IAAI,MAC9C;EACE,uBAAuB;EACvB,UAAU,UAAU;CACtB,CACF;CAEA,OAAO;EACL,aAAa;GACX,QAAQ,UAAU,QAAQ,cAAoB;GAC9C,iBAAiB,MAAM,IAAI,CAAC;EAC9B;EACA,YAAY;GACV,QAAQ,SAAS,QAAQ;EAC3B;CACF;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useMergedComponents.mjs","names":[],"sources":["../../../src/hooks/useMergedComponents.ts"],"sourcesContent":["import { components } from \"@/components\";\nimport type { RemoteComponentsMap } from \"@/lib/types\";\nimport type { RemoteComponentRendererProps } from \"@mittwald/remote-dom-react/host\";\nimport { type ComponentType, useMemo } from \"react\";\nimport { reduce } from \"remeda\";\n\nexport const useMergedComponents = (\n integrations: RemoteComponentsMap<never>[],\n) =>\n useMemo(\n () =>\n new Map<string, ComponentType<RemoteComponentRendererProps>>(\n Object.entries(\n reduce(\n [...integrations, components],\n (merged, current) => ({\n ...merged,\n ...current,\n }),\n {},\n ),\n ),\n ),\n [...integrations],\n );\n"],"mappings":";;;;;;AAMA,IAAa,uBACX,iBAEA,cAEI,IAAI,IACF,OAAO,QACL,OACE,CAAC,GAAG,cAAc,UAAU,IAC3B,QAAQ,aAAa;CACpB,GAAG;CACH,GAAG;AACL,IACA,CAAC,CACH,CACF,CACF,GACF,CAAC,GAAG,YAAY,CAClB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useUpdateHostPathnameOnRemote.mjs","names":[],"sources":["../../../src/hooks/useUpdateHostPathnameOnRemote.ts"],"sourcesContent":["import { type HostToRemoteConnection } from \"@mittwald/flow-remote-core\";\nimport { useLayoutEffect } from \"react\";\n\n/** Updates the host pathname in the remote connection. */\nexport const useUpdateHostPathnameOnRemote = (\n hostPathname?: string,\n connection?: HostToRemoteConnection,\n) => {\n useLayoutEffect(() => {\n if (hostPathname === undefined || !connection) {\n return;\n }\n\n const { updateHostPathname } = connection;\n updateHostPathname(hostPathname);\n }, [hostPathname, connection]);\n};\n"],"mappings":";;;;;;AAIA,IAAa,iCACX,cACA,eACG;CACH,sBAAsB;EACpB,IAAI,iBAAiB,KAAA,KAAa,CAAC,YACjC;EAGF,MAAM,EAAE,uBAAuB;EAC/B,mBAAmB,YAAY;CACjC,GAAG,CAAC,cAAc,UAAU,CAAC;AAC/B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Form.mjs","names":[],"sources":["../../../../src/integrations/react-hook-form/Form.tsx"],"sourcesContent":["import {\n type FC,\n type FormEvent,\n type PropsWithChildren,\n type Ref,\n} from \"react\";\n\ntype FormProps = {\n onSubmit?: () => void | Promise<void>;\n ref?: Ref<HTMLFormElement>;\n} & PropsWithChildren;\n\n/**\n * ReactHookForm won't send the data over onSubmit, the form state is\n * transferred over onChange. To avoid sending unnecessary data, this RemoteForm\n * sends only the onSubmit without any formData.\n */\nexport const Form: FC<FormProps> = (props) => {\n const { onSubmit: onSubmitFromProps, ref, ...rest } = props;\n\n const onSubmit = async (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n await onSubmitFromProps?.();\n };\n\n return <form {...rest} ref={ref} onSubmit={onSubmit} />;\n};\n"],"mappings":";;;;;;;;;;AAiBA,IAAa,QAAuB,UAAU;CAC5C,MAAM,EAAE,UAAU,mBAAmB,KAAK,GAAG,SAAS;CAEtD,MAAM,WAAW,OAAO,UAAsC;EAC5D,MAAM,eAAe;EACrB,MAAM,oBAAoB;CAC5B;CAEA,OAAO,oBAAC,QAAD;EAAM,GAAI;EAAW;EAAe;CAAW,CAAA;AACxD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"componentUsage.mjs","names":[],"sources":["../../../src/lib/componentUsage.ts"],"sourcesContent":["import type { FlowComponentStatus } from \"@mittwald/flow-react-components/internal\";\nimport type { ComponentRenderedEvent } from \"@mittwald/flow-remote-core\";\n\n/**\n * A Flow component an extension used, as reported by the remote. Renders that\n * arrive through a Flow view are composition rather than usage and are not\n * reported at all.\n */\nexport interface ComponentUsageEvent {\n /** Display name of the used Flow component, e.g. `\"Button\"`. */\n component: string;\n /**\n * The component's lifecycle status (ADR 0003) from the generated status\n * registry. `undefined` for components the registry does not track as an\n * independent contract unit — subcomponents like `TableCell` or `XAxis`.\n */\n status?: FlowComponentStatus;\n}\n\nexport type ComponentUsageHandler = (event: ComponentUsageEvent) => void;\n\nexport type ComponentStatusResolver = (\n component: string,\n) => FlowComponentStatus | undefined;\n\nexport const toComponentUsageEvent = (\n event: ComponentRenderedEvent,\n resolveStatus: ComponentStatusResolver,\n): ComponentUsageEvent => ({\n ...event.data,\n status: resolveStatus(event.data.component),\n});\n"],"mappings":";;;AAyBA,IAAa,yBACX,OACA,mBACyB;CACzB,GAAG,MAAM;CACT,QAAQ,cAAc,MAAM,KAAK,SAAS;AAC5C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"createFlowRemoteComponentRenderer.mjs","names":[],"sources":["../../../src/lib/createFlowRemoteComponentRenderer.tsx"],"sourcesContent":["import { isReactSuspendedStyle, isStyleProp } from \"@/lib/propClassifiers\";\nimport type { RemoteComponentRendererProps } from \"@mittwald/remote-dom-react/host\";\nimport { createRemoteComponentRenderer } from \"@mittwald/remote-dom-react/host\";\nimport { FlowRemoteElement } from \"@mittwald/flow-remote-elements\";\nimport type { FlowRemoteElementMetaData } from \"@mittwald/flow-remote-elements\";\nimport { Version } from \"@mittwald/flow-remote-core\";\nimport { type ComponentType } from \"react\";\nimport { mapValues } from \"remeda\";\n\nconst mapProperty = (val: unknown, key: string) => {\n if (isStyleProp(key)) {\n if (isReactSuspendedStyle(val)) {\n return {\n display: \"none\",\n };\n }\n return {};\n }\n return val;\n};\n\nexport const createFlowRemoteComponentRenderer = <P extends object>(\n name: string,\n Component: ComponentType<P>,\n): ComponentType<RemoteComponentRendererProps> => {\n function HostComponent(props: P & FlowRemoteElementMetaData) {\n const hostComponentProps = mapValues(props, (v, k) =>\n mapProperty(v, k),\n ) as P & FlowRemoteElementMetaData;\n\n const {\n [FlowRemoteElement.versionPropertyName]: version = Version.v1,\n [FlowRemoteElement.initializationPropertyName]: initialized = false,\n ...restProps\n } = hostComponentProps;\n\n if (version >= Version.v3) {\n // \"initialized\" handling introduced in version 3\n if (!initialized) {\n return null;\n }\n }\n\n return <Component {...(restProps as P)} />;\n }\n HostComponent.displayName = `FlowRemoteRenderer(${name})`;\n return createRemoteComponentRenderer(HostComponent, {\n name: `RemoteRenderer(${name})`,\n });\n};\n"],"mappings":";;;;;;;;;;AASA,IAAM,eAAe,KAAc,QAAgB;CACjD,IAAI,YAAY,GAAG,GAAG;EACpB,IAAI,sBAAsB,GAAG,GAC3B,OAAO,EACL,SAAS,OACX;EAEF,OAAO,CAAC;CACV;CACA,OAAO;AACT;AAEA,IAAa,qCACX,MACA,cACgD;CAChD,SAAS,cAAc,OAAsC;EAK3D,MAAM,GACH,kBAAkB,sBAAsB,UAAU,QAAQ,KAC1D,kBAAkB,6BAA6B,cAAc,OAC9D,GAAG,cAPsB,UAAU,QAAQ,GAAG,MAC9C,YAAY,GAAG,CAAC,CAOd;EAEJ,IAAI,WAAW,QAAQ,IAEjB;OAAA,CAAC,aACH,OAAO;EAAA;EAIX,OAAO,oBAAC,WAAD,EAAW,GAAK,UAAkB,CAAA;CAC3C;CACA,cAAc,cAAc,sBAAsB,KAAK;CACvD,OAAO,8BAA8B,eAAe,EAClD,MAAM,kBAAkB,KAAK,GAC/B,CAAC;AACH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"elementFactory.mjs","names":[],"sources":["../../../src/lib/elementFactory.ts"],"sourcesContent":["import { mapAttributeToReactProperty } from \"@/lib/mapAttributeToReactProperty\";\nimport clsx from \"clsx\";\nimport { createElement } from \"react\";\nimport { mapKeys } from \"remeda\";\n\ntype ElementTagNameMap = HTMLElementTagNameMap &\n Pick<\n SVGElementTagNameMap,\n Exclude<keyof SVGElementTagNameMap, keyof HTMLElementTagNameMap>\n >;\n\ninterface Options {\n isVoidElement?: boolean;\n}\n\nexport const elementFactory =\n <E extends keyof ElementTagNameMap>(element: E, options: Options = {}) =>\n (props: Record<string, unknown>) => {\n const result = { ...props };\n const { isVoidElement = false } = options;\n\n if (isVoidElement) {\n delete result[\"children\"];\n }\n\n // merge className and class\n result[\"className\"] = clsx(\n \"className\" in result && String(result[\"className\"]),\n \"class\" in result && String(result[\"class\"]),\n );\n\n delete result[\"class\"];\n\n return createElement(element, mapKeys(result, mapAttributeToReactProperty));\n };\n"],"mappings":";;;;;;;AAeA,IAAa,kBACyB,SAAY,UAAmB,CAAC,OACnE,UAAmC;CAClC,MAAM,SAAS,EAAE,GAAG,MAAM;CAC1B,MAAM,EAAE,gBAAgB,UAAU;CAElC,IAAI,eACF,OAAO,OAAO;CAIhB,OAAO,eAAe,KACpB,eAAe,UAAU,OAAO,OAAO,YAAY,GACnD,WAAW,UAAU,OAAO,OAAO,QAAQ,CAC7C;CAEA,OAAO,OAAO;CAEd,OAAO,cAAc,SAAS,QAAQ,QAAQ,2BAA2B,CAAC;AAC5E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mapAttributeToReactProperty.mjs","names":[],"sources":["../../../src/lib/mapAttributeToReactProperty.ts"],"sourcesContent":["import { toCamelCase } from \"remeda\";\n\nconst keepWhenStartsWith = [\"aria-\", \"data-\"];\n\nexport const mapAttributeToReactProperty = (key: string) => {\n if (keepWhenStartsWith.some((prefix) => key.startsWith(prefix))) {\n return key;\n }\n\n return toCamelCase(key);\n};\n"],"mappings":";;;;AAEA,IAAM,qBAAqB,CAAC,SAAS,OAAO;AAE5C,IAAa,+BAA+B,QAAgB;CAC1D,IAAI,mBAAmB,MAAM,WAAW,IAAI,WAAW,MAAM,CAAC,GAC5D,OAAO;CAGT,OAAO,YAAY,GAAG;AACxB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"propClassifiers.mjs","names":[],"sources":["../../../src/lib/propClassifiers.ts"],"sourcesContent":["export const isStyleProp = (name: string): boolean => name === \"style\";\n\nexport const isReactSuspendedStyle = (value: unknown): boolean =>\n value === \"display: none !important;\";\n"],"mappings":";;;AAAA,IAAa,eAAe,SAA0B,SAAS;AAE/D,IAAa,yBAAyB,UACpC,UAAU"}