@mittwald/flow-remote-react-renderer 0.2.0-alpha.89 → 0.2.0-alpha.892

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 (78) hide show
  1. package/dist/js/RemoteRenderer.mjs +11 -11
  2. package/dist/js/RemoteRenderer.mjs.map +1 -1
  3. package/dist/js/RemoteRendererBrowser.mjs +149 -0
  4. package/dist/js/RemoteRendererBrowser.mjs.map +1 -0
  5. package/dist/js/auto-generated/index.mjs +336 -108
  6. package/dist/js/auto-generated/index.mjs.map +1 -1
  7. package/dist/js/components/Form.mjs +24 -14
  8. package/dist/js/components/Form.mjs.map +1 -1
  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 +10 -0
  12. package/dist/js/components/SlotRootWrapper.mjs.map +1 -0
  13. package/dist/js/components.mjs +41 -12
  14. package/dist/js/components.mjs.map +1 -1
  15. package/dist/js/hooks/useControllableSuspenseTrigger.mjs +30 -0
  16. package/dist/js/hooks/useControllableSuspenseTrigger.mjs.map +1 -0
  17. package/dist/js/hooks/useMergedComponents.mjs +24 -0
  18. package/dist/js/hooks/useMergedComponents.mjs.map +1 -0
  19. package/dist/js/hooks/useUpdateHostPathnameOnRemote.mjs +17 -0
  20. package/dist/js/hooks/useUpdateHostPathnameOnRemote.mjs.map +1 -0
  21. package/dist/js/index.mjs +2 -4
  22. package/dist/js/integrations/react-hook-form/Form.mjs +16 -0
  23. package/dist/js/integrations/react-hook-form/Form.mjs.map +1 -0
  24. package/dist/js/lib/createFlowRemoteComponentRenderer.mjs +26 -15
  25. package/dist/js/lib/createFlowRemoteComponentRenderer.mjs.map +1 -1
  26. package/dist/js/lib/elementFactory.mjs +12 -8
  27. package/dist/js/lib/elementFactory.mjs.map +1 -1
  28. package/dist/js/lib/mapAttributeToReactProperty.mjs +4 -4
  29. package/dist/js/lib/mapAttributeToReactProperty.mjs.map +1 -1
  30. package/dist/js/lib/propClassifiers.mjs +2 -8
  31. package/dist/js/lib/propClassifiers.mjs.map +1 -1
  32. package/dist/types/RemoteRenderer.d.ts +2 -2
  33. package/dist/types/RemoteRenderer.d.ts.map +1 -1
  34. package/dist/types/RemoteRendererBrowser.d.ts +17 -0
  35. package/dist/types/RemoteRendererBrowser.d.ts.map +1 -0
  36. package/dist/types/auto-generated/index.d.ts +130 -101
  37. package/dist/types/auto-generated/index.d.ts.map +1 -1
  38. package/dist/types/components/Form.d.ts +8 -2
  39. package/dist/types/components/Form.d.ts.map +1 -1
  40. package/dist/types/components/NotificationRenderController.d.ts +4 -0
  41. package/dist/types/components/NotificationRenderController.d.ts.map +1 -0
  42. package/dist/types/components/SlotRootWrapper.d.ts +4 -0
  43. package/dist/types/components/SlotRootWrapper.d.ts.map +1 -0
  44. package/dist/types/components/index.d.ts +3 -0
  45. package/dist/types/components/index.d.ts.map +1 -0
  46. package/dist/types/components.d.ts +147 -107
  47. package/dist/types/components.d.ts.map +1 -1
  48. package/dist/types/hooks/useControllableSuspenseTrigger.d.ts +5 -0
  49. package/dist/types/hooks/useControllableSuspenseTrigger.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/hooks/useUpdateHostPathnameOnRemote.d.ts +4 -0
  53. package/dist/types/hooks/useUpdateHostPathnameOnRemote.d.ts.map +1 -0
  54. package/dist/types/index.d.ts +1 -0
  55. package/dist/types/index.d.ts.map +1 -1
  56. package/dist/types/integrations/react-hook-form/Form.d.ts +13 -0
  57. package/dist/types/integrations/react-hook-form/Form.d.ts.map +1 -0
  58. package/dist/types/lib/createFlowRemoteComponentRenderer.d.ts +2 -2
  59. package/dist/types/lib/createFlowRemoteComponentRenderer.d.ts.map +1 -1
  60. package/dist/types/lib/elementFactory.d.ts +4 -1
  61. package/dist/types/lib/elementFactory.d.ts.map +1 -1
  62. package/dist/types/lib/propClassifiers.d.ts +0 -2
  63. package/dist/types/lib/propClassifiers.d.ts.map +1 -1
  64. package/dist/types/lib/types.d.ts +1 -1
  65. package/dist/types/lib/types.d.ts.map +1 -1
  66. package/package.json +31 -27
  67. package/dist/js/RemoteRendererClient.mjs +0 -75
  68. package/dist/js/RemoteRendererClient.mjs.map +0 -1
  69. package/dist/js/components/lib/getFormDataObject.mjs +0 -7
  70. package/dist/js/components/lib/getFormDataObject.mjs.map +0 -1
  71. package/dist/js/hooks/useIsMounted.mjs +0 -14
  72. package/dist/js/hooks/useIsMounted.mjs.map +0 -1
  73. package/dist/types/RemoteRendererClient.d.ts +0 -9
  74. package/dist/types/RemoteRendererClient.d.ts.map +0 -1
  75. package/dist/types/components/lib/getFormDataObject.d.ts +0 -2
  76. package/dist/types/components/lib/getFormDataObject.d.ts.map +0 -1
  77. package/dist/types/lib/stringChildrenExtractor.d.ts +0 -3
  78. package/dist/types/lib/stringChildrenExtractor.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"RemoteRendererClient.mjs","sources":["../../src/RemoteRendererClient.tsx"],"sourcesContent":["\"use client\";\nimport { components } from \"@/components\";\nimport type { RemoteComponentsMap } from \"@/lib/types\";\nimport type { RemoteComponentRendererProps } from \"@mfalkenberg/remote-dom-react/host\";\nimport {\n RemoteReceiver,\n RemoteRootRenderer,\n} from \"@mfalkenberg/remote-dom-react/host\";\nimport { connectRemoteIframeRef } from \"@mittwald/flow-remote-core\";\nimport {\n type ComponentType,\n type FC,\n useLayoutEffect,\n useRef,\n useState,\n} from \"react\";\nimport { useMemo } from \"react\";\nimport { reduce } from \"remeda\";\n\nexport interface RemoteRendererProps {\n integrations?: RemoteComponentsMap<never>[];\n src: string;\n}\n\ninterface PromiseObject {\n promise: null | Promise<void>;\n resolve?: CallableFunction;\n}\n\nexport const RemoteRendererClient: FC<RemoteRendererProps> = (props) => {\n const { integrations = [], src } = props;\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 receiver = useMemo(() => new RemoteReceiver(), []);\n const awaiter = useRef<PromiseObject>({\n promise: null,\n }).current;\n\n const [initialRendered, forceRerender] = useState(false);\n const connect = connectRemoteIframeRef(receiver.connection);\n receiver.subscribe({ id: receiver.root.id }, () => {\n if (awaiter.promise !== null && awaiter.resolve) {\n awaiter.resolve();\n }\n });\n\n useLayoutEffect(() => {\n if (awaiter.promise !== null || initialRendered) {\n return;\n }\n\n awaiter.promise = new Promise((resolve) => {\n awaiter.resolve = () => {\n awaiter.promise = null;\n resolve();\n };\n });\n\n forceRerender(true);\n }, [forceRerender]);\n\n if (awaiter.promise !== null) {\n throw awaiter.promise;\n }\n\n return (\n <>\n <RemoteRootRenderer components={mergedComponents} receiver={receiver} />\n <iframe\n ref={connect}\n src={src}\n style={{\n visibility: \"hidden\",\n height: 0,\n width: 0,\n border: \"none\",\n position: \"absolute\",\n marginLeft: \"-9999px\",\n }}\n />\n </>\n );\n};\n\nexport default RemoteRendererClient;\n"],"names":[],"mappings":";;;;;;;AA6Ba,MAAA,uBAAgD,CAAC,UAAU;AACtE,QAAM,EAAE,eAAe,IAAI,IAAQ,IAAA;AAE7B,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,WAAW,QAAQ,MAAM,IAAI,eAAe,GAAG,CAAA,CAAE;AACvD,QAAM,UAAU,OAAsB;AAAA,IACpC,SAAS;AAAA,EACV,CAAA,EAAE;AAEH,QAAM,CAAC,iBAAiB,aAAa,IAAI,SAAS,KAAK;AACjD,QAAA,UAAU,uBAAuB,SAAS,UAAU;AAC1D,WAAS,UAAU,EAAE,IAAI,SAAS,KAAK,GAAA,GAAM,MAAM;AACjD,QAAI,QAAQ,YAAY,QAAQ,QAAQ,SAAS;AAC/C,cAAQ,QAAQ;AAAA,IAAA;AAAA,EAClB,CACD;AAED,kBAAgB,MAAM;AAChB,QAAA,QAAQ,YAAY,QAAQ,iBAAiB;AAC/C;AAAA,IAAA;AAGF,YAAQ,UAAU,IAAI,QAAQ,CAAC,YAAY;AACzC,cAAQ,UAAU,MAAM;AACtB,gBAAQ,UAAU;AACV,gBAAA;AAAA,MACV;AAAA,IAAA,CACD;AAED,kBAAc,IAAI;AAAA,EAAA,GACjB,CAAC,aAAa,CAAC;AAEd,MAAA,QAAQ,YAAY,MAAM;AAC5B,UAAM,QAAQ;AAAA,EAAA;AAGhB,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAC,oBAAA,oBAAA,EAAmB,YAAY,kBAAkB,SAAoB,CAAA;AAAA,IACtE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAK;AAAA,QACL;AAAA,QACA,OAAO;AAAA,UACL,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,YAAY;AAAA,QAAA;AAAA,MACd;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;"}
@@ -1,7 +0,0 @@
1
- "use client"
2
- /* */
3
- const getFormDataObject = (formData) => Object.fromEntries(Array.from(formData.entries()));
4
- export {
5
- getFormDataObject
6
- };
7
- //# sourceMappingURL=getFormDataObject.mjs.map
@@ -1 +0,0 @@
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;"}
@@ -1,14 +0,0 @@
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
@@ -1 +0,0 @@
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;"}
@@ -1,9 +0,0 @@
1
- import { RemoteComponentsMap } from './lib/types';
2
- import { FC } from 'react';
3
- export interface RemoteRendererProps {
4
- integrations?: RemoteComponentsMap<never>[];
5
- src: string;
6
- }
7
- export declare const RemoteRendererClient: FC<RemoteRendererProps>;
8
- export default RemoteRendererClient;
9
- //# sourceMappingURL=RemoteRendererClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RemoteRendererClient.d.ts","sourceRoot":"","sources":["../../src/RemoteRendererClient.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAOvD,OAAO,EAEL,KAAK,EAAE,EAIR,MAAM,OAAO,CAAC;AAIf,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5C,GAAG,EAAE,MAAM,CAAC;CACb;AAOD,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,mBAAmB,CAmExD,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const getFormDataObject: (formData: FormData) => Record<string, unknown>;
2
- //# sourceMappingURL=getFormDataObject.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFormDataObject.d.ts","sourceRoot":"","sources":["../../../../src/components/lib/getFormDataObject.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,GAC5B,UAAU,QAAQ,KACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAC2B,CAAC"}
@@ -1,3 +0,0 @@
1
- import { FunctionComponent, PropsWithChildren } from 'react';
2
- export declare const stringChildrenExtractor: <P extends PropsWithChildren>(component: FunctionComponent<P>) => (props: PropsWithChildren<P>) => import('react').FunctionComponentElement<P>;
3
- //# sourceMappingURL=stringChildrenExtractor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stringChildrenExtractor.d.ts","sourceRoot":"","sources":["../../../src/lib/stringChildrenExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAgB,MAAM,OAAO,CAAC;AAWhF,eAAO,MAAM,uBAAuB,GACjC,CAAC,SAAS,iBAAiB,EAAE,WAAW,iBAAiB,CAAC,CAAC,CAAC,MAC5D,OAAO,iBAAiB,CAAC,CAAC,CAAC,gDAqB3B,CAAC"}