@mittwald/flow-remote-react-renderer 0.2.0-alpha.29 → 0.2.0-alpha.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/js/RemoteRenderer.mjs +16 -0
- package/dist/js/RemoteRenderer.mjs.map +1 -0
- package/dist/js/RemoteRendererClient.mjs +51 -0
- package/dist/js/RemoteRendererClient.mjs.map +1 -0
- package/dist/js/auto-generated/index.mjs +108 -0
- package/dist/js/auto-generated/index.mjs.map +1 -0
- package/dist/js/components/Form.mjs +22 -0
- package/dist/js/components/Form.mjs.map +1 -0
- package/dist/js/components/lib/getFormDataObject.mjs +7 -0
- package/dist/js/components/lib/getFormDataObject.mjs.map +1 -0
- package/dist/js/components.mjs +26 -0
- package/dist/js/components.mjs.map +1 -0
- package/dist/js/hooks/useIsMounted.mjs +14 -0
- package/dist/js/hooks/useIsMounted.mjs.map +1 -0
- package/dist/js/index.mjs +7 -0
- package/dist/js/index.mjs.map +1 -0
- package/dist/js/lib/createFlowRemoteComponentRenderer.mjs +36 -0
- package/dist/js/lib/createFlowRemoteComponentRenderer.mjs.map +1 -0
- package/dist/js/lib/elementFactory.mjs +19 -0
- package/dist/js/lib/elementFactory.mjs.map +1 -0
- package/dist/js/lib/mapAttributeToReactProperty.mjs +14 -0
- package/dist/js/lib/mapAttributeToReactProperty.mjs.map +1 -0
- package/dist/js/lib/propClassifiers.mjs +13 -0
- package/dist/js/lib/propClassifiers.mjs.map +1 -0
- package/dist/types/components.d.ts +1 -0
- package/dist/types/components.d.ts.map +1 -1
- package/package.json +12 -12
- package/dist/RemoteRenderer.js +0 -15
- package/dist/RemoteRendererClient-oNNsH8Nc.js +0 -181
- package/dist/index.js +0 -6
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
/* */
|
|
3
|
+
"use client";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import React from "react";
|
|
6
|
+
import { useIsMounted } from "./hooks/useIsMounted.mjs";
|
|
7
|
+
const RemoteRendererClient = React.lazy(() => import("./RemoteRendererClient.mjs"));
|
|
8
|
+
const RemoteRenderer = (props) => {
|
|
9
|
+
const isMounted = useIsMounted();
|
|
10
|
+
return isMounted ? /* @__PURE__ */ jsx(RemoteRendererClient, { ...props }) : null;
|
|
11
|
+
};
|
|
12
|
+
export {
|
|
13
|
+
RemoteRenderer,
|
|
14
|
+
RemoteRenderer as default
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=RemoteRenderer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteRenderer.mjs","sources":["../../src/RemoteRenderer.tsx"],"sourcesContent":["\"use client\";\nimport type { FC } from \"react\";\nimport React from \"react\";\nimport { useIsMounted } from \"@/hooks/useIsMounted\";\nimport type { RemoteRendererProps } from \"@/RemoteRendererClient\";\n\nconst RemoteRendererClient = React.lazy(() => import(\"./RemoteRendererClient\"));\n\nexport const RemoteRenderer: FC<RemoteRendererProps> = (props) => {\n const isMounted = useIsMounted();\n return isMounted ? <RemoteRendererClient {...props} /> : null;\n};\n\nexport default RemoteRenderer;\n"],"names":[],"mappings":";;;;AAMA,MAAM,uBAAuB,MAAM,KAAK,MAAM,OAAO,4BAAwB,CAAC;AAEjE,MAAA,iBAA0C,CAAC,UAAU;AAChE,QAAM,YAAY,aAAa;AAC/B,SAAO,YAAY,oBAAC,sBAAsB,EAAA,GAAG,MAAO,CAAA,IAAK;AAC3D;"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
/* */
|
|
3
|
+
"use client";
|
|
4
|
+
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
5
|
+
import { RemoteReceiver, RemoteRootRenderer } from "@remote-dom/react/host";
|
|
6
|
+
import { useMemo } from "react";
|
|
7
|
+
import { components } from "./components.mjs";
|
|
8
|
+
import { reduce } from "remeda";
|
|
9
|
+
import { connectRemoteIframeRef } from "@mittwald/flow-remote-core";
|
|
10
|
+
const RemoteRendererClient = (props) => {
|
|
11
|
+
const { integrations = [], src, iframeStyle } = props;
|
|
12
|
+
const receiver = useMemo(() => new RemoteReceiver(), []);
|
|
13
|
+
const mergedComponents = useMemo(() => {
|
|
14
|
+
return new Map(
|
|
15
|
+
Object.entries(
|
|
16
|
+
reduce(
|
|
17
|
+
[...integrations, components],
|
|
18
|
+
(merged, current) => ({
|
|
19
|
+
...merged,
|
|
20
|
+
...current
|
|
21
|
+
}),
|
|
22
|
+
{}
|
|
23
|
+
)
|
|
24
|
+
)
|
|
25
|
+
);
|
|
26
|
+
}, [...integrations]);
|
|
27
|
+
const remoteFrame = /* @__PURE__ */ jsx(
|
|
28
|
+
"iframe",
|
|
29
|
+
{
|
|
30
|
+
ref: connectRemoteIframeRef(receiver.connection),
|
|
31
|
+
src,
|
|
32
|
+
style: iframeStyle ?? {
|
|
33
|
+
visibility: "hidden",
|
|
34
|
+
height: 0,
|
|
35
|
+
width: 0,
|
|
36
|
+
border: "none",
|
|
37
|
+
position: "absolute",
|
|
38
|
+
marginLeft: "-9999px"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
43
|
+
/* @__PURE__ */ jsx(RemoteRootRenderer, { components: mergedComponents, receiver }),
|
|
44
|
+
remoteFrame
|
|
45
|
+
] });
|
|
46
|
+
};
|
|
47
|
+
export {
|
|
48
|
+
RemoteRendererClient,
|
|
49
|
+
RemoteRendererClient as default
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=RemoteRendererClient.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteRendererClient.mjs","sources":["../../src/RemoteRendererClient.tsx"],"sourcesContent":["\"use client\";\nimport type { RemoteComponentRendererProps } from \"@remote-dom/react/host\";\nimport { RemoteReceiver, RemoteRootRenderer } from \"@remote-dom/react/host\";\nimport type { ComponentType, CSSProperties, FC } from \"react\";\nimport React, { useMemo } from \"react\";\nimport { components } from \"@/components\";\nimport type { RemoteComponentsMap } from \"@/lib/types\";\nimport { reduce } from \"remeda\";\nimport { connectRemoteIframeRef } from \"@mittwald/flow-remote-core\";\n\nexport interface RemoteRendererProps {\n integrations?: RemoteComponentsMap<never>[];\n src: string;\n iframeStyle?: CSSProperties;\n}\n\nexport const RemoteRendererClient: FC<RemoteRendererProps> = (props) => {\n const { integrations = [], src, iframeStyle } = props;\n const receiver = useMemo(() => new RemoteReceiver(), []);\n\n const mergedComponents = useMemo(() => {\n return 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 const remoteFrame = (\n <iframe\n ref={connectRemoteIframeRef(receiver.connection)}\n src={src}\n style={\n iframeStyle ?? {\n visibility: \"hidden\",\n height: 0,\n width: 0,\n border: \"none\",\n position: \"absolute\",\n marginLeft: \"-9999px\",\n }\n }\n />\n );\n\n return (\n <>\n <RemoteRootRenderer components={mergedComponents} receiver={receiver} />\n {remoteFrame}\n </>\n );\n};\n\nexport default RemoteRendererClient;\n"],"names":[],"mappings":";;;;;;;AAgBa,MAAA,uBAAgD,CAAC,UAAU;AACtE,QAAM,EAAE,eAAe,CAAA,GAAI,KAAK,YAAgB,IAAA;AAChD,QAAM,WAAW,QAAQ,MAAM,IAAI,eAAe,GAAG,CAAA,CAAE;AAEjD,QAAA,mBAAmB,QAAQ,MAAM;AACrC,WAAO,IAAI;AAAA,MACT,OAAO;AAAA,QACL;AAAA,UACE,CAAC,GAAG,cAAc,UAAU;AAAA,UAC5B,CAAC,QAAQ,aAAa;AAAA,YACpB,GAAG;AAAA,YACH,GAAG;AAAA,UAAA;AAAA,UAEL,CAAA;AAAA,QAAC;AAAA,MACH;AAAA,IAEJ;AAAA,EAAA,GACC,CAAC,GAAG,YAAY,CAAC;AAEpB,QAAM,cACJ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK,uBAAuB,SAAS,UAAU;AAAA,MAC/C;AAAA,MACA,OACE,eAAe;AAAA,QACb,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,YAAY;AAAA,MAAA;AAAA,IACd;AAAA,EAEJ;AAGF,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAC,oBAAA,oBAAA,EAAmB,YAAY,kBAAkB,SAAoB,CAAA;AAAA,IACrE;AAAA,EAAA,GACH;AAEJ;"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
/* */
|
|
3
|
+
import { createFlowRemoteComponentRenderer } from "../lib/createFlowRemoteComponentRenderer.mjs";
|
|
4
|
+
import { 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, RadioGroup, RadioButton, Radio, ProgressBar, PopoverContent, OverlayContent, Option, NumberField, NotificationProvider, Notification, NavigationGroup, Navigation, Message, MenuTrigger, MenuItem, Markdown, LoadingSpinner, ListSummary, ListItemViewContent, EmptyView, Link, LightBoxTrigger, LightBox, LayoutCard, LabeledValue, Label, GridListItem, GridList, InlineCode, Initials, Image, IllustratedMessage, Icon, Heading, HeaderNavigation, Header, Fragment, FileField, FileCardList, FileCard, FieldError, FieldDescription, Div, DialogTrigger, DateRangePicker, DatePicker, CountryOptions, CounterBadge, CopyButton, ContextualHelpTrigger, ContextualHelp, ContextMenuSection, ContextMenuContent, Content, ColumnLayout, CodeBlock, CheckboxGroup, CheckboxButton, Checkbox, Button, Breadcrumb, Badge, Avatar, Align, AlertIcon, AlertBadge, Alert, ActionGroup, Accordion } from "@mittwald/flow-react-components";
|
|
5
|
+
const flowComponents = {
|
|
6
|
+
"flr-accordion": createFlowRemoteComponentRenderer(Accordion),
|
|
7
|
+
"flr-action-group": createFlowRemoteComponentRenderer(ActionGroup),
|
|
8
|
+
"flr-alert": createFlowRemoteComponentRenderer(Alert),
|
|
9
|
+
"flr-alert-badge": createFlowRemoteComponentRenderer(AlertBadge),
|
|
10
|
+
"flr-alert-icon": createFlowRemoteComponentRenderer(AlertIcon),
|
|
11
|
+
"flr-align": createFlowRemoteComponentRenderer(Align),
|
|
12
|
+
"flr-avatar": createFlowRemoteComponentRenderer(Avatar),
|
|
13
|
+
"flr-badge": createFlowRemoteComponentRenderer(Badge),
|
|
14
|
+
"flr-breadcrumb": createFlowRemoteComponentRenderer(Breadcrumb),
|
|
15
|
+
"flr-button": createFlowRemoteComponentRenderer(Button),
|
|
16
|
+
"flr-checkbox": createFlowRemoteComponentRenderer(Checkbox),
|
|
17
|
+
"flr-checkbox-button": createFlowRemoteComponentRenderer(CheckboxButton),
|
|
18
|
+
"flr-checkbox-group": createFlowRemoteComponentRenderer(CheckboxGroup),
|
|
19
|
+
"flr-code-block": createFlowRemoteComponentRenderer(CodeBlock),
|
|
20
|
+
"flr-column-layout": createFlowRemoteComponentRenderer(ColumnLayout),
|
|
21
|
+
"flr-content": createFlowRemoteComponentRenderer(Content),
|
|
22
|
+
"flr-context-menu-content": createFlowRemoteComponentRenderer(ContextMenuContent),
|
|
23
|
+
"flr-context-menu-section": createFlowRemoteComponentRenderer(ContextMenuSection),
|
|
24
|
+
"flr-contextual-help": createFlowRemoteComponentRenderer(ContextualHelp),
|
|
25
|
+
"flr-contextual-help-trigger": createFlowRemoteComponentRenderer(
|
|
26
|
+
ContextualHelpTrigger
|
|
27
|
+
),
|
|
28
|
+
"flr-copy-button": createFlowRemoteComponentRenderer(CopyButton),
|
|
29
|
+
"flr-counter-badge": createFlowRemoteComponentRenderer(CounterBadge),
|
|
30
|
+
"flr-country-options": createFlowRemoteComponentRenderer(CountryOptions),
|
|
31
|
+
"flr-date-picker": createFlowRemoteComponentRenderer(DatePicker),
|
|
32
|
+
"flr-date-range-picker": createFlowRemoteComponentRenderer(DateRangePicker),
|
|
33
|
+
"flr-dialog-trigger": createFlowRemoteComponentRenderer(DialogTrigger),
|
|
34
|
+
"flr-div": createFlowRemoteComponentRenderer(Div),
|
|
35
|
+
"flr-field-description": createFlowRemoteComponentRenderer(FieldDescription),
|
|
36
|
+
"flr-field-error": createFlowRemoteComponentRenderer(FieldError),
|
|
37
|
+
"flr-file-card": createFlowRemoteComponentRenderer(FileCard),
|
|
38
|
+
"flr-file-card-list": createFlowRemoteComponentRenderer(FileCardList),
|
|
39
|
+
"flr-file-field": createFlowRemoteComponentRenderer(FileField),
|
|
40
|
+
"flr-fragment": createFlowRemoteComponentRenderer(Fragment),
|
|
41
|
+
"flr-header": createFlowRemoteComponentRenderer(Header),
|
|
42
|
+
"flr-header-navigation": createFlowRemoteComponentRenderer(HeaderNavigation),
|
|
43
|
+
"flr-heading": createFlowRemoteComponentRenderer(Heading),
|
|
44
|
+
"flr-icon": createFlowRemoteComponentRenderer(Icon),
|
|
45
|
+
"flr-illustrated-message": createFlowRemoteComponentRenderer(IllustratedMessage),
|
|
46
|
+
"flr-image": createFlowRemoteComponentRenderer(Image),
|
|
47
|
+
"flr-initials": createFlowRemoteComponentRenderer(Initials),
|
|
48
|
+
"flr-inline-code": createFlowRemoteComponentRenderer(InlineCode),
|
|
49
|
+
"flr-items-grid-list": createFlowRemoteComponentRenderer(GridList),
|
|
50
|
+
"flr-items-grid-list-item": createFlowRemoteComponentRenderer(GridListItem),
|
|
51
|
+
"flr-label": createFlowRemoteComponentRenderer(Label),
|
|
52
|
+
"flr-labeled-value": createFlowRemoteComponentRenderer(LabeledValue),
|
|
53
|
+
"flr-layout-card": createFlowRemoteComponentRenderer(LayoutCard),
|
|
54
|
+
"flr-light-box": createFlowRemoteComponentRenderer(LightBox),
|
|
55
|
+
"flr-light-box-trigger": createFlowRemoteComponentRenderer(LightBoxTrigger),
|
|
56
|
+
"flr-link": createFlowRemoteComponentRenderer(Link),
|
|
57
|
+
"flr-list-empty-view": createFlowRemoteComponentRenderer(EmptyView),
|
|
58
|
+
"flr-list-item-view-content": createFlowRemoteComponentRenderer(ListItemViewContent),
|
|
59
|
+
"flr-list-summary": createFlowRemoteComponentRenderer(ListSummary),
|
|
60
|
+
"flr-loading-spinner": createFlowRemoteComponentRenderer(LoadingSpinner),
|
|
61
|
+
"flr-markdown": createFlowRemoteComponentRenderer(Markdown),
|
|
62
|
+
"flr-menu-item": createFlowRemoteComponentRenderer(MenuItem),
|
|
63
|
+
"flr-menu-trigger": createFlowRemoteComponentRenderer(MenuTrigger),
|
|
64
|
+
"flr-message": createFlowRemoteComponentRenderer(Message),
|
|
65
|
+
"flr-navigation": createFlowRemoteComponentRenderer(Navigation),
|
|
66
|
+
"flr-navigation-group": createFlowRemoteComponentRenderer(NavigationGroup),
|
|
67
|
+
"flr-notification": createFlowRemoteComponentRenderer(Notification),
|
|
68
|
+
"flr-notification-provider": createFlowRemoteComponentRenderer(NotificationProvider),
|
|
69
|
+
"flr-number-field": createFlowRemoteComponentRenderer(NumberField),
|
|
70
|
+
"flr-option": createFlowRemoteComponentRenderer(Option),
|
|
71
|
+
"flr-overlay-content": createFlowRemoteComponentRenderer(OverlayContent),
|
|
72
|
+
"flr-popover-content": createFlowRemoteComponentRenderer(PopoverContent),
|
|
73
|
+
"flr-progress-bar": createFlowRemoteComponentRenderer(ProgressBar),
|
|
74
|
+
"flr-radio": createFlowRemoteComponentRenderer(Radio),
|
|
75
|
+
"flr-radio-button": createFlowRemoteComponentRenderer(RadioButton),
|
|
76
|
+
"flr-radio-group": createFlowRemoteComponentRenderer(RadioGroup),
|
|
77
|
+
"flr-search-field": createFlowRemoteComponentRenderer(SearchField),
|
|
78
|
+
"flr-section": createFlowRemoteComponentRenderer(Section),
|
|
79
|
+
"flr-segment": createFlowRemoteComponentRenderer(Segment),
|
|
80
|
+
"flr-segmented-control": createFlowRemoteComponentRenderer(SegmentedControl),
|
|
81
|
+
"flr-select": createFlowRemoteComponentRenderer(Select),
|
|
82
|
+
"flr-separator": createFlowRemoteComponentRenderer(Separator),
|
|
83
|
+
"flr-skeleton": createFlowRemoteComponentRenderer(Skeleton),
|
|
84
|
+
"flr-skeleton-text": createFlowRemoteComponentRenderer(SkeletonText),
|
|
85
|
+
"flr-slider": createFlowRemoteComponentRenderer(Slider),
|
|
86
|
+
"flr-switch": createFlowRemoteComponentRenderer(Switch),
|
|
87
|
+
"flr-tab": createFlowRemoteComponentRenderer(Tab),
|
|
88
|
+
"flr-tab-title": createFlowRemoteComponentRenderer(TabTitle),
|
|
89
|
+
"flr-table": createFlowRemoteComponentRenderer(Table),
|
|
90
|
+
"flr-table-body": createFlowRemoteComponentRenderer(TableBody),
|
|
91
|
+
"flr-table-cell": createFlowRemoteComponentRenderer(TableCell),
|
|
92
|
+
"flr-table-column": createFlowRemoteComponentRenderer(TableColumn),
|
|
93
|
+
"flr-table-footer-row": createFlowRemoteComponentRenderer(TableFooterRow),
|
|
94
|
+
"flr-table-header": createFlowRemoteComponentRenderer(TableHeader),
|
|
95
|
+
"flr-table-row": createFlowRemoteComponentRenderer(TableRow),
|
|
96
|
+
"flr-tabs": createFlowRemoteComponentRenderer(Tabs),
|
|
97
|
+
"flr-text": createFlowRemoteComponentRenderer(Text),
|
|
98
|
+
"flr-text-area": createFlowRemoteComponentRenderer(TextArea),
|
|
99
|
+
"flr-text-field": createFlowRemoteComponentRenderer(TextField),
|
|
100
|
+
"flr-time-field": createFlowRemoteComponentRenderer(TimeField),
|
|
101
|
+
"flr-tooltip": createFlowRemoteComponentRenderer(Tooltip),
|
|
102
|
+
"flr-tooltip-trigger": createFlowRemoteComponentRenderer(TooltipTrigger)
|
|
103
|
+
};
|
|
104
|
+
export {
|
|
105
|
+
flowComponents as default,
|
|
106
|
+
flowComponents
|
|
107
|
+
};
|
|
108
|
+
//# 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 { 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 { Avatar as Avatar } from \"@mittwald/flow-react-components\";\nimport { Badge as Badge } from \"@mittwald/flow-react-components\";\nimport { Breadcrumb as Breadcrumb } from \"@mittwald/flow-react-components\";\nimport { Button as Button } 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 { CodeBlock as CodeBlock } 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 { Fragment as Fragment } 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 { 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 { 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 { NotificationProvider as NotificationProvider } 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 { 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\";\n\nexport const flowComponents = {\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-avatar\": createFlowRemoteComponentRenderer(Avatar),\n \"flr-badge\": createFlowRemoteComponentRenderer(Badge),\n \"flr-breadcrumb\": createFlowRemoteComponentRenderer(Breadcrumb),\n \"flr-button\": createFlowRemoteComponentRenderer(Button),\n \"flr-checkbox\": createFlowRemoteComponentRenderer(Checkbox),\n \"flr-checkbox-button\": createFlowRemoteComponentRenderer(CheckboxButton),\n \"flr-checkbox-group\": createFlowRemoteComponentRenderer(CheckboxGroup),\n \"flr-code-block\": createFlowRemoteComponentRenderer(CodeBlock),\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-fragment\": createFlowRemoteComponentRenderer(Fragment),\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-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-navigation\": createFlowRemoteComponentRenderer(Navigation),\n \"flr-navigation-group\": createFlowRemoteComponentRenderer(NavigationGroup),\n \"flr-notification\": createFlowRemoteComponentRenderer(Notification),\n \"flr-notification-provider\":\n createFlowRemoteComponentRenderer(NotificationProvider),\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-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} 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 @@
|
|
|
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,26 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
/* */
|
|
3
|
+
import { Form } from "./components/Form.mjs";
|
|
4
|
+
import { createFlowRemoteComponentRenderer } from "./lib/createFlowRemoteComponentRenderer.mjs";
|
|
5
|
+
import { elementFactory } from "./lib/elementFactory.mjs";
|
|
6
|
+
import { createRemoteComponentRenderer } from "@remote-dom/react/host";
|
|
7
|
+
import { flowComponents } from "./auto-generated/index.mjs";
|
|
8
|
+
const htmlComponentsMap = {
|
|
9
|
+
svg: createRemoteComponentRenderer(elementFactory("svg")),
|
|
10
|
+
circle: createRemoteComponentRenderer(elementFactory("circle")),
|
|
11
|
+
g: createRemoteComponentRenderer(elementFactory("g")),
|
|
12
|
+
path: createRemoteComponentRenderer(elementFactory("path")),
|
|
13
|
+
strong: createRemoteComponentRenderer(elementFactory("strong"))
|
|
14
|
+
};
|
|
15
|
+
const flowComponentsMap = {
|
|
16
|
+
"flr-form": createFlowRemoteComponentRenderer(Form)
|
|
17
|
+
};
|
|
18
|
+
const components = {
|
|
19
|
+
...htmlComponentsMap,
|
|
20
|
+
...flowComponentsMap,
|
|
21
|
+
...flowComponents
|
|
22
|
+
};
|
|
23
|
+
export {
|
|
24
|
+
components
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=components.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.mjs","sources":["../../src/components.ts"],"sourcesContent":["import { Form } from \"@/components/Form\";\nimport { createFlowRemoteComponentRenderer } from \"@/lib/createFlowRemoteComponentRenderer\";\nimport { elementFactory } from \"@/lib/elementFactory\";\nimport { createRemoteComponentRenderer } from \"@remote-dom/react/host\";\nimport autoGenerated from \"./auto-generated\";\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};\n\nexport const components = {\n ...htmlComponentsMap,\n ...flowComponentsMap,\n ...autoGenerated,\n};\n"],"names":["autoGenerated"],"mappings":";;;;;AAMA,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;AACpD;AAEO,MAAM,aAAa;AAAA,EACxB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAGA;AACL;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
/* */
|
|
3
|
+
import { useState, useEffect } from "react";
|
|
4
|
+
const useIsMounted = () => {
|
|
5
|
+
const [isMounted, setIsMounted] = useState(false);
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
setIsMounted(true);
|
|
8
|
+
}, []);
|
|
9
|
+
return isMounted;
|
|
10
|
+
};
|
|
11
|
+
export {
|
|
12
|
+
useIsMounted
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=useIsMounted.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsMounted.mjs","sources":["../../../src/hooks/useIsMounted.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\nexport const useIsMounted = () => {\n const [isMounted, setIsMounted] = useState(false);\n useEffect(() => {\n setIsMounted(true);\n }, []);\n return isMounted;\n};\n"],"names":[],"mappings":";AAEO,MAAM,eAAe,MAAM;AAChC,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAChD,YAAU,MAAM;AACd,iBAAa,IAAI;AAAA,EACnB,GAAG,EAAE;AACE,SAAA;AACT;"}
|
|
@@ -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 "react";
|
|
5
|
+
import { createRemoteComponentRenderer } from "@remote-dom/react/host";
|
|
6
|
+
import { mapValues } from "remeda";
|
|
7
|
+
import { mapEventHandler } from "@mittwald/flow-remote-core";
|
|
8
|
+
import { isEventProp, isStyleProp, isReactSuspendedStyle } from "./propClassifiers.mjs";
|
|
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 { type ComponentType } from \"react\";\nimport type { RemoteComponentRendererProps } from \"@remote-dom/react/host\";\nimport { createRemoteComponentRenderer } from \"@remote-dom/react/host\";\nimport { mapValues } from \"remeda\";\nimport { mapEventHandler } from \"@mittwald/flow-remote-core\";\nimport {\n isEventProp,\n isReactSuspendedStyle,\n isStyleProp,\n} from \"@/lib/propClassifiers\";\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 { createElement } from "react";
|
|
4
|
+
import { mapKeys } from "remeda";
|
|
5
|
+
import clsx from "clsx";
|
|
6
|
+
import { mapAttributeToReactProperty } from "./mapAttributeToReactProperty.mjs";
|
|
7
|
+
const elementFactory = (element) => (props) => {
|
|
8
|
+
const result = { ...props };
|
|
9
|
+
result["className"] = clsx(
|
|
10
|
+
String(result["className"]),
|
|
11
|
+
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 { createElement } from \"react\";\nimport { mapKeys } from \"remeda\";\nimport clsx from \"clsx\";\nimport { mapAttributeToReactProperty } from \"@/lib/mapAttributeToReactProperty\";\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 String(result[\"className\"]),\n 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,OAAO,OAAO,WAAW,CAAC;AAAA,IAC1B,OAAO,OAAO,OAAO,CAAC;AAAA,EACxB;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;"}
|
|
@@ -99,5 +99,6 @@ export declare const components: {
|
|
|
99
99
|
circle: import('react').ComponentType<import('@remote-dom/react/host').RemoteComponentRendererProps>;
|
|
100
100
|
g: import('react').ComponentType<import('@remote-dom/react/host').RemoteComponentRendererProps>;
|
|
101
101
|
path: import('react').ComponentType<import('@remote-dom/react/host').RemoteComponentRendererProps>;
|
|
102
|
+
strong: import('react').ComponentType<import('@remote-dom/react/host').RemoteComponentRendererProps>;
|
|
102
103
|
};
|
|
103
104
|
//# sourceMappingURL=components.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/components.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/components.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAItB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mittwald/flow-remote-react-renderer",
|
|
3
|
-
"version": "0.2.0-alpha.
|
|
3
|
+
"version": "0.2.0-alpha.31",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "React rendering for Flow Remote Elements",
|
|
6
6
|
"homepage": "https://mittwald.github.io/flow",
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
"exports": {
|
|
9
9
|
".": {
|
|
10
10
|
"types": "./dist/types/index.d.ts",
|
|
11
|
-
"default": "./dist/index.
|
|
11
|
+
"default": "./dist/js/index.mjs"
|
|
12
12
|
},
|
|
13
13
|
"./RemoteRenderer": {
|
|
14
14
|
"types": "./dist/types/RemoteRenderer.d.ts",
|
|
15
|
-
"default": "./dist/RemoteRenderer.
|
|
15
|
+
"default": "./dist/js/RemoteRenderer.mjs"
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
18
|
"files": [
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"test:compile": "tsc --noEmit"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@mittwald/flow-remote-core": "0.2.0-alpha.
|
|
32
|
-
"@mittwald/flow-remote-elements": "0.2.0-alpha.
|
|
31
|
+
"@mittwald/flow-remote-core": "0.2.0-alpha.31",
|
|
32
|
+
"@mittwald/flow-remote-elements": "0.2.0-alpha.31",
|
|
33
33
|
"@remote-dom/react": "^1.2.1",
|
|
34
34
|
"@types/react": "^19.0.8",
|
|
35
35
|
"clsx": "^2.1.1",
|
|
@@ -37,18 +37,18 @@
|
|
|
37
37
|
"remeda": "^2.20.1"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@mittwald/flow-react-components": "0.2.0-alpha.
|
|
40
|
+
"@mittwald/flow-react-components": "0.2.0-alpha.31",
|
|
41
41
|
"@mittwald/typescript-config": "",
|
|
42
42
|
"@types/node": "^22.13.1",
|
|
43
|
-
"nx": "^20.4.
|
|
44
|
-
"prettier": "^3.
|
|
43
|
+
"nx": "^20.4.2",
|
|
44
|
+
"prettier": "^3.5.0",
|
|
45
45
|
"react": "^19.0.0",
|
|
46
46
|
"react-dom": "^19.0.0",
|
|
47
47
|
"react-hook-form": "^7.54.2",
|
|
48
48
|
"rimraf": "^6.0.1",
|
|
49
49
|
"rollup-preserve-directives": "^1.1.3",
|
|
50
50
|
"typescript": "^5.7.3",
|
|
51
|
-
"vite": "^6.0
|
|
51
|
+
"vite": "^6.1.0",
|
|
52
52
|
"vite-plugin-banner": "^0.8.0",
|
|
53
53
|
"vite-plugin-checker": "^0.8.0",
|
|
54
54
|
"vite-plugin-dts": "^4.5.0",
|
|
@@ -56,8 +56,8 @@
|
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|
|
58
58
|
"@mittwald/flow-react-components": "*",
|
|
59
|
-
"react": "19",
|
|
60
|
-
"react-dom": "19",
|
|
59
|
+
"react": "^19",
|
|
60
|
+
"react-dom": "^19",
|
|
61
61
|
"react-hook-form": "*"
|
|
62
62
|
},
|
|
63
63
|
"peerDependenciesMeta": {
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"optional": true
|
|
66
66
|
}
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "873531ad9a53352ec7a6e9a696fbc3e114a17ce5"
|
|
69
69
|
}
|
package/dist/RemoteRenderer.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
/* */
|
|
3
|
-
"use client";
|
|
4
|
-
import { jsx as o } from "react/jsx-runtime";
|
|
5
|
-
import s, { useState as n, useEffect as r } from "react";
|
|
6
|
-
const u = () => {
|
|
7
|
-
const [e, t] = n(!1);
|
|
8
|
-
return r(() => {
|
|
9
|
-
t(!0);
|
|
10
|
-
}, []), e;
|
|
11
|
-
}, c = s.lazy(() => import("./RemoteRendererClient-oNNsH8Nc.js")), l = (e) => u() ? /* @__PURE__ */ o(c, { ...e }) : null;
|
|
12
|
-
export {
|
|
13
|
-
l as RemoteRenderer,
|
|
14
|
-
l as default
|
|
15
|
-
};
|
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
/* */
|
|
3
|
-
"use client";
|
|
4
|
-
import { jsx as s, jsxs as g, Fragment as b } from "react/jsx-runtime";
|
|
5
|
-
import { createRemoteComponentRenderer as a, RemoteReceiver as C, RemoteRootRenderer as h } from "@remote-dom/react/host";
|
|
6
|
-
import { forwardRef as x, createElement as v, useMemo as d } from "react";
|
|
7
|
-
import { isFunction as y, mapValues as T, toCamelCase as S, mapKeys as F, reduce as R } from "remeda";
|
|
8
|
-
import { mapEventHandler as w, connectRemoteIframeRef as k } from "@mittwald/flow-remote-core";
|
|
9
|
-
import L from "clsx";
|
|
10
|
-
import { Accordion as B, ActionGroup as P, Alert as M, AlertBadge as A, AlertIcon as I, Align as D, Avatar as H, Badge as N, Breadcrumb as E, Button as G, Checkbox as O, CheckboxButton as j, CheckboxGroup as V, CodeBlock as W, ColumnLayout as K, Content as Z, ContextMenuContent as $, ContextMenuSection as q, ContextualHelp as z, ContextualHelpTrigger as J, CopyButton as Q, CounterBadge as U, CountryOptions as X, DatePicker as Y, DateRangePicker as _, DialogTrigger as ee, Div as te, FieldDescription as re, FieldError as oe, FileCard as ne, FileCardList as le, FileField as ie, Fragment as ae, Header as fe, HeaderNavigation as ce, Heading as se, Icon as me, IllustratedMessage as de, Image as pe, Initials as ue, InlineCode as ge, GridList as be, GridListItem as Ce, Label as he, LabeledValue as xe, LayoutCard as ve, LightBox as ye, LightBoxTrigger as Te, Link as Se, EmptyView as Fe, ListItemViewContent as Re, ListSummary as we, LoadingSpinner as ke, Markdown as Le, MenuItem as Be, MenuTrigger as Pe, Message as Me, Navigation as Ae, NavigationGroup as Ie, Notification as De, NotificationProvider as He, NumberField as Ne, Option as Ee, OverlayContent as Ge, PopoverContent as Oe, ProgressBar as je, Radio as Ve, RadioButton as We, RadioGroup as Ke, SearchField as Ze, Section as $e, Segment as qe, SegmentedControl as ze, Select as Je, Separator as Qe, Skeleton as Ue, SkeletonText as Xe, Slider as Ye, Switch as _e, Tab as et, TabTitle as tt, Table as rt, TableBody as ot, TableCell as nt, TableColumn as lt, TableFooterRow as it, TableHeader as at, TableRow as ft, Tabs as ct, Text as st, TextArea as mt, TextField as dt, TimeField as pt, Tooltip as ut, TooltipTrigger as gt } from "@mittwald/flow-react-components";
|
|
11
|
-
const p = (t) => Object.fromEntries(Array.from(t.entries())), bt = x((t, r) => {
|
|
12
|
-
const {
|
|
13
|
-
action: o,
|
|
14
|
-
onSubmit: n,
|
|
15
|
-
...l
|
|
16
|
-
} = t;
|
|
17
|
-
return /* @__PURE__ */ s("form", { ref: r, ...l, action: typeof o == "function" ? (i) => o(p(i)) : o, onSubmit: n ? (i) => {
|
|
18
|
-
i.preventDefault(), n(p(new FormData(i.currentTarget)));
|
|
19
|
-
} : void 0 });
|
|
20
|
-
}), Ct = /on[A-Z].*/, ht = (t, r) => !!t.match(Ct) && y(r), xt = (t) => t === "style", vt = (t) => t === "display: none !important;", yt = (t, r) => ht(r, t) ? w(t, r) : xt(r) ? vt(t) ? {
|
|
21
|
-
display: "none"
|
|
22
|
-
} : {} : t, e = (t) => {
|
|
23
|
-
function r(o) {
|
|
24
|
-
const n = T(
|
|
25
|
-
o,
|
|
26
|
-
(l, f) => yt(l, f)
|
|
27
|
-
);
|
|
28
|
-
return /* @__PURE__ */ s(t, { ...n });
|
|
29
|
-
}
|
|
30
|
-
return a(r);
|
|
31
|
-
}, Tt = ["aria-", "data-"], St = (t) => Tt.some((r) => t.startsWith(r)) ? t : S(t), c = (t) => (r) => {
|
|
32
|
-
const o = { ...r };
|
|
33
|
-
return o.className = L(
|
|
34
|
-
String(o.className),
|
|
35
|
-
String(o.class)
|
|
36
|
-
), delete o.class, v(t, F(o, St));
|
|
37
|
-
}, Ft = {
|
|
38
|
-
"flr-accordion": e(B),
|
|
39
|
-
"flr-action-group": e(P),
|
|
40
|
-
"flr-alert": e(M),
|
|
41
|
-
"flr-alert-badge": e(A),
|
|
42
|
-
"flr-alert-icon": e(I),
|
|
43
|
-
"flr-align": e(D),
|
|
44
|
-
"flr-avatar": e(H),
|
|
45
|
-
"flr-badge": e(N),
|
|
46
|
-
"flr-breadcrumb": e(E),
|
|
47
|
-
"flr-button": e(G),
|
|
48
|
-
"flr-checkbox": e(O),
|
|
49
|
-
"flr-checkbox-button": e(j),
|
|
50
|
-
"flr-checkbox-group": e(V),
|
|
51
|
-
"flr-code-block": e(W),
|
|
52
|
-
"flr-column-layout": e(K),
|
|
53
|
-
"flr-content": e(Z),
|
|
54
|
-
"flr-context-menu-content": e($),
|
|
55
|
-
"flr-context-menu-section": e(q),
|
|
56
|
-
"flr-contextual-help": e(z),
|
|
57
|
-
"flr-contextual-help-trigger": e(
|
|
58
|
-
J
|
|
59
|
-
),
|
|
60
|
-
"flr-copy-button": e(Q),
|
|
61
|
-
"flr-counter-badge": e(U),
|
|
62
|
-
"flr-country-options": e(X),
|
|
63
|
-
"flr-date-picker": e(Y),
|
|
64
|
-
"flr-date-range-picker": e(_),
|
|
65
|
-
"flr-dialog-trigger": e(ee),
|
|
66
|
-
"flr-div": e(te),
|
|
67
|
-
"flr-field-description": e(re),
|
|
68
|
-
"flr-field-error": e(oe),
|
|
69
|
-
"flr-file-card": e(ne),
|
|
70
|
-
"flr-file-card-list": e(le),
|
|
71
|
-
"flr-file-field": e(ie),
|
|
72
|
-
"flr-fragment": e(ae),
|
|
73
|
-
"flr-header": e(fe),
|
|
74
|
-
"flr-header-navigation": e(ce),
|
|
75
|
-
"flr-heading": e(se),
|
|
76
|
-
"flr-icon": e(me),
|
|
77
|
-
"flr-illustrated-message": e(de),
|
|
78
|
-
"flr-image": e(pe),
|
|
79
|
-
"flr-initials": e(ue),
|
|
80
|
-
"flr-inline-code": e(ge),
|
|
81
|
-
"flr-items-grid-list": e(be),
|
|
82
|
-
"flr-items-grid-list-item": e(Ce),
|
|
83
|
-
"flr-label": e(he),
|
|
84
|
-
"flr-labeled-value": e(xe),
|
|
85
|
-
"flr-layout-card": e(ve),
|
|
86
|
-
"flr-light-box": e(ye),
|
|
87
|
-
"flr-light-box-trigger": e(Te),
|
|
88
|
-
"flr-link": e(Se),
|
|
89
|
-
"flr-list-empty-view": e(Fe),
|
|
90
|
-
"flr-list-item-view-content": e(Re),
|
|
91
|
-
"flr-list-summary": e(we),
|
|
92
|
-
"flr-loading-spinner": e(ke),
|
|
93
|
-
"flr-markdown": e(Le),
|
|
94
|
-
"flr-menu-item": e(Be),
|
|
95
|
-
"flr-menu-trigger": e(Pe),
|
|
96
|
-
"flr-message": e(Me),
|
|
97
|
-
"flr-navigation": e(Ae),
|
|
98
|
-
"flr-navigation-group": e(Ie),
|
|
99
|
-
"flr-notification": e(De),
|
|
100
|
-
"flr-notification-provider": e(He),
|
|
101
|
-
"flr-number-field": e(Ne),
|
|
102
|
-
"flr-option": e(Ee),
|
|
103
|
-
"flr-overlay-content": e(Ge),
|
|
104
|
-
"flr-popover-content": e(Oe),
|
|
105
|
-
"flr-progress-bar": e(je),
|
|
106
|
-
"flr-radio": e(Ve),
|
|
107
|
-
"flr-radio-button": e(We),
|
|
108
|
-
"flr-radio-group": e(Ke),
|
|
109
|
-
"flr-search-field": e(Ze),
|
|
110
|
-
"flr-section": e($e),
|
|
111
|
-
"flr-segment": e(qe),
|
|
112
|
-
"flr-segmented-control": e(ze),
|
|
113
|
-
"flr-select": e(Je),
|
|
114
|
-
"flr-separator": e(Qe),
|
|
115
|
-
"flr-skeleton": e(Ue),
|
|
116
|
-
"flr-skeleton-text": e(Xe),
|
|
117
|
-
"flr-slider": e(Ye),
|
|
118
|
-
"flr-switch": e(_e),
|
|
119
|
-
"flr-tab": e(et),
|
|
120
|
-
"flr-tab-title": e(tt),
|
|
121
|
-
"flr-table": e(rt),
|
|
122
|
-
"flr-table-body": e(ot),
|
|
123
|
-
"flr-table-cell": e(nt),
|
|
124
|
-
"flr-table-column": e(lt),
|
|
125
|
-
"flr-table-footer-row": e(it),
|
|
126
|
-
"flr-table-header": e(at),
|
|
127
|
-
"flr-table-row": e(ft),
|
|
128
|
-
"flr-tabs": e(ct),
|
|
129
|
-
"flr-text": e(st),
|
|
130
|
-
"flr-text-area": e(mt),
|
|
131
|
-
"flr-text-field": e(dt),
|
|
132
|
-
"flr-time-field": e(pt),
|
|
133
|
-
"flr-tooltip": e(ut),
|
|
134
|
-
"flr-tooltip-trigger": e(gt)
|
|
135
|
-
}, Rt = {
|
|
136
|
-
svg: a(c("svg")),
|
|
137
|
-
circle: a(c("circle")),
|
|
138
|
-
g: a(c("g")),
|
|
139
|
-
path: a(c("path"))
|
|
140
|
-
}, wt = {
|
|
141
|
-
"flr-form": e(bt)
|
|
142
|
-
}, kt = {
|
|
143
|
-
...Rt,
|
|
144
|
-
...wt,
|
|
145
|
-
...Ft
|
|
146
|
-
}, Ht = (t) => {
|
|
147
|
-
const { integrations: r = [], src: o, iframeStyle: n } = t, l = d(() => new C(), []), f = d(() => new Map(
|
|
148
|
-
Object.entries(
|
|
149
|
-
R(
|
|
150
|
-
[...r, kt],
|
|
151
|
-
(i, u) => ({
|
|
152
|
-
...i,
|
|
153
|
-
...u
|
|
154
|
-
}),
|
|
155
|
-
{}
|
|
156
|
-
)
|
|
157
|
-
)
|
|
158
|
-
), [...r]), m = /* @__PURE__ */ s(
|
|
159
|
-
"iframe",
|
|
160
|
-
{
|
|
161
|
-
ref: k(l.connection),
|
|
162
|
-
src: o,
|
|
163
|
-
style: n ?? {
|
|
164
|
-
visibility: "hidden",
|
|
165
|
-
height: 0,
|
|
166
|
-
width: 0,
|
|
167
|
-
border: "none",
|
|
168
|
-
position: "absolute",
|
|
169
|
-
marginLeft: "-9999px"
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
);
|
|
173
|
-
return /* @__PURE__ */ g(b, { children: [
|
|
174
|
-
/* @__PURE__ */ s(h, { components: f, receiver: l }),
|
|
175
|
-
m
|
|
176
|
-
] });
|
|
177
|
-
};
|
|
178
|
-
export {
|
|
179
|
-
Ht as RemoteRendererClient,
|
|
180
|
-
Ht as default
|
|
181
|
-
};
|