@webiny/app-website-builder 6.3.0-beta.1 → 6.3.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.
Files changed (140) hide show
  1. package/BaseEditor/components/Editor.js +7 -0
  2. package/BaseEditor/components/Editor.js.map +1 -1
  3. package/BaseEditor/config/EditorConfig.d.ts +1 -2
  4. package/BaseEditor/config/EditorConfig.js.map +1 -1
  5. package/BaseEditor/defaultConfig/Content/Preview/PreviewEvents.js +1 -1
  6. package/BaseEditor/defaultConfig/Content/Preview/PreviewEvents.js.map +1 -1
  7. package/Extension.js +3 -0
  8. package/Extension.js.map +1 -1
  9. package/ecommerce/components/ResourcesList.js +2 -2
  10. package/ecommerce/components/ResourcesList.js.map +1 -1
  11. package/ecommerce/components/ResourcesPicker.js +1 -1
  12. package/ecommerce/components/ResourcesPicker.js.map +1 -1
  13. package/editorSdk/createCommand.js +1 -1
  14. package/editorSdk/createCommand.js.map +1 -1
  15. package/exports/admin/website-builder/page/editor.d.ts +1 -0
  16. package/exports/admin/website-builder/page/editor.js +1 -0
  17. package/exports/admin/website-builder/page/editor.js.map +1 -1
  18. package/modules/pages/PageEditor/DefaultPageEditorConfig.js +1 -2
  19. package/modules/pages/PageEditor/DefaultPageEditorConfig.js.map +1 -1
  20. package/modules/pages/PageEditor/PageEditorConfig.d.ts +180 -198
  21. package/modules/pages/PageEditor/PageEditorConfig.js +2 -7
  22. package/modules/pages/PageEditor/PageEditorConfig.js.map +1 -1
  23. package/modules/pages/PageEditor/PageSettings/PageSettingsPresenter.d.ts +22 -0
  24. package/modules/pages/PageEditor/PageSettings/PageSettingsPresenter.js +154 -0
  25. package/modules/pages/PageEditor/PageSettings/PageSettingsPresenter.js.map +1 -0
  26. package/modules/pages/PageEditor/PageSettings/abstractions.d.ts +54 -0
  27. package/modules/pages/PageEditor/PageSettings/abstractions.js +12 -0
  28. package/modules/pages/PageEditor/PageSettings/abstractions.js.map +1 -0
  29. package/modules/pages/PageEditor/PageSettings/feature.d.ts +3 -0
  30. package/modules/pages/PageEditor/PageSettings/feature.js +24 -0
  31. package/modules/pages/PageEditor/PageSettings/feature.js.map +1 -0
  32. package/modules/pages/PageEditor/PageSettings/groups/GeneralSettingsGroup.d.ts +17 -0
  33. package/modules/pages/PageEditor/PageSettings/groups/GeneralSettingsGroup.js +42 -0
  34. package/modules/pages/PageEditor/PageSettings/groups/GeneralSettingsGroup.js.map +1 -0
  35. package/modules/pages/PageEditor/PageSettings/groups/SchemaSettingsGroup.d.ts +17 -0
  36. package/modules/pages/PageEditor/PageSettings/groups/SchemaSettingsGroup.js +34 -0
  37. package/modules/pages/PageEditor/PageSettings/groups/SchemaSettingsGroup.js.map +1 -0
  38. package/modules/pages/PageEditor/PageSettings/groups/SeoSettingsGroup.d.ts +27 -0
  39. package/modules/pages/PageEditor/PageSettings/groups/SeoSettingsGroup.js +52 -0
  40. package/modules/pages/PageEditor/PageSettings/groups/SeoSettingsGroup.js.map +1 -0
  41. package/modules/pages/PageEditor/PageSettings/groups/SocialSettingsGroup.d.ts +17 -0
  42. package/modules/pages/PageEditor/PageSettings/groups/SocialSettingsGroup.js +44 -0
  43. package/modules/pages/PageEditor/PageSettings/groups/SocialSettingsGroup.js.map +1 -0
  44. package/modules/pages/PageEditor/PageSettings/index.d.ts +3 -0
  45. package/modules/pages/PageEditor/PageSettings/index.js +5 -0
  46. package/modules/pages/PageEditor/PageSettings/index.js.map +1 -0
  47. package/modules/pages/PageEditor/TopBar/PageSettingsDrawer.d.ts +11 -0
  48. package/modules/pages/PageEditor/TopBar/PageSettingsDrawer.js +35 -0
  49. package/modules/pages/PageEditor/TopBar/PageSettingsDrawer.js.map +1 -0
  50. package/modules/pages/PageEditor/TopBar/SettingsButton.d.ts +0 -6
  51. package/modules/pages/PageEditor/TopBar/SettingsButton.js +29 -26
  52. package/modules/pages/PageEditor/TopBar/SettingsButton.js.map +1 -1
  53. package/modules/pages/PageEditor/usePageEditorConfig.d.ts +4 -20
  54. package/modules/pages/PageEditor/usePageEditorConfig.js +1 -8
  55. package/modules/pages/PageEditor/usePageEditorConfig.js.map +1 -1
  56. package/package.json +32 -29
  57. package/presentation/navigation/Extension.js +5 -6
  58. package/presentation/navigation/Extension.js.map +1 -1
  59. package/presentation/pages/CreatePage/AddLanguageModifier.js +5 -5
  60. package/presentation/pages/CreatePage/AddLanguageModifier.js.map +1 -1
  61. package/presentation/pages/CreatePage/CreatePage.test.js +9 -13
  62. package/presentation/pages/CreatePage/CreatePage.test.js.map +1 -1
  63. package/presentation/pages/CreatePage/CreatePagePresenter.js +1 -1
  64. package/presentation/pages/CreatePage/CreatePagePresenter.js.map +1 -1
  65. package/shared/PagePath.js +1 -1
  66. package/shared/PagePath.js.map +1 -1
  67. package/shared/pagePathFromTitle.js +1 -1
  68. package/shared/pagePathFromTitle.js.map +1 -1
  69. package/modules/pages/PageEditor/PageSettings/PageSettings.d.ts +0 -30
  70. package/modules/pages/PageEditor/PageSettings/PageSettings.js +0 -84
  71. package/modules/pages/PageEditor/PageSettings/PageSettings.js.map +0 -1
  72. package/modules/pages/PageEditor/PageSettings/PageSettingsConfig.d.ts +0 -2
  73. package/modules/pages/PageEditor/PageSettings/PageSettingsConfig.js +0 -98
  74. package/modules/pages/PageEditor/PageSettings/PageSettingsConfig.js.map +0 -1
  75. package/modules/pages/PageEditor/PageSettings/elements/GeneralImage.d.ts +0 -2
  76. package/modules/pages/PageEditor/PageSettings/elements/GeneralImage.js +0 -31
  77. package/modules/pages/PageEditor/PageSettings/elements/GeneralImage.js.map +0 -1
  78. package/modules/pages/PageEditor/PageSettings/elements/GeneralPath.d.ts +0 -2
  79. package/modules/pages/PageEditor/PageSettings/elements/GeneralPath.js +0 -16
  80. package/modules/pages/PageEditor/PageSettings/elements/GeneralPath.js.map +0 -1
  81. package/modules/pages/PageEditor/PageSettings/elements/GeneralSnippet.d.ts +0 -2
  82. package/modules/pages/PageEditor/PageSettings/elements/GeneralSnippet.js +0 -14
  83. package/modules/pages/PageEditor/PageSettings/elements/GeneralSnippet.js.map +0 -1
  84. package/modules/pages/PageEditor/PageSettings/elements/GeneralTags.d.ts +0 -2
  85. package/modules/pages/PageEditor/PageSettings/elements/GeneralTags.js +0 -14
  86. package/modules/pages/PageEditor/PageSettings/elements/GeneralTags.js.map +0 -1
  87. package/modules/pages/PageEditor/PageSettings/elements/GeneralTitle.d.ts +0 -2
  88. package/modules/pages/PageEditor/PageSettings/elements/GeneralTitle.js +0 -16
  89. package/modules/pages/PageEditor/PageSettings/elements/GeneralTitle.js.map +0 -1
  90. package/modules/pages/PageEditor/PageSettings/elements/SchemaEditor.d.ts +0 -2
  91. package/modules/pages/PageEditor/PageSettings/elements/SchemaEditor.js +0 -31
  92. package/modules/pages/PageEditor/PageSettings/elements/SchemaEditor.js.map +0 -1
  93. package/modules/pages/PageEditor/PageSettings/elements/SeoCanonicalUrl.d.ts +0 -2
  94. package/modules/pages/PageEditor/PageSettings/elements/SeoCanonicalUrl.js +0 -26
  95. package/modules/pages/PageEditor/PageSettings/elements/SeoCanonicalUrl.js.map +0 -1
  96. package/modules/pages/PageEditor/PageSettings/elements/SeoDescription.d.ts +0 -2
  97. package/modules/pages/PageEditor/PageSettings/elements/SeoDescription.js +0 -15
  98. package/modules/pages/PageEditor/PageSettings/elements/SeoDescription.js.map +0 -1
  99. package/modules/pages/PageEditor/PageSettings/elements/SeoMetaTags.d.ts +0 -2
  100. package/modules/pages/PageEditor/PageSettings/elements/SeoMetaTags.js +0 -18
  101. package/modules/pages/PageEditor/PageSettings/elements/SeoMetaTags.js.map +0 -1
  102. package/modules/pages/PageEditor/PageSettings/elements/SeoNoFollow.d.ts +0 -2
  103. package/modules/pages/PageEditor/PageSettings/elements/SeoNoFollow.js +0 -16
  104. package/modules/pages/PageEditor/PageSettings/elements/SeoNoFollow.js.map +0 -1
  105. package/modules/pages/PageEditor/PageSettings/elements/SeoNoIndex.d.ts +0 -2
  106. package/modules/pages/PageEditor/PageSettings/elements/SeoNoIndex.js +0 -16
  107. package/modules/pages/PageEditor/PageSettings/elements/SeoNoIndex.js.map +0 -1
  108. package/modules/pages/PageEditor/PageSettings/elements/SeoTitle.d.ts +0 -2
  109. package/modules/pages/PageEditor/PageSettings/elements/SeoTitle.js +0 -15
  110. package/modules/pages/PageEditor/PageSettings/elements/SeoTitle.js.map +0 -1
  111. package/modules/pages/PageEditor/PageSettings/elements/SocialDescription.d.ts +0 -2
  112. package/modules/pages/PageEditor/PageSettings/elements/SocialDescription.js +0 -15
  113. package/modules/pages/PageEditor/PageSettings/elements/SocialDescription.js.map +0 -1
  114. package/modules/pages/PageEditor/PageSettings/elements/SocialImage.d.ts +0 -2
  115. package/modules/pages/PageEditor/PageSettings/elements/SocialImage.js +0 -31
  116. package/modules/pages/PageEditor/PageSettings/elements/SocialImage.js.map +0 -1
  117. package/modules/pages/PageEditor/PageSettings/elements/SocialMetaTags.d.ts +0 -2
  118. package/modules/pages/PageEditor/PageSettings/elements/SocialMetaTags.js +0 -18
  119. package/modules/pages/PageEditor/PageSettings/elements/SocialMetaTags.js.map +0 -1
  120. package/modules/pages/PageEditor/PageSettings/elements/SocialTitle.d.ts +0 -2
  121. package/modules/pages/PageEditor/PageSettings/elements/SocialTitle.js +0 -15
  122. package/modules/pages/PageEditor/PageSettings/elements/SocialTitle.js.map +0 -1
  123. package/modules/pages/PageEditor/TopBar/Settings/KeyValueGridEditor.d.ts +0 -2
  124. package/modules/pages/PageEditor/TopBar/Settings/KeyValueGridEditor.js +0 -59
  125. package/modules/pages/PageEditor/TopBar/Settings/KeyValueGridEditor.js.map +0 -1
  126. package/modules/pages/PageEditor/TopBar/Settings/MetaTags.d.ts +0 -11
  127. package/modules/pages/PageEditor/TopBar/Settings/MetaTags.js +0 -80
  128. package/modules/pages/PageEditor/TopBar/Settings/MetaTags.js.map +0 -1
  129. package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDialog.d.ts +0 -2
  130. package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDialog.js +0 -37
  131. package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDialog.js.map +0 -1
  132. package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDrawer.d.ts +0 -3
  133. package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDrawer.js +0 -73
  134. package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDrawer.js.map +0 -1
  135. package/modules/pages/PageEditor/TopBar/Settings/SettingsDialogBody.d.ts +0 -6
  136. package/modules/pages/PageEditor/TopBar/Settings/SettingsDialogBody.js +0 -21
  137. package/modules/pages/PageEditor/TopBar/Settings/SettingsDialogBody.js.map +0 -1
  138. package/modules/pages/PageEditor/TopBar/Settings/SimpleTags.d.ts +0 -7
  139. package/modules/pages/PageEditor/TopBar/Settings/SimpleTags.js +0 -75
  140. package/modules/pages/PageEditor/TopBar/Settings/SimpleTags.js.map +0 -1
@@ -1,11 +1,16 @@
1
1
  import React, { useEffect, useState } from "react";
2
2
  import classSet from "classnames";
3
+ import { allNodes } from "@webiny/lexical-nodes";
4
+ import { useLexicalContext } from "@webiny/app-admin/presentation/lexicalContext/useLexicalContext.js";
3
5
  import DragPreview from "./DragPreview.js";
4
6
  import { EditorConfig, EditorWithConfig } from "../config/index.js";
5
7
  import { useDocumentEditor } from "../../DocumentEditor/index.js";
6
8
  import { Commands } from "../index.js";
7
9
  import { ThemeProvider } from "./ThemeProvider.js";
8
10
  export const Editor = () => {
11
+ const {
12
+ lexicalContext
13
+ } = useLexicalContext();
9
14
  const editor = useDocumentEditor();
10
15
  const [theme, setTheme] = useState(undefined);
11
16
  useEffect(() => {
@@ -13,6 +18,8 @@ export const Editor = () => {
13
18
  theme
14
19
  }) => {
15
20
  setTheme(theme);
21
+ lexicalContext.setTheme(theme);
22
+ lexicalContext.setNodes(allNodes);
16
23
  });
17
24
  }, []);
18
25
  return /*#__PURE__*/React.createElement(ThemeProvider, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","classSet","DragPreview","EditorConfig","EditorWithConfig","useDocumentEditor","Commands","ThemeProvider","Editor","editor","theme","setTheme","undefined","registerCommandHandler","SetTheme","createElement","className","Ui","Layout"],"sources":["Editor.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport classSet from \"classnames\";\nimport type { WebsiteBuilderTheme } from \"@webiny/website-builder-sdk\";\nimport DragPreview from \"./DragPreview.js\";\nimport { EditorConfig, EditorWithConfig } from \"../config/index.js\";\nimport { useDocumentEditor } from \"~/DocumentEditor/index.js\";\nimport { Commands } from \"~/BaseEditor/index.js\";\nimport { ThemeProvider } from \"~/BaseEditor/components/ThemeProvider.js\";\n\nexport const Editor = () => {\n const editor = useDocumentEditor();\n const [theme, setTheme] = useState<WebsiteBuilderTheme | undefined>(undefined);\n\n useEffect(() => {\n editor.registerCommandHandler(Commands.SetTheme, ({ theme }) => {\n setTheme(theme);\n });\n }, []);\n\n return (\n <ThemeProvider theme={theme}>\n <div className={classSet(\"w-full\")}>\n <EditorWithConfig>\n <EditorConfig.Ui.Layout />\n </EditorWithConfig>\n <DragPreview />\n </div>\n </ThemeProvider>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,OAAOC,QAAQ,MAAM,YAAY;AAEjC,OAAOC,WAAW;AAClB,SAASC,YAAY,EAAEC,gBAAgB;AACvC,SAASC,iBAAiB;AAC1B,SAASC,QAAQ;AACjB,SAASC,aAAa;AAEtB,OAAO,MAAMC,MAAM,GAAGA,CAAA,KAAM;EACxB,MAAMC,MAAM,GAAGJ,iBAAiB,CAAC,CAAC;EAClC,MAAM,CAACK,KAAK,EAAEC,QAAQ,CAAC,GAAGX,QAAQ,CAAkCY,SAAS,CAAC;EAE9Eb,SAAS,CAAC,MAAM;IACZU,MAAM,CAACI,sBAAsB,CAACP,QAAQ,CAACQ,QAAQ,EAAE,CAAC;MAAEJ;IAAM,CAAC,KAAK;MAC5DC,QAAQ,CAACD,KAAK,CAAC;IACnB,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAEN,oBACIZ,KAAA,CAAAiB,aAAA,CAACR,aAAa;IAACG,KAAK,EAAEA;EAAM,gBACxBZ,KAAA,CAAAiB,aAAA;IAAKC,SAAS,EAAEf,QAAQ,CAAC,QAAQ;EAAE,gBAC/BH,KAAA,CAAAiB,aAAA,CAACX,gBAAgB,qBACbN,KAAA,CAAAiB,aAAA,CAACZ,YAAY,CAACc,EAAE,CAACC,MAAM,MAAE,CACX,CAAC,eACnBpB,KAAA,CAAAiB,aAAA,CAACb,WAAW,MAAE,CACb,CACM,CAAC;AAExB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useState","classSet","allNodes","useLexicalContext","DragPreview","EditorConfig","EditorWithConfig","useDocumentEditor","Commands","ThemeProvider","Editor","lexicalContext","editor","theme","setTheme","undefined","registerCommandHandler","SetTheme","setNodes","createElement","className","Ui","Layout"],"sources":["Editor.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport classSet from \"classnames\";\nimport { allNodes } from \"@webiny/lexical-nodes\";\nimport type { WebsiteBuilderTheme } from \"@webiny/website-builder-sdk\";\nimport { useLexicalContext } from \"@webiny/app-admin/presentation/lexicalContext/useLexicalContext.js\";\nimport DragPreview from \"./DragPreview.js\";\nimport { EditorConfig, EditorWithConfig } from \"../config/index.js\";\nimport { useDocumentEditor } from \"~/DocumentEditor/index.js\";\nimport { Commands } from \"~/BaseEditor/index.js\";\nimport { ThemeProvider } from \"~/BaseEditor/components/ThemeProvider.js\";\n\nexport const Editor = () => {\n const { lexicalContext } = useLexicalContext();\n const editor = useDocumentEditor();\n const [theme, setTheme] = useState<WebsiteBuilderTheme | undefined>(undefined);\n\n useEffect(() => {\n editor.registerCommandHandler(Commands.SetTheme, ({ theme }) => {\n setTheme(theme);\n lexicalContext.setTheme(theme);\n lexicalContext.setNodes(allNodes);\n });\n }, []);\n\n return (\n <ThemeProvider theme={theme}>\n <div className={classSet(\"w-full\")}>\n <EditorWithConfig>\n <EditorConfig.Ui.Layout />\n </EditorWithConfig>\n <DragPreview />\n </div>\n </ThemeProvider>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,OAAOC,QAAQ,MAAM,YAAY;AACjC,SAASC,QAAQ,QAAQ,uBAAuB;AAEhD,SAASC,iBAAiB,QAAQ,oEAAoE;AACtG,OAAOC,WAAW;AAClB,SAASC,YAAY,EAAEC,gBAAgB;AACvC,SAASC,iBAAiB;AAC1B,SAASC,QAAQ;AACjB,SAASC,aAAa;AAEtB,OAAO,MAAMC,MAAM,GAAGA,CAAA,KAAM;EACxB,MAAM;IAAEC;EAAe,CAAC,GAAGR,iBAAiB,CAAC,CAAC;EAC9C,MAAMS,MAAM,GAAGL,iBAAiB,CAAC,CAAC;EAClC,MAAM,CAACM,KAAK,EAAEC,QAAQ,CAAC,GAAGd,QAAQ,CAAkCe,SAAS,CAAC;EAE9EhB,SAAS,CAAC,MAAM;IACZa,MAAM,CAACI,sBAAsB,CAACR,QAAQ,CAACS,QAAQ,EAAE,CAAC;MAAEJ;IAAM,CAAC,KAAK;MAC5DC,QAAQ,CAACD,KAAK,CAAC;MACfF,cAAc,CAACG,QAAQ,CAACD,KAAK,CAAC;MAC9BF,cAAc,CAACO,QAAQ,CAAChB,QAAQ,CAAC;IACrC,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAEN,oBACIJ,KAAA,CAAAqB,aAAA,CAACV,aAAa;IAACI,KAAK,EAAEA;EAAM,gBACxBf,KAAA,CAAAqB,aAAA;IAAKC,SAAS,EAAEnB,QAAQ,CAAC,QAAQ;EAAE,gBAC/BH,KAAA,CAAAqB,aAAA,CAACb,gBAAgB,qBACbR,KAAA,CAAAqB,aAAA,CAACd,YAAY,CAACgB,EAAE,CAACC,MAAM,MAAE,CACX,CAAC,eACnBxB,KAAA,CAAAqB,aAAA,CAACf,WAAW,MAAE,CACb,CACM,CAAC;AAExB,CAAC","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import type { ElementConfig } from "./Element.js";
2
2
  import type { ElementInputConfig } from "./ElementInput.js";
3
- interface EditorConfig {
3
+ export interface EditorConfig {
4
4
  elements: ElementConfig[];
5
5
  inputRenderers: ElementInputConfig[];
6
6
  }
@@ -965,4 +965,3 @@ export declare function useEditorConfig<TConfig = EditorConfig>(): {
965
965
  elements: ElementConfig[];
966
966
  inputRenderers: ElementInputConfig[];
967
967
  } & Omit<EditorConfig & TConfig, "elements" | "inputRenderers">;
968
- export {};
@@ -1 +1 @@
1
- {"version":3,"names":["createConfigurableComponent","Element","TopBar","Layout","Content","Toolbar","Sidebar","Elements","OnActiveElement","NoActiveElement","ElementProperties","ElementProperty","ElementAction","ElementActions","ElementInput","IsNotReadOnly","IsReadOnly","ElementOverlay","base","EditorConfigComponents","Ui","useEditorConfig","EditorConfig","Object","assign","Config","EditorWithConfig","WithConfig","displayName","elements","inputRenderers","rest","useConfig"],"sources":["EditorConfig.tsx"],"sourcesContent":["import { createConfigurableComponent } from \"@webiny/react-properties\";\nimport type { ElementConfig } from \"./Element.js\";\nimport { Element } from \"./Element.js\";\nimport { TopBar } from \"./TopBar/TopBar.js\";\nimport { Layout } from \"./Layout.js\";\nimport { Content } from \"./Content/Content.js\";\nimport { Toolbar } from \"./Toolbar/Toolbar.js\";\nimport { Sidebar } from \"./Sidebar/Sidebar.js\";\nimport { Elements } from \"./Elements.js\";\nimport { OnActiveElement } from \"./OnActiveElement.js\";\nimport { NoActiveElement } from \"./NoActiveElement.js\";\nimport { ElementProperties, ElementProperty } from \"./ElementProperty.js\";\nimport { ElementAction, ElementActions } from \"./ElementAction.js\";\nimport type { ElementInputConfig } from \"./ElementInput.js\";\nimport { ElementInput } from \"./ElementInput.js\";\nimport { IsNotReadOnly } from \"~/BaseEditor/config/IsNotReadOnly.js\";\nimport { IsReadOnly } from \"~/BaseEditor/config/IsReadOnly.js\";\nimport { ElementOverlay } from \"./ElementOverlay.js\";\n\ninterface EditorConfig {\n elements: ElementConfig[];\n inputRenderers: ElementInputConfig[];\n}\n\nconst base = createConfigurableComponent<EditorConfig>(\"DocumentEditor\");\n\nexport const EditorConfigComponents = {\n /**\n * Components to configure editor UI.\n */\n Ui: {\n Element,\n Elements,\n Layout,\n Content,\n TopBar,\n Toolbar,\n Sidebar,\n IsReadOnly,\n IsNotReadOnly,\n OnActiveElement,\n NoActiveElement\n },\n ElementInput,\n /**\n * Define a new element property.\n */\n ElementProperty,\n /**\n * Render element properties for the given group.\n */\n ElementProperties,\n /**\n * Define an element action.\n */\n ElementAction,\n /**\n * Render all element actions.\n */\n ElementActions,\n /**\n * Customize ElementOverlay\n */\n ElementOverlay,\n /**\n * Access full editor config. WARNING: very low-level, we don't recommend using this directly!\n */\n useEditorConfig\n};\n\nexport const EditorConfig = Object.assign(base.Config, EditorConfigComponents);\n\nexport const EditorWithConfig = Object.assign(base.WithConfig, { displayName: \"EditorWithConfig\" });\n\nexport function useEditorConfig<TConfig = EditorConfig>() {\n const { elements, inputRenderers, ...rest } = base.useConfig<TConfig & EditorConfig>();\n\n return {\n elements: elements || [],\n inputRenderers: inputRenderers || [],\n ...rest\n };\n}\n"],"mappings":"AAAA,SAASA,2BAA2B,QAAQ,0BAA0B;AAEtE,SAASC,OAAO;AAChB,SAASC,MAAM;AACf,SAASC,MAAM;AACf,SAASC,OAAO;AAChB,SAASC,OAAO;AAChB,SAASC,OAAO;AAChB,SAASC,QAAQ;AACjB,SAASC,eAAe;AACxB,SAASC,eAAe;AACxB,SAASC,iBAAiB,EAAEC,eAAe;AAC3C,SAASC,aAAa,EAAEC,cAAc;AAEtC,SAASC,YAAY;AACrB,SAASC,aAAa;AACtB,SAASC,UAAU;AACnB,SAASC,cAAc;AAOvB,MAAMC,IAAI,GAAGlB,2BAA2B,CAAe,gBAAgB,CAAC;AAExE,OAAO,MAAMmB,sBAAsB,GAAG;EAClC;AACJ;AACA;EACIC,EAAE,EAAE;IACAnB,OAAO;IACPM,QAAQ;IACRJ,MAAM;IACNC,OAAO;IACPF,MAAM;IACNG,OAAO;IACPC,OAAO;IACPU,UAAU;IACVD,aAAa;IACbP,eAAe;IACfC;EACJ,CAAC;EACDK,YAAY;EACZ;AACJ;AACA;EACIH,eAAe;EACf;AACJ;AACA;EACID,iBAAiB;EACjB;AACJ;AACA;EACIE,aAAa;EACb;AACJ;AACA;EACIC,cAAc;EACd;AACJ;AACA;EACII,cAAc;EACd;AACJ;AACA;EACII;AACJ,CAAC;AAED,OAAO,MAAMC,YAAY,GAAGC,MAAM,CAACC,MAAM,CAACN,IAAI,CAACO,MAAM,EAAEN,sBAAsB,CAAC;AAE9E,OAAO,MAAMO,gBAAgB,GAAGH,MAAM,CAACC,MAAM,CAACN,IAAI,CAACS,UAAU,EAAE;EAAEC,WAAW,EAAE;AAAmB,CAAC,CAAC;AAEnG,OAAO,SAASP,eAAeA,CAAA,EAA2B;EACtD,MAAM;IAAEQ,QAAQ;IAAEC,cAAc;IAAE,GAAGC;EAAK,CAAC,GAAGb,IAAI,CAACc,SAAS,CAAyB,CAAC;EAEtF,OAAO;IACHH,QAAQ,EAAEA,QAAQ,IAAI,EAAE;IACxBC,cAAc,EAAEA,cAAc,IAAI,EAAE;IACpC,GAAGC;EACP,CAAC;AACL","ignoreList":[]}
1
+ {"version":3,"names":["createConfigurableComponent","Element","TopBar","Layout","Content","Toolbar","Sidebar","Elements","OnActiveElement","NoActiveElement","ElementProperties","ElementProperty","ElementAction","ElementActions","ElementInput","IsNotReadOnly","IsReadOnly","ElementOverlay","base","EditorConfigComponents","Ui","useEditorConfig","EditorConfig","Object","assign","Config","EditorWithConfig","WithConfig","displayName","elements","inputRenderers","rest","useConfig"],"sources":["EditorConfig.tsx"],"sourcesContent":["import { createConfigurableComponent } from \"@webiny/react-properties\";\nimport type { ElementConfig } from \"./Element.js\";\nimport { Element } from \"./Element.js\";\nimport { TopBar } from \"./TopBar/TopBar.js\";\nimport { Layout } from \"./Layout.js\";\nimport { Content } from \"./Content/Content.js\";\nimport { Toolbar } from \"./Toolbar/Toolbar.js\";\nimport { Sidebar } from \"./Sidebar/Sidebar.js\";\nimport { Elements } from \"./Elements.js\";\nimport { OnActiveElement } from \"./OnActiveElement.js\";\nimport { NoActiveElement } from \"./NoActiveElement.js\";\nimport { ElementProperties, ElementProperty } from \"./ElementProperty.js\";\nimport { ElementAction, ElementActions } from \"./ElementAction.js\";\nimport type { ElementInputConfig } from \"./ElementInput.js\";\nimport { ElementInput } from \"./ElementInput.js\";\nimport { IsNotReadOnly } from \"~/BaseEditor/config/IsNotReadOnly.js\";\nimport { IsReadOnly } from \"~/BaseEditor/config/IsReadOnly.js\";\nimport { ElementOverlay } from \"./ElementOverlay.js\";\n\nexport interface EditorConfig {\n elements: ElementConfig[];\n inputRenderers: ElementInputConfig[];\n}\n\nconst base = createConfigurableComponent<EditorConfig>(\"DocumentEditor\");\n\nexport const EditorConfigComponents = {\n /**\n * Components to configure editor UI.\n */\n Ui: {\n Element,\n Elements,\n Layout,\n Content,\n TopBar,\n Toolbar,\n Sidebar,\n IsReadOnly,\n IsNotReadOnly,\n OnActiveElement,\n NoActiveElement\n },\n ElementInput,\n /**\n * Define a new element property.\n */\n ElementProperty,\n /**\n * Render element properties for the given group.\n */\n ElementProperties,\n /**\n * Define an element action.\n */\n ElementAction,\n /**\n * Render all element actions.\n */\n ElementActions,\n /**\n * Customize ElementOverlay\n */\n ElementOverlay,\n /**\n * Access full editor config. WARNING: very low-level, we don't recommend using this directly!\n */\n useEditorConfig\n};\n\nexport const EditorConfig = Object.assign(base.Config, EditorConfigComponents);\n\nexport const EditorWithConfig = Object.assign(base.WithConfig, { displayName: \"EditorWithConfig\" });\n\nexport function useEditorConfig<TConfig = EditorConfig>() {\n const { elements, inputRenderers, ...rest } = base.useConfig<TConfig & EditorConfig>();\n\n return {\n elements: elements || [],\n inputRenderers: inputRenderers || [],\n ...rest\n };\n}\n"],"mappings":"AAAA,SAASA,2BAA2B,QAAQ,0BAA0B;AAEtE,SAASC,OAAO;AAChB,SAASC,MAAM;AACf,SAASC,MAAM;AACf,SAASC,OAAO;AAChB,SAASC,OAAO;AAChB,SAASC,OAAO;AAChB,SAASC,QAAQ;AACjB,SAASC,eAAe;AACxB,SAASC,eAAe;AACxB,SAASC,iBAAiB,EAAEC,eAAe;AAC3C,SAASC,aAAa,EAAEC,cAAc;AAEtC,SAASC,YAAY;AACrB,SAASC,aAAa;AACtB,SAASC,UAAU;AACnB,SAASC,cAAc;AAOvB,MAAMC,IAAI,GAAGlB,2BAA2B,CAAe,gBAAgB,CAAC;AAExE,OAAO,MAAMmB,sBAAsB,GAAG;EAClC;AACJ;AACA;EACIC,EAAE,EAAE;IACAnB,OAAO;IACPM,QAAQ;IACRJ,MAAM;IACNC,OAAO;IACPF,MAAM;IACNG,OAAO;IACPC,OAAO;IACPU,UAAU;IACVD,aAAa;IACbP,eAAe;IACfC;EACJ,CAAC;EACDK,YAAY;EACZ;AACJ;AACA;EACIH,eAAe;EACf;AACJ;AACA;EACID,iBAAiB;EACjB;AACJ;AACA;EACIE,aAAa;EACb;AACJ;AACA;EACIC,cAAc;EACd;AACJ;AACA;EACII,cAAc;EACd;AACJ;AACA;EACII;AACJ,CAAC;AAED,OAAO,MAAMC,YAAY,GAAGC,MAAM,CAACC,MAAM,CAACN,IAAI,CAACO,MAAM,EAAEN,sBAAsB,CAAC;AAE9E,OAAO,MAAMO,gBAAgB,GAAGH,MAAM,CAACC,MAAM,CAACN,IAAI,CAACS,UAAU,EAAE;EAAEC,WAAW,EAAE;AAAmB,CAAC,CAAC;AAEnG,OAAO,SAASP,eAAeA,CAAA,EAA2B;EACtD,MAAM;IAAEQ,QAAQ;IAAEC,cAAc;IAAE,GAAGC;EAAK,CAAC,GAAGb,IAAI,CAACc,SAAS,CAAyB,CAAC;EAEtF,OAAO;IACHH,QAAQ,EAAEA,QAAQ,IAAI,EAAE;IACxBC,cAAc,EAAEA,cAAc,IAAI,EAAE;IACpC,GAAGC;EACP,CAAC;AACL","ignoreList":[]}
@@ -2,7 +2,7 @@ import { functionConverter, mouseTracker } from "@webiny/website-builder-sdk";
2
2
  import defaultImage from "@webiny/icons/extension.svg";
3
3
  import { Commands } from "../../../index.js";
4
4
  import { $createElement } from "../../../../editorSdk/utils/index.js";
5
- // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
5
+ // oxlint-disable-next-line typescript/no-unsafe-function-type
6
6
  function deserializeHandlers(value) {
7
7
  if (Array.isArray(value)) {
8
8
  return value.map(s => functionConverter.deserialize(s));
@@ -1 +1 @@
1
- {"version":3,"names":["functionConverter","mouseTracker","defaultImage","Commands","$createElement","deserializeHandlers","value","Array","isArray","map","s","deserialize","PreviewEvents","editorEventsRegistered","listeners","constructor","editor","window","input","elements","forEach","element","componentName","component","bindings","inputs","parentId","index","slot","onConnected","messenger","dispose","registerEditorEvents","subscribeToIframe","setTimeout","updateEditor","state","loadingPreview","selectedElement","destroy","unsubscribe","push","onDocumentStateChange","event","reason","getMessenger","send","diff","registerCommandHandler","PreviewPatchElement","payload","elementId","patch","SendPreviewMessage","type","getDocumentState","toJson","on","theme","executeCommand","SetTheme","fragments","document","read","Object","keys","length","fragment","name","boxes","viewport","iframeBox","getIframeBox","top","left","preview","mapCoordinatesToEditorSpace","constraints","c","descendantConstraints","canDelete","onChange","onDescendantChange","e","console","log","message","components","image","tags","group","componentGroups","id","x","y","globalX","globalY","setPosition","previewContainer","getElementById","previewBody","width","height","containerRect","getBoundingClientRect","bodyRect","newBoxes","key","box"],"sources":["PreviewEvents.ts"],"sourcesContent":["import type { Messenger } from \"@webiny/website-builder-sdk\";\nimport {\n type BoxesData,\n type ComponentManifest,\n type EditorViewportInfo,\n functionConverter,\n mouseTracker,\n type PreviewViewportData,\n type SerializedComponentGroup\n} from \"@webiny/website-builder-sdk\";\nimport defaultImage from \"@webiny/icons/extension.svg\";\nimport { Commands } from \"~/BaseEditor/index.js\";\nimport type { Editor } from \"~/editorSdk/Editor.js\";\nimport { $createElement } from \"~/editorSdk/utils/index.js\";\n\ntype FragmentConfig =\n | {\n type: \"fixed\";\n name: string;\n element: React.ReactNode;\n }\n | { type: \"component\"; component: string; inputs: Record<string, any> };\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\nfunction deserializeHandlers(value: string | string[]): Function | Function[] {\n if (Array.isArray(value)) {\n return value.map(s => functionConverter.deserialize(s));\n }\n return functionConverter.deserialize(value);\n}\n\nexport class PreviewEvents {\n private editor: Editor;\n private editorEventsRegistered = false;\n private messenger: Messenger | undefined;\n private listeners: Array<() => void> = [];\n\n constructor(editor: Editor) {\n this.editor = editor;\n\n // @ts-ignore 123\n window[\"aiCreateElement\"] = (input: any) => {\n const elements = Array.isArray(input) ? input : [input];\n elements.forEach(element => {\n $createElement(this.editor, {\n componentName: element.component,\n bindings: { inputs: element.inputs },\n parentId: \"root\",\n index: 0,\n slot: \"children\"\n });\n });\n };\n }\n\n onConnected(messenger: Messenger) {\n // Dispose of the old messenger.\n this.messenger?.dispose();\n\n this.messenger = messenger;\n\n this.registerEditorEvents();\n\n this.subscribeToIframe(messenger);\n\n setTimeout(() => {\n this.editor.updateEditor(state => {\n state.loadingPreview = false;\n state.selectedElement = null;\n });\n }, 100);\n }\n\n destroy() {\n this.listeners.forEach(unsubscribe => {\n unsubscribe();\n });\n }\n\n private registerEditorEvents() {\n if (this.editorEventsRegistered) {\n return;\n }\n\n this.editorEventsRegistered = true;\n\n this.listeners.push(\n // Propagate changes\n this.editor.onDocumentStateChange(event => {\n if (event.reason === \"update\") {\n this.getMessenger().send(\"document.patch\", event.diff);\n } else {\n this.getMessenger().send(\"document.set\", event.state);\n }\n }),\n\n // Element preview\n this.editor.registerCommandHandler(Commands.PreviewPatchElement, payload => {\n this.getMessenger().send(`element.patch.${payload.elementId}`, payload.patch);\n }),\n\n // Forward arbitrary messages to the preview iframe.\n this.editor.registerCommandHandler(Commands.SendPreviewMessage, ({ type, payload }) => {\n this.getMessenger().send(type, payload);\n })\n );\n }\n\n private subscribeToIframe(messenger: Messenger) {\n // When `onConnected` is executed, we need to send new data to the live preview.\n messenger.send(\"document.set\", this.editor.getDocumentState().toJson());\n\n messenger.on(\"preview.theme\", ({ theme }) => {\n this.editor.executeCommand(Commands.SetTheme, { theme });\n });\n\n messenger.on(\"document.fragments\", payload => {\n const fragments: FragmentConfig[] = payload.fragments;\n this.editor.updateEditor(state => {\n state.fragments = fragments;\n });\n\n const document = this.editor.getDocumentState().read();\n\n if (Object.keys(document.elements).length === 1) {\n // We only have the default \"root\" element, create fragment elements.\n fragments.forEach((fragment, index) => {\n if (fragment.type === \"fixed\") {\n $createElement(this.editor, {\n componentName: \"Webiny/Fragment\",\n parentId: \"root\",\n slot: \"children\",\n index,\n bindings: {\n inputs: {\n name: fragment.name\n }\n }\n });\n return;\n }\n\n $createElement(this.editor, {\n componentName: fragment.component,\n parentId: \"root\",\n slot: \"children\",\n index,\n bindings: {\n inputs: fragment.inputs\n }\n });\n });\n }\n });\n\n messenger.on(\"preview.viewport\", ({ boxes, viewport }: PreviewViewportData) => {\n const iframeBox = this.getIframeBox();\n\n this.editor.updateEditor(state => {\n state.viewport = {\n ...state.viewport,\n ...viewport,\n top: iframeBox.top,\n left: iframeBox.left\n };\n\n state.boxes = {\n preview: boxes,\n editor: this.mapCoordinatesToEditorSpace(state.viewport, boxes)\n };\n });\n });\n\n messenger.on(\"preview.component.register\", (component: ComponentManifest) => {\n // Deserialize constraint check functions once on arrival.\n try {\n if (component.constraints) {\n component.constraints = (component.constraints as any[]).map(c =>\n typeof c === \"string\" ? functionConverter.deserialize(c) : c\n );\n }\n if (component.descendantConstraints) {\n component.descendantConstraints = (\n component.descendantConstraints as any[]\n ).map(c => (typeof c === \"string\" ? functionConverter.deserialize(c) : c));\n }\n if (component.canDelete && typeof component.canDelete === \"string\") {\n component.canDelete = functionConverter.deserialize(component.canDelete);\n }\n if (component.onChange) {\n component.onChange = deserializeHandlers(component.onChange as any) as any;\n }\n if (component.onDescendantChange) {\n component.onDescendantChange = deserializeHandlers(\n component.onDescendantChange as any\n ) as any;\n }\n } catch (e) {\n console.log(\n `Couldn't deserialize ${component.name} component callbacks:`,\n e.message\n );\n }\n\n this.editor.updateEditor(state => {\n if (!state.components) {\n state.components = {};\n }\n state.components[component.name] = {\n ...component,\n image: component.image ?? defaultImage,\n tags: component.tags ?? []\n };\n });\n });\n\n messenger.on(\"preview.componentGroup.register\", (group: SerializedComponentGroup) => {\n this.editor.updateEditor(state => {\n if (!state.componentGroups) {\n state.componentGroups = {};\n }\n state.componentGroups[group.name] = group;\n });\n });\n\n messenger.on(\"preview.element.click\", ({ id }) => {\n this.editor.updateEditor(state => {\n state.selectedElement = id;\n });\n });\n\n messenger.on(\"preview.mouse.move\", ({ x, y }) => {\n const iframeBox = this.getIframeBox();\n const globalX = x + iframeBox.left;\n const globalY = y + iframeBox.top;\n\n mouseTracker.setPosition(globalX, globalY);\n });\n }\n\n private getIframeBox() {\n const previewContainer = document.getElementById(\"preview-container\");\n const previewBody = document.getElementById(\"preview-body\");\n\n if (!previewContainer || !previewBody) {\n return {\n top: 0,\n left: 0,\n width: 0,\n height: 0\n };\n }\n\n /**\n * We need to use the `preview-container` to get the exact position from the top (we MUST ignore scroll position).\n * However, for everything else we use the actual `preview-body`,\n */\n const containerRect = previewContainer.getBoundingClientRect();\n const bodyRect = previewBody.getBoundingClientRect();\n\n return {\n top: containerRect.top,\n left: bodyRect.left,\n width: bodyRect.width,\n height: bodyRect.height\n };\n }\n\n private mapCoordinatesToEditorSpace(\n viewport: EditorViewportInfo,\n boxes: PreviewViewportData[\"boxes\"]\n ) {\n const newBoxes: BoxesData = {};\n\n for (const key in boxes) {\n const box = boxes[key];\n newBoxes[key] = {\n ...box,\n top: box.top + viewport.top,\n left: box.left + viewport.left\n };\n }\n\n return newBoxes;\n }\n\n private getMessenger(): Messenger {\n return this.messenger!;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["functionConverter","mouseTracker","defaultImage","Commands","$createElement","deserializeHandlers","value","Array","isArray","map","s","deserialize","PreviewEvents","editorEventsRegistered","listeners","constructor","editor","window","input","elements","forEach","element","componentName","component","bindings","inputs","parentId","index","slot","onConnected","messenger","dispose","registerEditorEvents","subscribeToIframe","setTimeout","updateEditor","state","loadingPreview","selectedElement","destroy","unsubscribe","push","onDocumentStateChange","event","reason","getMessenger","send","diff","registerCommandHandler","PreviewPatchElement","payload","elementId","patch","SendPreviewMessage","type","getDocumentState","toJson","on","theme","executeCommand","SetTheme","fragments","document","read","Object","keys","length","fragment","name","boxes","viewport","iframeBox","getIframeBox","top","left","preview","mapCoordinatesToEditorSpace","constraints","c","descendantConstraints","canDelete","onChange","onDescendantChange","e","console","log","message","components","image","tags","group","componentGroups","id","x","y","globalX","globalY","setPosition","previewContainer","getElementById","previewBody","width","height","containerRect","getBoundingClientRect","bodyRect","newBoxes","key","box"],"sources":["PreviewEvents.ts"],"sourcesContent":["import type { Messenger } from \"@webiny/website-builder-sdk\";\nimport {\n type BoxesData,\n type ComponentManifest,\n type EditorViewportInfo,\n functionConverter,\n mouseTracker,\n type PreviewViewportData,\n type SerializedComponentGroup\n} from \"@webiny/website-builder-sdk\";\nimport defaultImage from \"@webiny/icons/extension.svg\";\nimport { Commands } from \"~/BaseEditor/index.js\";\nimport type { Editor } from \"~/editorSdk/Editor.js\";\nimport { $createElement } from \"~/editorSdk/utils/index.js\";\n\ntype FragmentConfig =\n | {\n type: \"fixed\";\n name: string;\n element: React.ReactNode;\n }\n | { type: \"component\"; component: string; inputs: Record<string, any> };\n\n// oxlint-disable-next-line typescript/no-unsafe-function-type\nfunction deserializeHandlers(value: string | string[]): Function | Function[] {\n if (Array.isArray(value)) {\n return value.map(s => functionConverter.deserialize(s));\n }\n return functionConverter.deserialize(value);\n}\n\nexport class PreviewEvents {\n private editor: Editor;\n private editorEventsRegistered = false;\n private messenger: Messenger | undefined;\n private listeners: Array<() => void> = [];\n\n constructor(editor: Editor) {\n this.editor = editor;\n\n // @ts-ignore 123\n window[\"aiCreateElement\"] = (input: any) => {\n const elements = Array.isArray(input) ? input : [input];\n elements.forEach(element => {\n $createElement(this.editor, {\n componentName: element.component,\n bindings: { inputs: element.inputs },\n parentId: \"root\",\n index: 0,\n slot: \"children\"\n });\n });\n };\n }\n\n onConnected(messenger: Messenger) {\n // Dispose of the old messenger.\n this.messenger?.dispose();\n\n this.messenger = messenger;\n\n this.registerEditorEvents();\n\n this.subscribeToIframe(messenger);\n\n setTimeout(() => {\n this.editor.updateEditor(state => {\n state.loadingPreview = false;\n state.selectedElement = null;\n });\n }, 100);\n }\n\n destroy() {\n this.listeners.forEach(unsubscribe => {\n unsubscribe();\n });\n }\n\n private registerEditorEvents() {\n if (this.editorEventsRegistered) {\n return;\n }\n\n this.editorEventsRegistered = true;\n\n this.listeners.push(\n // Propagate changes\n this.editor.onDocumentStateChange(event => {\n if (event.reason === \"update\") {\n this.getMessenger().send(\"document.patch\", event.diff);\n } else {\n this.getMessenger().send(\"document.set\", event.state);\n }\n }),\n\n // Element preview\n this.editor.registerCommandHandler(Commands.PreviewPatchElement, payload => {\n this.getMessenger().send(`element.patch.${payload.elementId}`, payload.patch);\n }),\n\n // Forward arbitrary messages to the preview iframe.\n this.editor.registerCommandHandler(Commands.SendPreviewMessage, ({ type, payload }) => {\n this.getMessenger().send(type, payload);\n })\n );\n }\n\n private subscribeToIframe(messenger: Messenger) {\n // When `onConnected` is executed, we need to send new data to the live preview.\n messenger.send(\"document.set\", this.editor.getDocumentState().toJson());\n\n messenger.on(\"preview.theme\", ({ theme }) => {\n this.editor.executeCommand(Commands.SetTheme, { theme });\n });\n\n messenger.on(\"document.fragments\", payload => {\n const fragments: FragmentConfig[] = payload.fragments;\n this.editor.updateEditor(state => {\n state.fragments = fragments;\n });\n\n const document = this.editor.getDocumentState().read();\n\n if (Object.keys(document.elements).length === 1) {\n // We only have the default \"root\" element, create fragment elements.\n fragments.forEach((fragment, index) => {\n if (fragment.type === \"fixed\") {\n $createElement(this.editor, {\n componentName: \"Webiny/Fragment\",\n parentId: \"root\",\n slot: \"children\",\n index,\n bindings: {\n inputs: {\n name: fragment.name\n }\n }\n });\n return;\n }\n\n $createElement(this.editor, {\n componentName: fragment.component,\n parentId: \"root\",\n slot: \"children\",\n index,\n bindings: {\n inputs: fragment.inputs\n }\n });\n });\n }\n });\n\n messenger.on(\"preview.viewport\", ({ boxes, viewport }: PreviewViewportData) => {\n const iframeBox = this.getIframeBox();\n\n this.editor.updateEditor(state => {\n state.viewport = {\n ...state.viewport,\n ...viewport,\n top: iframeBox.top,\n left: iframeBox.left\n };\n\n state.boxes = {\n preview: boxes,\n editor: this.mapCoordinatesToEditorSpace(state.viewport, boxes)\n };\n });\n });\n\n messenger.on(\"preview.component.register\", (component: ComponentManifest) => {\n // Deserialize constraint check functions once on arrival.\n try {\n if (component.constraints) {\n component.constraints = (component.constraints as any[]).map(c =>\n typeof c === \"string\" ? functionConverter.deserialize(c) : c\n );\n }\n if (component.descendantConstraints) {\n component.descendantConstraints = (\n component.descendantConstraints as any[]\n ).map(c => (typeof c === \"string\" ? functionConverter.deserialize(c) : c));\n }\n if (component.canDelete && typeof component.canDelete === \"string\") {\n component.canDelete = functionConverter.deserialize(component.canDelete);\n }\n if (component.onChange) {\n component.onChange = deserializeHandlers(component.onChange as any) as any;\n }\n if (component.onDescendantChange) {\n component.onDescendantChange = deserializeHandlers(\n component.onDescendantChange as any\n ) as any;\n }\n } catch (e) {\n console.log(\n `Couldn't deserialize ${component.name} component callbacks:`,\n e.message\n );\n }\n\n this.editor.updateEditor(state => {\n if (!state.components) {\n state.components = {};\n }\n state.components[component.name] = {\n ...component,\n image: component.image ?? defaultImage,\n tags: component.tags ?? []\n };\n });\n });\n\n messenger.on(\"preview.componentGroup.register\", (group: SerializedComponentGroup) => {\n this.editor.updateEditor(state => {\n if (!state.componentGroups) {\n state.componentGroups = {};\n }\n state.componentGroups[group.name] = group;\n });\n });\n\n messenger.on(\"preview.element.click\", ({ id }) => {\n this.editor.updateEditor(state => {\n state.selectedElement = id;\n });\n });\n\n messenger.on(\"preview.mouse.move\", ({ x, y }) => {\n const iframeBox = this.getIframeBox();\n const globalX = x + iframeBox.left;\n const globalY = y + iframeBox.top;\n\n mouseTracker.setPosition(globalX, globalY);\n });\n }\n\n private getIframeBox() {\n const previewContainer = document.getElementById(\"preview-container\");\n const previewBody = document.getElementById(\"preview-body\");\n\n if (!previewContainer || !previewBody) {\n return {\n top: 0,\n left: 0,\n width: 0,\n height: 0\n };\n }\n\n /**\n * We need to use the `preview-container` to get the exact position from the top (we MUST ignore scroll position).\n * However, for everything else we use the actual `preview-body`,\n */\n const containerRect = previewContainer.getBoundingClientRect();\n const bodyRect = previewBody.getBoundingClientRect();\n\n return {\n top: containerRect.top,\n left: bodyRect.left,\n width: bodyRect.width,\n height: bodyRect.height\n };\n }\n\n private mapCoordinatesToEditorSpace(\n viewport: EditorViewportInfo,\n boxes: PreviewViewportData[\"boxes\"]\n ) {\n const newBoxes: BoxesData = {};\n\n for (const key in boxes) {\n const box = boxes[key];\n newBoxes[key] = {\n ...box,\n top: box.top + viewport.top,\n left: box.left + viewport.left\n };\n }\n\n return newBoxes;\n }\n\n private getMessenger(): Messenger {\n return this.messenger!;\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/Extension.js CHANGED
@@ -35,6 +35,7 @@ import { LoadPagesFeature } from "./features/pages/loadPages/index.js";
35
35
  import { CreatePageConfig } from "./presentation/pages/CreatePage/CreatePageConfig.js";
36
36
  import { TranslatePageConfig } from "./presentation/pages/TranslatePage/TranslatePageConfig.js";
37
37
  import { CreatePageFeature } from "./presentation/pages/CreatePage/feature.js";
38
+ import { PageSettingsFeature } from "./modules/pages/PageEditor/PageSettings/feature.js";
38
39
  const {
39
40
  Security,
40
41
  Menu,
@@ -81,6 +82,8 @@ export const Extension = () => {
81
82
  feature: LoadPagesFeature
82
83
  }), /*#__PURE__*/React.createElement(RegisterFeature, {
83
84
  feature: CreatePageFeature
85
+ }), /*#__PURE__*/React.createElement(RegisterFeature, {
86
+ feature: PageSettingsFeature
84
87
  }), /*#__PURE__*/React.createElement(AdminConfig, null, /*#__PURE__*/React.createElement(Security.Permissions, {
85
88
  name: "website-builder",
86
89
  title: "Website Builder",
package/Extension.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","AdminConfig","RegisterFeature","useContainer","useRouter","ReactComponent","PagesIcon","PermissionsIcon","PageEditor","PageList","useSettingsDialog","useIntegrationsDialog","PagesListConfig","RedirectsList","RedirectsListConfig","Routes","PagesWidget","PageListFeature","Extension","NavigationExtension","NextjsConfigFeature","WB_PERMISSIONS_SCHEMA","WbPermissionsFeature","HasPermission","TranslatePageFeature","DeletePageFeature","MovePageFeature","PublishPageFeature","UnpublishPageFeature","DuplicatePageFeature","CreatePageRevisionFromFeature","UpdatePageFeature","CreatePageFeature","CreatePageHeadlessFeature","GetPageFeature","GetPageRevisionsFeature","SelectPagesFeature","SharedPageInfrastructureFeature","LoadPagesFeature","CreatePageConfig","TranslatePageConfig","Security","Menu","Route","Dashboard","router","container","register","createElement","Fragment","feature","Permissions","name","title","description","icon","schema","any","element","Item","text","Link","Icon","label","entity","route","Pages","List","Editor","parent","to","getLink","pinnable","Widget","column","Redirects","SettingsMenuItem","IntegrationsMenuItem","displayName","showSettingsDialog","onClick","showIntegrationsDialog"],"sources":["Extension.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { AdminConfig, RegisterFeature, useContainer } from \"@webiny/app-admin\";\nimport { useRouter } from \"@webiny/app-admin\";\nimport { ReactComponent as PagesIcon } from \"@webiny/icons/table_chart.svg\";\nimport { ReactComponent as PermissionsIcon } from \"@webiny/icons/table_chart.svg\";\nimport { PageEditor } from \"~/modules/pages/PageEditor.js\";\nimport { PageList } from \"~/modules/pages/PageList.js\";\nimport { useSettingsDialog } from \"~/modules/settings/useSettingsDialog.js\";\nimport { useIntegrationsDialog } from \"./modules/integrations/useIntegrationsDialog.js\";\nimport { PagesListConfig } from \"~/modules/pages/PagesListConfig.js\";\nimport { RedirectsList } from \"~/modules/redirects/RedirectsList.js\";\nimport { RedirectsListConfig } from \"~/modules/redirects/RedirectsListConfig.js\";\nimport { Routes } from \"~/routes.js\";\nimport { PagesWidget } from \"~/modules/widgets/PagesWidget.js\";\nimport { PageListFeature } from \"~/presentation/pages/PageList/feature.js\";\nimport { Extension as NavigationExtension } from \"./presentation/navigation/Extension.js\";\nimport { NextjsConfigFeature } from \"~/presentation/navigation/NextjsConfig/feature.js\";\nimport { WB_PERMISSIONS_SCHEMA } from \"~/constants.js\";\nimport { WbPermissionsFeature } from \"~/features/permissions/feature.js\";\nimport { HasPermission } from \"~/presentation/security/HasPermission.js\";\nimport { TranslatePageFeature } from \"~/features/pages/translatePage/index.js\";\nimport { DeletePageFeature } from \"~/features/pages/deletePage/index.js\";\nimport { MovePageFeature } from \"~/features/pages/movePage/index.js\";\nimport { PublishPageFeature } from \"~/features/pages/publishPage/index.js\";\nimport { UnpublishPageFeature } from \"~/features/pages/unpublishPage/index.js\";\nimport { DuplicatePageFeature } from \"~/features/pages/duplicatePage/index.js\";\nimport { CreatePageRevisionFromFeature } from \"~/features/pages/createPageRevisionFrom/index.js\";\nimport { UpdatePageFeature } from \"~/features/pages/updatePage/index.js\";\nimport { CreatePageFeature as CreatePageHeadlessFeature } from \"~/features/pages/createPage/index.js\";\nimport { GetPageFeature } from \"~/features/pages/getPage/index.js\";\nimport { GetPageRevisionsFeature } from \"~/features/pages/getPageRevisions/index.js\";\nimport { SelectPagesFeature } from \"~/features/pages/selectPages/index.js\";\nimport { SharedPageInfrastructureFeature } from \"~/features/pages/shared/feature.js\";\nimport { LoadPagesFeature } from \"~/features/pages/loadPages/index.js\";\nimport { CreatePageConfig } from \"./presentation/pages/CreatePage/CreatePageConfig.js\";\nimport { TranslatePageConfig } from \"./presentation/pages/TranslatePage/TranslatePageConfig.js\";\nimport { CreatePageFeature } from \"~/presentation/pages/CreatePage/feature.js\";\n\nconst { Security, Menu, Route, Dashboard } = AdminConfig;\n\nexport const Extension = () => {\n const router = useRouter();\n const container = useContainer();\n\n useEffect(() => {\n PageListFeature.register(container);\n }, []);\n\n return (\n <>\n <RegisterFeature feature={SharedPageInfrastructureFeature} />\n <RegisterFeature feature={NextjsConfigFeature} />\n <RegisterFeature feature={WbPermissionsFeature} />\n <RegisterFeature feature={TranslatePageFeature} />\n <RegisterFeature feature={DeletePageFeature} />\n <RegisterFeature feature={MovePageFeature} />\n <RegisterFeature feature={PublishPageFeature} />\n <RegisterFeature feature={UnpublishPageFeature} />\n <RegisterFeature feature={DuplicatePageFeature} />\n <RegisterFeature feature={CreatePageRevisionFromFeature} />\n <RegisterFeature feature={UpdatePageFeature} />\n <RegisterFeature feature={CreatePageHeadlessFeature} />\n <RegisterFeature feature={GetPageFeature} />\n <RegisterFeature feature={GetPageRevisionsFeature} />\n <RegisterFeature feature={SelectPagesFeature} />\n <RegisterFeature feature={LoadPagesFeature} />\n <RegisterFeature feature={CreatePageFeature} />\n <AdminConfig>\n <Security.Permissions\n name=\"website-builder\"\n title=\"Website Builder\"\n description=\"Manage Website Builder permissions.\"\n icon={<PermissionsIcon />}\n schema={WB_PERMISSIONS_SCHEMA}\n />\n <HasPermission any={[\"page\", \"redirect\"]}>\n <Menu\n name=\"wb\"\n element={\n <Menu.Item\n text={\"Website Builder\"}\n icon={\n <Menu.Link.Icon\n label={\"Website Builder\"}\n element={<PagesIcon />}\n />\n }\n />\n }\n />\n </HasPermission>\n\n <HasPermission entity={\"page\"}>\n <Route route={Routes.Pages.List} element={<PageList />} />\n <Route route={Routes.Pages.Editor} element={<PageEditor />} />\n <Menu\n name=\"wb.pages\"\n parent={\"wb\"}\n element={\n <Menu.Link\n text={\"Pages\"}\n to={router.getLink(Routes.Pages.List)}\n pinnable={true}\n />\n }\n />\n <Dashboard.Widget name=\"wb.pages\" column={\"left\"} element={<PagesWidget />} />\n <NavigationExtension />\n </HasPermission>\n\n <HasPermission entity={\"redirect\"}>\n <Route route={Routes.Redirects.List} element={<RedirectsList />} />\n <Menu\n name=\"wb.redirects\"\n parent={\"wb\"}\n element={\n <Menu.Link\n text={\"Redirects\"}\n to={router.getLink(Routes.Redirects.List)}\n pinnable={true}\n />\n }\n />\n </HasPermission>\n <HasPermission entity={\"settings\"}>\n <Menu name=\"wb.settings\" parent=\"wb\" element={<SettingsMenuItem />} />\n </HasPermission>\n <HasPermission entity={\"integrations\"}>\n <Menu name=\"wb.integrations\" parent=\"wb\" element={<IntegrationsMenuItem />} />\n </HasPermission>\n </AdminConfig>\n <PagesListConfig />\n <RedirectsListConfig />\n <CreatePageConfig />\n <TranslatePageConfig />\n </>\n );\n};\n\nExtension.displayName = \"WbExtension\";\n\nconst SettingsMenuItem = () => {\n const { showSettingsDialog } = useSettingsDialog();\n return <Menu.Item text={\"Settings\"} onClick={showSettingsDialog} pinnable={true} />;\n};\n\nconst IntegrationsMenuItem = () => {\n const { showIntegrationsDialog } = useIntegrationsDialog();\n return <Menu.Item text={\"Integrations\"} onClick={showIntegrationsDialog} pinnable={true} />;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","AdminConfig","RegisterFeature","useContainer","useRouter","ReactComponent","PagesIcon","PermissionsIcon","PageEditor","PageList","useSettingsDialog","useIntegrationsDialog","PagesListConfig","RedirectsList","RedirectsListConfig","Routes","PagesWidget","PageListFeature","Extension","NavigationExtension","NextjsConfigFeature","WB_PERMISSIONS_SCHEMA","WbPermissionsFeature","HasPermission","TranslatePageFeature","DeletePageFeature","MovePageFeature","PublishPageFeature","UnpublishPageFeature","DuplicatePageFeature","CreatePageRevisionFromFeature","UpdatePageFeature","CreatePageFeature","CreatePageHeadlessFeature","GetPageFeature","GetPageRevisionsFeature","SelectPagesFeature","SharedPageInfrastructureFeature","LoadPagesFeature","CreatePageConfig","TranslatePageConfig","PageSettingsFeature","Security","Menu","Route","Dashboard","router","container","register","createElement","Fragment","feature","Permissions","name","title","description","icon","schema","any","element","Item","text","Link","Icon","label","entity","route","Pages","List","Editor","parent","to","getLink","pinnable","Widget","column","Redirects","SettingsMenuItem","IntegrationsMenuItem","displayName","showSettingsDialog","onClick","showIntegrationsDialog"],"sources":["Extension.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { AdminConfig, RegisterFeature, useContainer } from \"@webiny/app-admin\";\nimport { useRouter } from \"@webiny/app-admin\";\nimport { ReactComponent as PagesIcon } from \"@webiny/icons/table_chart.svg\";\nimport { ReactComponent as PermissionsIcon } from \"@webiny/icons/table_chart.svg\";\nimport { PageEditor } from \"~/modules/pages/PageEditor.js\";\nimport { PageList } from \"~/modules/pages/PageList.js\";\nimport { useSettingsDialog } from \"~/modules/settings/useSettingsDialog.js\";\nimport { useIntegrationsDialog } from \"./modules/integrations/useIntegrationsDialog.js\";\nimport { PagesListConfig } from \"~/modules/pages/PagesListConfig.js\";\nimport { RedirectsList } from \"~/modules/redirects/RedirectsList.js\";\nimport { RedirectsListConfig } from \"~/modules/redirects/RedirectsListConfig.js\";\nimport { Routes } from \"~/routes.js\";\nimport { PagesWidget } from \"~/modules/widgets/PagesWidget.js\";\nimport { PageListFeature } from \"~/presentation/pages/PageList/feature.js\";\nimport { Extension as NavigationExtension } from \"./presentation/navigation/Extension.js\";\nimport { NextjsConfigFeature } from \"~/presentation/navigation/NextjsConfig/feature.js\";\nimport { WB_PERMISSIONS_SCHEMA } from \"~/constants.js\";\nimport { WbPermissionsFeature } from \"~/features/permissions/feature.js\";\nimport { HasPermission } from \"~/presentation/security/HasPermission.js\";\nimport { TranslatePageFeature } from \"~/features/pages/translatePage/index.js\";\nimport { DeletePageFeature } from \"~/features/pages/deletePage/index.js\";\nimport { MovePageFeature } from \"~/features/pages/movePage/index.js\";\nimport { PublishPageFeature } from \"~/features/pages/publishPage/index.js\";\nimport { UnpublishPageFeature } from \"~/features/pages/unpublishPage/index.js\";\nimport { DuplicatePageFeature } from \"~/features/pages/duplicatePage/index.js\";\nimport { CreatePageRevisionFromFeature } from \"~/features/pages/createPageRevisionFrom/index.js\";\nimport { UpdatePageFeature } from \"~/features/pages/updatePage/index.js\";\nimport { CreatePageFeature as CreatePageHeadlessFeature } from \"~/features/pages/createPage/index.js\";\nimport { GetPageFeature } from \"~/features/pages/getPage/index.js\";\nimport { GetPageRevisionsFeature } from \"~/features/pages/getPageRevisions/index.js\";\nimport { SelectPagesFeature } from \"~/features/pages/selectPages/index.js\";\nimport { SharedPageInfrastructureFeature } from \"~/features/pages/shared/feature.js\";\nimport { LoadPagesFeature } from \"~/features/pages/loadPages/index.js\";\nimport { CreatePageConfig } from \"./presentation/pages/CreatePage/CreatePageConfig.js\";\nimport { TranslatePageConfig } from \"./presentation/pages/TranslatePage/TranslatePageConfig.js\";\nimport { CreatePageFeature } from \"~/presentation/pages/CreatePage/feature.js\";\nimport { PageSettingsFeature } from \"~/modules/pages/PageEditor/PageSettings/feature.js\";\n\nconst { Security, Menu, Route, Dashboard } = AdminConfig;\n\nexport const Extension = () => {\n const router = useRouter();\n const container = useContainer();\n\n useEffect(() => {\n PageListFeature.register(container);\n }, []);\n\n return (\n <>\n <RegisterFeature feature={SharedPageInfrastructureFeature} />\n <RegisterFeature feature={NextjsConfigFeature} />\n <RegisterFeature feature={WbPermissionsFeature} />\n <RegisterFeature feature={TranslatePageFeature} />\n <RegisterFeature feature={DeletePageFeature} />\n <RegisterFeature feature={MovePageFeature} />\n <RegisterFeature feature={PublishPageFeature} />\n <RegisterFeature feature={UnpublishPageFeature} />\n <RegisterFeature feature={DuplicatePageFeature} />\n <RegisterFeature feature={CreatePageRevisionFromFeature} />\n <RegisterFeature feature={UpdatePageFeature} />\n <RegisterFeature feature={CreatePageHeadlessFeature} />\n <RegisterFeature feature={GetPageFeature} />\n <RegisterFeature feature={GetPageRevisionsFeature} />\n <RegisterFeature feature={SelectPagesFeature} />\n <RegisterFeature feature={LoadPagesFeature} />\n <RegisterFeature feature={CreatePageFeature} />\n <RegisterFeature feature={PageSettingsFeature} />\n <AdminConfig>\n <Security.Permissions\n name=\"website-builder\"\n title=\"Website Builder\"\n description=\"Manage Website Builder permissions.\"\n icon={<PermissionsIcon />}\n schema={WB_PERMISSIONS_SCHEMA}\n />\n <HasPermission any={[\"page\", \"redirect\"]}>\n <Menu\n name=\"wb\"\n element={\n <Menu.Item\n text={\"Website Builder\"}\n icon={\n <Menu.Link.Icon\n label={\"Website Builder\"}\n element={<PagesIcon />}\n />\n }\n />\n }\n />\n </HasPermission>\n\n <HasPermission entity={\"page\"}>\n <Route route={Routes.Pages.List} element={<PageList />} />\n <Route route={Routes.Pages.Editor} element={<PageEditor />} />\n <Menu\n name=\"wb.pages\"\n parent={\"wb\"}\n element={\n <Menu.Link\n text={\"Pages\"}\n to={router.getLink(Routes.Pages.List)}\n pinnable={true}\n />\n }\n />\n <Dashboard.Widget name=\"wb.pages\" column={\"left\"} element={<PagesWidget />} />\n <NavigationExtension />\n </HasPermission>\n\n <HasPermission entity={\"redirect\"}>\n <Route route={Routes.Redirects.List} element={<RedirectsList />} />\n <Menu\n name=\"wb.redirects\"\n parent={\"wb\"}\n element={\n <Menu.Link\n text={\"Redirects\"}\n to={router.getLink(Routes.Redirects.List)}\n pinnable={true}\n />\n }\n />\n </HasPermission>\n <HasPermission entity={\"settings\"}>\n <Menu name=\"wb.settings\" parent=\"wb\" element={<SettingsMenuItem />} />\n </HasPermission>\n <HasPermission entity={\"integrations\"}>\n <Menu name=\"wb.integrations\" parent=\"wb\" element={<IntegrationsMenuItem />} />\n </HasPermission>\n </AdminConfig>\n <PagesListConfig />\n <RedirectsListConfig />\n <CreatePageConfig />\n <TranslatePageConfig />\n </>\n );\n};\n\nExtension.displayName = \"WbExtension\";\n\nconst SettingsMenuItem = () => {\n const { showSettingsDialog } = useSettingsDialog();\n return <Menu.Item text={\"Settings\"} onClick={showSettingsDialog} pinnable={true} />;\n};\n\nconst IntegrationsMenuItem = () => {\n const { showIntegrationsDialog } = useIntegrationsDialog();\n return <Menu.Item text={\"Integrations\"} onClick={showIntegrationsDialog} pinnable={true} />;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,7 @@ import { useDialogs } from "@webiny/app-admin";
8
8
  import { Loader, Button, Text, List } from "@webiny/admin-ui";
9
9
  import { ReactComponent as Delete } from "@webiny/icons/delete.svg";
10
10
  const ResourcePreviewById = observer(props => {
11
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
11
+ // oxlint-disable-next-line typescript/no-unused-vars
12
12
  const {
13
13
  id,
14
14
  ...rest
@@ -78,7 +78,7 @@ export const PickResourceList = observer(props => {
78
78
  text: `+ Select ${capitalize(pluralize(props.resourceName))}`,
79
79
  variant: "secondary",
80
80
  onClick: () => {
81
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
81
+ // oxlint-disable-next-line typescript/no-unused-vars
82
82
  const {
83
83
  value,
84
84
  resourcePicker,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","action","runInAction","observer","useLocalObservable","capitalize","pluralize","ResourcePreviewCell","ResourcePicker","useDialogs","Loader","Button","Text","List","ReactComponent","Delete","ResourcePreviewById","props","id","rest","store","loading","resourceInfo","getResource","value","api","resourceName","findById","e","console","error","createElement","size","Object","assign","resource","Fragment","NoResourcesSelected","className","PickResourceList","dialog","map","item","index","key","actions","Item","Action","icon","onClick","res","slice","indexOf","onChange","length","text","variant","resourcePicker","PickerComponent","closeDialog","showDialog","title","acceptLabel","cancelLabel","content","omitIds","Array","isArray","push","String","PickResourcesListButton","dialogs","warn","style","color","whiteSpace"],"sources":["ResourcesList.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { action, runInAction } from \"mobx\";\nimport { observer, useLocalObservable } from \"mobx-react-lite\";\nimport capitalize from \"lodash/capitalize.js\";\nimport pluralize from \"pluralize\";\nimport type { ResourcePreviewCellProps, ResourcePickerProps } from \"./ResourcesPicker.js\";\nimport { ResourcePreviewCell, ResourcePicker } from \"./ResourcesPicker.js\";\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { Loader, Button, Text, List } from \"@webiny/admin-ui\";\nimport { ReactComponent as Delete } from \"@webiny/icons/delete.svg\";\nimport type { IEcommerceApi, Resource } from \"~/ecommerce/index.js\";\n\nexport type PickResourceListProps = {\n api: IEcommerceApi;\n value?: string[];\n onChange(newValue: string[]): void;\n resourcePicker?: React.FC<ResourcePickerProps>;\n resourceName: string;\n pluginName: string;\n};\n\nconst ResourcePreviewById = observer(\n (\n props: {\n id: string;\n api: IEcommerceApi;\n resourceName: string;\n actions?: React.ReactNode;\n } & Partial<ResourcePreviewCellProps>\n ) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { id, ...rest } = props;\n const store = useLocalObservable(() => ({\n loading: false,\n resourceInfo: null as Resource | null,\n async getResource() {\n runInAction(() => {\n this.loading = true;\n });\n try {\n const value = await props.api[props.resourceName].findById(props.id);\n runInAction(() => {\n this.resourceInfo = value;\n });\n } catch (e) {\n console.error(e);\n }\n runInAction(() => {\n this.loading = false;\n });\n }\n }));\n useEffect(() => {\n store.getResource();\n }, []);\n\n if (store.loading) {\n return <Loader size={\"md\"} />;\n }\n\n return (\n (store.resourceInfo && (\n <ResourcePreviewCell resource={store.resourceInfo} {...rest} />\n )) || <React.Fragment></React.Fragment>\n );\n }\n);\n\ninterface NoResourcesSelectedProps {\n resourceName: string;\n}\n\nconst NoResourcesSelected = ({ resourceName }: NoResourcesSelectedProps) => {\n return (\n <div className={\"w-full\"}>\n <Text>There are no {pluralize(resourceName)} in this list.</Text>\n </div>\n );\n};\n\nexport const PickResourceList = observer((props: PickResourceListProps) => {\n const dialog = useDialogs();\n\n const store = useLocalObservable(() => ({\n value: props.value || []\n }));\n\n return (\n <React.Fragment>\n <List>\n {store.value?.map((item, index) => (\n <ResourcePreviewById\n resourceName={props.resourceName}\n key={`${item}:${index}`}\n id={item}\n api={props.api}\n actions={\n <>\n <List.Item.Action\n icon={<Delete />}\n onClick={action(() => {\n const res = [\n ...store.value!.slice(0, store.value!.indexOf(item)),\n ...store.value!.slice(store.value!.indexOf(item) + 1)\n ];\n store.value = res;\n props.onChange(res);\n })}\n />\n </>\n }\n />\n ))}\n </List>\n {(store.value || []).length === 0 ? (\n <NoResourcesSelected resourceName={props.resourceName} />\n ) : null}\n {/* On click - choose product */}\n <div className={\"align-center my-lg\"}>\n <Button\n text={`+ Select ${capitalize(pluralize(props.resourceName))}`}\n variant=\"secondary\"\n onClick={() => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { value, resourcePicker, ...rest } = props;\n const PickerComponent = resourcePicker || ResourcePicker;\n\n const closeDialog = dialog.showDialog({\n title: `Select ${pluralize(props.resourceName)}`,\n acceptLabel: null,\n cancelLabel: null,\n content: (\n <div className={\"h-[500px] overflow-scroll\"}>\n <PickerComponent\n {...rest}\n omitIds={store.value}\n onChange={action(resource => {\n if (resource) {\n if (!Array.isArray(store.value)) {\n store.value = [];\n }\n store.value.push(String(resource.id));\n props.onChange(store.value);\n }\n closeDialog();\n })}\n />\n </div>\n )\n });\n }}\n />\n </div>\n </React.Fragment>\n );\n});\n\nexport const PickResourcesListButton = observer((props: Omit<PickResourceListProps, \"onDone\">) => {\n const dialogs = useDialogs();\n\n useEffect(() => {\n if (typeof props.value === \"undefined\") {\n try {\n props.onChange([]);\n } catch (e) {\n console.warn(\"Could not set default value\", e);\n }\n }\n }, []);\n\n return (\n <React.Fragment>\n <Button\n text={`${props.value?.length || 0} ${pluralize(\n props.resourceName,\n props.value?.length || 0\n )}`}\n variant={\"secondary\"}\n onClick={() => {\n dialogs.showDialog({\n title: `Selected ${pluralize(props.resourceName)}`,\n acceptLabel: null,\n cancelLabel: null,\n content: <PickResourceList {...props} />\n });\n }}\n style={{ color: \"#999\", whiteSpace: \"nowrap\" }}\n />\n </React.Fragment>\n );\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","action","runInAction","observer","useLocalObservable","capitalize","pluralize","ResourcePreviewCell","ResourcePicker","useDialogs","Loader","Button","Text","List","ReactComponent","Delete","ResourcePreviewById","props","id","rest","store","loading","resourceInfo","getResource","value","api","resourceName","findById","e","console","error","createElement","size","Object","assign","resource","Fragment","NoResourcesSelected","className","PickResourceList","dialog","map","item","index","key","actions","Item","Action","icon","onClick","res","slice","indexOf","onChange","length","text","variant","resourcePicker","PickerComponent","closeDialog","showDialog","title","acceptLabel","cancelLabel","content","omitIds","Array","isArray","push","String","PickResourcesListButton","dialogs","warn","style","color","whiteSpace"],"sources":["ResourcesList.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { action, runInAction } from \"mobx\";\nimport { observer, useLocalObservable } from \"mobx-react-lite\";\nimport capitalize from \"lodash/capitalize.js\";\nimport pluralize from \"pluralize\";\nimport type { ResourcePreviewCellProps, ResourcePickerProps } from \"./ResourcesPicker.js\";\nimport { ResourcePreviewCell, ResourcePicker } from \"./ResourcesPicker.js\";\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { Loader, Button, Text, List } from \"@webiny/admin-ui\";\nimport { ReactComponent as Delete } from \"@webiny/icons/delete.svg\";\nimport type { IEcommerceApi, Resource } from \"~/ecommerce/index.js\";\n\nexport type PickResourceListProps = {\n api: IEcommerceApi;\n value?: string[];\n onChange(newValue: string[]): void;\n resourcePicker?: React.FC<ResourcePickerProps>;\n resourceName: string;\n pluginName: string;\n};\n\nconst ResourcePreviewById = observer(\n (\n props: {\n id: string;\n api: IEcommerceApi;\n resourceName: string;\n actions?: React.ReactNode;\n } & Partial<ResourcePreviewCellProps>\n ) => {\n // oxlint-disable-next-line typescript/no-unused-vars\n const { id, ...rest } = props;\n const store = useLocalObservable(() => ({\n loading: false,\n resourceInfo: null as Resource | null,\n async getResource() {\n runInAction(() => {\n this.loading = true;\n });\n try {\n const value = await props.api[props.resourceName].findById(props.id);\n runInAction(() => {\n this.resourceInfo = value;\n });\n } catch (e) {\n console.error(e);\n }\n runInAction(() => {\n this.loading = false;\n });\n }\n }));\n useEffect(() => {\n store.getResource();\n }, []);\n\n if (store.loading) {\n return <Loader size={\"md\"} />;\n }\n\n return (\n (store.resourceInfo && (\n <ResourcePreviewCell resource={store.resourceInfo} {...rest} />\n )) || <React.Fragment></React.Fragment>\n );\n }\n);\n\ninterface NoResourcesSelectedProps {\n resourceName: string;\n}\n\nconst NoResourcesSelected = ({ resourceName }: NoResourcesSelectedProps) => {\n return (\n <div className={\"w-full\"}>\n <Text>There are no {pluralize(resourceName)} in this list.</Text>\n </div>\n );\n};\n\nexport const PickResourceList = observer((props: PickResourceListProps) => {\n const dialog = useDialogs();\n\n const store = useLocalObservable(() => ({\n value: props.value || []\n }));\n\n return (\n <React.Fragment>\n <List>\n {store.value?.map((item, index) => (\n <ResourcePreviewById\n resourceName={props.resourceName}\n key={`${item}:${index}`}\n id={item}\n api={props.api}\n actions={\n <>\n <List.Item.Action\n icon={<Delete />}\n onClick={action(() => {\n const res = [\n ...store.value!.slice(0, store.value!.indexOf(item)),\n ...store.value!.slice(store.value!.indexOf(item) + 1)\n ];\n store.value = res;\n props.onChange(res);\n })}\n />\n </>\n }\n />\n ))}\n </List>\n {(store.value || []).length === 0 ? (\n <NoResourcesSelected resourceName={props.resourceName} />\n ) : null}\n {/* On click - choose product */}\n <div className={\"align-center my-lg\"}>\n <Button\n text={`+ Select ${capitalize(pluralize(props.resourceName))}`}\n variant=\"secondary\"\n onClick={() => {\n // oxlint-disable-next-line typescript/no-unused-vars\n const { value, resourcePicker, ...rest } = props;\n const PickerComponent = resourcePicker || ResourcePicker;\n\n const closeDialog = dialog.showDialog({\n title: `Select ${pluralize(props.resourceName)}`,\n acceptLabel: null,\n cancelLabel: null,\n content: (\n <div className={\"h-[500px] overflow-scroll\"}>\n <PickerComponent\n {...rest}\n omitIds={store.value}\n onChange={action(resource => {\n if (resource) {\n if (!Array.isArray(store.value)) {\n store.value = [];\n }\n store.value.push(String(resource.id));\n props.onChange(store.value);\n }\n closeDialog();\n })}\n />\n </div>\n )\n });\n }}\n />\n </div>\n </React.Fragment>\n );\n});\n\nexport const PickResourcesListButton = observer((props: Omit<PickResourceListProps, \"onDone\">) => {\n const dialogs = useDialogs();\n\n useEffect(() => {\n if (typeof props.value === \"undefined\") {\n try {\n props.onChange([]);\n } catch (e) {\n console.warn(\"Could not set default value\", e);\n }\n }\n }, []);\n\n return (\n <React.Fragment>\n <Button\n text={`${props.value?.length || 0} ${pluralize(\n props.resourceName,\n props.value?.length || 0\n )}`}\n variant={\"secondary\"}\n onClick={() => {\n dialogs.showDialog({\n title: `Selected ${pluralize(props.resourceName)}`,\n acceptLabel: null,\n cancelLabel: null,\n content: <PickResourceList {...props} />\n });\n }}\n style={{ color: \"#999\", whiteSpace: \"nowrap\" }}\n />\n </React.Fragment>\n );\n});\n"],"mappings":"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","ignoreList":[]}
@@ -124,7 +124,7 @@ export const ResourcesPickerButton = observer(props => {
124
124
  });
125
125
  },
126
126
  async showPickResourceModal(title) {
127
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
127
+ // oxlint-disable-next-line typescript/no-unused-vars
128
128
  const {
129
129
  value,
130
130
  resourcePicker,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","runInAction","action","observer","useLocalObservable","pluralize","throttle","useDialogs","Avatar","Button","Loader","List","Input","Text","DelayedOnChange","useToast","ResourcePreviewCell","props","createElement","Item","onClick","title","resource","id","className","selected","icon","image","variant","Image","src","alt","undefined","actions","Fragment","ResourcePicker","showToast","store","searchInputText","loading","resources","search","catchError","err","console","error","resourceName","description","resourcesResponse","api","catch","Array","isArray","style","display","flexDirection","overflow","value","onChange","placeholder","plural","margin","length","map","item","key","String","textAlign","size","ResourcesPickerButton","dialog","resourceInfo","resourceId","updateResourceId","newProps","getResource","resourceService","findById","e","showPickResourceModal","resourcePicker","rest","PickerComponent","closeDialog","showDialog","acceptLabel","cancelLabel","content","Object","assign","getRequestObject","padding","paddingRight","color","text"],"sources":["ResourcesPicker.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { runInAction, action } from \"mobx\";\nimport { observer, useLocalObservable } from \"mobx-react-lite\";\nimport pluralize from \"pluralize\";\nimport throttle from \"lodash/throttle.js\";\nimport { useDialogs } from \"@webiny/app-admin\";\nimport {\n Avatar,\n Button,\n Loader,\n List,\n Input,\n Text,\n DelayedOnChange,\n useToast\n} from \"@webiny/admin-ui\";\nimport type { Resource } from \"../types.js\";\nimport type { CustomResourcePickerProps } from \"~/ecommerce/index.js\";\n\nexport interface CommerceAPIOperations {\n [resourceName: string]: {\n resourcePicker?: React.FC<ResourcePickerProps>;\n findById(id: string): Promise<Resource>;\n findByHandle?(handle: string): Promise<Resource>;\n search(search: string, offset?: number, limit?: number): Promise<Resource[]>;\n getRequestObject(id: string, resource?: Resource): string;\n };\n}\n\nexport interface ResourcesPickerButtonProps extends CustomResourcePickerProps<string> {\n api: CommerceAPIOperations;\n resourcePicker?: React.FC<ResourcePickerProps>;\n pluginName: string;\n resourceName: string;\n}\n\nexport interface ResourcePreviewCellProps {\n resource: Resource;\n actions?: React.ReactNode;\n selected?: boolean;\n className?: string;\n onClick?: () => void;\n style?: Partial<CSSStyleDeclaration>;\n}\n\nexport const ResourcePreviewCell = observer((props: ResourcePreviewCellProps) => {\n return (\n <List.Item\n onClick={props.onClick}\n title={\n props.resource.title !== \"untitled\" ? (\n <div>\n {props.resource.title} - {props.resource.id}\n </div>\n ) : (\n props.resource.title\n )\n }\n className={props.className}\n selected={props.selected}\n icon={\n props.resource.image ? (\n <Avatar\n variant={\"subtle\"}\n image={\n <Avatar.Image\n src={props.resource.image.src}\n alt={props.resource.title}\n />\n }\n />\n ) : undefined\n }\n actions={props.actions ?? <></>}\n />\n );\n});\n\nexport type ResourcePickerProps = CustomResourcePickerProps<Resource> & {\n api: CommerceAPIOperations;\n resourceName: string;\n omitIds?: string[];\n title?: string;\n};\n\nexport const ResourcePicker = observer((props: ResourcePickerProps) => {\n const { showToast } = useToast();\n\n const store = useLocalObservable(() => ({\n searchInputText: \"\",\n loading: false,\n resources: [] as Resource[],\n search: throttle(async () => {\n runInAction(() => {\n store.loading = true;\n });\n const catchError = (err: any) => {\n console.error(\"search error:\", err);\n showToast({\n title: `Failed to load ${props.resourceName}s!`,\n description: `We were unable to get ${props.resourceName}s from the remote API.`\n });\n };\n\n const resourcesResponse = await props.api[props.resourceName]\n .search(store.searchInputText)\n .catch(catchError);\n\n runInAction(() => {\n if (Array.isArray(resourcesResponse)) {\n store.resources = resourcesResponse;\n }\n store.loading = false;\n });\n }, 400)\n }));\n\n useEffect(() => {\n store.search();\n }, [store.searchInputText]);\n\n return (\n <div style={{ display: \"flex\", flexDirection: \"column\", overflow: \"scroll\" }}>\n <DelayedOnChange<string>\n value={store.searchInputText}\n onChange={action(value => (store.searchInputText = value))}\n >\n <Input\n placeholder={props.title || `Search ${pluralize.plural(props.resourceName)}...`}\n />\n </DelayedOnChange>\n {store.loading && <Loader style={{ margin: \"50px auto\" }} />}\n <div>\n {!store.loading &&\n (store.resources.length ? (\n store.resources.map(item => (\n <List\n key={item.id}\n onClick={() => {\n props.onChange(item);\n }}\n >\n <ResourcePreviewCell\n selected={String(item.id) === String(props.value?.id)}\n resource={item}\n key={item.id}\n />\n </List>\n ))\n ) : (\n <div style={{ margin: \"40px 20px\", textAlign: \"center\" }}>\n <Text size={\"md\"}>\n No {pluralize.plural(props.resourceName)} found.\n </Text>\n </div>\n ))}\n </div>\n </div>\n );\n});\n\nexport const ResourcesPickerButton: React.FC<ResourcesPickerButtonProps> = observer(props => {\n const { showToast } = useToast();\n const dialog = useDialogs();\n\n const store = useLocalObservable(() => ({\n loading: false,\n error: null,\n resourceInfo: null as Resource | null,\n resourceId: props.value,\n updateResourceId(newProps: ResourcesPickerButtonProps) {\n this.resourceId = newProps.value;\n },\n async getResource() {\n runInAction(() => {\n this.error = null;\n this.loading = true;\n });\n\n try {\n const resourceService = props.api[props.resourceName];\n const value = this.resourceId && (await resourceService.findById(this.resourceId));\n runInAction(() => {\n this.resourceInfo = value || null;\n });\n } catch (e) {\n console.error(e);\n runInAction(() => {\n this.error = e as any;\n });\n showToast({\n title: `Failed to load ${props.resourceName}!`,\n description: `We were unable to get ${props.resourceName} from the remote API.`\n });\n }\n runInAction(() => {\n this.loading = false;\n });\n },\n async showPickResourceModal(title?: string) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { value, resourcePicker, ...rest } = props;\n const PickerComponent = resourcePicker || ResourcePicker;\n\n const closeDialog = dialog.showDialog({\n title: `Select a ${props.resourceName}`,\n acceptLabel: null,\n cancelLabel: null,\n content: (\n <div className={\"h-[500px] overflow-scroll\"}>\n <PickerComponent\n {...rest}\n resourceName={props.resourceName}\n {...(this.resourceInfo && { value: this.resourceInfo })}\n title={title}\n onChange={action(value => {\n if (value) {\n this.resourceId = String(value.id);\n this.getResource();\n props.onChange(\n props.api[props.resourceName].getRequestObject(\n this.resourceId,\n value\n )\n );\n closeDialog();\n }\n })}\n />\n </div>\n )\n });\n }\n }));\n\n useEffect(() => {\n store.updateResourceId(props);\n store.getResource();\n }, [props.value]);\n\n return (\n <div style={{ display: \"flex\", flexDirection: \"column\", padding: \"10px 0\" }}>\n {store.loading && <Loader size={\"md\"} style={{ margin: \"30px auto\" }} />}\n {store.resourceInfo && !store.loading && (\n <div className={\"relative\"}>\n <ResourcePreviewCell\n style={{ paddingRight: \"30px\" }}\n resource={store.resourceInfo}\n onClick={() => {\n store.showPickResourceModal();\n }}\n />\n </div>\n )}\n {!store.resourceInfo && !store.loading && (\n <Button\n color=\"primary\"\n variant=\"secondary\"\n onClick={() => {\n store.showPickResourceModal();\n }}\n text={`Choose ${props.resourceName}`}\n />\n )}\n </div>\n );\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","runInAction","action","observer","useLocalObservable","pluralize","throttle","useDialogs","Avatar","Button","Loader","List","Input","Text","DelayedOnChange","useToast","ResourcePreviewCell","props","createElement","Item","onClick","title","resource","id","className","selected","icon","image","variant","Image","src","alt","undefined","actions","Fragment","ResourcePicker","showToast","store","searchInputText","loading","resources","search","catchError","err","console","error","resourceName","description","resourcesResponse","api","catch","Array","isArray","style","display","flexDirection","overflow","value","onChange","placeholder","plural","margin","length","map","item","key","String","textAlign","size","ResourcesPickerButton","dialog","resourceInfo","resourceId","updateResourceId","newProps","getResource","resourceService","findById","e","showPickResourceModal","resourcePicker","rest","PickerComponent","closeDialog","showDialog","acceptLabel","cancelLabel","content","Object","assign","getRequestObject","padding","paddingRight","color","text"],"sources":["ResourcesPicker.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { runInAction, action } from \"mobx\";\nimport { observer, useLocalObservable } from \"mobx-react-lite\";\nimport pluralize from \"pluralize\";\nimport throttle from \"lodash/throttle.js\";\nimport { useDialogs } from \"@webiny/app-admin\";\nimport {\n Avatar,\n Button,\n Loader,\n List,\n Input,\n Text,\n DelayedOnChange,\n useToast\n} from \"@webiny/admin-ui\";\nimport type { Resource } from \"../types.js\";\nimport type { CustomResourcePickerProps } from \"~/ecommerce/index.js\";\n\nexport interface CommerceAPIOperations {\n [resourceName: string]: {\n resourcePicker?: React.FC<ResourcePickerProps>;\n findById(id: string): Promise<Resource>;\n findByHandle?(handle: string): Promise<Resource>;\n search(search: string, offset?: number, limit?: number): Promise<Resource[]>;\n getRequestObject(id: string, resource?: Resource): string;\n };\n}\n\nexport interface ResourcesPickerButtonProps extends CustomResourcePickerProps<string> {\n api: CommerceAPIOperations;\n resourcePicker?: React.FC<ResourcePickerProps>;\n pluginName: string;\n resourceName: string;\n}\n\nexport interface ResourcePreviewCellProps {\n resource: Resource;\n actions?: React.ReactNode;\n selected?: boolean;\n className?: string;\n onClick?: () => void;\n style?: Partial<CSSStyleDeclaration>;\n}\n\nexport const ResourcePreviewCell = observer((props: ResourcePreviewCellProps) => {\n return (\n <List.Item\n onClick={props.onClick}\n title={\n props.resource.title !== \"untitled\" ? (\n <div>\n {props.resource.title} - {props.resource.id}\n </div>\n ) : (\n props.resource.title\n )\n }\n className={props.className}\n selected={props.selected}\n icon={\n props.resource.image ? (\n <Avatar\n variant={\"subtle\"}\n image={\n <Avatar.Image\n src={props.resource.image.src}\n alt={props.resource.title}\n />\n }\n />\n ) : undefined\n }\n actions={props.actions ?? <></>}\n />\n );\n});\n\nexport type ResourcePickerProps = CustomResourcePickerProps<Resource> & {\n api: CommerceAPIOperations;\n resourceName: string;\n omitIds?: string[];\n title?: string;\n};\n\nexport const ResourcePicker = observer((props: ResourcePickerProps) => {\n const { showToast } = useToast();\n\n const store = useLocalObservable(() => ({\n searchInputText: \"\",\n loading: false,\n resources: [] as Resource[],\n search: throttle(async () => {\n runInAction(() => {\n store.loading = true;\n });\n const catchError = (err: any) => {\n console.error(\"search error:\", err);\n showToast({\n title: `Failed to load ${props.resourceName}s!`,\n description: `We were unable to get ${props.resourceName}s from the remote API.`\n });\n };\n\n const resourcesResponse = await props.api[props.resourceName]\n .search(store.searchInputText)\n .catch(catchError);\n\n runInAction(() => {\n if (Array.isArray(resourcesResponse)) {\n store.resources = resourcesResponse;\n }\n store.loading = false;\n });\n }, 400)\n }));\n\n useEffect(() => {\n store.search();\n }, [store.searchInputText]);\n\n return (\n <div style={{ display: \"flex\", flexDirection: \"column\", overflow: \"scroll\" }}>\n <DelayedOnChange<string>\n value={store.searchInputText}\n onChange={action(value => (store.searchInputText = value))}\n >\n <Input\n placeholder={props.title || `Search ${pluralize.plural(props.resourceName)}...`}\n />\n </DelayedOnChange>\n {store.loading && <Loader style={{ margin: \"50px auto\" }} />}\n <div>\n {!store.loading &&\n (store.resources.length ? (\n store.resources.map(item => (\n <List\n key={item.id}\n onClick={() => {\n props.onChange(item);\n }}\n >\n <ResourcePreviewCell\n selected={String(item.id) === String(props.value?.id)}\n resource={item}\n key={item.id}\n />\n </List>\n ))\n ) : (\n <div style={{ margin: \"40px 20px\", textAlign: \"center\" }}>\n <Text size={\"md\"}>\n No {pluralize.plural(props.resourceName)} found.\n </Text>\n </div>\n ))}\n </div>\n </div>\n );\n});\n\nexport const ResourcesPickerButton: React.FC<ResourcesPickerButtonProps> = observer(props => {\n const { showToast } = useToast();\n const dialog = useDialogs();\n\n const store = useLocalObservable(() => ({\n loading: false,\n error: null,\n resourceInfo: null as Resource | null,\n resourceId: props.value,\n updateResourceId(newProps: ResourcesPickerButtonProps) {\n this.resourceId = newProps.value;\n },\n async getResource() {\n runInAction(() => {\n this.error = null;\n this.loading = true;\n });\n\n try {\n const resourceService = props.api[props.resourceName];\n const value = this.resourceId && (await resourceService.findById(this.resourceId));\n runInAction(() => {\n this.resourceInfo = value || null;\n });\n } catch (e) {\n console.error(e);\n runInAction(() => {\n this.error = e as any;\n });\n showToast({\n title: `Failed to load ${props.resourceName}!`,\n description: `We were unable to get ${props.resourceName} from the remote API.`\n });\n }\n runInAction(() => {\n this.loading = false;\n });\n },\n async showPickResourceModal(title?: string) {\n // oxlint-disable-next-line typescript/no-unused-vars\n const { value, resourcePicker, ...rest } = props;\n const PickerComponent = resourcePicker || ResourcePicker;\n\n const closeDialog = dialog.showDialog({\n title: `Select a ${props.resourceName}`,\n acceptLabel: null,\n cancelLabel: null,\n content: (\n <div className={\"h-[500px] overflow-scroll\"}>\n <PickerComponent\n {...rest}\n resourceName={props.resourceName}\n {...(this.resourceInfo && { value: this.resourceInfo })}\n title={title}\n onChange={action(value => {\n if (value) {\n this.resourceId = String(value.id);\n this.getResource();\n props.onChange(\n props.api[props.resourceName].getRequestObject(\n this.resourceId,\n value\n )\n );\n closeDialog();\n }\n })}\n />\n </div>\n )\n });\n }\n }));\n\n useEffect(() => {\n store.updateResourceId(props);\n store.getResource();\n }, [props.value]);\n\n return (\n <div style={{ display: \"flex\", flexDirection: \"column\", padding: \"10px 0\" }}>\n {store.loading && <Loader size={\"md\"} style={{ margin: \"30px auto\" }} />}\n {store.resourceInfo && !store.loading && (\n <div className={\"relative\"}>\n <ResourcePreviewCell\n style={{ paddingRight: \"30px\" }}\n resource={store.resourceInfo}\n onClick={() => {\n store.showPickResourceModal();\n }}\n />\n </div>\n )}\n {!store.resourceInfo && !store.loading && (\n <Button\n color=\"primary\"\n variant=\"secondary\"\n onClick={() => {\n store.showPickResourceModal();\n }}\n text={`Choose ${props.resourceName}`}\n />\n )}\n </div>\n );\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
1
+ // oxlint-disable-next-line typescript/no-unused-vars
2
2
 
3
3
  export function createCommand(type) {
4
4
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["createCommand","type"],"sources":["createCommand.ts"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport type Command<TPayload> = {\n type: string;\n};\n\nexport type CommandPayload<TCommand extends Command<unknown>> =\n TCommand extends Command<infer TPayload> ? TPayload : never;\n\nexport function createCommand<T>(type: string): Command<T> {\n return { type } as Command<T>; // assert to preserve type info\n}\n"],"mappings":"AAAA;;AAQA,OAAO,SAASA,aAAaA,CAAIC,IAAY,EAAc;EACvD,OAAO;IAAEA;EAAK,CAAC,CAAe,CAAC;AACnC","ignoreList":[]}
1
+ {"version":3,"names":["createCommand","type"],"sources":["createCommand.ts"],"sourcesContent":["// oxlint-disable-next-line typescript/no-unused-vars\nexport type Command<TPayload> = {\n type: string;\n};\n\nexport type CommandPayload<TCommand extends Command<unknown>> =\n TCommand extends Command<infer TPayload> ? TPayload : never;\n\nexport function createCommand<T>(type: string): Command<T> {\n return { type } as Command<T>; // assert to preserve type info\n}\n"],"mappings":"AAAA;;AAQA,OAAO,SAASA,aAAaA,CAAIC,IAAY,EAAc;EACvD,OAAO;IAAEA;EAAK,CAAC,CAAe,CAAC;AACnC","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  export { usePageEditorConfig } from "../../../../modules/pages/PageEditor/usePageEditorConfig.js";
2
2
  export { PageEditorConfig } from "../../../../modules/pages/PageEditor/PageEditorConfig.js";
3
+ export { PageSettingsGroup, PageSettingsGroupModifier } from "../../../../modules/pages/PageEditor/PageSettings/index.js";
3
4
  export { createCommand } from "../../../../editorSdk/createCommand.js";
4
5
  export { Commands } from "../../../../BaseEditor/index.js";
5
6
  export { useSelectFromEditor } from "../../../../BaseEditor/hooks/useSelectFromEditor.js";
@@ -1,5 +1,6 @@
1
1
  export { usePageEditorConfig } from "../../../../modules/pages/PageEditor/usePageEditorConfig.js";
2
2
  export { PageEditorConfig } from "../../../../modules/pages/PageEditor/PageEditorConfig.js";
3
+ export { PageSettingsGroup, PageSettingsGroupModifier } from "../../../../modules/pages/PageEditor/PageSettings/index.js";
3
4
  export { createCommand } from "../../../../editorSdk/createCommand.js";
4
5
  export { Commands } from "../../../../BaseEditor/index.js";
5
6
  export { useSelectFromEditor } from "../../../../BaseEditor/hooks/useSelectFromEditor.js";
@@ -1 +1 @@
1
- {"version":3,"names":["usePageEditorConfig","PageEditorConfig","createCommand","Commands","useSelectFromEditor","useSelectFromDocument","useDocumentEditor","useActiveElement","useHighlightedElement","useComponent","useElementInputs","useCreateElement","useDeleteElement","useUpdateElement","useElementOverlay","useElementComponentManifest","ElementInputs","$selectElement","$deselectElement","$highlightElement","$getElementById","$getActiveElementId","$getComponentManifestByElementId","$deleteElement","$createElement","$moveElement","$removeElementReferenceFromParent","$addElementReferenceToParent","$getElementsOfType","$getFirstElementOfType","$getElementInputValues","$updateElementInputs","$previewElementInputs","createElement"],"sources":["editor.ts"],"sourcesContent":["export { usePageEditorConfig } from \"~/modules/pages/PageEditor/usePageEditorConfig.js\";\nexport { PageEditorConfig } from \"~/modules/pages/PageEditor/PageEditorConfig.js\";\nexport { createCommand } from \"~/editorSdk/createCommand.js\";\nexport { Commands } from \"~/BaseEditor/index.js\";\nexport { useSelectFromEditor } from \"~/BaseEditor/hooks/useSelectFromEditor.js\";\nexport { useSelectFromDocument } from \"~/BaseEditor/hooks/useSelectFromDocument.js\";\nexport { useDocumentEditor } from \"~/DocumentEditor/index.js\";\nexport { useActiveElement } from \"~/BaseEditor/hooks/useActiveElement.js\";\nexport { useHighlightedElement } from \"~/BaseEditor/hooks/useHighlightedElement.js\";\nexport { useComponent } from \"~/BaseEditor/hooks/useComponent.js\";\nexport { useElementInputs } from \"~/BaseEditor/hooks/useElementInputs.js\";\nexport { useCreateElement } from \"~/BaseEditor/hooks/useCreateElement.js\";\nexport { useDeleteElement } from \"~/BaseEditor/hooks/useDeleteElement.js\";\nexport { useUpdateElement } from \"~/BaseEditor/hooks/useUpdateElement.js\";\nexport { useElementOverlay } from \"~/BaseEditor/hooks/useElementOverlay.js\";\nexport { useElementComponentManifest } from \"~/BaseEditor/defaultConfig/Content/Preview/useElementComponentManifest.js\";\nexport { ElementInputs } from \"~/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.js\";\n\nexport { $selectElement } from \"~/editorSdk/utils/index.js\";\nexport { $deselectElement } from \"~/editorSdk/utils/index.js\";\nexport { $highlightElement } from \"~/editorSdk/utils/index.js\";\nexport { $getElementById } from \"~/editorSdk/utils/index.js\";\nexport { $getActiveElementId } from \"~/editorSdk/utils/index.js\";\nexport { $getComponentManifestByElementId } from \"~/editorSdk/utils/index.js\";\nexport { $deleteElement } from \"~/editorSdk/utils/index.js\";\nexport { $createElement } from \"~/editorSdk/utils/index.js\";\nexport { $moveElement } from \"~/editorSdk/utils/index.js\";\nexport { $removeElementReferenceFromParent } from \"~/editorSdk/utils/index.js\";\nexport { $addElementReferenceToParent } from \"~/editorSdk/utils/index.js\";\nexport { $getElementsOfType } from \"~/editorSdk/utils/index.js\";\nexport { $getFirstElementOfType } from \"~/editorSdk/utils/index.js\";\nexport { $getElementInputValues } from \"~/editorSdk/utils/index.js\";\nexport { $updateElementInputs } from \"~/editorSdk/utils/index.js\";\nexport { $previewElementInputs } from \"~/editorSdk/utils/index.js\";\nexport { createElement } from \"@webiny/website-builder-sdk\";\n"],"mappings":"AAAA,SAASA,mBAAmB;AAC5B,SAASC,gBAAgB;AACzB,SAASC,aAAa;AACtB,SAASC,QAAQ;AACjB,SAASC,mBAAmB;AAC5B,SAASC,qBAAqB;AAC9B,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AACzB,SAASC,qBAAqB;AAC9B,SAASC,YAAY;AACrB,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;AACzB,SAASC,iBAAiB;AAC1B,SAASC,2BAA2B;AACpC,SAASC,aAAa;AAEtB,SAASC,cAAc;AACvB,SAASC,gBAAgB;AACzB,SAASC,iBAAiB;AAC1B,SAASC,eAAe;AACxB,SAASC,mBAAmB;AAC5B,SAASC,gCAAgC;AACzC,SAASC,cAAc;AACvB,SAASC,cAAc;AACvB,SAASC,YAAY;AACrB,SAASC,iCAAiC;AAC1C,SAASC,4BAA4B;AACrC,SAASC,kBAAkB;AAC3B,SAASC,sBAAsB;AAC/B,SAASC,sBAAsB;AAC/B,SAASC,oBAAoB;AAC7B,SAASC,qBAAqB;AAC9B,SAASC,aAAa,QAAQ,6BAA6B","ignoreList":[]}
1
+ {"version":3,"names":["usePageEditorConfig","PageEditorConfig","PageSettingsGroup","PageSettingsGroupModifier","createCommand","Commands","useSelectFromEditor","useSelectFromDocument","useDocumentEditor","useActiveElement","useHighlightedElement","useComponent","useElementInputs","useCreateElement","useDeleteElement","useUpdateElement","useElementOverlay","useElementComponentManifest","ElementInputs","$selectElement","$deselectElement","$highlightElement","$getElementById","$getActiveElementId","$getComponentManifestByElementId","$deleteElement","$createElement","$moveElement","$removeElementReferenceFromParent","$addElementReferenceToParent","$getElementsOfType","$getFirstElementOfType","$getElementInputValues","$updateElementInputs","$previewElementInputs","createElement"],"sources":["editor.ts"],"sourcesContent":["export { usePageEditorConfig } from \"~/modules/pages/PageEditor/usePageEditorConfig.js\";\nexport { PageEditorConfig } from \"~/modules/pages/PageEditor/PageEditorConfig.js\";\nexport {\n PageSettingsGroup,\n PageSettingsGroupModifier\n} from \"~/modules/pages/PageEditor/PageSettings/index.js\";\nexport { createCommand } from \"~/editorSdk/createCommand.js\";\nexport { Commands } from \"~/BaseEditor/index.js\";\nexport { useSelectFromEditor } from \"~/BaseEditor/hooks/useSelectFromEditor.js\";\nexport { useSelectFromDocument } from \"~/BaseEditor/hooks/useSelectFromDocument.js\";\nexport { useDocumentEditor } from \"~/DocumentEditor/index.js\";\nexport { useActiveElement } from \"~/BaseEditor/hooks/useActiveElement.js\";\nexport { useHighlightedElement } from \"~/BaseEditor/hooks/useHighlightedElement.js\";\nexport { useComponent } from \"~/BaseEditor/hooks/useComponent.js\";\nexport { useElementInputs } from \"~/BaseEditor/hooks/useElementInputs.js\";\nexport { useCreateElement } from \"~/BaseEditor/hooks/useCreateElement.js\";\nexport { useDeleteElement } from \"~/BaseEditor/hooks/useDeleteElement.js\";\nexport { useUpdateElement } from \"~/BaseEditor/hooks/useUpdateElement.js\";\nexport { useElementOverlay } from \"~/BaseEditor/hooks/useElementOverlay.js\";\nexport { useElementComponentManifest } from \"~/BaseEditor/defaultConfig/Content/Preview/useElementComponentManifest.js\";\nexport { ElementInputs } from \"~/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.js\";\n\nexport { $selectElement } from \"~/editorSdk/utils/index.js\";\nexport { $deselectElement } from \"~/editorSdk/utils/index.js\";\nexport { $highlightElement } from \"~/editorSdk/utils/index.js\";\nexport { $getElementById } from \"~/editorSdk/utils/index.js\";\nexport { $getActiveElementId } from \"~/editorSdk/utils/index.js\";\nexport { $getComponentManifestByElementId } from \"~/editorSdk/utils/index.js\";\nexport { $deleteElement } from \"~/editorSdk/utils/index.js\";\nexport { $createElement } from \"~/editorSdk/utils/index.js\";\nexport { $moveElement } from \"~/editorSdk/utils/index.js\";\nexport { $removeElementReferenceFromParent } from \"~/editorSdk/utils/index.js\";\nexport { $addElementReferenceToParent } from \"~/editorSdk/utils/index.js\";\nexport { $getElementsOfType } from \"~/editorSdk/utils/index.js\";\nexport { $getFirstElementOfType } from \"~/editorSdk/utils/index.js\";\nexport { $getElementInputValues } from \"~/editorSdk/utils/index.js\";\nexport { $updateElementInputs } from \"~/editorSdk/utils/index.js\";\nexport { $previewElementInputs } from \"~/editorSdk/utils/index.js\";\nexport { createElement } from \"@webiny/website-builder-sdk\";\n"],"mappings":"AAAA,SAASA,mBAAmB;AAC5B,SAASC,gBAAgB;AACzB,SACIC,iBAAiB,EACjBC,yBAAyB;AAE7B,SAASC,aAAa;AACtB,SAASC,QAAQ;AACjB,SAASC,mBAAmB;AAC5B,SAASC,qBAAqB;AAC9B,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AACzB,SAASC,qBAAqB;AAC9B,SAASC,YAAY;AACrB,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;AACzB,SAASC,iBAAiB;AAC1B,SAASC,2BAA2B;AACpC,SAASC,aAAa;AAEtB,SAASC,cAAc;AACvB,SAASC,gBAAgB;AACzB,SAASC,iBAAiB;AAC1B,SAASC,eAAe;AACxB,SAASC,mBAAmB;AAC5B,SAASC,gCAAgC;AACzC,SAASC,cAAc;AACvB,SAASC,cAAc;AACvB,SAASC,YAAY;AACrB,SAASC,iCAAiC;AAC1C,SAASC,4BAA4B;AACrC,SAASC,kBAAkB;AAC3B,SAASC,sBAAsB;AAC/B,SAASC,sBAAsB;AAC/B,SAASC,oBAAoB;AAC7B,SAASC,qBAAqB;AAC9B,SAASC,aAAa,QAAQ,6BAA6B","ignoreList":[]}
@@ -7,7 +7,6 @@ import { RevisionsMenu } from "./TopBar/RevisionsMenu.js";
7
7
  import { SettingsButton } from "./TopBar/SettingsButton.js";
8
8
  import { HasPermission } from "../../../presentation/security/HasPermission.js";
9
9
  import { InternalPageEditorConfig } from "./PageEditorConfig.js";
10
- import { PageSettingsConfig } from "./PageSettings/PageSettingsConfig.js";
11
10
  import { TopBarOptionsMenu } from "../../../BaseEditor/config/TopBar/Layout.js";
12
11
  const {
13
12
  Ui
@@ -43,7 +42,7 @@ export const DefaultPageEditorConfig = () => {
43
42
  group: "left",
44
43
  name: "autoSave",
45
44
  element: /*#__PURE__*/React.createElement(PageAutoSave, null)
46
- })), /*#__PURE__*/React.createElement(PageSettingsConfig, null));
45
+ })));
47
46
  };
48
47
 
49
48
  //# sourceMappingURL=DefaultPageEditorConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","PageAutoSave","BackButton","Title","PublishButton","RevisionsMenu","SettingsButton","HasPermission","InternalPageEditorConfig","PageSettingsConfig","TopBarOptionsMenu","Ui","DefaultPageEditorConfig","createElement","TopBar","Element","name","group","element","Action","IsNotReadOnly","entity","action"],"sources":["DefaultPageEditorConfig.tsx"],"sourcesContent":["import React from \"react\";\nimport { PageAutoSave } from \"./PageAutoSave.js\";\nimport { BackButton } from \"./TopBar/BackButton.js\";\nimport { Title } from \"./TopBar/Title.js\";\nimport { PublishButton } from \"./TopBar/PublishButton.js\";\nimport { RevisionsMenu } from \"./TopBar/RevisionsMenu.js\";\nimport { SettingsButton } from \"./TopBar/SettingsButton.js\";\nimport { HasPermission } from \"~/presentation/security/HasPermission.js\";\nimport { InternalPageEditorConfig } from \"./PageEditorConfig.js\";\nimport { PageSettingsConfig } from \"~/modules/pages/PageEditor/PageSettings/PageSettingsConfig.js\";\nimport { TopBarOptionsMenu } from \"~/BaseEditor/config/TopBar/Layout.js\";\n\nconst { Ui } = InternalPageEditorConfig;\n\nexport const DefaultPageEditorConfig = () => {\n return (\n <InternalPageEditorConfig>\n <Ui.TopBar.Element name={\"buttonBack\"} group={\"left\"} element={<BackButton />} />\n <Ui.TopBar.Element name={\"title\"} group={\"left\"} element={<Title />} />\n <Ui.TopBar.Action name={\"revisionsMenu\"} element={<RevisionsMenu />} />\n <Ui.TopBar.Action\n name={\"buttonSettings\"}\n element={\n <Ui.IsNotReadOnly>\n <SettingsButton />\n </Ui.IsNotReadOnly>\n }\n />\n <Ui.TopBar.Action name={\"optionsMenu\"} element={<TopBarOptionsMenu />} />\n <HasPermission entity={\"page\"} action={\"publish\"}>\n <Ui.TopBar.Action name={\"buttonPublish\"} element={<PublishButton />} />\n </HasPermission>\n <HasPermission entity={\"page\"} action={\"edit\"}>\n <Ui.TopBar.Element group={\"left\"} name={\"autoSave\"} element={<PageAutoSave />} />\n </HasPermission>\n <PageSettingsConfig />\n </InternalPageEditorConfig>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY;AACrB,SAASC,UAAU;AACnB,SAASC,KAAK;AACd,SAASC,aAAa;AACtB,SAASC,aAAa;AACtB,SAASC,cAAc;AACvB,SAASC,aAAa;AACtB,SAASC,wBAAwB;AACjC,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAE1B,MAAM;EAAEC;AAAG,CAAC,GAAGH,wBAAwB;AAEvC,OAAO,MAAMI,uBAAuB,GAAGA,CAAA,KAAM;EACzC,oBACIZ,KAAA,CAAAa,aAAA,CAACL,wBAAwB,qBACrBR,KAAA,CAAAa,aAAA,CAACF,EAAE,CAACG,MAAM,CAACC,OAAO;IAACC,IAAI,EAAE,YAAa;IAACC,KAAK,EAAE,MAAO;IAACC,OAAO,eAAElB,KAAA,CAAAa,aAAA,CAACX,UAAU,MAAE;EAAE,CAAE,CAAC,eACjFF,KAAA,CAAAa,aAAA,CAACF,EAAE,CAACG,MAAM,CAACC,OAAO;IAACC,IAAI,EAAE,OAAQ;IAACC,KAAK,EAAE,MAAO;IAACC,OAAO,eAAElB,KAAA,CAAAa,aAAA,CAACV,KAAK,MAAE;EAAE,CAAE,CAAC,eACvEH,KAAA,CAAAa,aAAA,CAACF,EAAE,CAACG,MAAM,CAACK,MAAM;IAACH,IAAI,EAAE,eAAgB;IAACE,OAAO,eAAElB,KAAA,CAAAa,aAAA,CAACR,aAAa,MAAE;EAAE,CAAE,CAAC,eACvEL,KAAA,CAAAa,aAAA,CAACF,EAAE,CAACG,MAAM,CAACK,MAAM;IACbH,IAAI,EAAE,gBAAiB;IACvBE,OAAO,eACHlB,KAAA,CAAAa,aAAA,CAACF,EAAE,CAACS,aAAa,qBACbpB,KAAA,CAAAa,aAAA,CAACP,cAAc,MAAE,CACH;EACrB,CACJ,CAAC,eACFN,KAAA,CAAAa,aAAA,CAACF,EAAE,CAACG,MAAM,CAACK,MAAM;IAACH,IAAI,EAAE,aAAc;IAACE,OAAO,eAAElB,KAAA,CAAAa,aAAA,CAACH,iBAAiB,MAAE;EAAE,CAAE,CAAC,eACzEV,KAAA,CAAAa,aAAA,CAACN,aAAa;IAACc,MAAM,EAAE,MAAO;IAACC,MAAM,EAAE;EAAU,gBAC7CtB,KAAA,CAAAa,aAAA,CAACF,EAAE,CAACG,MAAM,CAACK,MAAM;IAACH,IAAI,EAAE,eAAgB;IAACE,OAAO,eAAElB,KAAA,CAAAa,aAAA,CAACT,aAAa,MAAE;EAAE,CAAE,CAC3D,CAAC,eAChBJ,KAAA,CAAAa,aAAA,CAACN,aAAa;IAACc,MAAM,EAAE,MAAO;IAACC,MAAM,EAAE;EAAO,gBAC1CtB,KAAA,CAAAa,aAAA,CAACF,EAAE,CAACG,MAAM,CAACC,OAAO;IAACE,KAAK,EAAE,MAAO;IAACD,IAAI,EAAE,UAAW;IAACE,OAAO,eAAElB,KAAA,CAAAa,aAAA,CAACZ,YAAY,MAAE;EAAE,CAAE,CACrE,CAAC,eAChBD,KAAA,CAAAa,aAAA,CAACJ,kBAAkB,MAAE,CACC,CAAC;AAEnC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","PageAutoSave","BackButton","Title","PublishButton","RevisionsMenu","SettingsButton","HasPermission","InternalPageEditorConfig","TopBarOptionsMenu","Ui","DefaultPageEditorConfig","createElement","TopBar","Element","name","group","element","Action","IsNotReadOnly","entity","action"],"sources":["DefaultPageEditorConfig.tsx"],"sourcesContent":["import React from \"react\";\nimport { PageAutoSave } from \"./PageAutoSave.js\";\nimport { BackButton } from \"./TopBar/BackButton.js\";\nimport { Title } from \"./TopBar/Title.js\";\nimport { PublishButton } from \"./TopBar/PublishButton.js\";\nimport { RevisionsMenu } from \"./TopBar/RevisionsMenu.js\";\nimport { SettingsButton } from \"./TopBar/SettingsButton.js\";\nimport { HasPermission } from \"~/presentation/security/HasPermission.js\";\nimport { InternalPageEditorConfig } from \"./PageEditorConfig.js\";\nimport { TopBarOptionsMenu } from \"~/BaseEditor/config/TopBar/Layout.js\";\n\nconst { Ui } = InternalPageEditorConfig;\n\nexport const DefaultPageEditorConfig = () => {\n return (\n <InternalPageEditorConfig>\n <Ui.TopBar.Element name={\"buttonBack\"} group={\"left\"} element={<BackButton />} />\n <Ui.TopBar.Element name={\"title\"} group={\"left\"} element={<Title />} />\n <Ui.TopBar.Action name={\"revisionsMenu\"} element={<RevisionsMenu />} />\n <Ui.TopBar.Action\n name={\"buttonSettings\"}\n element={\n <Ui.IsNotReadOnly>\n <SettingsButton />\n </Ui.IsNotReadOnly>\n }\n />\n <Ui.TopBar.Action name={\"optionsMenu\"} element={<TopBarOptionsMenu />} />\n <HasPermission entity={\"page\"} action={\"publish\"}>\n <Ui.TopBar.Action name={\"buttonPublish\"} element={<PublishButton />} />\n </HasPermission>\n <HasPermission entity={\"page\"} action={\"edit\"}>\n <Ui.TopBar.Element group={\"left\"} name={\"autoSave\"} element={<PageAutoSave />} />\n </HasPermission>\n </InternalPageEditorConfig>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY;AACrB,SAASC,UAAU;AACnB,SAASC,KAAK;AACd,SAASC,aAAa;AACtB,SAASC,aAAa;AACtB,SAASC,cAAc;AACvB,SAASC,aAAa;AACtB,SAASC,wBAAwB;AACjC,SAASC,iBAAiB;AAE1B,MAAM;EAAEC;AAAG,CAAC,GAAGF,wBAAwB;AAEvC,OAAO,MAAMG,uBAAuB,GAAGA,CAAA,KAAM;EACzC,oBACIX,KAAA,CAAAY,aAAA,CAACJ,wBAAwB,qBACrBR,KAAA,CAAAY,aAAA,CAACF,EAAE,CAACG,MAAM,CAACC,OAAO;IAACC,IAAI,EAAE,YAAa;IAACC,KAAK,EAAE,MAAO;IAACC,OAAO,eAAEjB,KAAA,CAAAY,aAAA,CAACV,UAAU,MAAE;EAAE,CAAE,CAAC,eACjFF,KAAA,CAAAY,aAAA,CAACF,EAAE,CAACG,MAAM,CAACC,OAAO;IAACC,IAAI,EAAE,OAAQ;IAACC,KAAK,EAAE,MAAO;IAACC,OAAO,eAAEjB,KAAA,CAAAY,aAAA,CAACT,KAAK,MAAE;EAAE,CAAE,CAAC,eACvEH,KAAA,CAAAY,aAAA,CAACF,EAAE,CAACG,MAAM,CAACK,MAAM;IAACH,IAAI,EAAE,eAAgB;IAACE,OAAO,eAAEjB,KAAA,CAAAY,aAAA,CAACP,aAAa,MAAE;EAAE,CAAE,CAAC,eACvEL,KAAA,CAAAY,aAAA,CAACF,EAAE,CAACG,MAAM,CAACK,MAAM;IACbH,IAAI,EAAE,gBAAiB;IACvBE,OAAO,eACHjB,KAAA,CAAAY,aAAA,CAACF,EAAE,CAACS,aAAa,qBACbnB,KAAA,CAAAY,aAAA,CAACN,cAAc,MAAE,CACH;EACrB,CACJ,CAAC,eACFN,KAAA,CAAAY,aAAA,CAACF,EAAE,CAACG,MAAM,CAACK,MAAM;IAACH,IAAI,EAAE,aAAc;IAACE,OAAO,eAAEjB,KAAA,CAAAY,aAAA,CAACH,iBAAiB,MAAE;EAAE,CAAE,CAAC,eACzET,KAAA,CAAAY,aAAA,CAACL,aAAa;IAACa,MAAM,EAAE,MAAO;IAACC,MAAM,EAAE;EAAU,gBAC7CrB,KAAA,CAAAY,aAAA,CAACF,EAAE,CAACG,MAAM,CAACK,MAAM;IAACH,IAAI,EAAE,eAAgB;IAACE,OAAO,eAAEjB,KAAA,CAAAY,aAAA,CAACR,aAAa,MAAE;EAAE,CAAE,CAC3D,CAAC,eAChBJ,KAAA,CAAAY,aAAA,CAACL,aAAa;IAACa,MAAM,EAAE,MAAO;IAACC,MAAM,EAAE;EAAO,gBAC1CrB,KAAA,CAAAY,aAAA,CAACF,EAAE,CAACG,MAAM,CAACC,OAAO;IAACE,KAAK,EAAE,MAAO;IAACD,IAAI,EAAE,UAAW;IAACE,OAAO,eAAEjB,KAAA,CAAAY,aAAA,CAACX,YAAY,MAAE;EAAE,CAAE,CACrE,CACO,CAAC;AAEnC,CAAC","ignoreList":[]}