@mittwald/flow-remote-react-renderer 0.2.0-alpha.16 → 0.2.0-alpha.160

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 (65) hide show
  1. package/dist/js/RemoteRenderer.mjs +17 -0
  2. package/dist/js/RemoteRenderer.mjs.map +1 -0
  3. package/dist/js/RemoteRendererBrowser.mjs +94 -0
  4. package/dist/js/RemoteRendererBrowser.mjs.map +1 -0
  5. package/dist/js/auto-generated/index.mjs +126 -0
  6. package/dist/js/auto-generated/index.mjs.map +1 -0
  7. package/dist/js/components/Form.mjs +22 -0
  8. package/dist/js/components/Form.mjs.map +1 -0
  9. package/dist/js/components/NotificationRenderController.mjs +25 -0
  10. package/dist/js/components/NotificationRenderController.mjs.map +1 -0
  11. package/dist/js/components/SlotRootWrapper.mjs +11 -0
  12. package/dist/js/components/SlotRootWrapper.mjs.map +1 -0
  13. package/dist/js/components/lib/getFormDataObject.mjs +7 -0
  14. package/dist/js/components/lib/getFormDataObject.mjs.map +1 -0
  15. package/dist/js/components.mjs +32 -0
  16. package/dist/js/components.mjs.map +1 -0
  17. package/dist/js/hooks/useAwaiter.mjs +26 -0
  18. package/dist/js/hooks/useAwaiter.mjs.map +1 -0
  19. package/dist/js/hooks/useMergedComponents.mjs +24 -0
  20. package/dist/js/hooks/useMergedComponents.mjs.map +1 -0
  21. package/dist/js/index.mjs +7 -0
  22. package/dist/js/index.mjs.map +1 -0
  23. package/dist/js/lib/createFlowRemoteComponentRenderer.mjs +36 -0
  24. package/dist/js/lib/createFlowRemoteComponentRenderer.mjs.map +1 -0
  25. package/dist/js/lib/elementFactory.mjs +19 -0
  26. package/dist/js/lib/elementFactory.mjs.map +1 -0
  27. package/dist/js/lib/mapAttributeToReactProperty.mjs +14 -0
  28. package/dist/js/lib/mapAttributeToReactProperty.mjs.map +1 -0
  29. package/dist/js/lib/propClassifiers.mjs +13 -0
  30. package/dist/js/lib/propClassifiers.mjs.map +1 -0
  31. package/dist/types/RemoteRenderer.d.ts +4 -8
  32. package/dist/types/RemoteRenderer.d.ts.map +1 -1
  33. package/dist/types/RemoteRendererBrowser.d.ts +12 -0
  34. package/dist/types/RemoteRendererBrowser.d.ts.map +1 -0
  35. package/dist/types/auto-generated/index.d.ts +111 -95
  36. package/dist/types/auto-generated/index.d.ts.map +1 -1
  37. package/dist/types/components/NotificationRenderController.d.ts +4 -0
  38. package/dist/types/components/NotificationRenderController.d.ts.map +1 -0
  39. package/dist/types/components/SlotRootWrapper.d.ts +4 -0
  40. package/dist/types/components/SlotRootWrapper.d.ts.map +1 -0
  41. package/dist/types/components/index.d.ts +3 -0
  42. package/dist/types/components/index.d.ts.map +1 -0
  43. package/dist/types/components/lib/getFormDataObject.d.ts.map +1 -1
  44. package/dist/types/components.d.ts +118 -100
  45. package/dist/types/components.d.ts.map +1 -1
  46. package/dist/types/hooks/useAwaiter.d.ts +9 -0
  47. package/dist/types/hooks/useAwaiter.d.ts.map +1 -0
  48. package/dist/types/hooks/useIsMounted.d.ts +2 -0
  49. package/dist/types/hooks/useIsMounted.d.ts.map +1 -0
  50. package/dist/types/hooks/useMergedComponents.d.ts +5 -0
  51. package/dist/types/hooks/useMergedComponents.d.ts.map +1 -0
  52. package/dist/types/lib/createFlowRemoteComponentRenderer.d.ts +2 -2
  53. package/dist/types/lib/createFlowRemoteComponentRenderer.d.ts.map +1 -1
  54. package/dist/types/lib/elementFactory.d.ts.map +1 -1
  55. package/dist/types/lib/mapAttributeToReactProperty.d.ts.map +1 -1
  56. package/dist/types/lib/propClassifiers.d.ts.map +1 -1
  57. package/dist/types/lib/types.d.ts +1 -1
  58. package/dist/types/lib/types.d.ts.map +1 -1
  59. package/package.json +30 -26
  60. package/dist/index.js +0 -744
  61. package/dist/polyfill.js +0 -2
  62. package/dist/types/lib/stringChildrenExtractor.d.ts +0 -3
  63. package/dist/types/lib/stringChildrenExtractor.d.ts.map +0 -1
  64. package/dist/types/polyfill.d.ts +0 -1
  65. package/dist/types/polyfill.d.ts.map +0 -1
@@ -0,0 +1,17 @@
1
+ "use client"
2
+ /* */
3
+ "use client";
4
+ import { jsx } from "react/jsx-runtime";
5
+ import { BrowserOnly } from "@mittwald/flow-react-components";
6
+ import React from "react";
7
+ const RemoteRendererBrowser = React.lazy(
8
+ () => import("./RemoteRendererBrowser.mjs")
9
+ );
10
+ const RemoteRenderer = (props) => {
11
+ return /* @__PURE__ */ jsx(BrowserOnly, { children: /* @__PURE__ */ jsx(RemoteRendererBrowser, { ...props }) });
12
+ };
13
+ export {
14
+ RemoteRenderer,
15
+ RemoteRenderer as default
16
+ };
17
+ //# sourceMappingURL=RemoteRenderer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoteRenderer.mjs","sources":["../../src/RemoteRenderer.tsx"],"sourcesContent":["\"use client\";\nimport type { RemoteRendererBrowserProps } from \"@/RemoteRendererBrowser\";\nimport { BrowserOnly } from \"@mittwald/flow-react-components\";\nimport React, { type FC } from \"react\";\n\nconst RemoteRendererBrowser = React.lazy(\n () => import(\"./RemoteRendererBrowser\"),\n);\n\nexport const RemoteRenderer: FC<RemoteRendererBrowserProps> = (props) => {\n return (\n <BrowserOnly>\n <RemoteRendererBrowser {...props} />\n </BrowserOnly>\n );\n};\n\nexport default RemoteRenderer;\n"],"names":[],"mappings":";;;;AAKA,MAAM,wBAAwB,MAAM;AAAA,EAClC,MAAM,OAAO,6BAAyB;AACxC;AAEa,MAAA,iBAAiD,CAAC,UAAU;AACvE,6BACG,aACC,EAAA,UAAA,oBAAC,uBAAuB,EAAA,GAAG,MAAO,CAAA,GACpC;AAEJ;"}
@@ -0,0 +1,94 @@
1
+ "use client"
2
+ /* */
3
+ "use client";
4
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
5
+ import { useAwaiter } from "./hooks/useAwaiter.mjs";
6
+ import { useMergedComponents } from "./hooks/useMergedComponents.mjs";
7
+ import { RemoteError, connectRemoteIframeRef } from "@mittwald/flow-remote-core";
8
+ import { usePromise } from "@mittwald/react-use-promise";
9
+ import { RemoteReceiver, RemoteRootRenderer } from "@mittwald/remote-dom-react/host";
10
+ import { useState, useMemo } from "react";
11
+ const hiddenIframeStyle = {
12
+ visibility: "hidden",
13
+ height: 0,
14
+ width: 0,
15
+ border: "none",
16
+ position: "absolute",
17
+ marginLeft: "-9999px"
18
+ };
19
+ const RemoteRendererBrowser = (props) => {
20
+ const {
21
+ integrations = [],
22
+ timeoutMs = 1e4,
23
+ src,
24
+ extBridgeImplementation
25
+ } = props;
26
+ const renderAwaiter = useAwaiter([src]);
27
+ const connectionAwaiter = useAwaiter([src]);
28
+ const loadingAwaiter = useAwaiter([src]);
29
+ const [connectedSrc, setConnectedSrc] = useState(null);
30
+ const [remoteError, setRemoteError] = useState();
31
+ if (remoteError) {
32
+ throw new RemoteError(`Remote rendering failed: ${remoteError}`);
33
+ }
34
+ const remoteComponents = useMergedComponents(integrations);
35
+ const receiver = useMemo(() => {
36
+ const remoteReceiver = new RemoteReceiver();
37
+ remoteReceiver.subscribe(
38
+ { id: remoteReceiver.root.id },
39
+ renderAwaiter.resolve
40
+ );
41
+ return remoteReceiver;
42
+ }, [src]);
43
+ const connect = connectRemoteIframeRef({
44
+ connection: receiver.connection,
45
+ extBridgeImplementation,
46
+ onReady: connectionAwaiter.resolve,
47
+ onError: setRemoteError
48
+ });
49
+ const timeoutPromise = (message) => new Promise((_, rej) => {
50
+ setTimeout(() => {
51
+ rej(new RemoteError(`${message}: Timeout reached`));
52
+ }, timeoutMs);
53
+ });
54
+ const overallLoading = () => Promise.all([
55
+ Promise.race([
56
+ loadingAwaiter.promise,
57
+ timeoutPromise("Remote URL could not be loaded")
58
+ ]),
59
+ Promise.race([
60
+ connectionAwaiter.promise,
61
+ timeoutPromise("Could not establish remote connection")
62
+ ]),
63
+ Promise.race([
64
+ renderAwaiter.promise,
65
+ timeoutPromise("Remote rendering failed")
66
+ ])
67
+ ]);
68
+ const awaitLoadingPromise = connectedSrc === src;
69
+ usePromise(overallLoading, awaitLoadingPromise ? [] : null, {
70
+ loaderId: src
71
+ });
72
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
73
+ /* @__PURE__ */ jsx(RemoteRootRenderer, { components: remoteComponents, receiver }),
74
+ /* @__PURE__ */ jsx(
75
+ "iframe",
76
+ {
77
+ src,
78
+ ref: (ref) => {
79
+ connect(ref);
80
+ setConnectedSrc(src);
81
+ },
82
+ onLoad: loadingAwaiter.resolve,
83
+ onError: loadingAwaiter.reject,
84
+ style: hiddenIframeStyle
85
+ },
86
+ src
87
+ )
88
+ ] });
89
+ };
90
+ export {
91
+ RemoteRendererBrowser,
92
+ RemoteRendererBrowser as default
93
+ };
94
+ //# sourceMappingURL=RemoteRendererBrowser.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoteRendererBrowser.mjs","sources":["../../src/RemoteRendererBrowser.tsx"],"sourcesContent":["\"use client\";\n\nimport { useAwaiter } from \"@/hooks/useAwaiter\";\nimport { useMergedComponents } from \"@/hooks/useMergedComponents\";\nimport type { RemoteComponentsMap } from \"@/lib/types\";\nimport type { ExtBridgeConnectionApi } from \"@mittwald/ext-bridge\";\nimport {\n connectRemoteIframeRef,\n RemoteError,\n} from \"@mittwald/flow-remote-core\";\nimport { usePromise } from \"@mittwald/react-use-promise\";\nimport {\n RemoteReceiver,\n RemoteRootRenderer,\n} from \"@mittwald/remote-dom-react/host\";\nimport { type CSSProperties, type FC, useMemo, useState } from \"react\";\n\nexport interface RemoteRendererBrowserProps {\n integrations?: RemoteComponentsMap<never>[];\n src: string;\n timeoutMs?: number;\n extBridgeImplementation?: ExtBridgeConnectionApi;\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 timeoutMs = 10_000,\n src,\n extBridgeImplementation,\n } = props;\n\n const renderAwaiter = useAwaiter([src]);\n const connectionAwaiter = useAwaiter([src]);\n const loadingAwaiter = useAwaiter([src]);\n\n const [connectedSrc, setConnectedSrc] = useState<string | null>(null);\n const [remoteError, setRemoteError] = useState<string | undefined>();\n\n if (remoteError) {\n throw new RemoteError(`Remote rendering failed: ${remoteError}`);\n }\n\n const remoteComponents = useMergedComponents(integrations);\n\n const receiver = useMemo(() => {\n const remoteReceiver = new RemoteReceiver();\n remoteReceiver.subscribe(\n { id: remoteReceiver.root.id },\n renderAwaiter.resolve,\n );\n return remoteReceiver;\n }, [src]);\n\n const connect = connectRemoteIframeRef({\n connection: receiver.connection,\n extBridgeImplementation: extBridgeImplementation,\n onReady: connectionAwaiter.resolve,\n onError: setRemoteError,\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 loadingAwaiter.promise,\n timeoutPromise(\"Remote URL could not be loaded\"),\n ]),\n Promise.race([\n connectionAwaiter.promise,\n timeoutPromise(\"Could not establish remote connection\"),\n ]),\n Promise.race([\n renderAwaiter.promise,\n timeoutPromise(\"Remote rendering failed\"),\n ]),\n ]);\n\n const awaitLoadingPromise = connectedSrc === src;\n usePromise(overallLoading, awaitLoadingPromise ? [] : null, {\n loaderId: src,\n });\n\n return (\n <>\n <RemoteRootRenderer components={remoteComponents} receiver={receiver} />\n <iframe\n key={src}\n src={src}\n ref={(ref) => {\n connect(ref);\n setConnectedSrc(src);\n }}\n onLoad={loadingAwaiter.resolve}\n onError={loadingAwaiter.reject}\n style={hiddenIframeStyle}\n />\n </>\n );\n};\n\nexport default RemoteRendererBrowser;\n"],"names":[],"mappings":";;;;;;;;AAwBA,MAAM,oBAAmC;AAAA,EACvC,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,YAAY;AACd;AAEa,MAAA,wBAAwD,CACnE,UACG;AACG,QAAA;AAAA,IACJ,eAAe,CAAC;AAAA,IAChB,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,EAAA,IACE;AAEJ,QAAM,gBAAgB,WAAW,CAAC,GAAG,CAAC;AACtC,QAAM,oBAAoB,WAAW,CAAC,GAAG,CAAC;AAC1C,QAAM,iBAAiB,WAAW,CAAC,GAAG,CAAC;AAEvC,QAAM,CAAC,cAAc,eAAe,IAAI,SAAwB,IAAI;AACpE,QAAM,CAAC,aAAa,cAAc,IAAI,SAA6B;AAEnE,MAAI,aAAa;AACf,UAAM,IAAI,YAAY,4BAA4B,WAAW,EAAE;AAAA,EAAA;AAG3D,QAAA,mBAAmB,oBAAoB,YAAY;AAEnD,QAAA,WAAW,QAAQ,MAAM;AACvB,UAAA,iBAAiB,IAAI,eAAe;AAC3B,mBAAA;AAAA,MACb,EAAE,IAAI,eAAe,KAAK,GAAG;AAAA,MAC7B,cAAc;AAAA,IAChB;AACO,WAAA;AAAA,EAAA,GACN,CAAC,GAAG,CAAC;AAER,QAAM,UAAU,uBAAuB;AAAA,IACrC,YAAY,SAAS;AAAA,IACrB;AAAA,IACA,SAAS,kBAAkB;AAAA,IAC3B,SAAS;AAAA,EAAA,CACV;AAED,QAAM,iBAAiB,CAAC,YACtB,IAAI,QAAQ,CAAC,GAAG,QAAQ;AACtB,eAAW,MAAM;AACf,UAAI,IAAI,YAAY,GAAG,OAAO,mBAAmB,CAAC;AAAA,OACjD,SAAS;AAAA,EAAA,CACb;AAEG,QAAA,iBAAiB,MACrB,QAAQ,IAAI;AAAA,IACV,QAAQ,KAAK;AAAA,MACX,eAAe;AAAA,MACf,eAAe,gCAAgC;AAAA,IAAA,CAChD;AAAA,IACD,QAAQ,KAAK;AAAA,MACX,kBAAkB;AAAA,MAClB,eAAe,uCAAuC;AAAA,IAAA,CACvD;AAAA,IACD,QAAQ,KAAK;AAAA,MACX,cAAc;AAAA,MACd,eAAe,yBAAyB;AAAA,IACzC,CAAA;AAAA,EAAA,CACF;AAEH,QAAM,sBAAsB,iBAAiB;AAC7C,aAAW,gBAAgB,sBAAsB,CAAA,IAAK,MAAM;AAAA,IAC1D,UAAU;AAAA,EAAA,CACX;AAED,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAC,oBAAA,oBAAA,EAAmB,YAAY,kBAAkB,SAAoB,CAAA;AAAA,IACtE;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC;AAAA,QACA,KAAK,CAAC,QAAQ;AACZ,kBAAQ,GAAG;AACX,0BAAgB,GAAG;AAAA,QACrB;AAAA,QACA,QAAQ,eAAe;AAAA,QACvB,SAAS,eAAe;AAAA,QACxB,OAAO;AAAA,MAAA;AAAA,MARF;AAAA,IAAA;AAAA,EASP,GACF;AAEJ;"}
@@ -0,0 +1,126 @@
1
+ "use client"
2
+ /* */
3
+ import { createFlowRemoteComponentRenderer } from "../lib/createFlowRemoteComponentRenderer.mjs";
4
+ import { YAxis, XAxis, TooltipTrigger, Tooltip, TimeField, TextField, TextArea, Text, Tabs, TableRow, TableHeader, TableFooterRow, TableColumn, TableCell, TableBody, Table, TabTitle, Tab, Switch, Slider, SkeletonText, Skeleton, Separator, Select, SegmentedControl, Segment, Section, SearchField, Rating, RadioGroup, RadioButton, Radio, ProgressBar, PopoverContent, OverlayContent, Option, NumberField, Notification, NavigationGroup, Navigation, MessageThread, MessageSeparator, Message, MenuTrigger, MenuItem, Markdown, LoadingSpinner, ListSummary, ListItemViewContent, EmptyView, Link, LightBoxTrigger, LightBox, Legend, LayoutCard, LabeledValue, Label, GridListItem, GridList, InlineCode, Initials, Image, IllustratedMessage, Icon, Heading, HeaderNavigation, Header, Flex, FileField, FileCardList, FileCard, FieldError, FieldDescription, Div, DialogTrigger, DateRangePicker, DatePicker, CountryOptions, CounterBadge, CopyButton, ContextualHelpTrigger, ContextualHelp, ContextMenuSection, ContextMenuContent, Content, ColumnLayout, Color, CodeBlock, ClearPropsContextContent, CheckboxGroup, CheckboxButton, Checkbox, Chat, ChartTooltip, ChartLegend, CartesianGrid, Button, Breadcrumb, BigNumber, Badge, AvatarStack, Avatar, AreaChart, Area, Align, AlertIcon, AlertBadge, Alert, ActionGroup, Accordion, AccentBox } from "@mittwald/flow-react-components";
5
+ const flowComponents = {
6
+ "flr-accent-box": createFlowRemoteComponentRenderer(AccentBox),
7
+ "flr-accordion": createFlowRemoteComponentRenderer(Accordion),
8
+ "flr-action-group": createFlowRemoteComponentRenderer(ActionGroup),
9
+ "flr-alert": createFlowRemoteComponentRenderer(Alert),
10
+ "flr-alert-badge": createFlowRemoteComponentRenderer(AlertBadge),
11
+ "flr-alert-icon": createFlowRemoteComponentRenderer(AlertIcon),
12
+ "flr-align": createFlowRemoteComponentRenderer(Align),
13
+ "flr-area": createFlowRemoteComponentRenderer(Area),
14
+ "flr-area-chart": createFlowRemoteComponentRenderer(AreaChart),
15
+ "flr-avatar": createFlowRemoteComponentRenderer(Avatar),
16
+ "flr-avatar-stack": createFlowRemoteComponentRenderer(AvatarStack),
17
+ "flr-badge": createFlowRemoteComponentRenderer(Badge),
18
+ "flr-big-number": createFlowRemoteComponentRenderer(BigNumber),
19
+ "flr-breadcrumb": createFlowRemoteComponentRenderer(Breadcrumb),
20
+ "flr-button": createFlowRemoteComponentRenderer(Button),
21
+ "flr-cartesian-grid": createFlowRemoteComponentRenderer(CartesianGrid),
22
+ "flr-chart-legend": createFlowRemoteComponentRenderer(ChartLegend),
23
+ "flr-chart-tooltip": createFlowRemoteComponentRenderer(ChartTooltip),
24
+ "flr-chat": createFlowRemoteComponentRenderer(Chat),
25
+ "flr-checkbox": createFlowRemoteComponentRenderer(Checkbox),
26
+ "flr-checkbox-button": createFlowRemoteComponentRenderer(CheckboxButton),
27
+ "flr-checkbox-group": createFlowRemoteComponentRenderer(CheckboxGroup),
28
+ "flr-clear-props-context-content": createFlowRemoteComponentRenderer(
29
+ ClearPropsContextContent
30
+ ),
31
+ "flr-code-block": createFlowRemoteComponentRenderer(CodeBlock),
32
+ "flr-color": createFlowRemoteComponentRenderer(Color),
33
+ "flr-column-layout": createFlowRemoteComponentRenderer(ColumnLayout),
34
+ "flr-content": createFlowRemoteComponentRenderer(Content),
35
+ "flr-context-menu-content": createFlowRemoteComponentRenderer(ContextMenuContent),
36
+ "flr-context-menu-section": createFlowRemoteComponentRenderer(ContextMenuSection),
37
+ "flr-contextual-help": createFlowRemoteComponentRenderer(ContextualHelp),
38
+ "flr-contextual-help-trigger": createFlowRemoteComponentRenderer(
39
+ ContextualHelpTrigger
40
+ ),
41
+ "flr-copy-button": createFlowRemoteComponentRenderer(CopyButton),
42
+ "flr-counter-badge": createFlowRemoteComponentRenderer(CounterBadge),
43
+ "flr-country-options": createFlowRemoteComponentRenderer(CountryOptions),
44
+ "flr-date-picker": createFlowRemoteComponentRenderer(DatePicker),
45
+ "flr-date-range-picker": createFlowRemoteComponentRenderer(DateRangePicker),
46
+ "flr-dialog-trigger": createFlowRemoteComponentRenderer(DialogTrigger),
47
+ "flr-div": createFlowRemoteComponentRenderer(Div),
48
+ "flr-field-description": createFlowRemoteComponentRenderer(FieldDescription),
49
+ "flr-field-error": createFlowRemoteComponentRenderer(FieldError),
50
+ "flr-file-card": createFlowRemoteComponentRenderer(FileCard),
51
+ "flr-file-card-list": createFlowRemoteComponentRenderer(FileCardList),
52
+ "flr-file-field": createFlowRemoteComponentRenderer(FileField),
53
+ "flr-flex": createFlowRemoteComponentRenderer(Flex),
54
+ "flr-header": createFlowRemoteComponentRenderer(Header),
55
+ "flr-header-navigation": createFlowRemoteComponentRenderer(HeaderNavigation),
56
+ "flr-heading": createFlowRemoteComponentRenderer(Heading),
57
+ "flr-icon": createFlowRemoteComponentRenderer(Icon),
58
+ "flr-illustrated-message": createFlowRemoteComponentRenderer(IllustratedMessage),
59
+ "flr-image": createFlowRemoteComponentRenderer(Image),
60
+ "flr-initials": createFlowRemoteComponentRenderer(Initials),
61
+ "flr-inline-code": createFlowRemoteComponentRenderer(InlineCode),
62
+ "flr-items-grid-list": createFlowRemoteComponentRenderer(GridList),
63
+ "flr-items-grid-list-item": createFlowRemoteComponentRenderer(GridListItem),
64
+ "flr-label": createFlowRemoteComponentRenderer(Label),
65
+ "flr-labeled-value": createFlowRemoteComponentRenderer(LabeledValue),
66
+ "flr-layout-card": createFlowRemoteComponentRenderer(LayoutCard),
67
+ "flr-legend": createFlowRemoteComponentRenderer(Legend),
68
+ "flr-light-box": createFlowRemoteComponentRenderer(LightBox),
69
+ "flr-light-box-trigger": createFlowRemoteComponentRenderer(LightBoxTrigger),
70
+ "flr-link": createFlowRemoteComponentRenderer(Link),
71
+ "flr-list-empty-view": createFlowRemoteComponentRenderer(EmptyView),
72
+ "flr-list-item-view-content": createFlowRemoteComponentRenderer(ListItemViewContent),
73
+ "flr-list-summary": createFlowRemoteComponentRenderer(ListSummary),
74
+ "flr-loading-spinner": createFlowRemoteComponentRenderer(LoadingSpinner),
75
+ "flr-markdown": createFlowRemoteComponentRenderer(Markdown),
76
+ "flr-menu-item": createFlowRemoteComponentRenderer(MenuItem),
77
+ "flr-menu-trigger": createFlowRemoteComponentRenderer(MenuTrigger),
78
+ "flr-message": createFlowRemoteComponentRenderer(Message),
79
+ "flr-message-separator": createFlowRemoteComponentRenderer(MessageSeparator),
80
+ "flr-message-thread": createFlowRemoteComponentRenderer(MessageThread),
81
+ "flr-navigation": createFlowRemoteComponentRenderer(Navigation),
82
+ "flr-navigation-group": createFlowRemoteComponentRenderer(NavigationGroup),
83
+ "flr-notification": createFlowRemoteComponentRenderer(Notification),
84
+ "flr-number-field": createFlowRemoteComponentRenderer(NumberField),
85
+ "flr-option": createFlowRemoteComponentRenderer(Option),
86
+ "flr-overlay-content": createFlowRemoteComponentRenderer(OverlayContent),
87
+ "flr-popover-content": createFlowRemoteComponentRenderer(PopoverContent),
88
+ "flr-progress-bar": createFlowRemoteComponentRenderer(ProgressBar),
89
+ "flr-radio": createFlowRemoteComponentRenderer(Radio),
90
+ "flr-radio-button": createFlowRemoteComponentRenderer(RadioButton),
91
+ "flr-radio-group": createFlowRemoteComponentRenderer(RadioGroup),
92
+ "flr-rating": createFlowRemoteComponentRenderer(Rating),
93
+ "flr-search-field": createFlowRemoteComponentRenderer(SearchField),
94
+ "flr-section": createFlowRemoteComponentRenderer(Section),
95
+ "flr-segment": createFlowRemoteComponentRenderer(Segment),
96
+ "flr-segmented-control": createFlowRemoteComponentRenderer(SegmentedControl),
97
+ "flr-select": createFlowRemoteComponentRenderer(Select),
98
+ "flr-separator": createFlowRemoteComponentRenderer(Separator),
99
+ "flr-skeleton": createFlowRemoteComponentRenderer(Skeleton),
100
+ "flr-skeleton-text": createFlowRemoteComponentRenderer(SkeletonText),
101
+ "flr-slider": createFlowRemoteComponentRenderer(Slider),
102
+ "flr-switch": createFlowRemoteComponentRenderer(Switch),
103
+ "flr-tab": createFlowRemoteComponentRenderer(Tab),
104
+ "flr-tab-title": createFlowRemoteComponentRenderer(TabTitle),
105
+ "flr-table": createFlowRemoteComponentRenderer(Table),
106
+ "flr-table-body": createFlowRemoteComponentRenderer(TableBody),
107
+ "flr-table-cell": createFlowRemoteComponentRenderer(TableCell),
108
+ "flr-table-column": createFlowRemoteComponentRenderer(TableColumn),
109
+ "flr-table-footer-row": createFlowRemoteComponentRenderer(TableFooterRow),
110
+ "flr-table-header": createFlowRemoteComponentRenderer(TableHeader),
111
+ "flr-table-row": createFlowRemoteComponentRenderer(TableRow),
112
+ "flr-tabs": createFlowRemoteComponentRenderer(Tabs),
113
+ "flr-text": createFlowRemoteComponentRenderer(Text),
114
+ "flr-text-area": createFlowRemoteComponentRenderer(TextArea),
115
+ "flr-text-field": createFlowRemoteComponentRenderer(TextField),
116
+ "flr-time-field": createFlowRemoteComponentRenderer(TimeField),
117
+ "flr-tooltip": createFlowRemoteComponentRenderer(Tooltip),
118
+ "flr-tooltip-trigger": createFlowRemoteComponentRenderer(TooltipTrigger),
119
+ "flr-x-axis": createFlowRemoteComponentRenderer(XAxis),
120
+ "flr-y-axis": createFlowRemoteComponentRenderer(YAxis)
121
+ };
122
+ export {
123
+ flowComponents as default,
124
+ flowComponents
125
+ };
126
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","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 { Align as Align } from \"@mittwald/flow-react-components\";\nimport { Area as Area } from \"@mittwald/flow-react-components\";\nimport { AreaChart as AreaChart } 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 { CartesianGrid as CartesianGrid } 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 { ClearPropsContextContent as ClearPropsContextContent } from \"@mittwald/flow-react-components\";\nimport { CodeBlock as CodeBlock } from \"@mittwald/flow-react-components\";\nimport { Color as Color } from \"@mittwald/flow-react-components\";\nimport { ColumnLayout as ColumnLayout } from \"@mittwald/flow-react-components\";\nimport { Content as Content } from \"@mittwald/flow-react-components\";\nimport { ContextMenuContent as ContextMenuContent } from \"@mittwald/flow-react-components\";\nimport { ContextMenuSection as ContextMenuSection } 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 { CountryOptions as CountryOptions } 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 { 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 { 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 { 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 { 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 { LightBox as LightBox } from \"@mittwald/flow-react-components\";\nimport { LightBoxTrigger as LightBoxTrigger } from \"@mittwald/flow-react-components\";\nimport { Link as Link } from \"@mittwald/flow-react-components\";\nimport { EmptyView as ListEmptyView } 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 { 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 { 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 { 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 { 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 { 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),\n \"flr-accordion\": createFlowRemoteComponentRenderer(Accordion),\n \"flr-action-group\": createFlowRemoteComponentRenderer(ActionGroup),\n \"flr-alert\": createFlowRemoteComponentRenderer(Alert),\n \"flr-alert-badge\": createFlowRemoteComponentRenderer(AlertBadge),\n \"flr-alert-icon\": createFlowRemoteComponentRenderer(AlertIcon),\n \"flr-align\": createFlowRemoteComponentRenderer(Align),\n \"flr-area\": createFlowRemoteComponentRenderer(Area),\n \"flr-area-chart\": createFlowRemoteComponentRenderer(AreaChart),\n \"flr-avatar\": createFlowRemoteComponentRenderer(Avatar),\n \"flr-avatar-stack\": createFlowRemoteComponentRenderer(AvatarStack),\n \"flr-badge\": createFlowRemoteComponentRenderer(Badge),\n \"flr-big-number\": createFlowRemoteComponentRenderer(BigNumber),\n \"flr-breadcrumb\": createFlowRemoteComponentRenderer(Breadcrumb),\n \"flr-button\": createFlowRemoteComponentRenderer(Button),\n \"flr-cartesian-grid\": createFlowRemoteComponentRenderer(CartesianGrid),\n \"flr-chart-legend\": createFlowRemoteComponentRenderer(ChartLegend),\n \"flr-chart-tooltip\": createFlowRemoteComponentRenderer(ChartTooltip),\n \"flr-chat\": createFlowRemoteComponentRenderer(Chat),\n \"flr-checkbox\": createFlowRemoteComponentRenderer(Checkbox),\n \"flr-checkbox-button\": createFlowRemoteComponentRenderer(CheckboxButton),\n \"flr-checkbox-group\": createFlowRemoteComponentRenderer(CheckboxGroup),\n \"flr-clear-props-context-content\": createFlowRemoteComponentRenderer(\n ClearPropsContextContent,\n ),\n \"flr-code-block\": createFlowRemoteComponentRenderer(CodeBlock),\n \"flr-color\": createFlowRemoteComponentRenderer(Color),\n \"flr-column-layout\": createFlowRemoteComponentRenderer(ColumnLayout),\n \"flr-content\": createFlowRemoteComponentRenderer(Content),\n \"flr-context-menu-content\":\n createFlowRemoteComponentRenderer(ContextMenuContent),\n \"flr-context-menu-section\":\n createFlowRemoteComponentRenderer(ContextMenuSection),\n \"flr-contextual-help\": createFlowRemoteComponentRenderer(ContextualHelp),\n \"flr-contextual-help-trigger\": createFlowRemoteComponentRenderer(\n ContextualHelpTrigger,\n ),\n \"flr-copy-button\": createFlowRemoteComponentRenderer(CopyButton),\n \"flr-counter-badge\": createFlowRemoteComponentRenderer(CounterBadge),\n \"flr-country-options\": createFlowRemoteComponentRenderer(CountryOptions),\n \"flr-date-picker\": createFlowRemoteComponentRenderer(DatePicker),\n \"flr-date-range-picker\": createFlowRemoteComponentRenderer(DateRangePicker),\n \"flr-dialog-trigger\": createFlowRemoteComponentRenderer(DialogTrigger),\n \"flr-div\": createFlowRemoteComponentRenderer(Div),\n \"flr-field-description\": createFlowRemoteComponentRenderer(FieldDescription),\n \"flr-field-error\": createFlowRemoteComponentRenderer(FieldError),\n \"flr-file-card\": createFlowRemoteComponentRenderer(FileCard),\n \"flr-file-card-list\": createFlowRemoteComponentRenderer(FileCardList),\n \"flr-file-field\": createFlowRemoteComponentRenderer(FileField),\n \"flr-flex\": createFlowRemoteComponentRenderer(Flex),\n \"flr-header\": createFlowRemoteComponentRenderer(Header),\n \"flr-header-navigation\": createFlowRemoteComponentRenderer(HeaderNavigation),\n \"flr-heading\": createFlowRemoteComponentRenderer(Heading),\n \"flr-icon\": createFlowRemoteComponentRenderer(Icon),\n \"flr-illustrated-message\":\n createFlowRemoteComponentRenderer(IllustratedMessage),\n \"flr-image\": createFlowRemoteComponentRenderer(Image),\n \"flr-initials\": createFlowRemoteComponentRenderer(Initials),\n \"flr-inline-code\": createFlowRemoteComponentRenderer(InlineCode),\n \"flr-items-grid-list\": createFlowRemoteComponentRenderer(ItemsGridList),\n \"flr-items-grid-list-item\":\n createFlowRemoteComponentRenderer(ItemsGridListItem),\n \"flr-label\": createFlowRemoteComponentRenderer(Label),\n \"flr-labeled-value\": createFlowRemoteComponentRenderer(LabeledValue),\n \"flr-layout-card\": createFlowRemoteComponentRenderer(LayoutCard),\n \"flr-legend\": createFlowRemoteComponentRenderer(Legend),\n \"flr-light-box\": createFlowRemoteComponentRenderer(LightBox),\n \"flr-light-box-trigger\": createFlowRemoteComponentRenderer(LightBoxTrigger),\n \"flr-link\": createFlowRemoteComponentRenderer(Link),\n \"flr-list-empty-view\": createFlowRemoteComponentRenderer(ListEmptyView),\n \"flr-list-item-view-content\":\n createFlowRemoteComponentRenderer(ListItemViewContent),\n \"flr-list-summary\": createFlowRemoteComponentRenderer(ListSummary),\n \"flr-loading-spinner\": createFlowRemoteComponentRenderer(LoadingSpinner),\n \"flr-markdown\": createFlowRemoteComponentRenderer(Markdown),\n \"flr-menu-item\": createFlowRemoteComponentRenderer(MenuItem),\n \"flr-menu-trigger\": createFlowRemoteComponentRenderer(MenuTrigger),\n \"flr-message\": createFlowRemoteComponentRenderer(Message),\n \"flr-message-separator\": createFlowRemoteComponentRenderer(MessageSeparator),\n \"flr-message-thread\": createFlowRemoteComponentRenderer(MessageThread),\n \"flr-navigation\": createFlowRemoteComponentRenderer(Navigation),\n \"flr-navigation-group\": createFlowRemoteComponentRenderer(NavigationGroup),\n \"flr-notification\": createFlowRemoteComponentRenderer(Notification),\n \"flr-number-field\": createFlowRemoteComponentRenderer(NumberField),\n \"flr-option\": createFlowRemoteComponentRenderer(Option),\n \"flr-overlay-content\": createFlowRemoteComponentRenderer(OverlayContent),\n \"flr-popover-content\": createFlowRemoteComponentRenderer(PopoverContent),\n \"flr-progress-bar\": createFlowRemoteComponentRenderer(ProgressBar),\n \"flr-radio\": createFlowRemoteComponentRenderer(Radio),\n \"flr-radio-button\": createFlowRemoteComponentRenderer(RadioButton),\n \"flr-radio-group\": createFlowRemoteComponentRenderer(RadioGroup),\n \"flr-rating\": createFlowRemoteComponentRenderer(Rating),\n \"flr-search-field\": createFlowRemoteComponentRenderer(SearchField),\n \"flr-section\": createFlowRemoteComponentRenderer(Section),\n \"flr-segment\": createFlowRemoteComponentRenderer(Segment),\n \"flr-segmented-control\": createFlowRemoteComponentRenderer(SegmentedControl),\n \"flr-select\": createFlowRemoteComponentRenderer(Select),\n \"flr-separator\": createFlowRemoteComponentRenderer(Separator),\n \"flr-skeleton\": createFlowRemoteComponentRenderer(Skeleton),\n \"flr-skeleton-text\": createFlowRemoteComponentRenderer(SkeletonText),\n \"flr-slider\": createFlowRemoteComponentRenderer(Slider),\n \"flr-switch\": createFlowRemoteComponentRenderer(Switch),\n \"flr-tab\": createFlowRemoteComponentRenderer(Tab),\n \"flr-tab-title\": createFlowRemoteComponentRenderer(TabTitle),\n \"flr-table\": createFlowRemoteComponentRenderer(Table),\n \"flr-table-body\": createFlowRemoteComponentRenderer(TableBody),\n \"flr-table-cell\": createFlowRemoteComponentRenderer(TableCell),\n \"flr-table-column\": createFlowRemoteComponentRenderer(TableColumn),\n \"flr-table-footer-row\": createFlowRemoteComponentRenderer(TableFooterRow),\n \"flr-table-header\": createFlowRemoteComponentRenderer(TableHeader),\n \"flr-table-row\": createFlowRemoteComponentRenderer(TableRow),\n \"flr-tabs\": createFlowRemoteComponentRenderer(Tabs),\n \"flr-text\": createFlowRemoteComponentRenderer(Text),\n \"flr-text-area\": createFlowRemoteComponentRenderer(TextArea),\n \"flr-text-field\": createFlowRemoteComponentRenderer(TextField),\n \"flr-time-field\": createFlowRemoteComponentRenderer(TimeField),\n \"flr-tooltip\": createFlowRemoteComponentRenderer(Tooltip),\n \"flr-tooltip-trigger\": createFlowRemoteComponentRenderer(TooltipTrigger),\n \"flr-x-axis\": createFlowRemoteComponentRenderer(XAxis),\n \"flr-y-axis\": createFlowRemoteComponentRenderer(YAxis),\n} as const;\n\nexport default flowComponents;\n"],"names":["ItemsGridList","ItemsGridListItem","ListEmptyView"],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ "use client"
2
+ /* */
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { forwardRef } from "react";
5
+ import { getFormDataObject } from "./lib/getFormDataObject.mjs";
6
+ const Form = forwardRef((props, ref) => {
7
+ const {
8
+ action: actionFromProps,
9
+ onSubmit: onSubmitFromProps,
10
+ ...rest
11
+ } = props;
12
+ const action = typeof actionFromProps === "function" ? (formData) => actionFromProps(getFormDataObject(formData)) : actionFromProps;
13
+ const onSubmit = onSubmitFromProps ? (e) => {
14
+ e.preventDefault();
15
+ onSubmitFromProps(getFormDataObject(new FormData(e.currentTarget)));
16
+ } : void 0;
17
+ return /* @__PURE__ */ jsx("form", { ref, ...rest, action, onSubmit });
18
+ });
19
+ export {
20
+ Form
21
+ };
22
+ //# sourceMappingURL=Form.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.mjs","sources":["../../../src/components/Form.tsx"],"sourcesContent":["import type {\n FC,\n FormEvent,\n FormHTMLAttributes,\n PropsWithChildren,\n} from \"react\";\nimport React, { forwardRef } from \"react\";\nimport { getFormDataObject } from \"@/components/lib/getFormDataObject\";\n\ntype FormProps = Pick<FormHTMLAttributes<HTMLFormElement>, \"action\"> & {\n onSubmit?: (data: Record<string, unknown>) => void;\n} & PropsWithChildren;\n\nexport const Form: FC = forwardRef<HTMLFormElement, FormProps>((props, ref) => {\n const {\n action: actionFromProps,\n onSubmit: onSubmitFromProps,\n ...rest\n } = props;\n\n const action =\n typeof actionFromProps === \"function\"\n ? (formData: FormData) =>\n actionFromProps(getFormDataObject(formData) as unknown as FormData)\n : actionFromProps;\n\n const onSubmit = onSubmitFromProps\n ? (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n onSubmitFromProps(getFormDataObject(new FormData(e.currentTarget)));\n }\n : undefined;\n\n return <form ref={ref} {...rest} action={action} onSubmit={onSubmit} />;\n});\n"],"names":[],"mappings":";;;AAaO,MAAM,OAAW,WAAuC,CAAC,OAAO,QAAQ;AACvE,QAAA;AAAA,IACJ,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,GAAG;AAAA,EAAA,IACD;AAEE,QAAA,SACJ,OAAO,oBAAoB,aACvB,CAAC,aACC,gBAAgB,kBAAkB,QAAQ,CAAwB,IACpE;AAEA,QAAA,WAAW,oBACb,CAAC,MAAkC;AACjC,MAAE,eAAe;AACjB,sBAAkB,kBAAkB,IAAI,SAAS,EAAE,aAAa,CAAC,CAAC;AAAA,EAAA,IAEpE;AAEJ,6BAAQ,QAAK,EAAA,KAAW,GAAG,MAAM,QAAgB,UAAoB;AACvE,CAAC;"}
@@ -0,0 +1,25 @@
1
+ "use client"
2
+ /* */
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { useNotificationController, Notification } from "@mittwald/flow-react-components";
5
+ import { useRef, useEffect } from "react";
6
+ const NotificationRenderController = (props) => {
7
+ const notifications = useNotificationController();
8
+ const isAdded = useRef(false);
9
+ useEffect(() => {
10
+ if (isAdded.current) {
11
+ return;
12
+ }
13
+ const id = notifications.add(/* @__PURE__ */ jsx(Notification, { ...props }));
14
+ isAdded.current = true;
15
+ return () => {
16
+ notifications.remove(id);
17
+ isAdded.current = false;
18
+ };
19
+ }, [notifications]);
20
+ return null;
21
+ };
22
+ export {
23
+ NotificationRenderController
24
+ };
25
+ //# sourceMappingURL=NotificationRenderController.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotificationRenderController.mjs","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"],"names":[],"mappings":";;;AAOa,MAAA,+BAAsD,CAAC,UAAU;AAC5E,QAAM,gBAAgB,0BAA0B;AAC1C,QAAA,UAAU,OAAO,KAAK;AAE5B,YAAU,MAAM;AACd,QAAI,QAAQ,SAAS;AACnB;AAAA,IAAA;AAGF,UAAM,KAAK,cAAc,wBAAK,cAAc,EAAA,GAAG,OAAO,CAAE;AACxD,YAAQ,UAAU;AAElB,WAAO,MAAM;AACX,oBAAc,OAAO,EAAE;AACvB,cAAQ,UAAU;AAAA,IACpB;AAAA,EAAA,GACC,CAAC,aAAa,CAAC;AAEX,SAAA;AACT;"}
@@ -0,0 +1,11 @@
1
+ "use client"
2
+ /* */
3
+ import React, { createElement } from "react";
4
+ const SlotRootWrapper = (props) => {
5
+ return createElement(React.Fragment, {}, props.children);
6
+ };
7
+ export {
8
+ SlotRootWrapper,
9
+ SlotRootWrapper as default
10
+ };
11
+ //# sourceMappingURL=SlotRootWrapper.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlotRootWrapper.mjs","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"],"names":[],"mappings":";AAEa,MAAA,kBAAyC,CAAC,UAAU;AAC/D,SAAO,cAAc,MAAM,UAAU,CAAA,GAAI,MAAM,QAAQ;AACzD;"}
@@ -0,0 +1,7 @@
1
+ "use client"
2
+ /* */
3
+ const getFormDataObject = (formData) => Object.fromEntries(Array.from(formData.entries()));
4
+ export {
5
+ getFormDataObject
6
+ };
7
+ //# sourceMappingURL=getFormDataObject.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFormDataObject.mjs","sources":["../../../../src/components/lib/getFormDataObject.ts"],"sourcesContent":["export const getFormDataObject = (\n formData: FormData,\n): Record<string, unknown> =>\n Object.fromEntries(Array.from(formData.entries()));\n"],"names":[],"mappings":"AAAa,MAAA,oBAAoB,CAC/B,aAEA,OAAO,YAAY,MAAM,KAAK,SAAS,SAAS,CAAC;"}
@@ -0,0 +1,32 @@
1
+ "use client"
2
+ /* */
3
+ import { createFlowRemoteComponentRenderer } from "./lib/createFlowRemoteComponentRenderer.mjs";
4
+ import { elementFactory } from "./lib/elementFactory.mjs";
5
+ import { createRemoteComponentRenderer } from "@mittwald/remote-dom-react/host";
6
+ import { flowComponents } from "./auto-generated/index.mjs";
7
+ import { Form } from "./components/Form.mjs";
8
+ import { SlotRootWrapper } from "./components/SlotRootWrapper.mjs";
9
+ import { NotificationRenderController } from "./components/NotificationRenderController.mjs";
10
+ const htmlComponentsMap = {
11
+ svg: createRemoteComponentRenderer(elementFactory("svg")),
12
+ circle: createRemoteComponentRenderer(elementFactory("circle")),
13
+ g: createRemoteComponentRenderer(elementFactory("g")),
14
+ path: createRemoteComponentRenderer(elementFactory("path")),
15
+ strong: createRemoteComponentRenderer(elementFactory("strong"))
16
+ };
17
+ const flowComponentsMap = {
18
+ "flr-form": createFlowRemoteComponentRenderer(Form),
19
+ "flr-slot-root-wrapper": createFlowRemoteComponentRenderer(SlotRootWrapper),
20
+ "flr-notification": createFlowRemoteComponentRenderer(
21
+ NotificationRenderController
22
+ )
23
+ };
24
+ const components = {
25
+ ...htmlComponentsMap,
26
+ ...flowComponents,
27
+ ...flowComponentsMap
28
+ };
29
+ export {
30
+ components
31
+ };
32
+ //# sourceMappingURL=components.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.mjs","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 { 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} as const;\n\nconst flowComponentsMap = {\n \"flr-form\": createFlowRemoteComponentRenderer(Form),\n \"flr-slot-root-wrapper\": createFlowRemoteComponentRenderer(SlotRootWrapper),\n \"flr-notification\": createFlowRemoteComponentRenderer(\n NotificationRenderController,\n ),\n};\n\nexport const components = {\n ...htmlComponentsMap,\n ...autoGenerated,\n ...flowComponentsMap,\n};\n"],"names":["autoGenerated"],"mappings":";;;;;;;AAOA,MAAM,oBAAoB;AAAA,EACxB,KAAK,8BAA8B,eAAe,KAAK,CAAC;AAAA,EACxD,QAAQ,8BAA8B,eAAe,QAAQ,CAAC;AAAA,EAC9D,GAAG,8BAA8B,eAAe,GAAG,CAAC;AAAA,EACpD,MAAM,8BAA8B,eAAe,MAAM,CAAC;AAAA,EAC1D,QAAQ,8BAA8B,eAAe,QAAQ,CAAC;AAChE;AAEA,MAAM,oBAAoB;AAAA,EACxB,YAAY,kCAAkC,IAAI;AAAA,EAClD,yBAAyB,kCAAkC,eAAe;AAAA,EAC1E,oBAAoB;AAAA,IAClB;AAAA,EAAA;AAEJ;AAEO,MAAM,aAAa;AAAA,EACxB,GAAG;AAAA,EACH,GAAGA;AAAAA,EACH,GAAG;AACL;"}
@@ -0,0 +1,26 @@
1
+ "use client"
2
+ /* */
3
+ import { useMemo } from "react";
4
+ function useAwaiter(deps = []) {
5
+ return useMemo(() => {
6
+ let resolve;
7
+ let reject;
8
+ const promise = new Promise((res, rej) => {
9
+ resolve = res;
10
+ reject = rej;
11
+ });
12
+ return {
13
+ promise,
14
+ resolve: (res) => {
15
+ resolve(res);
16
+ },
17
+ reject: (error) => {
18
+ reject(error);
19
+ }
20
+ };
21
+ }, deps);
22
+ }
23
+ export {
24
+ useAwaiter
25
+ };
26
+ //# sourceMappingURL=useAwaiter.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAwaiter.mjs","sources":["../../../src/hooks/useAwaiter.ts"],"sourcesContent":["import { useMemo, type DependencyList } from \"react\";\n\ninterface Awaiter<T = undefined> {\n promise: Promise<T>;\n resolve: T extends undefined ? () => void : (res: T) => void;\n reject: (error: unknown) => void;\n}\n\nexport function useAwaiter<T = undefined>(\n deps: DependencyList = [],\n): Awaiter<T> {\n return useMemo(() => {\n let resolve: (res: T) => void;\n let reject: (error: unknown) => void;\n const promise = new Promise<T>((res, rej) => {\n resolve = res;\n reject = rej;\n });\n return {\n promise,\n resolve: (res) => {\n resolve(res);\n },\n reject: (error) => {\n reject(error);\n },\n } as Awaiter<T>;\n }, deps);\n}\n"],"names":[],"mappings":";AAQgB,SAAA,WACd,OAAuB,IACX;AACZ,SAAO,QAAQ,MAAM;AACf,QAAA;AACA,QAAA;AACJ,UAAM,UAAU,IAAI,QAAW,CAAC,KAAK,QAAQ;AACjC,gBAAA;AACD,eAAA;AAAA,IAAA,CACV;AACM,WAAA;AAAA,MACL;AAAA,MACA,SAAS,CAAC,QAAQ;AAChB,gBAAQ,GAAG;AAAA,MACb;AAAA,MACA,QAAQ,CAAC,UAAU;AACjB,eAAO,KAAK;AAAA,MAAA;AAAA,IAEhB;AAAA,KACC,IAAI;AACT;"}
@@ -0,0 +1,24 @@
1
+ "use client"
2
+ /* */
3
+ import { components } from "../components.mjs";
4
+ import { useMemo } from "react";
5
+ import { reduce } from "remeda";
6
+ const useMergedComponents = (integrations) => useMemo(
7
+ () => new Map(
8
+ Object.entries(
9
+ reduce(
10
+ [...integrations, components],
11
+ (merged, current) => ({
12
+ ...merged,
13
+ ...current
14
+ }),
15
+ {}
16
+ )
17
+ )
18
+ ),
19
+ [...integrations]
20
+ );
21
+ export {
22
+ useMergedComponents
23
+ };
24
+ //# sourceMappingURL=useMergedComponents.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMergedComponents.mjs","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"],"names":[],"mappings":";;;AAMa,MAAA,sBAAsB,CACjC,iBAEA;AAAA,EACE,MACE,IAAI;AAAA,IACF,OAAO;AAAA,MACL;AAAA,QACE,CAAC,GAAG,cAAc,UAAU;AAAA,QAC5B,CAAC,QAAQ,aAAa;AAAA,UACpB,GAAG;AAAA,UACH,GAAG;AAAA,QAAA;AAAA,QAEL,CAAA;AAAA,MAAC;AAAA,IACH;AAAA,EAEJ;AAAA,EACF,CAAC,GAAG,YAAY;AAClB;"}
@@ -0,0 +1,7 @@
1
+ "use client"
2
+ /* */
3
+ import { RemoteRenderer } from "./RemoteRenderer.mjs";
4
+ export {
5
+ RemoteRenderer
6
+ };
7
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,36 @@
1
+ "use client"
2
+ /* */
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { isEventProp, isStyleProp, isReactSuspendedStyle } from "./propClassifiers.mjs";
5
+ import { createRemoteComponentRenderer } from "@mittwald/remote-dom-react/host";
6
+ import { mapEventHandler } from "@mittwald/flow-remote-core";
7
+ import "react";
8
+ import { mapValues } from "remeda";
9
+ const mapProperty = (val, key) => {
10
+ if (isEventProp(key, val)) {
11
+ return mapEventHandler(val, key);
12
+ }
13
+ if (isStyleProp(key)) {
14
+ if (isReactSuspendedStyle(val)) {
15
+ return {
16
+ display: "none"
17
+ };
18
+ }
19
+ return {};
20
+ }
21
+ return val;
22
+ };
23
+ const createFlowRemoteComponentRenderer = (Component) => {
24
+ function HostComponent(props) {
25
+ const hostComponentProps = mapValues(
26
+ props,
27
+ (v, k) => mapProperty(v, k)
28
+ );
29
+ return /* @__PURE__ */ jsx(Component, { ...hostComponentProps });
30
+ }
31
+ return createRemoteComponentRenderer(HostComponent);
32
+ };
33
+ export {
34
+ createFlowRemoteComponentRenderer
35
+ };
36
+ //# sourceMappingURL=createFlowRemoteComponentRenderer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFlowRemoteComponentRenderer.mjs","sources":["../../../src/lib/createFlowRemoteComponentRenderer.tsx"],"sourcesContent":["import {\n isEventProp,\n isReactSuspendedStyle,\n isStyleProp,\n} from \"@/lib/propClassifiers\";\nimport type { RemoteComponentRendererProps } from \"@mittwald/remote-dom-react/host\";\nimport { createRemoteComponentRenderer } from \"@mittwald/remote-dom-react/host\";\nimport { mapEventHandler } from \"@mittwald/flow-remote-core\";\nimport { type ComponentType } from \"react\";\nimport { mapValues } from \"remeda\";\n\nconst mapProperty = (val: unknown, key: string) => {\n if (isEventProp(key, val)) {\n return mapEventHandler(val, key);\n }\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 Component: ComponentType<P>,\n): ComponentType<RemoteComponentRendererProps> => {\n function HostComponent(props: P) {\n const hostComponentProps = mapValues(props, (v, k) =>\n mapProperty(v, k),\n ) as P;\n\n return <Component {...hostComponentProps} />;\n }\n return createRemoteComponentRenderer(HostComponent);\n};\n"],"names":[],"mappings":";;;;;;AAWA,MAAM,cAAc,CAAC,KAAc,QAAgB;AAC7C,MAAA,YAAY,KAAK,GAAG,GAAG;AAClB,WAAA,gBAAgB,KAAK,GAAG;AAAA,EAAA;AAE7B,MAAA,YAAY,GAAG,GAAG;AAChB,QAAA,sBAAsB,GAAG,GAAG;AACvB,aAAA;AAAA,QACL,SAAS;AAAA,MACX;AAAA,IAAA;AAEF,WAAO,CAAC;AAAA,EAAA;AAEH,SAAA;AACT;AAEa,MAAA,oCAAoC,CAC/C,cACgD;AAChD,WAAS,cAAc,OAAU;AAC/B,UAAM,qBAAqB;AAAA,MAAU;AAAA,MAAO,CAAC,GAAG,MAC9C,YAAY,GAAG,CAAC;AAAA,IAClB;AAEO,WAAA,oBAAC,WAAW,EAAA,GAAG,mBAAoB,CAAA;AAAA,EAAA;AAE5C,SAAO,8BAA8B,aAAa;AACpD;"}
@@ -0,0 +1,19 @@
1
+ "use client"
2
+ /* */
3
+ import { mapAttributeToReactProperty } from "./mapAttributeToReactProperty.mjs";
4
+ import clsx from "clsx";
5
+ import { createElement } from "react";
6
+ import { mapKeys } from "remeda";
7
+ const elementFactory = (element) => (props) => {
8
+ const result = { ...props };
9
+ result["className"] = clsx(
10
+ "className" in result && String(result["className"]),
11
+ "class" in result && String(result["class"])
12
+ );
13
+ delete result["class"];
14
+ return createElement(element, mapKeys(result, mapAttributeToReactProperty));
15
+ };
16
+ export {
17
+ elementFactory
18
+ };
19
+ //# sourceMappingURL=elementFactory.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elementFactory.mjs","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\nexport const elementFactory =\n <E extends keyof ElementTagNameMap>(element: E) =>\n (props: Record<string, unknown>) => {\n const result = { ...props };\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"],"names":[],"mappings":";;;;AAWO,MAAM,iBACX,CAAoC,YACpC,CAAC,UAAmC;AAC5B,QAAA,SAAS,EAAE,GAAG,MAAM;AAG1B,SAAO,WAAW,IAAI;AAAA,IACpB,eAAe,UAAU,OAAO,OAAO,WAAW,CAAC;AAAA,IACnD,WAAW,UAAU,OAAO,OAAO,OAAO,CAAC;AAAA,EAC7C;AAEA,SAAO,OAAO,OAAO;AAErB,SAAO,cAAc,SAAS,QAAQ,QAAQ,2BAA2B,CAAC;AAC5E;"}
@@ -0,0 +1,14 @@
1
+ "use client"
2
+ /* */
3
+ import { toCamelCase } from "remeda";
4
+ const keepWhenStartsWith = ["aria-", "data-"];
5
+ const mapAttributeToReactProperty = (key) => {
6
+ if (keepWhenStartsWith.some((prefix) => key.startsWith(prefix))) {
7
+ return key;
8
+ }
9
+ return toCamelCase(key);
10
+ };
11
+ export {
12
+ mapAttributeToReactProperty
13
+ };
14
+ //# sourceMappingURL=mapAttributeToReactProperty.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapAttributeToReactProperty.mjs","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"],"names":[],"mappings":";AAEA,MAAM,qBAAqB,CAAC,SAAS,OAAO;AAE/B,MAAA,8BAA8B,CAAC,QAAgB;AACtD,MAAA,mBAAmB,KAAK,CAAC,WAAW,IAAI,WAAW,MAAM,CAAC,GAAG;AACxD,WAAA;AAAA,EAAA;AAGT,SAAO,YAAY,GAAG;AACxB;"}
@@ -0,0 +1,13 @@
1
+ "use client"
2
+ /* */
3
+ import { isFunction } from "remeda";
4
+ const defaultEventPropMatcher = /on[A-Z].*/;
5
+ const isEventProp = (name, value) => !!name.match(defaultEventPropMatcher) && isFunction(value);
6
+ const isStyleProp = (name) => name === "style";
7
+ const isReactSuspendedStyle = (value) => value === "display: none !important;";
8
+ export {
9
+ isEventProp,
10
+ isReactSuspendedStyle,
11
+ isStyleProp
12
+ };
13
+ //# sourceMappingURL=propClassifiers.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propClassifiers.mjs","sources":["../../../src/lib/propClassifiers.ts"],"sourcesContent":["import { isFunction } from \"remeda\";\nimport type { EventHandler } from \"@mittwald/flow-remote-core\";\n\nconst defaultEventPropMatcher = /on[A-Z].*/;\n\nexport const isEventProp = (\n name: string,\n value: unknown,\n): value is EventHandler =>\n !!name.match(defaultEventPropMatcher) && isFunction(value);\n\nexport const isStyleProp = (name: string): boolean => name === \"style\";\n\nexport const isReactSuspendedStyle = (value: unknown): boolean =>\n value === \"display: none !important;\";\n"],"names":[],"mappings":";AAGA,MAAM,0BAA0B;AAEnB,MAAA,cAAc,CACzB,MACA,UAEA,CAAC,CAAC,KAAK,MAAM,uBAAuB,KAAK,WAAW,KAAK;AAE9C,MAAA,cAAc,CAAC,SAA0B,SAAS;AAElD,MAAA,wBAAwB,CAAC,UACpC,UAAU;"}