@mittwald/flow-remote-react-renderer 0.2.0-alpha.201 → 0.2.0-alpha.203

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.
@@ -17,7 +17,10 @@ const htmlComponentsMap = {
17
17
  ul: createRemoteComponentRenderer(elementFactory("ul")),
18
18
  ol: createRemoteComponentRenderer(elementFactory("ol")),
19
19
  li: createRemoteComponentRenderer(elementFactory("li")),
20
- small: createRemoteComponentRenderer(elementFactory("small"))
20
+ small: createRemoteComponentRenderer(elementFactory("small")),
21
+ br: createRemoteComponentRenderer(
22
+ elementFactory("br", { isVoidElement: true })
23
+ )
21
24
  };
22
25
  const skippedComponentsMap = {
23
26
  script: () => null
@@ -1 +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 s: createRemoteComponentRenderer(elementFactory(\"s\")),\n ul: createRemoteComponentRenderer(elementFactory(\"ul\")),\n ol: createRemoteComponentRenderer(elementFactory(\"ol\")),\n li: createRemoteComponentRenderer(elementFactory(\"li\")),\n small: createRemoteComponentRenderer(elementFactory(\"small\")),\n} as const;\n\n/**\n * Components that are allowed to be used remotely but should not be rendered on\n * the host.\n */\nconst skippedComponentsMap = {\n script: () => null,\n} as const;\n\nconst flowComponentsMap = {\n \"flr-form\": createFlowRemoteComponentRenderer(\"Form\", Form),\n \"flr-slot-root-wrapper\": createFlowRemoteComponentRenderer(\n \"SlotRootWrapper\",\n SlotRootWrapper,\n ),\n \"flr-notification\": createFlowRemoteComponentRenderer(\n \"Notification\",\n NotificationRenderController,\n ),\n};\n\nexport const components = {\n ...htmlComponentsMap,\n ...skippedComponentsMap,\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;AAAA,EAC9D,GAAG,8BAA8B,eAAe,GAAG,CAAC;AAAA,EACpD,IAAI,8BAA8B,eAAe,IAAI,CAAC;AAAA,EACtD,IAAI,8BAA8B,eAAe,IAAI,CAAC;AAAA,EACtD,IAAI,8BAA8B,eAAe,IAAI,CAAC;AAAA,EACtD,OAAO,8BAA8B,eAAe,OAAO,CAAC;AAC9D;AAMA,MAAM,uBAAuB;AAAA,EAC3B,QAAQ,MAAM;AAChB;AAEA,MAAM,oBAAoB;AAAA,EACxB,YAAY,kCAAkC,QAAQ,IAAI;AAAA,EAC1D,yBAAyB;AAAA,IACvB;AAAA,IACA;AAAA,EACF;AAAA,EACA,oBAAoB;AAAA,IAClB;AAAA,IACA;AAAA,EAAA;AAEJ;AAEO,MAAM,aAAa;AAAA,EACxB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAGA;AAAAA,EACH,GAAG;AACL;"}
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 s: createRemoteComponentRenderer(elementFactory(\"s\")),\n ul: createRemoteComponentRenderer(elementFactory(\"ul\")),\n ol: createRemoteComponentRenderer(elementFactory(\"ol\")),\n li: createRemoteComponentRenderer(elementFactory(\"li\")),\n small: createRemoteComponentRenderer(elementFactory(\"small\")),\n br: createRemoteComponentRenderer(\n elementFactory(\"br\", { isVoidElement: true }),\n ),\n} as const;\n\n/**\n * Components that are allowed to be used remotely but should not be rendered on\n * the host.\n */\nconst skippedComponentsMap = {\n script: () => null,\n} as const;\n\nconst flowComponentsMap = {\n \"flr-form\": createFlowRemoteComponentRenderer(\"Form\", Form),\n \"flr-slot-root-wrapper\": createFlowRemoteComponentRenderer(\n \"SlotRootWrapper\",\n SlotRootWrapper,\n ),\n \"flr-notification\": createFlowRemoteComponentRenderer(\n \"Notification\",\n NotificationRenderController,\n ),\n};\n\nexport const components = {\n ...htmlComponentsMap,\n ...skippedComponentsMap,\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;AAAA,EAC9D,GAAG,8BAA8B,eAAe,GAAG,CAAC;AAAA,EACpD,IAAI,8BAA8B,eAAe,IAAI,CAAC;AAAA,EACtD,IAAI,8BAA8B,eAAe,IAAI,CAAC;AAAA,EACtD,IAAI,8BAA8B,eAAe,IAAI,CAAC;AAAA,EACtD,OAAO,8BAA8B,eAAe,OAAO,CAAC;AAAA,EAC5D,IAAI;AAAA,IACF,eAAe,MAAM,EAAE,eAAe,KAAM,CAAA;AAAA,EAAA;AAEhD;AAMA,MAAM,uBAAuB;AAAA,EAC3B,QAAQ,MAAM;AAChB;AAEA,MAAM,oBAAoB;AAAA,EACxB,YAAY,kCAAkC,QAAQ,IAAI;AAAA,EAC1D,yBAAyB;AAAA,IACvB;AAAA,IACA;AAAA,EACF;AAAA,EACA,oBAAoB;AAAA,IAClB;AAAA,IACA;AAAA,EAAA;AAEJ;AAEO,MAAM,aAAa;AAAA,EACxB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAGA;AAAAA,EACH,GAAG;AACL;"}
@@ -4,8 +4,12 @@ import { mapAttributeToReactProperty } from "./mapAttributeToReactProperty.mjs";
4
4
  import clsx from "clsx";
5
5
  import { createElement } from "react";
6
6
  import { mapKeys } from "remeda";
7
- const elementFactory = (element) => (props) => {
7
+ const elementFactory = (element, options = {}) => (props) => {
8
8
  const result = { ...props };
9
+ const { isVoidElement = false } = options;
10
+ if (isVoidElement) {
11
+ delete result["children"];
12
+ }
9
13
  result["className"] = clsx(
10
14
  "className" in result && String(result["className"]),
11
15
  "class" in result && String(result["class"])
@@ -1 +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;"}
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\ninterface Options {\n isVoidElement?: boolean;\n}\n\nexport const elementFactory =\n <E extends keyof ElementTagNameMap>(element: E, options: Options = {}) =>\n (props: Record<string, unknown>) => {\n const result = { ...props };\n const { isVoidElement = false } = options;\n\n if (isVoidElement) {\n delete result[\"children\"];\n }\n\n // merge className and class\n result[\"className\"] = clsx(\n \"className\" in result && String(result[\"className\"]),\n \"class\" in result && String(result[\"class\"]),\n );\n\n delete result[\"class\"];\n\n return createElement(element, mapKeys(result, mapAttributeToReactProperty));\n };\n"],"names":[],"mappings":";;;;AAeO,MAAM,iBACX,CAAoC,SAAY,UAAmB,CAAC,MACpE,CAAC,UAAmC;AAC5B,QAAA,SAAS,EAAE,GAAG,MAAM;AACpB,QAAA,EAAE,gBAAgB,MAAA,IAAU;AAElC,MAAI,eAAe;AACjB,WAAO,OAAO,UAAU;AAAA,EAAA;AAI1B,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;"}
@@ -125,5 +125,6 @@ export declare const components: {
125
125
  ol: import('react').ComponentType<import('@mittwald/remote-dom-react/host').RemoteComponentRendererProps>;
126
126
  li: import('react').ComponentType<import('@mittwald/remote-dom-react/host').RemoteComponentRendererProps>;
127
127
  small: import('react').ComponentType<import('@mittwald/remote-dom-react/host').RemoteComponentRendererProps>;
128
+ br: import('react').ComponentType<import('@mittwald/remote-dom-react/host').RemoteComponentRendererProps>;
128
129
  };
129
130
  //# sourceMappingURL=components.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/components.ts"],"names":[],"mappings":"AAwCA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKtB,CAAC"}
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/components.ts"],"names":[],"mappings":"AA2CA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKtB,CAAC"}
@@ -1,4 +1,7 @@
1
1
  type ElementTagNameMap = HTMLElementTagNameMap & Pick<SVGElementTagNameMap, Exclude<keyof SVGElementTagNameMap, keyof HTMLElementTagNameMap>>;
2
- export declare const elementFactory: <E extends keyof ElementTagNameMap>(element: E) => (props: Record<string, unknown>) => import('react').DOMElement<Record<string, unknown>, Element>;
2
+ interface Options {
3
+ isVoidElement?: boolean;
4
+ }
5
+ export declare const elementFactory: <E extends keyof ElementTagNameMap>(element: E, options?: Options) => (props: Record<string, unknown>) => import('react').DOMElement<Record<string, unknown>, Element>;
3
6
  export {};
4
7
  //# sourceMappingURL=elementFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"elementFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/elementFactory.ts"],"names":[],"mappings":"AAKA,KAAK,iBAAiB,GAAG,qBAAqB,GAC5C,IAAI,CACF,oBAAoB,EACpB,OAAO,CAAC,MAAM,oBAAoB,EAAE,MAAM,qBAAqB,CAAC,CACjE,CAAC;AAEJ,eAAO,MAAM,cAAc,GACxB,CAAC,SAAS,MAAM,iBAAiB,EAAE,SAAS,CAAC,MAC7C,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,iEAY9B,CAAC"}
1
+ {"version":3,"file":"elementFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/elementFactory.ts"],"names":[],"mappings":"AAKA,KAAK,iBAAiB,GAAG,qBAAqB,GAC5C,IAAI,CACF,oBAAoB,EACpB,OAAO,CAAC,MAAM,oBAAoB,EAAE,MAAM,qBAAqB,CAAC,CACjE,CAAC;AAEJ,UAAU,OAAO;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,cAAc,GACxB,CAAC,SAAS,MAAM,iBAAiB,EAAE,SAAS,CAAC,EAAE,UAAS,OAAY,MACpE,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,iEAiB9B,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.201",
3
+ "version": "0.2.0-alpha.203",
4
4
  "type": "module",
5
5
  "description": "React rendering for Flow Remote Elements",
6
6
  "homepage": "https://mittwald.github.io/flow",
@@ -28,9 +28,9 @@
28
28
  "test:compile": "tsc --noEmit"
29
29
  },
30
30
  "dependencies": {
31
- "@mittwald/ext-bridge": "0.2.0-alpha.201",
32
- "@mittwald/flow-remote-core": "0.2.0-alpha.201",
33
- "@mittwald/flow-remote-elements": "0.2.0-alpha.201",
31
+ "@mittwald/ext-bridge": "0.2.0-alpha.203",
32
+ "@mittwald/flow-remote-core": "0.2.0-alpha.203",
33
+ "@mittwald/flow-remote-elements": "0.2.0-alpha.203",
34
34
  "@mittwald/react-use-promise": "^3.0.4",
35
35
  "@mittwald/remote-dom-react": "1.2.2-mittwald.3",
36
36
  "@types/react": "^19",
@@ -39,7 +39,7 @@
39
39
  "remeda": "^2.21.1"
40
40
  },
41
41
  "devDependencies": {
42
- "@mittwald/flow-react-components": "0.2.0-alpha.201",
42
+ "@mittwald/flow-react-components": "0.2.0-alpha.203",
43
43
  "@mittwald/typescript-config": "",
44
44
  "@types/node": "^22.13.10",
45
45
  "nx": "^20.8.1",
@@ -67,5 +67,5 @@
67
67
  "optional": true
68
68
  }
69
69
  },
70
- "gitHead": "e3b82483ee048b8fff0296d3b453d6d272e75bd9"
70
+ "gitHead": "e43944f3aad30d3eca38d0198cd1b144e04a0210"
71
71
  }