@webiny/app-website-builder 6.4.0-beta.1 → 6.4.0-beta.3

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.
@@ -1,17 +1,18 @@
1
- export { CompactEditorConfig } from "../../../inputRenderers/LexicalInput/LexicalEditorConfig.js";
2
- export { ExpandedEditorConfig } from "../../../inputRenderers/LexicalInput/LexicalEditorConfig.js";
3
- export { useLexicalEditorConfig } from "@webiny/lexical-editor/exports/admin/lexical.js";
4
- export { LexicalHtmlRenderer } from "@webiny/lexical-editor/exports/admin/lexical.js";
5
- export { getNodeFromSelection } from "@webiny/lexical-editor/exports/admin/lexical.js";
6
- export { useCurrentElement } from "@webiny/lexical-editor/exports/admin/lexical.js";
7
- export { useCurrentSelection } from "@webiny/lexical-editor/exports/admin/lexical.js";
8
- export { useDeriveValueFromSelection } from "@webiny/lexical-editor/exports/admin/lexical.js";
9
- export { useRichTextEditor } from "@webiny/lexical-editor/exports/admin/lexical.js";
10
- export { useFontColorPicker } from "@webiny/lexical-editor/exports/admin/lexical.js";
11
- export { useTextAlignmentAction } from "@webiny/lexical-editor/exports/admin/lexical.js";
12
- export { useTypographyAction } from "@webiny/lexical-editor/exports/admin/lexical.js";
13
- export { useIsMounted } from "@webiny/lexical-editor/exports/admin/lexical.js";
14
- export { Divider } from "@webiny/lexical-editor/exports/admin/lexical.js";
15
- export { DropDownItem } from "@webiny/lexical-editor/exports/admin/lexical.js";
16
- export { DropDown } from "@webiny/lexical-editor/exports/admin/lexical.js";
17
- export type { Klass, LexicalNode } from "@webiny/lexical-editor/exports/admin/lexical.js";
1
+ export { LexicalEditorConfig } from "../../../inputRenderers/LexicalInput/LexicalEditorConfig.js";
2
+ export { LexicalEditor } from "../../../inputRenderers/LexicalInput/LexicalEditor.js";
3
+ export type { LexicalEditorProps } from "../../../inputRenderers/LexicalInput/LexicalEditor.js";
4
+ export { useLexicalEditorConfig } from "@webiny/lexical-editor/exports/admin/ui/lexical.js";
5
+ export { LexicalHtmlRenderer } from "@webiny/lexical-editor/exports/admin/ui/lexical.js";
6
+ export { getNodeFromSelection } from "@webiny/lexical-editor/exports/admin/ui/lexical.js";
7
+ export { useCurrentElement } from "@webiny/lexical-editor/exports/admin/ui/lexical.js";
8
+ export { useCurrentSelection } from "@webiny/lexical-editor/exports/admin/ui/lexical.js";
9
+ export { useDeriveValueFromSelection } from "@webiny/lexical-editor/exports/admin/ui/lexical.js";
10
+ export { useRichTextEditor } from "@webiny/lexical-editor/exports/admin/ui/lexical.js";
11
+ export { useFontColorPicker } from "@webiny/lexical-editor/exports/admin/ui/lexical.js";
12
+ export { useTextAlignmentAction } from "@webiny/lexical-editor/exports/admin/ui/lexical.js";
13
+ export { useTypographyAction } from "@webiny/lexical-editor/exports/admin/ui/lexical.js";
14
+ export { useIsMounted } from "@webiny/lexical-editor/exports/admin/ui/lexical.js";
15
+ export { Divider } from "@webiny/lexical-editor/exports/admin/ui/lexical.js";
16
+ export { DropDownItem } from "@webiny/lexical-editor/exports/admin/ui/lexical.js";
17
+ export { DropDown } from "@webiny/lexical-editor/exports/admin/ui/lexical.js";
18
+ export type { Klass, LexicalNode } from "@webiny/lexical-editor/exports/admin/ui/lexical.js";
@@ -1,2 +1,3 @@
1
- export { CompactEditorConfig, ExpandedEditorConfig } from "../../../inputRenderers/LexicalInput/LexicalEditorConfig.js";
2
- export { Divider, DropDown, DropDownItem, LexicalHtmlRenderer, getNodeFromSelection, useCurrentElement, useCurrentSelection, useDeriveValueFromSelection, useFontColorPicker, useIsMounted, useLexicalEditorConfig, useRichTextEditor, useTextAlignmentAction, useTypographyAction } from "@webiny/lexical-editor/exports/admin/lexical.js";
1
+ export { LexicalEditorConfig } from "../../../inputRenderers/LexicalInput/LexicalEditorConfig.js";
2
+ export { LexicalEditor } from "../../../inputRenderers/LexicalInput/LexicalEditor.js";
3
+ export { Divider, DropDown, DropDownItem, LexicalHtmlRenderer, getNodeFromSelection, useCurrentElement, useCurrentSelection, useDeriveValueFromSelection, useFontColorPicker, useIsMounted, useLexicalEditorConfig, useRichTextEditor, useTextAlignmentAction, useTypographyAction } from "@webiny/lexical-editor/exports/admin/ui/lexical.js";
@@ -1 +1 @@
1
- {"version":3,"file":"inputRenderers/FileInput.js","sources":["../../src/inputRenderers/FileInput.tsx"],"sourcesContent":["import React from \"react\";\nimport { FilePicker } from \"@webiny/admin-ui\";\nimport type { ElementInputRendererProps } from \"~/BaseEditor/index.js\";\nimport { FileManager, type FileManagerFileItem } from \"@webiny/app-admin\";\nimport { useBreakpoint } from \"~/BaseEditor/hooks/useBreakpoint.js\";\nimport type { FileInput } from \"@webiny/website-builder-sdk\";\nimport { fileManagerItemToValue } from \"~/shared/fileManagerItemToValue.js\";\n\nexport const FileInputRenderer = ({\n value,\n onChange,\n label,\n ...props\n}: ElementInputRendererProps) => {\n const input = props.input as FileInput;\n const { isBaseBreakpoint } = useBreakpoint();\n const onFileChange = (file: FileManagerFileItem) => {\n onChange(({ value }) => {\n const newValue = fileManagerItemToValue(file);\n value.set(newValue);\n });\n };\n\n const onRemove = () => {\n onChange(({ value }) => {\n if (isBaseBreakpoint) {\n value.set(undefined);\n } else {\n value.set(null);\n }\n });\n };\n\n return (\n <FileManager\n accept={input.allowedFileTypes}\n onChange={onFileChange}\n render={({ showFileManager }) => (\n <FilePicker\n label={label}\n description={input.description}\n type=\"compact\"\n value={value}\n onSelectItem={() => showFileManager()}\n onRemoveItem={onRemove}\n onEditItem={() => showFileManager()}\n />\n )}\n />\n );\n};\n"],"names":["FileInputRenderer","value","onChange","label","props","input","isBaseBreakpoint","useBreakpoint","onFileChange","file","newValue","fileManagerItemToValue","onRemove","undefined","FileManager","showFileManager","FilePicker"],"mappings":";;;;;AAQO,MAAMA,oBAAoB,CAAC,EAC9BC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACL,GAAGC,OACqB;IACxB,MAAMC,QAAQD,MAAM,KAAK;IACzB,MAAM,EAAEE,gBAAgB,EAAE,GAAGC;IAC7B,MAAMC,eAAe,CAACC;QAClBP,SAAS,CAAC,EAAED,KAAK,EAAE;YACf,MAAMS,WAAWC,uBAAuBF;YACxCR,MAAM,GAAG,CAACS;QACd;IACJ;IAEA,MAAME,WAAW;QACbV,SAAS,CAAC,EAAED,KAAK,EAAE;YACf,IAAIK,kBACAL,MAAM,GAAG,CAACY;iBAEVZ,MAAM,GAAG,CAAC;QAElB;IACJ;IAEA,OAAO,WAAP,GACI,oBAACa,aAAWA;QACR,QAAQT,MAAM,gBAAgB;QAC9B,UAAUG;QACV,QAAQ,CAAC,EAAEO,eAAe,EAAE,iBACxB,oBAACC,YAAUA;gBACP,OAAOb;gBACP,aAAaE,MAAM,WAAW;gBAC9B,MAAK;gBACL,OAAOJ;gBACP,cAAc,IAAMc;gBACpB,cAAcH;gBACd,YAAY,IAAMG;;;AAKtC"}
1
+ {"version":3,"file":"inputRenderers/FileInput.js","sources":["../../src/inputRenderers/FileInput.tsx"],"sourcesContent":["import React from \"react\";\nimport { FilePicker } from \"@webiny/admin-ui\";\nimport type { ElementInputRendererProps } from \"~/BaseEditor/index.js\";\nimport { FileManager, type FileManagerFileItem } from \"@webiny/app-admin\";\nimport { useBreakpoint } from \"~/BaseEditor/hooks/useBreakpoint.js\";\nimport type { FileInput } from \"@webiny/website-builder-sdk\";\nimport { fileManagerItemToValue } from \"~/shared/fileManagerItemToValue.js\";\n\nexport const FileInputRenderer = ({\n value,\n onChange,\n label,\n ...props\n}: ElementInputRendererProps) => {\n const input = props.input as FileInput;\n const { isBaseBreakpoint } = useBreakpoint();\n\n const onFileChange = (file: FileManagerFileItem) => {\n onChange(({ value }) => {\n const newValue = fileManagerItemToValue(file);\n value.set(newValue);\n });\n };\n\n const onRemove = () => {\n onChange(({ value }) => {\n if (isBaseBreakpoint) {\n value.set(undefined);\n } else {\n value.set(null);\n }\n });\n };\n\n return (\n <FileManager\n accept={input.allowedFileTypes}\n onChange={onFileChange}\n render={({ showFileManager }) => (\n <FilePicker\n label={label}\n description={input.description}\n type=\"compact\"\n value={value}\n onSelectItem={() => showFileManager()}\n onRemoveItem={onRemove}\n onEditItem={() => showFileManager()}\n />\n )}\n />\n );\n};\n"],"names":["FileInputRenderer","value","onChange","label","props","input","isBaseBreakpoint","useBreakpoint","onFileChange","file","newValue","fileManagerItemToValue","onRemove","undefined","FileManager","showFileManager","FilePicker"],"mappings":";;;;;AAQO,MAAMA,oBAAoB,CAAC,EAC9BC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACL,GAAGC,OACqB;IACxB,MAAMC,QAAQD,MAAM,KAAK;IACzB,MAAM,EAAEE,gBAAgB,EAAE,GAAGC;IAE7B,MAAMC,eAAe,CAACC;QAClBP,SAAS,CAAC,EAAED,KAAK,EAAE;YACf,MAAMS,WAAWC,uBAAuBF;YACxCR,MAAM,GAAG,CAACS;QACd;IACJ;IAEA,MAAME,WAAW;QACbV,SAAS,CAAC,EAAED,KAAK,EAAE;YACf,IAAIK,kBACAL,MAAM,GAAG,CAACY;iBAEVZ,MAAM,GAAG,CAAC;QAElB;IACJ;IAEA,OAAO,WAAP,GACI,oBAACa,aAAWA;QACR,QAAQT,MAAM,gBAAgB;QAC9B,UAAUG;QACV,QAAQ,CAAC,EAAEO,eAAe,EAAE,iBACxB,oBAACC,YAAUA;gBACP,OAAOb;gBACP,aAAaE,MAAM,WAAW;gBAC9B,MAAK;gBACL,OAAOJ;gBACP,cAAc,IAAMc;gBACpB,cAAcH;gBACd,YAAY,IAAMG;;;AAKtC"}
@@ -2,4 +2,7 @@ import React from "react";
2
2
  import { LexicalEditor as BaseLexicalEditor } from "@webiny/app-admin";
3
3
  import "./wbStaticToolbar.css";
4
4
  export type LexicalEditorProps = Omit<React.ComponentProps<typeof BaseLexicalEditor>, "theme">;
5
- export declare const LexicalEditor: (props: LexicalEditorProps) => React.JSX.Element;
5
+ export declare const LexicalEditor: {
6
+ Expanded: (props: LexicalEditorProps) => React.JSX.Element;
7
+ Compact: (props: LexicalEditorProps) => React.JSX.Element;
8
+ };
@@ -1,5 +1,5 @@
1
1
  import react from "react";
2
- import { LexicalEditor } from "@webiny/app-admin";
2
+ import { CompositionScope, LexicalEditor } from "@webiny/app-admin";
3
3
  import { StaticToolbar } from "@webiny/lexical-editor";
4
4
  import { createLexicalTokens } from "@webiny/lexical-theme/createLexicalEditorTokens.js";
5
5
  import { useWebsiteBuilderTheme } from "../../BaseEditor/components/index.js";
@@ -23,7 +23,7 @@ const styles = {
23
23
  fontFamily: "var(--wb-theme-font-family)"
24
24
  };
25
25
  const lexicalTokens = createLexicalTokens("wb-lx-");
26
- const LexicalEditor_LexicalEditor = (props)=>{
26
+ const LexicalEditorComponent = (props)=>{
27
27
  const { theme } = useWebsiteBuilderTheme();
28
28
  const editorTheme = {
29
29
  colors: theme?.colors ?? [],
@@ -43,6 +43,16 @@ const LexicalEditor_LexicalEditor = (props)=>{
43
43
  theme: editorTheme
44
44
  });
45
45
  };
46
+ const ExpandedLexicalEditor = (props)=>/*#__PURE__*/ react.createElement(CompositionScope, {
47
+ name: "expanded"
48
+ }, /*#__PURE__*/ react.createElement(LexicalEditorComponent, props));
49
+ const CompactLexicalEditor = (props)=>/*#__PURE__*/ react.createElement(CompositionScope, {
50
+ name: "compact"
51
+ }, /*#__PURE__*/ react.createElement(LexicalEditorComponent, props));
52
+ const LexicalEditor_LexicalEditor = {
53
+ Expanded: ExpandedLexicalEditor,
54
+ Compact: CompactLexicalEditor
55
+ };
46
56
  export { LexicalEditor_LexicalEditor as LexicalEditor };
47
57
 
48
58
  //# sourceMappingURL=LexicalEditor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inputRenderers/LexicalInput/LexicalEditor.js","sources":["../../../src/inputRenderers/LexicalInput/LexicalEditor.tsx"],"sourcesContent":["import React from \"react\";\nimport { LexicalEditor as BaseLexicalEditor } from \"@webiny/app-admin\";\nimport { StaticToolbar } from \"@webiny/lexical-editor\";\nimport type { EditorTheme } from \"@webiny/lexical-theme\";\nimport { createLexicalTokens } from \"@webiny/lexical-theme/createLexicalEditorTokens.js\";\nimport { useWebsiteBuilderTheme } from \"~/BaseEditor/components/index.js\";\nimport \"./wbStaticToolbar.css\";\n\nconst placeholderStyles: React.CSSProperties = { position: \"absolute\", top: 40, left: 25 };\n\nconst contentEditableStyles: React.CSSProperties = {\n minHeight: 200,\n display: \"block\",\n padding: 10\n};\n\nconst styles: React.CSSProperties = {\n backgroundColor: \"#fff\",\n border: \"1px solid #e1e1e1\",\n padding: \"10px 14px\",\n minHeight: 200,\n maxHeight: 350,\n fontFamily: \"var(--wb-theme-font-family)\"\n};\n\nconst lexicalTokens = createLexicalTokens(\"wb-lx-\");\n\nexport type LexicalEditorProps = Omit<React.ComponentProps<typeof BaseLexicalEditor>, \"theme\">;\n\nexport const LexicalEditor = (props: LexicalEditorProps) => {\n const { theme } = useWebsiteBuilderTheme();\n\n const editorTheme: EditorTheme = {\n colors: theme?.colors ?? [],\n typography: theme?.typography ?? {},\n tokens: lexicalTokens\n };\n\n return (\n <BaseLexicalEditor\n {...props}\n staticToolbar={<StaticToolbar className={\"wb-static-toolbar\"} />}\n tag={\"p\"}\n placeholder={props?.placeholder || \"Enter your text here...\"}\n placeholderStyles={placeholderStyles}\n contentEditableStyles={contentEditableStyles}\n styles={styles}\n theme={editorTheme}\n />\n );\n};\n"],"names":["placeholderStyles","contentEditableStyles","styles","lexicalTokens","createLexicalTokens","LexicalEditor","props","theme","useWebsiteBuilderTheme","editorTheme","BaseLexicalEditor","StaticToolbar"],"mappings":";;;;;;AAQA,MAAMA,oBAAyC;IAAE,UAAU;IAAY,KAAK;IAAI,MAAM;AAAG;AAEzF,MAAMC,wBAA6C;IAC/C,WAAW;IACX,SAAS;IACT,SAAS;AACb;AAEA,MAAMC,SAA8B;IAChC,iBAAiB;IACjB,QAAQ;IACR,SAAS;IACT,WAAW;IACX,WAAW;IACX,YAAY;AAChB;AAEA,MAAMC,gBAAgBC,oBAAoB;AAInC,MAAMC,8BAAgB,CAACC;IAC1B,MAAM,EAAEC,KAAK,EAAE,GAAGC;IAElB,MAAMC,cAA2B;QAC7B,QAAQF,OAAO,UAAU,EAAE;QAC3B,YAAYA,OAAO,cAAc,CAAC;QAClC,QAAQJ;IACZ;IAEA,OAAO,WAAP,GACI,oBAACO,eAAiBA;QACb,GAAGJ,KAAK;QACT,6BAAe,oBAACK,eAAaA;YAAC,WAAW;;QACzC,KAAK;QACL,aAAaL,OAAO,eAAe;QACnC,mBAAmBN;QACnB,uBAAuBC;QACvB,QAAQC;QACR,OAAOO;;AAGnB"}
1
+ {"version":3,"file":"inputRenderers/LexicalInput/LexicalEditor.js","sources":["../../../src/inputRenderers/LexicalInput/LexicalEditor.tsx"],"sourcesContent":["import React from \"react\";\nimport { LexicalEditor as BaseLexicalEditor } from \"@webiny/app-admin\";\nimport { StaticToolbar } from \"@webiny/lexical-editor\";\nimport type { EditorTheme } from \"@webiny/lexical-theme\";\nimport { createLexicalTokens } from \"@webiny/lexical-theme/createLexicalEditorTokens.js\";\nimport { useWebsiteBuilderTheme } from \"~/BaseEditor/components/index.js\";\nimport \"./wbStaticToolbar.css\";\nimport { CompositionScope } from \"@webiny/app-admin\";\n\nconst placeholderStyles: React.CSSProperties = { position: \"absolute\", top: 40, left: 25 };\n\nconst contentEditableStyles: React.CSSProperties = {\n minHeight: 200,\n display: \"block\",\n padding: 10\n};\n\nconst styles: React.CSSProperties = {\n backgroundColor: \"#fff\",\n border: \"1px solid #e1e1e1\",\n padding: \"10px 14px\",\n minHeight: 200,\n maxHeight: 350,\n fontFamily: \"var(--wb-theme-font-family)\"\n};\n\nconst lexicalTokens = createLexicalTokens(\"wb-lx-\");\n\nexport type LexicalEditorProps = Omit<React.ComponentProps<typeof BaseLexicalEditor>, \"theme\">;\n\nconst LexicalEditorComponent = (props: LexicalEditorProps) => {\n const { theme } = useWebsiteBuilderTheme();\n\n const editorTheme: EditorTheme = {\n colors: theme?.colors ?? [],\n typography: theme?.typography ?? {},\n tokens: lexicalTokens\n };\n\n return (\n <BaseLexicalEditor\n {...props}\n staticToolbar={<StaticToolbar className={\"wb-static-toolbar\"} />}\n tag={\"p\"}\n placeholder={props?.placeholder || \"Enter your text here...\"}\n placeholderStyles={placeholderStyles}\n contentEditableStyles={contentEditableStyles}\n styles={styles}\n theme={editorTheme}\n />\n );\n};\n\nconst ExpandedLexicalEditor = (props: LexicalEditorProps) => {\n return (\n <CompositionScope name={\"expanded\"}>\n <LexicalEditorComponent {...props} />\n </CompositionScope>\n );\n};\n\nconst CompactLexicalEditor = (props: LexicalEditorProps) => {\n return (\n <CompositionScope name={\"compact\"}>\n <LexicalEditorComponent {...props} />\n </CompositionScope>\n );\n};\n\nexport const LexicalEditor = {\n Expanded: ExpandedLexicalEditor,\n Compact: CompactLexicalEditor\n};\n"],"names":["placeholderStyles","contentEditableStyles","styles","lexicalTokens","createLexicalTokens","LexicalEditorComponent","props","theme","useWebsiteBuilderTheme","editorTheme","BaseLexicalEditor","StaticToolbar","ExpandedLexicalEditor","CompositionScope","CompactLexicalEditor","LexicalEditor"],"mappings":";;;;;;AASA,MAAMA,oBAAyC;IAAE,UAAU;IAAY,KAAK;IAAI,MAAM;AAAG;AAEzF,MAAMC,wBAA6C;IAC/C,WAAW;IACX,SAAS;IACT,SAAS;AACb;AAEA,MAAMC,SAA8B;IAChC,iBAAiB;IACjB,QAAQ;IACR,SAAS;IACT,WAAW;IACX,WAAW;IACX,YAAY;AAChB;AAEA,MAAMC,gBAAgBC,oBAAoB;AAI1C,MAAMC,yBAAyB,CAACC;IAC5B,MAAM,EAAEC,KAAK,EAAE,GAAGC;IAElB,MAAMC,cAA2B;QAC7B,QAAQF,OAAO,UAAU,EAAE;QAC3B,YAAYA,OAAO,cAAc,CAAC;QAClC,QAAQJ;IACZ;IAEA,OAAO,WAAP,GACI,oBAACO,eAAiBA;QACb,GAAGJ,KAAK;QACT,6BAAe,oBAACK,eAAaA;YAAC,WAAW;;QACzC,KAAK;QACL,aAAaL,OAAO,eAAe;QACnC,mBAAmBN;QACnB,uBAAuBC;QACvB,QAAQC;QACR,OAAOO;;AAGnB;AAEA,MAAMG,wBAAwB,CAACN,QACpB,WAAP,GACI,oBAACO,kBAAgBA;QAAC,MAAM;qBACpB,oBAACR,wBAA2BC;AAKxC,MAAMQ,uBAAuB,CAACR,QACnB,WAAP,GACI,oBAACO,kBAAgBA;QAAC,MAAM;qBACpB,oBAACR,wBAA2BC;AAKjC,MAAMS,8BAAgB;IACzB,UAAUH;IACV,SAASE;AACb"}
@@ -16,3 +16,21 @@ export declare const ExpandedEditorConfig: {
16
16
  Plugin: (props: React.ComponentProps<typeof BaseConfig.Plugin>) => React.JSX.Element;
17
17
  Node: (props: React.ComponentProps<typeof BaseConfig.Node>) => React.JSX.Element;
18
18
  };
19
+ export declare const LexicalEditorConfig: {
20
+ Expanded: {
21
+ ({ children }: {
22
+ children: React.ReactNode;
23
+ }): React.JSX.Element;
24
+ ToolbarAction: (props: React.ComponentProps<typeof BaseConfig.ToolbarElement>) => React.JSX.Element;
25
+ Plugin: (props: React.ComponentProps<typeof BaseConfig.Plugin>) => React.JSX.Element;
26
+ Node: (props: React.ComponentProps<typeof BaseConfig.Node>) => React.JSX.Element;
27
+ };
28
+ Compact: {
29
+ ({ children }: {
30
+ children: React.ReactNode;
31
+ }): React.JSX.Element;
32
+ ToolbarAction: (props: React.ComponentProps<typeof BaseConfig.ToolbarElement>) => React.JSX.Element;
33
+ Plugin: (props: React.ComponentProps<typeof BaseConfig.Plugin>) => React.JSX.Element;
34
+ Node: (props: React.ComponentProps<typeof BaseConfig.Node>) => React.JSX.Element;
35
+ };
36
+ };
@@ -20,6 +20,10 @@ const ExpandedEditorConfig = ({ children })=>/*#__PURE__*/ react.createElement(C
20
20
  ExpandedEditorConfig.ToolbarAction = ToolbarAction;
21
21
  ExpandedEditorConfig.Plugin = PluginConfig;
22
22
  ExpandedEditorConfig.Node = NodeConfig;
23
- export { CompactEditorConfig, ExpandedEditorConfig };
23
+ const LexicalEditorConfig_LexicalEditorConfig = {
24
+ Expanded: ExpandedEditorConfig,
25
+ Compact: CompactEditorConfig
26
+ };
27
+ export { CompactEditorConfig, ExpandedEditorConfig, LexicalEditorConfig_LexicalEditorConfig as LexicalEditorConfig };
24
28
 
25
29
  //# sourceMappingURL=LexicalEditorConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inputRenderers/LexicalInput/LexicalEditorConfig.js","sources":["../../../src/inputRenderers/LexicalInput/LexicalEditorConfig.tsx"],"sourcesContent":["import React from \"react\";\nimport { LexicalEditorConfig as BaseConfig } from \"@webiny/lexical-editor\";\nimport { CompositionScope } from \"@webiny/react-composition\";\n\nconst ToolbarAction = (props: React.ComponentProps<typeof BaseConfig.ToolbarElement>) => {\n return <BaseConfig.ToolbarElement {...props} />;\n};\n\nconst PluginConfig = (props: React.ComponentProps<typeof BaseConfig.Plugin>) => {\n return <BaseConfig.Plugin {...props} />;\n};\n\nconst NodeConfig = (props: React.ComponentProps<typeof BaseConfig.Node>) => {\n return <BaseConfig.Node {...props} />;\n};\n\nexport const CompactEditorConfig = ({ children }: { children: React.ReactNode }) => {\n return (\n <CompositionScope name={\"compact\"}>\n <BaseConfig priority={\"secondary\"}>{children}</BaseConfig>\n </CompositionScope>\n );\n};\n\nCompactEditorConfig.ToolbarAction = ToolbarAction;\nCompactEditorConfig.Plugin = PluginConfig;\nCompactEditorConfig.Node = NodeConfig;\n\nexport const ExpandedEditorConfig = ({ children }: { children: React.ReactNode }) => {\n return (\n <CompositionScope name={\"expanded\"}>\n <BaseConfig priority={\"secondary\"}>{children}</BaseConfig>\n </CompositionScope>\n );\n};\n\nExpandedEditorConfig.ToolbarAction = ToolbarAction;\nExpandedEditorConfig.Plugin = PluginConfig;\nExpandedEditorConfig.Node = NodeConfig;\n"],"names":["ToolbarAction","props","BaseConfig","PluginConfig","NodeConfig","CompactEditorConfig","children","CompositionScope","ExpandedEditorConfig"],"mappings":";;;AAIA,MAAMA,gBAAgB,CAACC,QACZ,WAAP,GAAO,oBAACC,oBAAAA,cAAyB,EAAKD;AAG1C,MAAME,eAAe,CAACF,QACX,WAAP,GAAO,oBAACC,oBAAAA,MAAiB,EAAKD;AAGlC,MAAMG,aAAa,CAACH,QACT,WAAP,GAAO,oBAACC,oBAAAA,IAAe,EAAKD;AAGzB,MAAMI,sBAAsB,CAAC,EAAEC,QAAQ,EAAiC,GACpE,WAAP,GACI,oBAACC,kBAAgBA;QAAC,MAAM;qBACpB,oBAACL,qBAAUA;QAAC,UAAU;OAAcI;AAKhDD,oBAAoB,aAAa,GAAGL;AACpCK,oBAAoB,MAAM,GAAGF;AAC7BE,oBAAoB,IAAI,GAAGD;AAEpB,MAAMI,uBAAuB,CAAC,EAAEF,QAAQ,EAAiC,GACrE,WAAP,GACI,oBAACC,kBAAgBA;QAAC,MAAM;qBACpB,oBAACL,qBAAUA;QAAC,UAAU;OAAcI;AAKhDE,qBAAqB,aAAa,GAAGR;AACrCQ,qBAAqB,MAAM,GAAGL;AAC9BK,qBAAqB,IAAI,GAAGJ"}
1
+ {"version":3,"file":"inputRenderers/LexicalInput/LexicalEditorConfig.js","sources":["../../../src/inputRenderers/LexicalInput/LexicalEditorConfig.tsx"],"sourcesContent":["import React from \"react\";\nimport { LexicalEditorConfig as BaseConfig } from \"@webiny/lexical-editor\";\nimport { CompositionScope } from \"@webiny/react-composition\";\n\nconst ToolbarAction = (props: React.ComponentProps<typeof BaseConfig.ToolbarElement>) => {\n return <BaseConfig.ToolbarElement {...props} />;\n};\n\nconst PluginConfig = (props: React.ComponentProps<typeof BaseConfig.Plugin>) => {\n return <BaseConfig.Plugin {...props} />;\n};\n\nconst NodeConfig = (props: React.ComponentProps<typeof BaseConfig.Node>) => {\n return <BaseConfig.Node {...props} />;\n};\n\nexport const CompactEditorConfig = ({ children }: { children: React.ReactNode }) => {\n return (\n <CompositionScope name={\"compact\"}>\n <BaseConfig priority={\"secondary\"}>{children}</BaseConfig>\n </CompositionScope>\n );\n};\n\nCompactEditorConfig.ToolbarAction = ToolbarAction;\nCompactEditorConfig.Plugin = PluginConfig;\nCompactEditorConfig.Node = NodeConfig;\n\nexport const ExpandedEditorConfig = ({ children }: { children: React.ReactNode }) => {\n return (\n <CompositionScope name={\"expanded\"}>\n <BaseConfig priority={\"secondary\"}>{children}</BaseConfig>\n </CompositionScope>\n );\n};\n\nExpandedEditorConfig.ToolbarAction = ToolbarAction;\nExpandedEditorConfig.Plugin = PluginConfig;\nExpandedEditorConfig.Node = NodeConfig;\n\nexport const LexicalEditorConfig = {\n Expanded: ExpandedEditorConfig,\n Compact: CompactEditorConfig\n};\n"],"names":["ToolbarAction","props","BaseConfig","PluginConfig","NodeConfig","CompactEditorConfig","children","CompositionScope","ExpandedEditorConfig","LexicalEditorConfig"],"mappings":";;;AAIA,MAAMA,gBAAgB,CAACC,QACZ,WAAP,GAAO,oBAACC,oBAAAA,cAAyB,EAAKD;AAG1C,MAAME,eAAe,CAACF,QACX,WAAP,GAAO,oBAACC,oBAAAA,MAAiB,EAAKD;AAGlC,MAAMG,aAAa,CAACH,QACT,WAAP,GAAO,oBAACC,oBAAAA,IAAe,EAAKD;AAGzB,MAAMI,sBAAsB,CAAC,EAAEC,QAAQ,EAAiC,GACpE,WAAP,GACI,oBAACC,kBAAgBA;QAAC,MAAM;qBACpB,oBAACL,qBAAUA;QAAC,UAAU;OAAcI;AAKhDD,oBAAoB,aAAa,GAAGL;AACpCK,oBAAoB,MAAM,GAAGF;AAC7BE,oBAAoB,IAAI,GAAGD;AAEpB,MAAMI,uBAAuB,CAAC,EAAEF,QAAQ,EAAiC,GACrE,WAAP,GACI,oBAACC,kBAAgBA;QAAC,MAAM;qBACpB,oBAACL,qBAAUA;QAAC,UAAU;OAAcI;AAKhDE,qBAAqB,aAAa,GAAGR;AACrCQ,qBAAqB,MAAM,GAAGL;AAC9BK,qBAAqB,IAAI,GAAGJ;AAErB,MAAMK,0CAAsB;IAC/B,UAAUD;IACV,SAASH;AACb"}
@@ -1,6 +1,5 @@
1
1
  import react, { useCallback, useEffect, useState } from "react";
2
2
  import { Dialog, FormComponentLabel } from "@webiny/admin-ui";
3
- import { CompositionScope } from "@webiny/app-admin";
4
3
  import { LexicalEditor } from "./LexicalEditor.js";
5
4
  import { ExpandedEditorProvider, useExpandedEditor } from "./ExpandedEditor.js";
6
5
  const LexicalInputRenderer = (props)=>{
@@ -39,12 +38,10 @@ const EditorDialog = (props)=>{
39
38
  props.onChange(localValue);
40
39
  }
41
40
  }))
42
- }, /*#__PURE__*/ react.createElement(CompositionScope, {
43
- name: "expanded"
44
- }, /*#__PURE__*/ react.createElement(LexicalEditor, {
41
+ }, /*#__PURE__*/ react.createElement(LexicalEditor.Expanded, {
45
42
  value: localValue,
46
43
  onChange: setLocalValue
47
- })));
44
+ }));
48
45
  };
49
46
  const ExpandableLexicalInputRenderer = ({ value, onChange, input, label })=>{
50
47
  const { isExpanded, setExpanded } = useExpandedEditor();
@@ -57,13 +54,11 @@ const ExpandableLexicalInputRenderer = ({ value, onChange, input, label })=>{
57
54
  ]);
58
55
  return /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(FormComponentLabel, {
59
56
  text: label
60
- }), /*#__PURE__*/ react.createElement(CompositionScope, {
61
- name: "compact"
62
- }, /*#__PURE__*/ react.createElement(LexicalEditor, {
57
+ }), /*#__PURE__*/ react.createElement(LexicalEditor.Compact, {
63
58
  value: value,
64
59
  onChange: onChange,
65
60
  key: input.name
66
- })), /*#__PURE__*/ react.createElement(EditorDialog, {
61
+ }), /*#__PURE__*/ react.createElement(EditorDialog, {
67
62
  open: isExpanded,
68
63
  value: value,
69
64
  onChange: applyChanges,
@@ -1 +1 @@
1
- {"version":3,"file":"inputRenderers/LexicalInput/LexicalInput.js","sources":["../../../src/inputRenderers/LexicalInput/LexicalInput.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport { Dialog, FormComponentLabel } from \"@webiny/admin-ui\";\nimport { CompositionScope } from \"@webiny/app-admin\";\nimport type { RichTextValueWithHtml } from \"@webiny/app-admin\";\nimport { LexicalEditor } from \"./LexicalEditor.js\";\nimport type { ElementInputRendererProps } from \"~/BaseEditor/index.js\";\nimport {\n ExpandedEditorProvider,\n useExpandedEditor\n} from \"~/inputRenderers/LexicalInput/ExpandedEditor.js\";\n\ntype LexicalInputRendererProps = Omit<ElementInputRendererProps, \"onChange\" | \"metadata\"> & {\n onChange: (value: RichTextValueWithHtml) => void;\n};\n\nexport const LexicalInputRenderer = (props: ElementInputRendererProps) => {\n const onChange = (lexicalValue: RichTextValueWithHtml) => {\n props.onChange(({ value }) => {\n value.set(lexicalValue);\n });\n };\n\n const value = props.value ?? {};\n\n return (\n <ExpandedEditorProvider>\n <ExpandableLexicalInputRenderer {...props} value={value} onChange={onChange} />\n </ExpandedEditorProvider>\n );\n};\n\ninterface EditorDialogProps extends Omit<LexicalInputRendererProps, \"onPreviewChange\" | \"label\"> {\n open: boolean;\n onClose: () => void;\n}\n\nconst EditorDialog = (props: EditorDialogProps) => {\n const [localValue, setLocalValue] = useState(props.value);\n\n useEffect(() => {\n setLocalValue(props.value);\n }, [props.value]);\n\n return (\n <Dialog\n id={\"lexical-editor-dialog\"}\n open={props.open}\n className={\"w-[900px] max-w-[900px] overflow-visible\"}\n data-hover-manager={\"ignore\"}\n title={`Edit ${props.input.label}`}\n dismissible={false}\n showCloseButton={false}\n actions={\n <>\n <Dialog.CancelAction onClick={props.onClose} />\n <Dialog.ConfirmAction\n text={\"Save Changes\"}\n onClick={() => {\n props.onChange(localValue);\n }}\n />\n </>\n }\n >\n <CompositionScope name={\"expanded\"}>\n <LexicalEditor value={localValue} onChange={setLocalValue} />\n </CompositionScope>\n </Dialog>\n );\n};\n\nconst ExpandableLexicalInputRenderer = ({\n value,\n onChange,\n input,\n label\n}: LexicalInputRendererProps) => {\n const { isExpanded, setExpanded } = useExpandedEditor();\n\n const applyChanges = useCallback(\n (newValue: any) => {\n onChange(newValue);\n setExpanded(false);\n },\n [onChange, setExpanded]\n );\n\n return (\n <>\n <FormComponentLabel text={label} />\n <CompositionScope name={\"compact\"}>\n <LexicalEditor value={value} onChange={onChange} key={input.name} />\n </CompositionScope>\n <EditorDialog\n open={isExpanded}\n value={value}\n onChange={applyChanges}\n onClose={() => setExpanded(false)}\n input={input}\n />\n </>\n );\n};\n"],"names":["LexicalInputRenderer","props","onChange","lexicalValue","value","ExpandedEditorProvider","ExpandableLexicalInputRenderer","EditorDialog","localValue","setLocalValue","useState","useEffect","Dialog","CompositionScope","LexicalEditor","input","label","isExpanded","setExpanded","useExpandedEditor","applyChanges","useCallback","newValue","FormComponentLabel"],"mappings":";;;;;AAeO,MAAMA,uBAAuB,CAACC;IACjC,MAAMC,WAAW,CAACC;QACdF,MAAM,QAAQ,CAAC,CAAC,EAAEG,KAAK,EAAE;YACrBA,MAAM,GAAG,CAACD;QACd;IACJ;IAEA,MAAMC,QAAQH,MAAM,KAAK,IAAI,CAAC;IAE9B,OAAO,WAAP,GACI,oBAACI,wBAAsBA,MAAAA,WAAAA,GACnB,oBAACC,gCAA8BA;QAAE,GAAGL,KAAK;QAAE,OAAOG;QAAO,UAAUF;;AAG/E;AAOA,MAAMK,eAAe,CAACN;IAClB,MAAM,CAACO,YAAYC,cAAc,GAAGC,SAAST,MAAM,KAAK;IAExDU,UAAU;QACNF,cAAcR,MAAM,KAAK;IAC7B,GAAG;QAACA,MAAM,KAAK;KAAC;IAEhB,OAAO,WAAP,GACI,oBAACW,QAAMA;QACH,IAAI;QACJ,MAAMX,MAAM,IAAI;QAChB,WAAW;QACX,sBAAoB;QACpB,OAAO,CAAC,KAAK,EAAEA,MAAM,KAAK,CAAC,KAAK,EAAE;QAClC,aAAa;QACb,iBAAiB;QACjB,uBACI,wDACI,oBAACW,OAAO,YAAY;YAAC,SAASX,MAAM,OAAO;0BAC3C,oBAACW,OAAO,aAAa;YACjB,MAAM;YACN,SAAS;gBACLX,MAAM,QAAQ,CAACO;YACnB;;qBAKZ,oBAACK,kBAAgBA;QAAC,MAAM;qBACpB,oBAACC,eAAaA;QAAC,OAAON;QAAY,UAAUC;;AAI5D;AAEA,MAAMH,iCAAiC,CAAC,EACpCF,KAAK,EACLF,QAAQ,EACRa,KAAK,EACLC,KAAK,EACmB;IACxB,MAAM,EAAEC,UAAU,EAAEC,WAAW,EAAE,GAAGC;IAEpC,MAAMC,eAAeC,YACjB,CAACC;QACGpB,SAASoB;QACTJ,YAAY;IAChB,GACA;QAAChB;QAAUgB;KAAY;IAG3B,OAAO,WAAP,GACI,wDACI,oBAACK,oBAAkBA;QAAC,MAAMP;sBAC1B,oBAACH,kBAAgBA;QAAC,MAAM;qBACpB,oBAACC,eAAaA;QAAC,OAAOV;QAAO,UAAUF;QAAU,KAAKa,MAAM,IAAI;uBAEpE,oBAACR,cAAYA;QACT,MAAMU;QACN,OAAOb;QACP,UAAUgB;QACV,SAAS,IAAMF,YAAY;QAC3B,OAAOH;;AAIvB"}
1
+ {"version":3,"file":"inputRenderers/LexicalInput/LexicalInput.js","sources":["../../../src/inputRenderers/LexicalInput/LexicalInput.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport { Dialog, FormComponentLabel } from \"@webiny/admin-ui\";\nimport type { RichTextValueWithHtml } from \"@webiny/app-admin\";\nimport { LexicalEditor } from \"./LexicalEditor.js\";\nimport type { ElementInputRendererProps } from \"~/BaseEditor/index.js\";\nimport {\n ExpandedEditorProvider,\n useExpandedEditor\n} from \"~/inputRenderers/LexicalInput/ExpandedEditor.js\";\n\ntype LexicalInputRendererProps = Omit<ElementInputRendererProps, \"onChange\" | \"metadata\"> & {\n onChange: (value: RichTextValueWithHtml) => void;\n};\n\nexport const LexicalInputRenderer = (props: ElementInputRendererProps) => {\n const onChange = (lexicalValue: RichTextValueWithHtml) => {\n props.onChange(({ value }) => {\n value.set(lexicalValue);\n });\n };\n\n const value = props.value ?? {};\n\n return (\n <ExpandedEditorProvider>\n <ExpandableLexicalInputRenderer {...props} value={value} onChange={onChange} />\n </ExpandedEditorProvider>\n );\n};\n\ninterface EditorDialogProps extends Omit<LexicalInputRendererProps, \"onPreviewChange\" | \"label\"> {\n open: boolean;\n onClose: () => void;\n}\n\nconst EditorDialog = (props: EditorDialogProps) => {\n const [localValue, setLocalValue] = useState(props.value);\n\n useEffect(() => {\n setLocalValue(props.value);\n }, [props.value]);\n\n return (\n <Dialog\n id={\"lexical-editor-dialog\"}\n open={props.open}\n className={\"w-[900px] max-w-[900px] overflow-visible\"}\n data-hover-manager={\"ignore\"}\n title={`Edit ${props.input.label}`}\n dismissible={false}\n showCloseButton={false}\n actions={\n <>\n <Dialog.CancelAction onClick={props.onClose} />\n <Dialog.ConfirmAction\n text={\"Save Changes\"}\n onClick={() => {\n props.onChange(localValue);\n }}\n />\n </>\n }\n >\n <LexicalEditor.Expanded value={localValue} onChange={setLocalValue} />\n </Dialog>\n );\n};\n\nconst ExpandableLexicalInputRenderer = ({\n value,\n onChange,\n input,\n label\n}: LexicalInputRendererProps) => {\n const { isExpanded, setExpanded } = useExpandedEditor();\n\n const applyChanges = useCallback(\n (newValue: any) => {\n onChange(newValue);\n setExpanded(false);\n },\n [onChange, setExpanded]\n );\n\n return (\n <>\n <FormComponentLabel text={label} />\n <LexicalEditor.Compact value={value} onChange={onChange} key={input.name} />\n <EditorDialog\n open={isExpanded}\n value={value}\n onChange={applyChanges}\n onClose={() => setExpanded(false)}\n input={input}\n />\n </>\n );\n};\n"],"names":["LexicalInputRenderer","props","onChange","lexicalValue","value","ExpandedEditorProvider","ExpandableLexicalInputRenderer","EditorDialog","localValue","setLocalValue","useState","useEffect","Dialog","LexicalEditor","input","label","isExpanded","setExpanded","useExpandedEditor","applyChanges","useCallback","newValue","FormComponentLabel"],"mappings":";;;;AAcO,MAAMA,uBAAuB,CAACC;IACjC,MAAMC,WAAW,CAACC;QACdF,MAAM,QAAQ,CAAC,CAAC,EAAEG,KAAK,EAAE;YACrBA,MAAM,GAAG,CAACD;QACd;IACJ;IAEA,MAAMC,QAAQH,MAAM,KAAK,IAAI,CAAC;IAE9B,OAAO,WAAP,GACI,oBAACI,wBAAsBA,MAAAA,WAAAA,GACnB,oBAACC,gCAA8BA;QAAE,GAAGL,KAAK;QAAE,OAAOG;QAAO,UAAUF;;AAG/E;AAOA,MAAMK,eAAe,CAACN;IAClB,MAAM,CAACO,YAAYC,cAAc,GAAGC,SAAST,MAAM,KAAK;IAExDU,UAAU;QACNF,cAAcR,MAAM,KAAK;IAC7B,GAAG;QAACA,MAAM,KAAK;KAAC;IAEhB,OAAO,WAAP,GACI,oBAACW,QAAMA;QACH,IAAI;QACJ,MAAMX,MAAM,IAAI;QAChB,WAAW;QACX,sBAAoB;QACpB,OAAO,CAAC,KAAK,EAAEA,MAAM,KAAK,CAAC,KAAK,EAAE;QAClC,aAAa;QACb,iBAAiB;QACjB,uBACI,wDACI,oBAACW,OAAO,YAAY;YAAC,SAASX,MAAM,OAAO;0BAC3C,oBAACW,OAAO,aAAa;YACjB,MAAM;YACN,SAAS;gBACLX,MAAM,QAAQ,CAACO;YACnB;;qBAKZ,oBAACK,cAAc,QAAQ;QAAC,OAAOL;QAAY,UAAUC;;AAGjE;AAEA,MAAMH,iCAAiC,CAAC,EACpCF,KAAK,EACLF,QAAQ,EACRY,KAAK,EACLC,KAAK,EACmB;IACxB,MAAM,EAAEC,UAAU,EAAEC,WAAW,EAAE,GAAGC;IAEpC,MAAMC,eAAeC,YACjB,CAACC;QACGnB,SAASmB;QACTJ,YAAY;IAChB,GACA;QAACf;QAAUe;KAAY;IAG3B,OAAO,WAAP,GACI,wDACI,oBAACK,oBAAkBA;QAAC,MAAMP;sBAC1B,oBAACF,cAAc,OAAO;QAAC,OAAOT;QAAO,UAAUF;QAAU,KAAKY,MAAM,IAAI;sBACxE,oBAACP,cAAYA;QACT,MAAMS;QACN,OAAOZ;QACP,UAAUe;QACV,SAAS,IAAMF,YAAY;QAC3B,OAAOH;;AAIvB"}
@@ -1,4 +1,4 @@
1
- import { computed, makeAutoObservable } from "mobx";
1
+ import { computed, makeAutoObservable, toJS } from "mobx";
2
2
  import { FormModelFactory } from "@webiny/app-admin";
3
3
  import { PageSettingsGroup, PageSettingsGroupModifier, PageSettingsPresenter } from "./abstractions.js";
4
4
  class PageSettingsPresenterImpl {
@@ -40,7 +40,7 @@ class PageSettingsPresenterImpl {
40
40
  if (!this.form || !this.originalData) return false;
41
41
  const data = await this.form.submit();
42
42
  if (!data) return false;
43
- const doc = structuredClone(this.originalData);
43
+ const doc = structuredClone(toJS(this.originalData));
44
44
  for (const group of this.groups)group.mapFromForm(data[group.name] ?? {}, doc);
45
45
  for (const modifier of this.modifiers ?? [])if (modifier.mapFromForm) modifier.mapFromForm(data[modifier.group] ?? {}, doc);
46
46
  return doc;
@@ -1 +1 @@
1
- {"version":3,"file":"modules/pages/PageEditor/PageSettings/PageSettingsPresenter.js","sources":["../../../../../src/modules/pages/PageEditor/PageSettings/PageSettingsPresenter.ts"],"sourcesContent":["import { makeAutoObservable, computed } from \"mobx\";\nimport { FormModelFactory, FormModel } from \"@webiny/app-admin\";\nimport { PageSettingsPresenter as PresenterAbstraction } from \"./abstractions.js\";\nimport { PageSettingsGroup } from \"./abstractions.js\";\nimport { PageSettingsGroupModifier } from \"./abstractions.js\";\n\ntype FieldsFactory = (\n fields: FormModelFactory.FieldBuilderRegistry\n) => Record<string, FormModelFactory.FieldBuilder>;\n\ntype LayoutFactory = (layout: FormModelFactory.LayoutBuilder) => FormModel.LayoutNodeBuilder[];\n\ninterface CollectedGroup {\n group: PageSettingsGroup.Interface;\n fieldsFns: FieldsFactory[];\n layoutFns: LayoutFactory[];\n}\n\nclass PageSettingsPresenterImpl implements PresenterAbstraction.Interface {\n private form: FormModel.Interface | null = null;\n private error: string | null = null;\n private originalData: PageSettingsGroup.PageDocument | null = null;\n\n constructor(\n private factory: FormModelFactory.Interface,\n private groups: PageSettingsGroup.Interface[],\n private modifiers: PageSettingsGroupModifier.Interface[] | undefined\n ) {\n makeAutoObservable(this, { vm: computed }, { autoBind: true });\n }\n\n get vm(): PresenterAbstraction.ViewModel {\n return {\n form: this.form ? this.form.vm : null,\n error: this.error\n };\n }\n\n init(data: PageSettingsGroup.PageDocument): void {\n this.error = null;\n this.originalData = data;\n\n this.form = this.buildForm();\n\n const mapped: Record<string, any> = {};\n for (const group of this.groups) {\n mapped[group.name] = group.mapToForm(data);\n }\n\n for (const modifier of this.modifiers ?? []) {\n if (modifier.mapToForm) {\n const modData = modifier.mapToForm(data);\n mapped[modifier.group] = { ...mapped[modifier.group], ...modData };\n }\n }\n\n this.form.setData(mapped);\n }\n\n async submit(): Promise<PageSettingsGroup.PageDocument | false> {\n if (!this.form || !this.originalData) {\n return false;\n }\n\n const data = await this.form.submit<Record<string, any>>();\n if (!data) {\n return false;\n }\n\n const doc = structuredClone(this.originalData);\n\n for (const group of this.groups) {\n group.mapFromForm(data[group.name] ?? {}, doc);\n }\n\n for (const modifier of this.modifiers ?? []) {\n if (modifier.mapFromForm) {\n modifier.mapFromForm(data[modifier.group] ?? {}, doc);\n }\n }\n\n return doc;\n }\n\n private collectGroups(): CollectedGroup[] {\n return this.groups.map(group => {\n const fieldsFns: FieldsFactory[] = [];\n const layoutFns: LayoutFactory[] = [];\n\n const builder: PageSettingsGroup.FormBuilder = {\n fields(fn: FieldsFactory) {\n fieldsFns.push(fn);\n },\n layout(fn: LayoutFactory) {\n layoutFns.push(fn);\n }\n };\n\n group.buildForm(builder);\n\n for (const modifier of this.modifiers ?? []) {\n if (modifier.group === group.name) {\n modifier.modifyForm(builder);\n }\n }\n\n return { group, fieldsFns, layoutFns };\n });\n }\n\n private buildForm() {\n const collected = this.collectGroups();\n\n return this.factory.create({\n fields: fields => {\n const result: Record<string, FormModelFactory.FieldBuilder> = {};\n for (const { group, fieldsFns } of collected) {\n if (fieldsFns.length === 0) {\n continue;\n }\n result[group.name] = fields\n .object()\n .label(group.label)\n .renderer(\"passthrough\")\n .fields(registry => {\n const merged: Record<string, FormModelFactory.FieldBuilder> = {};\n for (const fn of fieldsFns) {\n Object.assign(merged, fn(registry));\n }\n return merged;\n });\n }\n return result;\n },\n layout: layout => {\n if (collected.length === 0) {\n return [];\n }\n\n const tabsBuilder = layout.tabs(\"settings-tabs\").renderer(\"tabsVertical\");\n\n for (const { group, layoutFns } of collected) {\n tabsBuilder.tab(group.name, tab => {\n tab.label(group.label);\n if (group.description) {\n tab.description(group.description);\n }\n if (group.icon) {\n tab.icon(group.icon);\n }\n tab.layout(l => {\n if (layoutFns.length > 0) {\n return [\n l.object(group.name, inner => {\n return layoutFns.flatMap(fn => fn(inner));\n })\n ];\n }\n\n return [l.row(group.name)];\n });\n });\n }\n\n return [tabsBuilder];\n }\n });\n }\n}\n\nexport const PageSettingsPresenterRegistration = PresenterAbstraction.createImplementation({\n implementation: PageSettingsPresenterImpl,\n dependencies: [\n FormModelFactory,\n [PageSettingsGroup, { multiple: true }],\n [PageSettingsGroupModifier, { multiple: true, optional: true }]\n ]\n});\n"],"names":["PageSettingsPresenterImpl","factory","groups","modifiers","makeAutoObservable","computed","data","mapped","group","modifier","modData","doc","structuredClone","fieldsFns","layoutFns","builder","fn","collected","fields","result","registry","merged","Object","layout","tabsBuilder","tab","l","inner","PageSettingsPresenterRegistration","PresenterAbstraction","FormModelFactory","PageSettingsGroup","PageSettingsGroupModifier"],"mappings":"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"}
1
+ {"version":3,"file":"modules/pages/PageEditor/PageSettings/PageSettingsPresenter.js","sources":["../../../../../src/modules/pages/PageEditor/PageSettings/PageSettingsPresenter.ts"],"sourcesContent":["import { makeAutoObservable, computed, toJS } from \"mobx\";\nimport { FormModelFactory, FormModel } from \"@webiny/app-admin\";\nimport { PageSettingsPresenter as PresenterAbstraction } from \"./abstractions.js\";\nimport { PageSettingsGroup } from \"./abstractions.js\";\nimport { PageSettingsGroupModifier } from \"./abstractions.js\";\n\ntype FieldsFactory = (\n fields: FormModelFactory.FieldBuilderRegistry\n) => Record<string, FormModelFactory.FieldBuilder>;\n\ntype LayoutFactory = (layout: FormModelFactory.LayoutBuilder) => FormModel.LayoutNodeBuilder[];\n\ninterface CollectedGroup {\n group: PageSettingsGroup.Interface;\n fieldsFns: FieldsFactory[];\n layoutFns: LayoutFactory[];\n}\n\nclass PageSettingsPresenterImpl implements PresenterAbstraction.Interface {\n private form: FormModel.Interface | null = null;\n private error: string | null = null;\n private originalData: PageSettingsGroup.PageDocument | null = null;\n\n constructor(\n private factory: FormModelFactory.Interface,\n private groups: PageSettingsGroup.Interface[],\n private modifiers: PageSettingsGroupModifier.Interface[] | undefined\n ) {\n makeAutoObservable(this, { vm: computed }, { autoBind: true });\n }\n\n get vm(): PresenterAbstraction.ViewModel {\n return {\n form: this.form ? this.form.vm : null,\n error: this.error\n };\n }\n\n init(data: PageSettingsGroup.PageDocument): void {\n this.error = null;\n this.originalData = data;\n\n this.form = this.buildForm();\n\n const mapped: Record<string, any> = {};\n for (const group of this.groups) {\n mapped[group.name] = group.mapToForm(data);\n }\n\n for (const modifier of this.modifiers ?? []) {\n if (modifier.mapToForm) {\n const modData = modifier.mapToForm(data);\n mapped[modifier.group] = { ...mapped[modifier.group], ...modData };\n }\n }\n\n this.form.setData(mapped);\n }\n\n async submit(): Promise<PageSettingsGroup.PageDocument | false> {\n if (!this.form || !this.originalData) {\n return false;\n }\n\n const data = await this.form.submit<Record<string, any>>();\n if (!data) {\n return false;\n }\n\n const doc = structuredClone(toJS(this.originalData));\n\n for (const group of this.groups) {\n group.mapFromForm(data[group.name] ?? {}, doc);\n }\n\n for (const modifier of this.modifiers ?? []) {\n if (modifier.mapFromForm) {\n modifier.mapFromForm(data[modifier.group] ?? {}, doc);\n }\n }\n\n return doc;\n }\n\n private collectGroups(): CollectedGroup[] {\n return this.groups.map(group => {\n const fieldsFns: FieldsFactory[] = [];\n const layoutFns: LayoutFactory[] = [];\n\n const builder: PageSettingsGroup.FormBuilder = {\n fields(fn: FieldsFactory) {\n fieldsFns.push(fn);\n },\n layout(fn: LayoutFactory) {\n layoutFns.push(fn);\n }\n };\n\n group.buildForm(builder);\n\n for (const modifier of this.modifiers ?? []) {\n if (modifier.group === group.name) {\n modifier.modifyForm(builder);\n }\n }\n\n return { group, fieldsFns, layoutFns };\n });\n }\n\n private buildForm() {\n const collected = this.collectGroups();\n\n return this.factory.create({\n fields: fields => {\n const result: Record<string, FormModelFactory.FieldBuilder> = {};\n for (const { group, fieldsFns } of collected) {\n if (fieldsFns.length === 0) {\n continue;\n }\n result[group.name] = fields\n .object()\n .label(group.label)\n .renderer(\"passthrough\")\n .fields(registry => {\n const merged: Record<string, FormModelFactory.FieldBuilder> = {};\n for (const fn of fieldsFns) {\n Object.assign(merged, fn(registry));\n }\n return merged;\n });\n }\n return result;\n },\n layout: layout => {\n if (collected.length === 0) {\n return [];\n }\n\n const tabsBuilder = layout.tabs(\"settings-tabs\").renderer(\"tabsVertical\");\n\n for (const { group, layoutFns } of collected) {\n tabsBuilder.tab(group.name, tab => {\n tab.label(group.label);\n if (group.description) {\n tab.description(group.description);\n }\n if (group.icon) {\n tab.icon(group.icon);\n }\n tab.layout(l => {\n if (layoutFns.length > 0) {\n return [\n l.object(group.name, inner => {\n return layoutFns.flatMap(fn => fn(inner));\n })\n ];\n }\n\n return [l.row(group.name)];\n });\n });\n }\n\n return [tabsBuilder];\n }\n });\n }\n}\n\nexport const PageSettingsPresenterRegistration = PresenterAbstraction.createImplementation({\n implementation: PageSettingsPresenterImpl,\n dependencies: [\n FormModelFactory,\n [PageSettingsGroup, { multiple: true }],\n [PageSettingsGroupModifier, { multiple: true, optional: true }]\n ]\n});\n"],"names":["PageSettingsPresenterImpl","factory","groups","modifiers","makeAutoObservable","computed","data","mapped","group","modifier","modData","doc","structuredClone","toJS","fieldsFns","layoutFns","builder","fn","collected","fields","result","registry","merged","Object","layout","tabsBuilder","tab","l","inner","PageSettingsPresenterRegistration","PresenterAbstraction","FormModelFactory","PageSettingsGroup","PageSettingsGroupModifier"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-website-builder",
3
- "version": "6.4.0-beta.1",
3
+ "version": "6.4.0-beta.3",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./index.js",
@@ -21,28 +21,28 @@
21
21
  "@monaco-editor/react": "4.7.0",
22
22
  "@svgr/webpack": "8.1.0",
23
23
  "@types/react": "18.3.28",
24
- "@webiny/admin-ui": "6.4.0-beta.1",
25
- "@webiny/app": "6.4.0-beta.1",
26
- "@webiny/app-aco": "6.4.0-beta.1",
27
- "@webiny/app-admin": "6.4.0-beta.1",
28
- "@webiny/app-headless-cms-common": "6.4.0-beta.1",
29
- "@webiny/app-trash-bin": "6.4.0-beta.1",
30
- "@webiny/app-utils": "6.4.0-beta.1",
31
- "@webiny/di": "1.0.0",
32
- "@webiny/error": "6.4.0-beta.1",
33
- "@webiny/feature": "6.4.0-beta.1",
34
- "@webiny/form": "6.4.0-beta.1",
35
- "@webiny/icons": "6.4.0-beta.1",
36
- "@webiny/languages": "6.4.0-beta.1",
37
- "@webiny/lexical-converter": "6.4.0-beta.1",
38
- "@webiny/lexical-editor": "6.4.0-beta.1",
39
- "@webiny/lexical-nodes": "6.4.0-beta.1",
40
- "@webiny/lexical-theme": "6.4.0-beta.1",
41
- "@webiny/react-composition": "6.4.0-beta.1",
42
- "@webiny/react-properties": "6.4.0-beta.1",
43
- "@webiny/utils": "6.4.0-beta.1",
44
- "@webiny/validation": "6.4.0-beta.1",
45
- "@webiny/website-builder-sdk": "6.4.0-beta.1",
24
+ "@webiny/admin-ui": "6.4.0-beta.3",
25
+ "@webiny/app": "6.4.0-beta.3",
26
+ "@webiny/app-aco": "6.4.0-beta.3",
27
+ "@webiny/app-admin": "6.4.0-beta.3",
28
+ "@webiny/app-headless-cms-common": "6.4.0-beta.3",
29
+ "@webiny/app-trash-bin": "6.4.0-beta.3",
30
+ "@webiny/app-utils": "6.4.0-beta.3",
31
+ "@webiny/di": "1.0.1",
32
+ "@webiny/error": "6.4.0-beta.3",
33
+ "@webiny/feature": "6.4.0-beta.3",
34
+ "@webiny/form": "6.4.0-beta.3",
35
+ "@webiny/icons": "6.4.0-beta.3",
36
+ "@webiny/languages": "6.4.0-beta.3",
37
+ "@webiny/lexical-converter": "6.4.0-beta.3",
38
+ "@webiny/lexical-editor": "6.4.0-beta.3",
39
+ "@webiny/lexical-nodes": "6.4.0-beta.3",
40
+ "@webiny/lexical-theme": "6.4.0-beta.3",
41
+ "@webiny/react-composition": "6.4.0-beta.3",
42
+ "@webiny/react-properties": "6.4.0-beta.3",
43
+ "@webiny/utils": "6.4.0-beta.3",
44
+ "@webiny/validation": "6.4.0-beta.3",
45
+ "@webiny/website-builder-sdk": "6.4.0-beta.3",
46
46
  "apollo-cache": "1.3.5",
47
47
  "apollo-client": "2.6.10",
48
48
  "apollo-link": "1.2.14",
@@ -68,7 +68,7 @@
68
68
  "devDependencies": {
69
69
  "@types/deep-equal": "1.0.4",
70
70
  "@types/is-hotkey": "0.1.10",
71
- "@webiny/build-tools": "6.4.0-beta.1",
71
+ "@webiny/build-tools": "6.4.0-beta.3",
72
72
  "execa": "5.1.1",
73
73
  "rimraf": "6.1.3",
74
74
  "typescript": "6.0.3",
@@ -90,5 +90,5 @@
90
90
  ]
91
91
  }
92
92
  },
93
- "gitHead": "73237b8243693038c072bae1c0b783387448cbbe"
93
+ "gitHead": "2e58681d4344024bfb60e6180338e2f154ec87f0"
94
94
  }