@webiny/app-admin 6.4.0-beta.2 → 6.4.0-beta.4

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 (83) hide show
  1. package/base/Base/DefaultFieldRenderers.js +4 -0
  2. package/base/Base/DefaultFieldRenderers.js.map +1 -1
  3. package/base/Base/FieldRenderers/LexicalRenderer.d.ts +12 -0
  4. package/base/Base/FieldRenderers/LexicalRenderer.js +48 -0
  5. package/base/Base/FieldRenderers/LexicalRenderer.js.map +1 -0
  6. package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js +1 -1
  7. package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js.map +1 -1
  8. package/base/Base.js +2 -1
  9. package/base/Base.js.map +1 -1
  10. package/base/providers/UiProviders.js +6 -2
  11. package/base/providers/UiProviders.js.map +1 -1
  12. package/base/ui/FileManager.d.ts +15 -14
  13. package/base/ui/FileManager.js +5 -2
  14. package/base/ui/FileManager.js.map +1 -1
  15. package/components/LexicalEditor/DefaultLexicalEditorConfig.d.ts +2 -0
  16. package/components/LexicalEditor/DefaultLexicalEditorConfig.js +81 -0
  17. package/components/LexicalEditor/DefaultLexicalEditorConfig.js.map +1 -0
  18. package/components/LexicalEditor/TypographyDropDown.d.ts +8 -0
  19. package/components/LexicalEditor/TypographyDropDown.js +60 -0
  20. package/components/LexicalEditor/TypographyDropDown.js.map +1 -0
  21. package/config/AdminConfig/Menu/MenuItem.d.ts +1 -0
  22. package/config/AdminConfig/Menu/MenuItem.js +2 -1
  23. package/config/AdminConfig/Menu/MenuItem.js.map +1 -1
  24. package/config/AdminConfig/Menu/MenuLink.d.ts +1 -0
  25. package/config/AdminConfig/Menu/MenuLink.js +2 -1
  26. package/config/AdminConfig/Menu/MenuLink.js.map +1 -1
  27. package/config/AdminConfig/Menu.d.ts +2 -0
  28. package/config/AdminConfig.d.ts +2 -0
  29. package/config/AdminConfig.js +1 -0
  30. package/config/AdminConfig.js.map +1 -1
  31. package/exports/admin/ui/file-manager.d.ts +3 -0
  32. package/exports/admin/ui/file-manager.js +2 -0
  33. package/exports/admin/ui/lexical.d.ts +1 -0
  34. package/exports/admin/ui/lexical.js +1 -0
  35. package/exports/admin/ui.d.ts +0 -1
  36. package/exports/admin/ui.js +0 -1
  37. package/features/fileUrlFormatter/abstractions.d.ts +6 -0
  38. package/features/fileUrlFormatter/abstractions.js +5 -0
  39. package/features/fileUrlFormatter/abstractions.js.map +1 -0
  40. package/features/formModel/FormModel.js +2 -2
  41. package/features/formModel/FormModel.js.map +1 -1
  42. package/features/formModel/FormModel.test.js +3 -1
  43. package/features/formModel/FormModel.test.js.map +1 -1
  44. package/features/formModel/demo/FieldRenderersDemoPresenter.js +6 -1
  45. package/features/formModel/demo/FieldRenderersDemoPresenter.js.map +1 -1
  46. package/features/formModel/feature.js +2 -1
  47. package/features/formModel/feature.js.map +1 -1
  48. package/features/formModel/fieldTypes/LexicalFieldType.d.ts +19 -0
  49. package/features/formModel/fieldTypes/LexicalFieldType.js +23 -0
  50. package/features/formModel/fieldTypes/LexicalFieldType.js.map +1 -0
  51. package/features/formModel/fieldTypes/index.d.ts +1 -0
  52. package/features/formModel/fieldTypes/index.js +1 -0
  53. package/features/formModel/renderers.d.ts +1 -0
  54. package/features/formModel/renderers.js +1 -0
  55. package/features/newsletter/NewsletterSubscriptionService.d.ts +13 -0
  56. package/features/newsletter/NewsletterSubscriptionService.js +36 -0
  57. package/features/newsletter/NewsletterSubscriptionService.js.map +1 -0
  58. package/features/newsletter/abstractions.d.ts +11 -0
  59. package/features/newsletter/abstractions.js +5 -0
  60. package/features/newsletter/abstractions.js.map +1 -0
  61. package/features/newsletter/index.d.ts +1 -0
  62. package/features/newsletter/index.js +1 -0
  63. package/index.d.ts +2 -1
  64. package/index.js +2 -1
  65. package/package.json +31 -27
  66. package/presentation/installation/components/SystemInstaller/steps/FinishSetup/handleRestartInstallation.d.ts +1 -0
  67. package/presentation/installation/components/SystemInstaller/steps/FinishSetup/handleRestartInstallation.js +6 -0
  68. package/presentation/installation/components/SystemInstaller/steps/FinishSetup/handleRestartInstallation.js.map +1 -0
  69. package/presentation/installation/components/SystemInstaller/steps/FinishSetup/handleStartUsing.d.ts +2 -0
  70. package/presentation/installation/components/SystemInstaller/steps/FinishSetup/handleStartUsing.js +27 -0
  71. package/presentation/installation/components/SystemInstaller/steps/FinishSetup/handleStartUsing.js.map +1 -0
  72. package/presentation/installation/components/SystemInstaller/steps/FinishSetup.js +4 -4
  73. package/presentation/installation/components/SystemInstaller/steps/FinishSetup.js.map +1 -1
  74. package/presentation/installation/presenters/SystemInstaller/SystemInstallerPresenter.d.ts +3 -1
  75. package/presentation/installation/presenters/SystemInstaller/SystemInstallerPresenter.js +9 -3
  76. package/presentation/installation/presenters/SystemInstaller/SystemInstallerPresenter.js.map +1 -1
  77. package/presentation/installation/presenters/SystemInstaller/feature.js +2 -0
  78. package/presentation/installation/presenters/SystemInstaller/feature.js.map +1 -1
  79. package/presentation/listPresenter/ListPresenter.d.ts +1 -0
  80. package/presentation/listPresenter/ListPresenter.js +8 -2
  81. package/presentation/listPresenter/ListPresenter.js.map +1 -1
  82. package/presentation/listPresenter/feature.js +1 -1
  83. package/presentation/listPresenter/feature.js.map +1 -1
@@ -23,6 +23,7 @@ import { FilePickerRenderer } from "./FieldRenderers/FilePickerRenderer.js";
23
23
  import { FileUrlPickerRenderer } from "./FieldRenderers/FileUrlPickerRenderer.js";
24
24
  import { MultiFilePickerRenderer } from "./FieldRenderers/MultiFilePickerRenderer.js";
25
25
  import { CodeEditorRenderer } from "./FieldRenderers/CodeEditorRenderer.js";
26
+ import { LexicalRenderer } from "./FieldRenderers/LexicalRenderer.js";
26
27
  const DefaultFieldRenderers = ()=>/*#__PURE__*/ react.createElement(AdminConfig, null, /*#__PURE__*/ react.createElement(AdminConfig.Form.FieldRenderer, {
27
28
  name: "textInput",
28
29
  component: InputRenderer
@@ -92,6 +93,9 @@ const DefaultFieldRenderers = ()=>/*#__PURE__*/ react.createElement(AdminConfig,
92
93
  }), /*#__PURE__*/ react.createElement(AdminConfig.Form.FieldRenderer, {
93
94
  name: "codeEditor",
94
95
  component: CodeEditorRenderer
96
+ }), /*#__PURE__*/ react.createElement(AdminConfig.Form.FieldRenderer, {
97
+ name: "lexical",
98
+ component: LexicalRenderer
95
99
  }));
96
100
  export { DefaultFieldRenderers };
97
101
 
@@ -1 +1 @@
1
- {"version":3,"file":"base/Base/DefaultFieldRenderers.js","sources":["../../../src/base/Base/DefaultFieldRenderers.tsx"],"sourcesContent":["import React from \"react\";\nimport { AdminConfig } from \"~/config/AdminConfig.js\";\nimport { InputRenderer } from \"~/base/Base/FieldRenderers/InputRenderer.js\";\nimport { SelectRenderer } from \"~/base/Base/FieldRenderers/SelectRenderer.js\";\nimport { ObjectRenderer } from \"~/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js\";\nimport { ObjectAccordionMultipleRenderer } from \"~/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js\";\nimport { DynamicZoneRenderer } from \"~/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js\";\nimport { PassthroughRenderer } from \"~/base/Base/FieldRenderers/PassthroughRenderer.js\";\nimport { TextareaRenderer } from \"~/base/Base/FieldRenderers/TextareaRenderer.js\";\nimport { SwitchRenderer } from \"~/base/Base/FieldRenderers/SwitchRenderer.js\";\nimport { NumberInputRenderer } from \"~/base/Base/FieldRenderers/NumberInputRenderer.js\";\nimport { NumberInputsRenderer } from \"~/base/Base/FieldRenderers/NumberInputsRenderer.js\";\nimport { TextInputsRenderer } from \"~/base/Base/FieldRenderers/TextInputsRenderer.js\";\nimport { TextareasRenderer } from \"~/base/Base/FieldRenderers/TextareasRenderer.js\";\nimport { TagsRenderer } from \"~/base/Base/FieldRenderers/TagsRenderer.js\";\nimport { RadioButtonsRenderer } from \"~/base/Base/FieldRenderers/RadioButtonsRenderer.js\";\nimport { CheckboxesRenderer } from \"~/base/Base/FieldRenderers/CheckboxesRenderer.js\";\nimport { DateTimeRenderer } from \"~/base/Base/FieldRenderers/DateTimeRenderer.js\";\nimport { DateTimeInputsRenderer } from \"~/base/Base/FieldRenderers/DateTimeInputsRenderer.js\";\nimport { HiddenRenderer } from \"~/base/Base/FieldRenderers/HiddenRenderer.js\";\nimport { KeyValueTagsRenderer } from \"~/base/Base/FieldRenderers/ObjectRenderer/KeyValueTagsRenderer.js\";\nimport { FilePickerRenderer } from \"~/base/Base/FieldRenderers/FilePickerRenderer.js\";\nimport { FileUrlPickerRenderer } from \"~/base/Base/FieldRenderers/FileUrlPickerRenderer.js\";\nimport { MultiFilePickerRenderer } from \"~/base/Base/FieldRenderers/MultiFilePickerRenderer.js\";\nimport { CodeEditorRenderer } from \"~/base/Base/FieldRenderers/CodeEditorRenderer.js\";\n\nexport const DefaultFieldRenderers = () => {\n return (\n <AdminConfig>\n <AdminConfig.Form.FieldRenderer name={\"textInput\"} component={InputRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"textarea\"} component={TextareaRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"dropdown\"} component={SelectRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"objectAccordionSingle\"}\n component={ObjectRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"objectAccordionMultiple\"}\n component={ObjectAccordionMultipleRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"dynamicZone\"} component={DynamicZoneRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"passthrough\"} component={PassthroughRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"switch\"} component={SwitchRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"numberInput\"} component={NumberInputRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"numberInputs\"}\n component={NumberInputsRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"textInputs\"} component={TextInputsRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"textareas\"} component={TextareasRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"tags\"} component={TagsRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"radioButtons\"}\n component={RadioButtonsRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"checkboxes\"} component={CheckboxesRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"dateTimeInput\"} component={DateTimeRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"dateTimeInputs\"}\n component={DateTimeInputsRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"hidden\"} component={HiddenRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"keyValueTags\"}\n component={KeyValueTagsRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"filePicker\"} component={FilePickerRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"multiFilePicker\"}\n component={MultiFilePickerRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"fileUrlPicker\"}\n component={FileUrlPickerRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"codeEditor\"} component={CodeEditorRenderer} />\n </AdminConfig>\n );\n};\n"],"names":["DefaultFieldRenderers","AdminConfig","InputRenderer","TextareaRenderer","SelectRenderer","ObjectRenderer","ObjectAccordionMultipleRenderer","DynamicZoneRenderer","PassthroughRenderer","SwitchRenderer","NumberInputRenderer","NumberInputsRenderer","TextInputsRenderer","TextareasRenderer","TagsRenderer","RadioButtonsRenderer","CheckboxesRenderer","DateTimeRenderer","DateTimeInputsRenderer","HiddenRenderer","KeyValueTagsRenderer","FilePickerRenderer","MultiFilePickerRenderer","FileUrlPickerRenderer","CodeEditorRenderer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA0BO,MAAMA,wBAAwB,IAC1B,WAAP,GACI,oBAACC,aAAWA,MAAAA,WAAAA,GACR,oBAACA,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAa,WAAWC;sBAC9D,oBAACD,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAY,WAAWE;sBAC7D,oBAACF,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAY,WAAWG;sBAC7D,oBAACH,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWI;sBAEf,oBAACJ,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWK;sBAEf,oBAACL,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAe,WAAWM;sBAChE,oBAACN,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAe,WAAWO;sBAChE,oBAACP,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAU,WAAWQ;sBAC3D,oBAACR,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAe,WAAWS;sBAChE,oBAACT,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWU;sBAEf,oBAACV,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAc,WAAWW;sBAC/D,oBAACX,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAa,WAAWY;sBAC9D,oBAACZ,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAQ,WAAWa;sBACzD,oBAACb,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWc;sBAEf,oBAACd,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAc,WAAWe;sBAC/D,oBAACf,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAiB,WAAWgB;sBAClE,oBAAChB,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWiB;sBAEf,oBAACjB,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAU,WAAWkB;sBAC3D,oBAAClB,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWmB;sBAEf,oBAACnB,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAc,WAAWoB;sBAC/D,oBAACpB,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWqB;sBAEf,oBAACrB,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWsB;sBAEf,oBAACtB,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAc,WAAWuB"}
1
+ {"version":3,"file":"base/Base/DefaultFieldRenderers.js","sources":["../../../src/base/Base/DefaultFieldRenderers.tsx"],"sourcesContent":["import React from \"react\";\nimport { AdminConfig } from \"~/config/AdminConfig.js\";\nimport { InputRenderer } from \"~/base/Base/FieldRenderers/InputRenderer.js\";\nimport { SelectRenderer } from \"~/base/Base/FieldRenderers/SelectRenderer.js\";\nimport { ObjectRenderer } from \"~/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js\";\nimport { ObjectAccordionMultipleRenderer } from \"~/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js\";\nimport { DynamicZoneRenderer } from \"~/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js\";\nimport { PassthroughRenderer } from \"~/base/Base/FieldRenderers/PassthroughRenderer.js\";\nimport { TextareaRenderer } from \"~/base/Base/FieldRenderers/TextareaRenderer.js\";\nimport { SwitchRenderer } from \"~/base/Base/FieldRenderers/SwitchRenderer.js\";\nimport { NumberInputRenderer } from \"~/base/Base/FieldRenderers/NumberInputRenderer.js\";\nimport { NumberInputsRenderer } from \"~/base/Base/FieldRenderers/NumberInputsRenderer.js\";\nimport { TextInputsRenderer } from \"~/base/Base/FieldRenderers/TextInputsRenderer.js\";\nimport { TextareasRenderer } from \"~/base/Base/FieldRenderers/TextareasRenderer.js\";\nimport { TagsRenderer } from \"~/base/Base/FieldRenderers/TagsRenderer.js\";\nimport { RadioButtonsRenderer } from \"~/base/Base/FieldRenderers/RadioButtonsRenderer.js\";\nimport { CheckboxesRenderer } from \"~/base/Base/FieldRenderers/CheckboxesRenderer.js\";\nimport { DateTimeRenderer } from \"~/base/Base/FieldRenderers/DateTimeRenderer.js\";\nimport { DateTimeInputsRenderer } from \"~/base/Base/FieldRenderers/DateTimeInputsRenderer.js\";\nimport { HiddenRenderer } from \"~/base/Base/FieldRenderers/HiddenRenderer.js\";\nimport { KeyValueTagsRenderer } from \"~/base/Base/FieldRenderers/ObjectRenderer/KeyValueTagsRenderer.js\";\nimport { FilePickerRenderer } from \"~/base/Base/FieldRenderers/FilePickerRenderer.js\";\nimport { FileUrlPickerRenderer } from \"~/base/Base/FieldRenderers/FileUrlPickerRenderer.js\";\nimport { MultiFilePickerRenderer } from \"~/base/Base/FieldRenderers/MultiFilePickerRenderer.js\";\nimport { CodeEditorRenderer } from \"~/base/Base/FieldRenderers/CodeEditorRenderer.js\";\nimport { LexicalRenderer } from \"~/base/Base/FieldRenderers/LexicalRenderer.js\";\n\nexport const DefaultFieldRenderers = () => {\n return (\n <AdminConfig>\n <AdminConfig.Form.FieldRenderer name={\"textInput\"} component={InputRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"textarea\"} component={TextareaRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"dropdown\"} component={SelectRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"objectAccordionSingle\"}\n component={ObjectRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"objectAccordionMultiple\"}\n component={ObjectAccordionMultipleRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"dynamicZone\"} component={DynamicZoneRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"passthrough\"} component={PassthroughRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"switch\"} component={SwitchRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"numberInput\"} component={NumberInputRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"numberInputs\"}\n component={NumberInputsRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"textInputs\"} component={TextInputsRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"textareas\"} component={TextareasRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"tags\"} component={TagsRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"radioButtons\"}\n component={RadioButtonsRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"checkboxes\"} component={CheckboxesRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"dateTimeInput\"} component={DateTimeRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"dateTimeInputs\"}\n component={DateTimeInputsRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"hidden\"} component={HiddenRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"keyValueTags\"}\n component={KeyValueTagsRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"filePicker\"} component={FilePickerRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"multiFilePicker\"}\n component={MultiFilePickerRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"fileUrlPicker\"}\n component={FileUrlPickerRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"codeEditor\"} component={CodeEditorRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"lexical\"} component={LexicalRenderer} />\n </AdminConfig>\n );\n};\n"],"names":["DefaultFieldRenderers","AdminConfig","InputRenderer","TextareaRenderer","SelectRenderer","ObjectRenderer","ObjectAccordionMultipleRenderer","DynamicZoneRenderer","PassthroughRenderer","SwitchRenderer","NumberInputRenderer","NumberInputsRenderer","TextInputsRenderer","TextareasRenderer","TagsRenderer","RadioButtonsRenderer","CheckboxesRenderer","DateTimeRenderer","DateTimeInputsRenderer","HiddenRenderer","KeyValueTagsRenderer","FilePickerRenderer","MultiFilePickerRenderer","FileUrlPickerRenderer","CodeEditorRenderer","LexicalRenderer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA2BO,MAAMA,wBAAwB,IAC1B,WAAP,GACI,oBAACC,aAAWA,MAAAA,WAAAA,GACR,oBAACA,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAa,WAAWC;sBAC9D,oBAACD,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAY,WAAWE;sBAC7D,oBAACF,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAY,WAAWG;sBAC7D,oBAACH,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWI;sBAEf,oBAACJ,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWK;sBAEf,oBAACL,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAe,WAAWM;sBAChE,oBAACN,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAe,WAAWO;sBAChE,oBAACP,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAU,WAAWQ;sBAC3D,oBAACR,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAe,WAAWS;sBAChE,oBAACT,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWU;sBAEf,oBAACV,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAc,WAAWW;sBAC/D,oBAACX,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAa,WAAWY;sBAC9D,oBAACZ,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAQ,WAAWa;sBACzD,oBAACb,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWc;sBAEf,oBAACd,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAc,WAAWe;sBAC/D,oBAACf,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAiB,WAAWgB;sBAClE,oBAAChB,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWiB;sBAEf,oBAACjB,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAU,WAAWkB;sBAC3D,oBAAClB,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWmB;sBAEf,oBAACnB,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAc,WAAWoB;sBAC/D,oBAACpB,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWqB;sBAEf,oBAACrB,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWsB;sBAEf,oBAACtB,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAc,WAAWuB;sBAC/D,oBAACvB,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAW,WAAWwB"}
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ declare module "../../../features/formModel/abstractions.js" {
3
+ interface IFieldRendererRegistry {
4
+ lexical: {
5
+ fieldType: "lexical";
6
+ settings: undefined;
7
+ };
8
+ }
9
+ }
10
+ export declare const LexicalRenderer: React.ComponentType<{
11
+ field: import("../../..").IFieldVM;
12
+ }>;
@@ -0,0 +1,48 @@
1
+ import react from "react";
2
+ import { StaticToolbar } from "@webiny/lexical-editor";
3
+ import { createFieldRenderer } from "../../../features/formModel/createFieldRenderer.js";
4
+ import { LexicalEditor } from "../../../components/LexicalEditor/LexicalEditor.js";
5
+ import { FormComponentDescription, FormComponentLabel, FormComponentNote } from "@webiny/admin-ui";
6
+ const placeholderStyles = {
7
+ position: "absolute",
8
+ top: 40,
9
+ left: 25
10
+ };
11
+ const contentEditableStyles = {
12
+ minHeight: 200,
13
+ display: "block",
14
+ padding: 10
15
+ };
16
+ const styles = {
17
+ backgroundColor: "#fff",
18
+ border: "1px solid #e1e1e1",
19
+ padding: "10px 14px",
20
+ minHeight: 200,
21
+ maxHeight: 350
22
+ };
23
+ const LexicalRenderer = createFieldRenderer(({ field })=>{
24
+ const value = field.value;
25
+ const toolbar = /*#__PURE__*/ react.createElement(StaticToolbar, null);
26
+ return /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(FormComponentLabel, {
27
+ text: field.label,
28
+ hint: field.help,
29
+ disabled: field.disabled
30
+ }), /*#__PURE__*/ react.createElement(FormComponentDescription, {
31
+ text: field.description,
32
+ disabled: field.disabled
33
+ }), /*#__PURE__*/ react.createElement(LexicalEditor, {
34
+ placeholder: field.placeholder || "Enter your text here...",
35
+ staticToolbar: toolbar,
36
+ placeholderStyles: placeholderStyles,
37
+ contentEditableStyles: contentEditableStyles,
38
+ styles: styles,
39
+ value: value,
40
+ onChange: (value)=>field.onChange(value)
41
+ }), field.note ? /*#__PURE__*/ react.createElement(FormComponentNote, {
42
+ text: field.note,
43
+ disabled: field.disabled
44
+ }) : null);
45
+ });
46
+ export { LexicalRenderer };
47
+
48
+ //# sourceMappingURL=LexicalRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base/Base/FieldRenderers/LexicalRenderer.js","sources":["../../../../src/base/Base/FieldRenderers/LexicalRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { StaticToolbar } from \"@webiny/lexical-editor\";\nimport { createFieldRenderer } from \"~/features/formModel/createFieldRenderer.js\";\nimport { LexicalEditor } from \"~/components/LexicalEditor/LexicalEditor.js\";\nimport type { RichTextValueWithHtml } from \"~/components/LexicalEditor/lexicalValueWithHtml.js\";\nimport { FormComponentLabel } from \"@webiny/admin-ui\";\nimport { FormComponentDescription } from \"@webiny/admin-ui\";\nimport { FormComponentNote } from \"@webiny/admin-ui\";\n\ndeclare module \"../../../features/formModel/abstractions.js\" {\n interface IFieldRendererRegistry {\n lexical: {\n fieldType: \"lexical\";\n settings: undefined;\n };\n }\n}\n\nconst placeholderStyles: React.CSSProperties = { position: \"absolute\", top: 40, left: 25 };\n\nconst contentEditableStyles: React.CSSProperties = {\n minHeight: 200,\n display: \"block\",\n padding: 10\n};\n\nconst styles: React.CSSProperties = {\n backgroundColor: \"#fff\",\n border: \"1px solid #e1e1e1\",\n padding: \"10px 14px\",\n minHeight: 200,\n maxHeight: 350\n};\n\nexport const LexicalRenderer = createFieldRenderer<\"lexical\">(({ field }) => {\n const value = field.value as RichTextValueWithHtml | undefined;\n const toolbar = <StaticToolbar />;\n\n return (\n <>\n <FormComponentLabel text={field.label} hint={field.help} disabled={field.disabled} />\n <FormComponentDescription text={field.description} disabled={field.disabled} />\n <LexicalEditor\n placeholder={field.placeholder || \"Enter your text here...\"}\n staticToolbar={toolbar}\n placeholderStyles={placeholderStyles}\n contentEditableStyles={contentEditableStyles}\n styles={styles}\n value={value}\n onChange={value => field.onChange(value)}\n />\n {field.note ? <FormComponentNote text={field.note} disabled={field.disabled} /> : null}\n </>\n );\n});\n"],"names":["placeholderStyles","contentEditableStyles","styles","LexicalRenderer","createFieldRenderer","field","value","toolbar","StaticToolbar","FormComponentLabel","FormComponentDescription","LexicalEditor","FormComponentNote"],"mappings":";;;;;AAkBA,MAAMA,oBAAyC;IAAE,UAAU;IAAY,KAAK;IAAI,MAAM;AAAG;AAEzF,MAAMC,wBAA6C;IAC/C,WAAW;IACX,SAAS;IACT,SAAS;AACb;AAEA,MAAMC,SAA8B;IAChC,iBAAiB;IACjB,QAAQ;IACR,SAAS;IACT,WAAW;IACX,WAAW;AACf;AAEO,MAAMC,kBAAkBC,oBAA+B,CAAC,EAAEC,KAAK,EAAE;IACpE,MAAMC,QAAQD,MAAM,KAAK;IACzB,MAAME,UAAU,WAAVA,GAAU,oBAACC,eAAaA;IAE9B,OAAO,WAAP,GACI,wDACI,oBAACC,oBAAkBA;QAAC,MAAMJ,MAAM,KAAK;QAAE,MAAMA,MAAM,IAAI;QAAE,UAAUA,MAAM,QAAQ;sBACjF,oBAACK,0BAAwBA;QAAC,MAAML,MAAM,WAAW;QAAE,UAAUA,MAAM,QAAQ;sBAC3E,oBAACM,eAAaA;QACV,aAAaN,MAAM,WAAW,IAAI;QAClC,eAAeE;QACf,mBAAmBP;QACnB,uBAAuBC;QACvB,QAAQC;QACR,OAAOI;QACP,UAAUA,CAAAA,QAASD,MAAM,QAAQ,CAACC;QAErCD,MAAM,IAAI,GAAG,WAAH,GAAG,oBAACO,mBAAiBA;QAAC,MAAMP,MAAM,IAAI;QAAE,UAAUA,MAAM,QAAQ;SAAO;AAG9F"}
@@ -7,7 +7,7 @@ const ObjectRenderer = createObjectFieldRenderer(({ field })=>/*#__PURE__*/ reac
7
7
  variant: "container"
8
8
  }, /*#__PURE__*/ react.createElement(Accordion.Item, {
9
9
  title: field.label,
10
- defaultOpen: true,
10
+ defaultOpen: field.rendererSettings?.open ?? true,
11
11
  className: "pl-sm"
12
12
  }, /*#__PURE__*/ react.createElement(NestedLayout, {
13
13
  layout: field.layout
@@ -1 +1 @@
1
- {"version":3,"file":"base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js","sources":["../../../../../src/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { Accordion } from \"@webiny/admin-ui\";\nimport { createObjectFieldRenderer } from \"~/features/formModel/createFieldRenderer.js\";\nimport { NestedLayout } from \"./ObjectFieldComponents.js\";\n\ndeclare module \"../../../../features/formModel/abstractions.js\" {\n interface IFieldRendererRegistry {\n objectAccordionSingle: {\n fieldType: \"object\";\n settings?: {\n open?: boolean;\n };\n };\n }\n}\n\nexport const ObjectRenderer = createObjectFieldRenderer<\"objectAccordionSingle\">(({ field }) => {\n return (\n <Accordion background={\"base\"} variant={\"container\"}>\n <Accordion.Item title={field.label} defaultOpen={true} className={\"pl-sm\"}>\n <NestedLayout layout={field.layout} />\n </Accordion.Item>\n </Accordion>\n );\n});\n"],"names":["ObjectRenderer","createObjectFieldRenderer","field","Accordion","NestedLayout"],"mappings":";;;;AAgBO,MAAMA,iBAAiBC,0BAAmD,CAAC,EAAEC,KAAK,EAAE,GAChF,WAAP,GACI,oBAACC,WAASA;QAAC,YAAY;QAAQ,SAAS;qBACpC,oBAACA,UAAU,IAAI;QAAC,OAAOD,MAAM,KAAK;QAAE,aAAa;QAAM,WAAW;qBAC9D,oBAACE,cAAYA;QAAC,QAAQF,MAAM,MAAM"}
1
+ {"version":3,"file":"base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js","sources":["../../../../../src/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { Accordion } from \"@webiny/admin-ui\";\nimport { createObjectFieldRenderer } from \"~/features/formModel/createFieldRenderer.js\";\nimport { NestedLayout } from \"./ObjectFieldComponents.js\";\n\ndeclare module \"../../../../features/formModel/abstractions.js\" {\n interface IFieldRendererRegistry {\n objectAccordionSingle: {\n fieldType: \"object\";\n settings?: {\n open?: boolean;\n };\n };\n }\n}\n\nexport const ObjectRenderer = createObjectFieldRenderer<\"objectAccordionSingle\">(({ field }) => {\n return (\n <Accordion background={\"base\"} variant={\"container\"}>\n <Accordion.Item\n title={field.label}\n defaultOpen={field.rendererSettings?.open ?? true}\n className={\"pl-sm\"}\n >\n <NestedLayout layout={field.layout} />\n </Accordion.Item>\n </Accordion>\n );\n});\n"],"names":["ObjectRenderer","createObjectFieldRenderer","field","Accordion","NestedLayout"],"mappings":";;;;AAgBO,MAAMA,iBAAiBC,0BAAmD,CAAC,EAAEC,KAAK,EAAE,GAChF,WAAP,GACI,oBAACC,WAASA;QAAC,YAAY;QAAQ,SAAS;qBACpC,oBAACA,UAAU,IAAI;QACX,OAAOD,MAAM,KAAK;QAClB,aAAaA,MAAM,gBAAgB,EAAE,QAAQ;QAC7C,WAAW;qBAEX,oBAACE,cAAYA;QAAC,QAAQF,MAAM,MAAM"}
package/base/Base.js CHANGED
@@ -6,7 +6,8 @@ import { UserMenu } from "./Base/UserMenu.js";
6
6
  import { LexicalPreset } from "./Base/LexicalPreset.js";
7
7
  import { DefaultFieldRenderers } from "./Base/DefaultFieldRenderers.js";
8
8
  import { DefaultLayoutRenderers } from "./Base/DefaultLayoutRenderers.js";
9
- const BaseExtension = ()=>/*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(Tenant, null), /*#__PURE__*/ react.createElement(Menus, null), /*#__PURE__*/ react.createElement(UserMenu, null), /*#__PURE__*/ react.createElement(RoutesConfig, null), /*#__PURE__*/ react.createElement(LexicalPreset, null), /*#__PURE__*/ react.createElement(DefaultFieldRenderers, null), /*#__PURE__*/ react.createElement(DefaultLayoutRenderers, null));
9
+ import { DefaultLexicalEditorConfig } from "../components/LexicalEditor/DefaultLexicalEditorConfig.js";
10
+ const BaseExtension = ()=>/*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(Tenant, null), /*#__PURE__*/ react.createElement(Menus, null), /*#__PURE__*/ react.createElement(UserMenu, null), /*#__PURE__*/ react.createElement(RoutesConfig, null), /*#__PURE__*/ react.createElement(LexicalPreset, null), /*#__PURE__*/ react.createElement(DefaultFieldRenderers, null), /*#__PURE__*/ react.createElement(DefaultLayoutRenderers, null), /*#__PURE__*/ react.createElement(DefaultLexicalEditorConfig, null));
10
11
  const Base = /*#__PURE__*/ memo(BaseExtension);
11
12
  export { Base };
12
13
 
package/base/Base.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"base/Base.js","sources":["../../src/base/Base.tsx"],"sourcesContent":["import React, { memo } from \"react\";\nimport { Menus } from \"./Base/Menus.js\";\nimport { RoutesConfig } from \"./Base/RoutesConfig.js\";\nimport { Tenant } from \"./Base/Tenant.js\";\nimport { UserMenu } from \"./Base/UserMenu.js\";\nimport { LexicalPreset } from \"./Base/LexicalPreset.js\";\nimport { DefaultFieldRenderers } from \"./Base/DefaultFieldRenderers.js\";\nimport { DefaultLayoutRenderers } from \"./Base/DefaultLayoutRenderers.js\";\n\nconst BaseExtension = () => {\n return (\n <>\n <Tenant />\n <Menus />\n <UserMenu />\n <RoutesConfig />\n <LexicalPreset />\n <DefaultFieldRenderers />\n <DefaultLayoutRenderers />\n </>\n );\n};\n\nexport const Base = memo(BaseExtension);\n"],"names":["BaseExtension","Tenant","Menus","UserMenu","RoutesConfig","LexicalPreset","DefaultFieldRenderers","DefaultLayoutRenderers","Base","memo"],"mappings":";;;;;;;;AASA,MAAMA,gBAAgB,IACX,WAAP,GACI,wDACI,oBAACC,QAAMA,OAAAA,WAAAA,GACP,oBAACC,OAAKA,OAAAA,WAAAA,GACN,oBAACC,UAAQA,OAAAA,WAAAA,GACT,oBAACC,cAAYA,OAAAA,WAAAA,GACb,oBAACC,eAAaA,OAAAA,WAAAA,GACd,oBAACC,uBAAqBA,OAAAA,WAAAA,GACtB,oBAACC,wBAAsBA;AAK5B,MAAMC,OAAO,WAAHA,GAAGC,KAAKT"}
1
+ {"version":3,"file":"base/Base.js","sources":["../../src/base/Base.tsx"],"sourcesContent":["import React, { memo } from \"react\";\nimport { Menus } from \"./Base/Menus.js\";\nimport { RoutesConfig } from \"./Base/RoutesConfig.js\";\nimport { Tenant } from \"./Base/Tenant.js\";\nimport { UserMenu } from \"./Base/UserMenu.js\";\nimport { LexicalPreset } from \"./Base/LexicalPreset.js\";\nimport { DefaultFieldRenderers } from \"./Base/DefaultFieldRenderers.js\";\nimport { DefaultLayoutRenderers } from \"./Base/DefaultLayoutRenderers.js\";\nimport { DefaultLexicalEditorConfig } from \"~/components/LexicalEditor/DefaultLexicalEditorConfig.js\";\n\nconst BaseExtension = () => {\n return (\n <>\n <Tenant />\n <Menus />\n <UserMenu />\n <RoutesConfig />\n <LexicalPreset />\n <DefaultFieldRenderers />\n <DefaultLayoutRenderers />\n <DefaultLexicalEditorConfig />\n </>\n );\n};\n\nexport const Base = memo(BaseExtension);\n"],"names":["BaseExtension","Tenant","Menus","UserMenu","RoutesConfig","LexicalPreset","DefaultFieldRenderers","DefaultLayoutRenderers","DefaultLexicalEditorConfig","Base","memo"],"mappings":";;;;;;;;;AAUA,MAAMA,gBAAgB,IACX,WAAP,GACI,wDACI,oBAACC,QAAMA,OAAAA,WAAAA,GACP,oBAACC,OAAKA,OAAAA,WAAAA,GACN,oBAACC,UAAQA,OAAAA,WAAAA,GACT,oBAACC,cAAYA,OAAAA,WAAAA,GACb,oBAACC,eAAaA,OAAAA,WAAAA,GACd,oBAACC,uBAAqBA,OAAAA,WAAAA,GACtB,oBAACC,wBAAsBA,OAAAA,WAAAA,GACvB,oBAACC,4BAA0BA;AAKhC,MAAMC,OAAO,WAAHA,GAAGC,KAAKV"}
@@ -1,7 +1,8 @@
1
1
  import react from "react";
2
- import { SimpleLink, createProvider } from "@webiny/app";
2
+ import { SimpleLink, createProvider, useContainer } from "@webiny/app";
3
3
  import { AdminUiProvider } from "@webiny/admin-ui";
4
4
  import { compiler } from "markdown-to-jsx/react";
5
+ import { FileUrlFormatter } from "../../features/fileUrlFormatter/abstractions.js";
5
6
  const options = {
6
7
  overrides: {
7
8
  a: {
@@ -15,9 +16,12 @@ const options = {
15
16
  };
16
17
  const markdownCompiler = (markdown)=>compiler(markdown, options);
17
18
  const createUiProviders = ()=>createProvider((Component)=>function({ children }) {
19
+ const container = useContainer();
20
+ const fileUrlFormatter = container.resolve(FileUrlFormatter);
18
21
  return /*#__PURE__*/ react.createElement(AdminUiProvider, {
19
22
  linkComponent: SimpleLink,
20
- markdownCompiler: markdownCompiler
23
+ markdownCompiler: markdownCompiler,
24
+ fileUrlFormatter: fileUrlFormatter
21
25
  }, /*#__PURE__*/ react.createElement(Component, null, children));
22
26
  });
23
27
  export { createUiProviders };
@@ -1 +1 @@
1
- {"version":3,"file":"base/providers/UiProviders.js","sources":["../../../src/base/providers/UiProviders.tsx"],"sourcesContent":["import React from \"react\";\nimport { createProvider, SimpleLink } from \"@webiny/app\";\nimport { AdminUiProvider } from \"@webiny/admin-ui\";\nimport { compiler } from \"markdown-to-jsx/react\";\n\nconst options = {\n overrides: {\n a: {\n component: ({ children, ...props }: any) => (\n <a {...props} target=\"_blank\" rel=\"noopener noreferrer\">\n {children}\n </a>\n )\n }\n }\n};\n\nconst markdownCompiler = (markdown: string) => {\n return compiler(markdown, options);\n};\n\ninterface UiProvidersProps {\n children: React.ReactNode;\n}\n\nexport const createUiProviders = () => {\n return createProvider(Component => {\n return function UiProviders({ children }: UiProvidersProps) {\n return (\n <AdminUiProvider linkComponent={SimpleLink} markdownCompiler={markdownCompiler}>\n <Component>{children}</Component>\n </AdminUiProvider>\n );\n };\n });\n};\n"],"names":["options","children","props","markdownCompiler","markdown","compiler","createUiProviders","createProvider","Component","AdminUiProvider","SimpleLink"],"mappings":";;;;AAKA,MAAMA,UAAU;IACZ,WAAW;QACP,GAAG;YACC,WAAW,CAAC,EAAEC,QAAQ,EAAE,GAAGC,OAAY,iBACnC,oBAAC;oBAAG,GAAGA,KAAK;oBAAE,QAAO;oBAAS,KAAI;mBAC7BD;QAGb;IACJ;AACJ;AAEA,MAAME,mBAAmB,CAACC,WACfC,SAASD,UAAUJ;AAOvB,MAAMM,oBAAoB,IACtBC,eAAeC,CAAAA,YACX,SAAqB,EAAEP,QAAQ,EAAoB;YACtD,OAAO,WAAP,GACI,oBAACQ,iBAAeA;gBAAC,eAAeC;gBAAY,kBAAkBP;6BAC1D,oBAACK,WAAAA,MAAWP;QAGxB"}
1
+ {"version":3,"file":"base/providers/UiProviders.js","sources":["../../../src/base/providers/UiProviders.tsx"],"sourcesContent":["import React from \"react\";\nimport { createProvider, SimpleLink, useContainer } from \"@webiny/app\";\nimport { AdminUiProvider } from \"@webiny/admin-ui\";\nimport { compiler } from \"markdown-to-jsx/react\";\nimport { FileUrlFormatter } from \"~/features/fileUrlFormatter/abstractions.js\";\n\nconst options = {\n overrides: {\n a: {\n component: ({ children, ...props }: any) => (\n <a {...props} target=\"_blank\" rel=\"noopener noreferrer\">\n {children}\n </a>\n )\n }\n }\n};\n\nconst markdownCompiler = (markdown: string) => {\n return compiler(markdown, options);\n};\n\ninterface UiProvidersProps {\n children: React.ReactNode;\n}\n\nexport const createUiProviders = () => {\n return createProvider(Component => {\n return function UiProviders({ children }: UiProvidersProps) {\n const container = useContainer();\n const fileUrlFormatter = container.resolve(FileUrlFormatter);\n\n return (\n <AdminUiProvider\n linkComponent={SimpleLink}\n markdownCompiler={markdownCompiler}\n fileUrlFormatter={fileUrlFormatter}\n >\n <Component>{children}</Component>\n </AdminUiProvider>\n );\n };\n });\n};\n"],"names":["options","children","props","markdownCompiler","markdown","compiler","createUiProviders","createProvider","Component","container","useContainer","fileUrlFormatter","FileUrlFormatter","AdminUiProvider","SimpleLink"],"mappings":";;;;;AAMA,MAAMA,UAAU;IACZ,WAAW;QACP,GAAG;YACC,WAAW,CAAC,EAAEC,QAAQ,EAAE,GAAGC,OAAY,iBACnC,oBAAC;oBAAG,GAAGA,KAAK;oBAAE,QAAO;oBAAS,KAAI;mBAC7BD;QAGb;IACJ;AACJ;AAEA,MAAME,mBAAmB,CAACC,WACfC,SAASD,UAAUJ;AAOvB,MAAMM,oBAAoB,IACtBC,eAAeC,CAAAA,YACX,SAAqB,EAAEP,QAAQ,EAAoB;YACtD,MAAMQ,YAAYC;YAClB,MAAMC,mBAAmBF,UAAU,OAAO,CAACG;YAE3C,OAAO,WAAP,GACI,oBAACC,iBAAeA;gBACZ,eAAeC;gBACf,kBAAkBX;gBAClB,kBAAkBQ;6BAElB,oBAACH,WAAAA,MAAWP;QAGxB"}
@@ -51,24 +51,25 @@ export type FileManagerProps = {
51
51
  } & MultipleProps;
52
52
  type DistributiveOmit<T, K extends keyof T> = T extends unknown ? Omit<T, K> : never;
53
53
  export type FileManagerRendererProps = DistributiveOmit<FileManagerProps, "render">;
54
- export declare const FileManagerRenderer: ((props: FileManagerRendererProps) => React.JSX.Element | null) & {
55
- original: (props: FileManagerRendererProps) => React.JSX.Element | null;
56
- originalName: string;
57
- displayName: string;
58
- } & {
59
- original: ((props: FileManagerRendererProps) => React.JSX.Element | null) & {
54
+ export declare const FileManager: (({ render, onChange, ...rest }: FileManagerProps) => React.JSX.Element) & {
55
+ Renderer: ((props: FileManagerRendererProps) => React.JSX.Element | null) & {
60
56
  original: (props: FileManagerRendererProps) => React.JSX.Element | null;
61
57
  originalName: string;
62
58
  displayName: string;
63
- };
64
- originalName: string;
65
- displayName: string;
66
- } & {
67
- createDecorator: (decorator: import("@webiny/react-composition").ComponentDecorator<((props: FileManagerRendererProps) => React.JSX.Element | null) & {
68
- original: (props: FileManagerRendererProps) => React.JSX.Element | null;
59
+ } & {
60
+ original: ((props: FileManagerRendererProps) => React.JSX.Element | null) & {
61
+ original: (props: FileManagerRendererProps) => React.JSX.Element | null;
62
+ originalName: string;
63
+ displayName: string;
64
+ };
69
65
  originalName: string;
70
66
  displayName: string;
71
- }>) => (props: unknown) => React.JSX.Element;
67
+ } & {
68
+ createDecorator: (decorator: import("@webiny/react-composition").ComponentDecorator<((props: FileManagerRendererProps) => React.JSX.Element | null) & {
69
+ original: (props: FileManagerRendererProps) => React.JSX.Element | null;
70
+ originalName: string;
71
+ displayName: string;
72
+ }>) => (props: unknown) => React.JSX.Element;
73
+ };
72
74
  };
73
- export declare const FileManager: ({ render, onChange, ...rest }: FileManagerProps) => React.JSX.Element;
74
75
  export {};
@@ -2,7 +2,7 @@ import react, { useCallback, useEffect, useRef, useState } from "react";
2
2
  import { Portal } from "@webiny/admin-ui";
3
3
  import { createVoidComponent, makeDecoratable } from "@webiny/react-composition";
4
4
  const FileManagerRenderer = makeDecoratable("FileManagerRenderer", createVoidComponent());
5
- const FileManager = ({ render, onChange, ...rest })=>{
5
+ const BaseFileManager = ({ render, onChange, ...rest })=>{
6
6
  const [isFileManagerVisible, setFileManagerVisible] = useState(rest.show);
7
7
  const onChangeRef = useRef(onChange);
8
8
  useEffect(()=>{
@@ -39,6 +39,9 @@ const FileManager = ({ render, onChange, ...rest })=>{
39
39
  };
40
40
  return /*#__PURE__*/ react.createElement(react.Fragment, null, renderFileManager(), renderContent());
41
41
  };
42
- export { FileManager, FileManagerRenderer };
42
+ const FileManager = Object.assign(BaseFileManager, {
43
+ Renderer: FileManagerRenderer
44
+ });
45
+ export { FileManager };
43
46
 
44
47
  //# sourceMappingURL=FileManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base/ui/FileManager.js","sources":["../../../src/base/ui/FileManager.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { Portal } from \"@webiny/admin-ui\";\nimport { createVoidComponent, makeDecoratable } from \"@webiny/react-composition\";\n\nexport interface FileManagerOnChange<T> {\n (value: T): void;\n}\n\n/**\n * Represents a file object managed by the File Manager.\n */\nexport interface FileManagerFileItem {\n // Required - every DAM must provide these\n id: string;\n src: string;\n name: string;\n type: string; // MIME type\n size: number; // bytes\n // Required for images (apps depend on these for Next.js Image, etc.)\n width?: number;\n height?: number;\n // DAM-specific metadata\n [key: string]: any;\n}\n\nexport type FileManagerRenderPropParams<TValue> = {\n showFileManager: (onChange?: FileManagerOnChange<TValue>) => void;\n};\n\ninterface SingleFileRenderProp {\n (params: FileManagerRenderPropParams<FileManagerFileItem>): React.ReactNode;\n}\n\ninterface MultiFileRenderProp {\n (params: FileManagerRenderPropParams<FileManagerFileItem[]>): React.ReactNode;\n}\n\nexport type MultipleProps =\n | {\n multiple?: never;\n multipleMaxCount?: never;\n multipleMaxSize?: never;\n onChange?: FileManagerOnChange<FileManagerFileItem>;\n render?: SingleFileRenderProp;\n }\n | {\n multiple: true;\n multipleMaxCount?: number;\n multipleMaxSize?: number | string;\n onChange?: FileManagerOnChange<FileManagerFileItem[]>;\n render?: MultiFileRenderProp;\n };\n\nexport type FileManagerProps = {\n accept?: string[];\n images?: boolean;\n maxSize?: number | string;\n onClose?: () => void;\n onUploadCompletion?: (files: FileManagerFileItem[]) => void;\n own?: boolean;\n scope?: string;\n tags?: string[];\n show?: boolean;\n overlay?: boolean;\n} & MultipleProps;\n\n// This jewel was taken from https://davidgomes.com/pick-omit-over-union-types-in-typescript/. Massive thanks, David!\ntype DistributiveOmit<T, K extends keyof T> = T extends unknown ? Omit<T, K> : never;\n\nexport type FileManagerRendererProps = DistributiveOmit<FileManagerProps, \"render\">;\n\nexport const FileManagerRenderer = makeDecoratable(\n \"FileManagerRenderer\",\n createVoidComponent<FileManagerRendererProps>()\n);\n\ntype ShowFileManagerProps =\n | FileManagerOnChange<FileManagerFileItem>\n | FileManagerOnChange<FileManagerFileItem[]>\n | undefined;\n\nexport const FileManager = ({ render, onChange, ...rest }: FileManagerProps) => {\n const [isFileManagerVisible, setFileManagerVisible] = useState(rest.show);\n const onChangeRef = useRef(onChange);\n\n useEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n\n const handleShowFileManager = useCallback((newOnChange: ShowFileManagerProps) => {\n if (typeof newOnChange === \"function\") {\n onChangeRef.current = newOnChange;\n }\n setFileManagerVisible(true);\n }, []);\n\n const handleCloseFileManager = useCallback(() => {\n setFileManagerVisible(false);\n }, []);\n\n const renderFileManager = () => {\n if (!isFileManagerVisible) {\n return null;\n }\n\n // Render as overlay\n if (rest.overlay) {\n return (\n <Portal>\n {/*@ts-expect-error*/}\n <FileManagerRenderer\n onClose={handleCloseFileManager}\n onChange={onChangeRef.current}\n {...rest}\n />\n </Portal>\n );\n }\n\n // Render inline\n return (\n // @ts-expect-error\n <FileManagerRenderer\n onClose={handleCloseFileManager}\n onChange={onChangeRef.current}\n {...rest}\n />\n );\n };\n\n const renderContent = () => {\n const renderProps = { showFileManager: handleShowFileManager };\n\n if (render) {\n return render(renderProps);\n }\n\n return null;\n };\n\n return (\n <>\n {renderFileManager()}\n {renderContent()}\n </>\n );\n};\n"],"names":["FileManagerRenderer","makeDecoratable","createVoidComponent","FileManager","render","onChange","rest","isFileManagerVisible","setFileManagerVisible","useState","onChangeRef","useRef","useEffect","handleShowFileManager","useCallback","newOnChange","handleCloseFileManager","renderFileManager","Portal","renderContent","renderProps"],"mappings":";;;AAuEO,MAAMA,sBAAsBC,gBAC/B,uBACAC;AAQG,MAAMC,cAAc,CAAC,EAAEC,MAAM,EAAEC,QAAQ,EAAE,GAAGC,MAAwB;IACvE,MAAM,CAACC,sBAAsBC,sBAAsB,GAAGC,SAASH,KAAK,IAAI;IACxE,MAAMI,cAAcC,OAAON;IAE3BO,UAAU;QACNF,YAAY,OAAO,GAAGL;IAC1B,GAAG;QAACA;KAAS;IAEb,MAAMQ,wBAAwBC,YAAY,CAACC;QACvC,IAAI,AAAuB,cAAvB,OAAOA,aACPL,YAAY,OAAO,GAAGK;QAE1BP,sBAAsB;IAC1B,GAAG,EAAE;IAEL,MAAMQ,yBAAyBF,YAAY;QACvCN,sBAAsB;IAC1B,GAAG,EAAE;IAEL,MAAMS,oBAAoB;QACtB,IAAI,CAACV,sBACD,OAAO;QAIX,IAAID,KAAK,OAAO,EACZ,OAAO,WAAP,GACI,oBAACY,QAAMA,MAAAA,WAAAA,GAEH,oBAAClB,qBAAmBA;YAChB,SAASgB;YACT,UAAUN,YAAY,OAAO;YAC5B,GAAGJ,IAAI;;QAOxB,O,cAEI,oBAACN,qBAAmBA;YAChB,SAASgB;YACT,UAAUN,YAAY,OAAO;YAC5B,GAAGJ,IAAI;;IAGpB;IAEA,MAAMa,gBAAgB;QAClB,MAAMC,cAAc;YAAE,iBAAiBP;QAAsB;QAE7D,IAAIT,QACA,OAAOA,OAAOgB;QAGlB,OAAO;IACX;IAEA,OAAO,WAAP,GACI,0CACKH,qBACAE;AAGb"}
1
+ {"version":3,"file":"base/ui/FileManager.js","sources":["../../../src/base/ui/FileManager.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { Portal } from \"@webiny/admin-ui\";\nimport { createVoidComponent, makeDecoratable } from \"@webiny/react-composition\";\n\nexport interface FileManagerOnChange<T> {\n (value: T): void;\n}\n\n/**\n * Represents a file object managed by the File Manager.\n */\nexport interface FileManagerFileItem {\n // Required - every DAM must provide these\n id: string;\n src: string;\n name: string;\n type: string; // MIME type\n size: number; // bytes\n // Required for images (apps depend on these for Next.js Image, etc.)\n width?: number;\n height?: number;\n // DAM-specific metadata\n [key: string]: any;\n}\n\nexport type FileManagerRenderPropParams<TValue> = {\n showFileManager: (onChange?: FileManagerOnChange<TValue>) => void;\n};\n\ninterface SingleFileRenderProp {\n (params: FileManagerRenderPropParams<FileManagerFileItem>): React.ReactNode;\n}\n\ninterface MultiFileRenderProp {\n (params: FileManagerRenderPropParams<FileManagerFileItem[]>): React.ReactNode;\n}\n\nexport type MultipleProps =\n | {\n multiple?: never;\n multipleMaxCount?: never;\n multipleMaxSize?: never;\n onChange?: FileManagerOnChange<FileManagerFileItem>;\n render?: SingleFileRenderProp;\n }\n | {\n multiple: true;\n multipleMaxCount?: number;\n multipleMaxSize?: number | string;\n onChange?: FileManagerOnChange<FileManagerFileItem[]>;\n render?: MultiFileRenderProp;\n };\n\nexport type FileManagerProps = {\n accept?: string[];\n images?: boolean;\n maxSize?: number | string;\n onClose?: () => void;\n onUploadCompletion?: (files: FileManagerFileItem[]) => void;\n own?: boolean;\n scope?: string;\n tags?: string[];\n show?: boolean;\n overlay?: boolean;\n} & MultipleProps;\n\n// This jewel was taken from https://davidgomes.com/pick-omit-over-union-types-in-typescript/. Massive thanks, David!\ntype DistributiveOmit<T, K extends keyof T> = T extends unknown ? Omit<T, K> : never;\n\nexport type FileManagerRendererProps = DistributiveOmit<FileManagerProps, \"render\">;\n\nconst FileManagerRenderer = makeDecoratable(\n \"FileManagerRenderer\",\n createVoidComponent<FileManagerRendererProps>()\n);\n\ntype ShowFileManagerProps =\n | FileManagerOnChange<FileManagerFileItem>\n | FileManagerOnChange<FileManagerFileItem[]>\n | undefined;\n\nconst BaseFileManager = ({ render, onChange, ...rest }: FileManagerProps) => {\n const [isFileManagerVisible, setFileManagerVisible] = useState(rest.show);\n const onChangeRef = useRef(onChange);\n\n useEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n\n const handleShowFileManager = useCallback((newOnChange: ShowFileManagerProps) => {\n if (typeof newOnChange === \"function\") {\n onChangeRef.current = newOnChange;\n }\n setFileManagerVisible(true);\n }, []);\n\n const handleCloseFileManager = useCallback(() => {\n setFileManagerVisible(false);\n }, []);\n\n const renderFileManager = () => {\n if (!isFileManagerVisible) {\n return null;\n }\n\n // Render as overlay\n if (rest.overlay) {\n return (\n <Portal>\n {/*@ts-expect-error*/}\n <FileManagerRenderer\n onClose={handleCloseFileManager}\n onChange={onChangeRef.current}\n {...rest}\n />\n </Portal>\n );\n }\n\n // Render inline\n return (\n // @ts-expect-error\n <FileManagerRenderer\n onClose={handleCloseFileManager}\n onChange={onChangeRef.current}\n {...rest}\n />\n );\n };\n\n const renderContent = () => {\n const renderProps = { showFileManager: handleShowFileManager };\n\n if (render) {\n return render(renderProps);\n }\n\n return null;\n };\n\n return (\n <>\n {renderFileManager()}\n {renderContent()}\n </>\n );\n};\n\nexport const FileManager = Object.assign(BaseFileManager, { Renderer: FileManagerRenderer });\n"],"names":["FileManagerRenderer","makeDecoratable","createVoidComponent","BaseFileManager","render","onChange","rest","isFileManagerVisible","setFileManagerVisible","useState","onChangeRef","useRef","useEffect","handleShowFileManager","useCallback","newOnChange","handleCloseFileManager","renderFileManager","Portal","renderContent","renderProps","FileManager","Object"],"mappings":";;;AAuEA,MAAMA,sBAAsBC,gBACxB,uBACAC;AAQJ,MAAMC,kBAAkB,CAAC,EAAEC,MAAM,EAAEC,QAAQ,EAAE,GAAGC,MAAwB;IACpE,MAAM,CAACC,sBAAsBC,sBAAsB,GAAGC,SAASH,KAAK,IAAI;IACxE,MAAMI,cAAcC,OAAON;IAE3BO,UAAU;QACNF,YAAY,OAAO,GAAGL;IAC1B,GAAG;QAACA;KAAS;IAEb,MAAMQ,wBAAwBC,YAAY,CAACC;QACvC,IAAI,AAAuB,cAAvB,OAAOA,aACPL,YAAY,OAAO,GAAGK;QAE1BP,sBAAsB;IAC1B,GAAG,EAAE;IAEL,MAAMQ,yBAAyBF,YAAY;QACvCN,sBAAsB;IAC1B,GAAG,EAAE;IAEL,MAAMS,oBAAoB;QACtB,IAAI,CAACV,sBACD,OAAO;QAIX,IAAID,KAAK,OAAO,EACZ,OAAO,WAAP,GACI,oBAACY,QAAMA,MAAAA,WAAAA,GAEH,oBAAClB,qBAAmBA;YAChB,SAASgB;YACT,UAAUN,YAAY,OAAO;YAC5B,GAAGJ,IAAI;;QAOxB,O,cAEI,oBAACN,qBAAmBA;YAChB,SAASgB;YACT,UAAUN,YAAY,OAAO;YAC5B,GAAGJ,IAAI;;IAGpB;IAEA,MAAMa,gBAAgB;QAClB,MAAMC,cAAc;YAAE,iBAAiBP;QAAsB;QAE7D,IAAIT,QACA,OAAOA,OAAOgB;QAGlB,OAAO;IACX;IAEA,OAAO,WAAP,GACI,0CACKH,qBACAE;AAGb;AAEO,MAAME,cAAcC,OAAO,MAAM,CAACnB,iBAAiB;IAAE,UAAUH;AAAoB"}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const DefaultLexicalEditorConfig: () => React.JSX.Element;
@@ -0,0 +1,81 @@
1
+ import react from "react";
2
+ import { BoldAction, BulletListAction, CodeHighlightAction, CodeHighlightPlugin, Divider, FontColorAction, FontColorPlugin, ImageAction, ImagesPlugin, ItalicAction, LexicalEditorConfig, LinkAction, LinkPlugin, ListPlugin, NumberedListAction, QuoteAction, QuotePlugin, TextAlignmentAction, TypographyAction, TypographyPlugin, UnderlineAction } from "@webiny/lexical-editor";
3
+ import { TypographyDropDown } from "./TypographyDropDown.js";
4
+ const { ToolbarElement: ToolbarElement, Plugin: Plugin } = LexicalEditorConfig;
5
+ const DefaultLexicalEditorConfig = ()=>/*#__PURE__*/ react.createElement(LexicalEditorConfig, {
6
+ priority: "primary"
7
+ }, /*#__PURE__*/ react.createElement(ToolbarElement, {
8
+ name: "fontColor",
9
+ element: /*#__PURE__*/ react.createElement(FontColorAction, null)
10
+ }), /*#__PURE__*/ react.createElement(ToolbarElement, {
11
+ name: "typography",
12
+ element: /*#__PURE__*/ react.createElement(TypographyAction, null)
13
+ }), /*#__PURE__*/ react.createElement(ToolbarElement, {
14
+ name: "textAlignment",
15
+ element: /*#__PURE__*/ react.createElement(TextAlignmentAction, null)
16
+ }), /*#__PURE__*/ react.createElement(ToolbarElement, {
17
+ name: "divider1",
18
+ element: /*#__PURE__*/ react.createElement(Divider, null)
19
+ }), /*#__PURE__*/ react.createElement(ToolbarElement, {
20
+ name: "boldAction",
21
+ element: /*#__PURE__*/ react.createElement(BoldAction, null)
22
+ }), /*#__PURE__*/ react.createElement(ToolbarElement, {
23
+ name: "italic",
24
+ element: /*#__PURE__*/ react.createElement(ItalicAction, null)
25
+ }), /*#__PURE__*/ react.createElement(ToolbarElement, {
26
+ name: "underline",
27
+ element: /*#__PURE__*/ react.createElement(UnderlineAction, null)
28
+ }), /*#__PURE__*/ react.createElement(ToolbarElement, {
29
+ name: "codeHighlight",
30
+ element: /*#__PURE__*/ react.createElement(CodeHighlightAction, null)
31
+ }), /*#__PURE__*/ react.createElement(ToolbarElement, {
32
+ name: "divider2",
33
+ element: /*#__PURE__*/ react.createElement(Divider, null)
34
+ }), /*#__PURE__*/ react.createElement(ToolbarElement, {
35
+ name: "numberedList",
36
+ element: /*#__PURE__*/ react.createElement(NumberedListAction, null)
37
+ }), /*#__PURE__*/ react.createElement(ToolbarElement, {
38
+ name: "bulletList",
39
+ element: /*#__PURE__*/ react.createElement(BulletListAction, null)
40
+ }), /*#__PURE__*/ react.createElement(ToolbarElement, {
41
+ name: "divider",
42
+ element: /*#__PURE__*/ react.createElement(Divider, null)
43
+ }), /*#__PURE__*/ react.createElement(ToolbarElement, {
44
+ name: "image",
45
+ element: /*#__PURE__*/ react.createElement(ImageAction, null)
46
+ }), /*#__PURE__*/ react.createElement(ToolbarElement, {
47
+ name: "divider3",
48
+ element: /*#__PURE__*/ react.createElement(Divider, null)
49
+ }), /*#__PURE__*/ react.createElement(ToolbarElement, {
50
+ name: "link",
51
+ element: /*#__PURE__*/ react.createElement(LinkAction, null)
52
+ }), /*#__PURE__*/ react.createElement(ToolbarElement, {
53
+ name: "quote",
54
+ element: /*#__PURE__*/ react.createElement(QuoteAction, null)
55
+ }), /*#__PURE__*/ react.createElement(Plugin, {
56
+ name: "fontColor",
57
+ element: /*#__PURE__*/ react.createElement(FontColorPlugin, null)
58
+ }), /*#__PURE__*/ react.createElement(Plugin, {
59
+ name: "list",
60
+ element: /*#__PURE__*/ react.createElement(ListPlugin, null)
61
+ }), /*#__PURE__*/ react.createElement(Plugin, {
62
+ name: "codeHighlight",
63
+ element: /*#__PURE__*/ react.createElement(CodeHighlightPlugin, null)
64
+ }), /*#__PURE__*/ react.createElement(Plugin, {
65
+ name: "typography",
66
+ element: /*#__PURE__*/ react.createElement(TypographyPlugin, null)
67
+ }), /*#__PURE__*/ react.createElement(Plugin, {
68
+ name: "link",
69
+ element: /*#__PURE__*/ react.createElement(LinkPlugin, null)
70
+ }), /*#__PURE__*/ react.createElement(Plugin, {
71
+ name: "images",
72
+ element: /*#__PURE__*/ react.createElement(ImagesPlugin, null)
73
+ }), /*#__PURE__*/ react.createElement(Plugin, {
74
+ name: "quote",
75
+ element: /*#__PURE__*/ react.createElement(QuotePlugin, null)
76
+ }), /*#__PURE__*/ react.createElement(TypographyAction.TypographyDropDown, {
77
+ element: /*#__PURE__*/ react.createElement(TypographyDropDown, null)
78
+ }));
79
+ export { DefaultLexicalEditorConfig };
80
+
81
+ //# sourceMappingURL=DefaultLexicalEditorConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components/LexicalEditor/DefaultLexicalEditorConfig.js","sources":["../../../src/components/LexicalEditor/DefaultLexicalEditorConfig.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n TypographyAction,\n LexicalEditorConfig,\n FontColorAction,\n Divider,\n BoldAction,\n ItalicAction,\n UnderlineAction,\n CodeHighlightAction,\n NumberedListAction,\n BulletListAction,\n ImageAction,\n LinkAction,\n QuoteAction,\n ImagesPlugin,\n QuotePlugin,\n CodeHighlightPlugin,\n LinkPlugin,\n ListPlugin,\n TypographyPlugin,\n FontColorPlugin,\n TextAlignmentAction\n} from \"@webiny/lexical-editor\";\nimport { TypographyDropDown } from \"./TypographyDropDown.js\";\n\nconst { ToolbarElement, Plugin } = LexicalEditorConfig;\n\nexport const DefaultLexicalEditorConfig = () => {\n return (\n <LexicalEditorConfig priority={\"primary\"}>\n <ToolbarElement name=\"fontColor\" element={<FontColorAction />} />\n <ToolbarElement name=\"typography\" element={<TypographyAction />} />\n <ToolbarElement name=\"textAlignment\" element={<TextAlignmentAction />} />\n <ToolbarElement name=\"divider1\" element={<Divider />} />\n <ToolbarElement name=\"boldAction\" element={<BoldAction />} />\n <ToolbarElement name=\"italic\" element={<ItalicAction />} />\n <ToolbarElement name=\"underline\" element={<UnderlineAction />} />\n <ToolbarElement name=\"codeHighlight\" element={<CodeHighlightAction />} />\n <ToolbarElement name=\"divider2\" element={<Divider />} />\n <ToolbarElement name=\"numberedList\" element={<NumberedListAction />} />\n <ToolbarElement name=\"bulletList\" element={<BulletListAction />} />\n <ToolbarElement name=\"divider\" element={<Divider />} />\n <ToolbarElement name=\"image\" element={<ImageAction />} />\n <ToolbarElement name=\"divider3\" element={<Divider />} />\n <ToolbarElement name=\"link\" element={<LinkAction />} />\n <ToolbarElement name=\"quote\" element={<QuoteAction />} />\n <Plugin name={\"fontColor\"} element={<FontColorPlugin />} />\n <Plugin name={\"list\"} element={<ListPlugin />} />\n <Plugin name={\"codeHighlight\"} element={<CodeHighlightPlugin />} />\n <Plugin name={\"typography\"} element={<TypographyPlugin />} />\n <Plugin name={\"link\"} element={<LinkPlugin />} />\n <Plugin name={\"images\"} element={<ImagesPlugin />} />\n <Plugin name={\"quote\"} element={<QuotePlugin />} />\n <TypographyAction.TypographyDropDown element={<TypographyDropDown />} />\n </LexicalEditorConfig>\n );\n};\n"],"names":["ToolbarElement","Plugin","LexicalEditorConfig","DefaultLexicalEditorConfig","FontColorAction","TypographyAction","TextAlignmentAction","Divider","BoldAction","ItalicAction","UnderlineAction","CodeHighlightAction","NumberedListAction","BulletListAction","ImageAction","LinkAction","QuoteAction","FontColorPlugin","ListPlugin","CodeHighlightPlugin","TypographyPlugin","LinkPlugin","ImagesPlugin","QuotePlugin","TypographyDropDown"],"mappings":";;;AA0BA,MAAM,EAAEA,gBAAAA,cAAc,EAAEC,QAAAA,MAAM,EAAE,GAAGC;AAE5B,MAAMC,6BAA6B,IAC/B,WAAP,GACI,oBAACD,qBAAmBA;QAAC,UAAU;qBAC3B,oBAACF,gBAAcA;QAAC,MAAK;QAAY,uBAAS,oBAACI,iBAAeA;sBAC1D,oBAACJ,gBAAcA;QAAC,MAAK;QAAa,uBAAS,oBAACK,kBAAgBA;sBAC5D,oBAACL,gBAAcA;QAAC,MAAK;QAAgB,uBAAS,oBAACM,qBAAmBA;sBAClE,oBAACN,gBAAcA;QAAC,MAAK;QAAW,uBAAS,oBAACO,SAAOA;sBACjD,oBAACP,gBAAcA;QAAC,MAAK;QAAa,uBAAS,oBAACQ,YAAUA;sBACtD,oBAACR,gBAAcA;QAAC,MAAK;QAAS,uBAAS,oBAACS,cAAYA;sBACpD,oBAACT,gBAAcA;QAAC,MAAK;QAAY,uBAAS,oBAACU,iBAAeA;sBAC1D,oBAACV,gBAAcA;QAAC,MAAK;QAAgB,uBAAS,oBAACW,qBAAmBA;sBAClE,oBAACX,gBAAcA;QAAC,MAAK;QAAW,uBAAS,oBAACO,SAAOA;sBACjD,oBAACP,gBAAcA;QAAC,MAAK;QAAe,uBAAS,oBAACY,oBAAkBA;sBAChE,oBAACZ,gBAAcA;QAAC,MAAK;QAAa,uBAAS,oBAACa,kBAAgBA;sBAC5D,oBAACb,gBAAcA;QAAC,MAAK;QAAU,uBAAS,oBAACO,SAAOA;sBAChD,oBAACP,gBAAcA;QAAC,MAAK;QAAQ,uBAAS,oBAACc,aAAWA;sBAClD,oBAACd,gBAAcA;QAAC,MAAK;QAAW,uBAAS,oBAACO,SAAOA;sBACjD,oBAACP,gBAAcA;QAAC,MAAK;QAAO,uBAAS,oBAACe,YAAUA;sBAChD,oBAACf,gBAAcA;QAAC,MAAK;QAAQ,uBAAS,oBAACgB,aAAWA;sBAClD,oBAACf,QAAMA;QAAC,MAAM;QAAa,uBAAS,oBAACgB,iBAAeA;sBACpD,oBAAChB,QAAMA;QAAC,MAAM;QAAQ,uBAAS,oBAACiB,YAAUA;sBAC1C,oBAACjB,QAAMA;QAAC,MAAM;QAAiB,uBAAS,oBAACkB,qBAAmBA;sBAC5D,oBAAClB,QAAMA;QAAC,MAAM;QAAc,uBAAS,oBAACmB,kBAAgBA;sBACtD,oBAACnB,QAAMA;QAAC,MAAM;QAAQ,uBAAS,oBAACoB,YAAUA;sBAC1C,oBAACpB,QAAMA;QAAC,MAAM;QAAU,uBAAS,oBAACqB,cAAYA;sBAC9C,oBAACrB,QAAMA;QAAC,MAAM;QAAS,uBAAS,oBAACsB,aAAWA;sBAC5C,oBAAClB,iBAAiB,kBAAkB;QAAC,uBAAS,oBAACmB,oBAAkBA"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ export type TypographyStyle = {
3
+ id: string;
4
+ label: string;
5
+ tag: string;
6
+ className: string;
7
+ };
8
+ export declare const TypographyDropDown: () => React.JSX.Element;
@@ -0,0 +1,60 @@
1
+ import react, { useEffect, useState } from "react";
2
+ import { $getNearestNodeOfType } from "@lexical/utils";
3
+ import { DropDown, DropDownItem, useCurrentElement, useCurrentSelection, useTypographyAction } from "@webiny/lexical-editor";
4
+ import { $isHeadingNode, $isListNode, $isParagraphNode, $isQuoteNode, ListNode } from "@webiny/lexical-nodes";
5
+ import { useAdminConfig } from "../../config/AdminConfig.js";
6
+ const TypographyDropDown = ()=>{
7
+ const { value, applyTypography } = useTypographyAction();
8
+ const { lexicalTheme } = useAdminConfig();
9
+ const [styles, setStyles] = useState([]);
10
+ const { element } = useCurrentElement();
11
+ const { rangeSelection } = useCurrentSelection();
12
+ const getAllTextStyles = ()=>{
13
+ const headingsStyles = lexicalTheme.typography.headings || [];
14
+ const paragraphStyles = lexicalTheme.typography.paragraphs || [];
15
+ return [
16
+ ...headingsStyles,
17
+ ...paragraphStyles
18
+ ];
19
+ };
20
+ const getListStyles = (tag)=>{
21
+ const listStyles = lexicalTheme.typography.lists?.filter((x)=>x.tag === tag) || [];
22
+ if (listStyles.length > 0) return listStyles;
23
+ const fallbackTag = "ul" === tag ? "ol" : "ul";
24
+ return lexicalTheme.typography.lists?.filter((x)=>x.tag === fallbackTag) || [];
25
+ };
26
+ useEffect(()=>{
27
+ if (!element || !rangeSelection) return;
28
+ if ($isParagraphNode(element) || $isHeadingNode(element)) setStyles(getAllTextStyles());
29
+ else if ($isListNode(element)) {
30
+ let type;
31
+ try {
32
+ const anchorNode = rangeSelection.anchor.getNode();
33
+ const parentList = $getNearestNodeOfType(anchorNode, ListNode);
34
+ if (parentList) type = parentList.getListType();
35
+ } catch {
36
+ type = element.getListType();
37
+ }
38
+ "bullet" === type ? setStyles(getListStyles("ul")) : setStyles(getListStyles("ol"));
39
+ } else $isQuoteNode(element) ? setStyles(lexicalTheme.typography.quotes || []) : setStyles([]);
40
+ }, [
41
+ element
42
+ ]);
43
+ return /*#__PURE__*/ react.createElement(react.Fragment, null, styles?.length ? /*#__PURE__*/ react.createElement(DropDown, {
44
+ buttonClassName: "toolbar-item typography-dropdown",
45
+ buttonAriaLabel: "Typography formatting options",
46
+ buttonLabel: value?.label || "Typography",
47
+ stopCloseOnClickSelf: true,
48
+ disabled: false,
49
+ showScroll: true
50
+ }, styles?.map((option)=>/*#__PURE__*/ react.createElement(DropDownItem, {
51
+ className: `item typography-item ${value?.id === option.id ? "active dropdown-item-active" : ""}`,
52
+ onClick: ()=>applyTypography(option),
53
+ key: option.id
54
+ }, /*#__PURE__*/ react.createElement("span", {
55
+ className: "text"
56
+ }, option.label)))) : null);
57
+ };
58
+ export { TypographyDropDown };
59
+
60
+ //# sourceMappingURL=TypographyDropDown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components/LexicalEditor/TypographyDropDown.js","sources":["../../../src/components/LexicalEditor/TypographyDropDown.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { $getNearestNodeOfType } from \"@lexical/utils\";\nimport {\n DropDown,\n DropDownItem,\n useCurrentSelection,\n useCurrentElement,\n useTypographyAction\n} from \"@webiny/lexical-editor\";\nimport {\n $isHeadingNode,\n $isParagraphNode,\n $isQuoteNode,\n $isListNode,\n ListNode\n} from \"@webiny/lexical-nodes\";\nimport { useAdminConfig } from \"~/config/AdminConfig.js\";\n\nexport type TypographyStyle = {\n id: string;\n label: string;\n tag: string;\n className: string;\n};\n\nexport const TypographyDropDown = () => {\n const { value, applyTypography } = useTypographyAction();\n const { lexicalTheme } = useAdminConfig();\n\n const [styles, setStyles] = useState<TypographyStyle[]>([]);\n const { element } = useCurrentElement();\n const { rangeSelection } = useCurrentSelection();\n\n const getAllTextStyles = (): TypographyStyle[] => {\n const headingsStyles = lexicalTheme.typography.headings || [];\n const paragraphStyles = lexicalTheme.typography.paragraphs || [];\n\n return [...headingsStyles, ...paragraphStyles];\n };\n\n const getListStyles = (tag: string): TypographyStyle[] => {\n const listStyles = lexicalTheme.typography.lists?.filter(x => x.tag === tag) || [];\n if (listStyles.length > 0) {\n return listStyles;\n }\n\n const fallbackTag = tag === \"ul\" ? \"ol\" : \"ul\";\n return lexicalTheme.typography.lists?.filter(x => x.tag === fallbackTag) || [];\n };\n\n useEffect(() => {\n if (!element || !rangeSelection) {\n return;\n }\n\n if ($isParagraphNode(element) || $isHeadingNode(element)) {\n setStyles(getAllTextStyles());\n } else if ($isListNode(element)) {\n let type;\n try {\n const anchorNode = rangeSelection.anchor.getNode();\n const parentList = $getNearestNodeOfType<ListNode>(anchorNode, ListNode);\n if (parentList) {\n type = parentList.getListType();\n }\n } catch {\n type = element.getListType();\n }\n\n if (type === \"bullet\") {\n setStyles(getListStyles(\"ul\"));\n } else {\n setStyles(getListStyles(\"ol\"));\n }\n } else if ($isQuoteNode(element)) {\n setStyles(lexicalTheme.typography.quotes || []);\n } else {\n setStyles([]);\n }\n }, [element]);\n\n return (\n <>\n {!!styles?.length ? (\n <DropDown\n buttonClassName=\"toolbar-item typography-dropdown\"\n buttonAriaLabel={\"Typography formatting options\"}\n buttonLabel={value?.label || \"Typography\"}\n stopCloseOnClickSelf={true}\n disabled={false}\n showScroll={true}\n >\n {styles?.map(option => (\n <DropDownItem\n className={`item typography-item ${\n value?.id === option.id ? \"active dropdown-item-active\" : \"\"\n }`}\n onClick={() => applyTypography(option)}\n key={option.id}\n >\n <span className=\"text\">{option.label}</span>\n </DropDownItem>\n ))}\n </DropDown>\n ) : null}\n </>\n );\n};\n"],"names":["TypographyDropDown","value","applyTypography","useTypographyAction","lexicalTheme","useAdminConfig","styles","setStyles","useState","element","useCurrentElement","rangeSelection","useCurrentSelection","getAllTextStyles","headingsStyles","paragraphStyles","getListStyles","tag","listStyles","x","fallbackTag","useEffect","$isParagraphNode","$isHeadingNode","$isListNode","type","anchorNode","parentList","$getNearestNodeOfType","ListNode","$isQuoteNode","DropDown","option","DropDownItem"],"mappings":";;;;;AAyBO,MAAMA,qBAAqB;IAC9B,MAAM,EAAEC,KAAK,EAAEC,eAAe,EAAE,GAAGC;IACnC,MAAM,EAAEC,YAAY,EAAE,GAAGC;IAEzB,MAAM,CAACC,QAAQC,UAAU,GAAGC,SAA4B,EAAE;IAC1D,MAAM,EAAEC,OAAO,EAAE,GAAGC;IACpB,MAAM,EAAEC,cAAc,EAAE,GAAGC;IAE3B,MAAMC,mBAAmB;QACrB,MAAMC,iBAAiBV,aAAa,UAAU,CAAC,QAAQ,IAAI,EAAE;QAC7D,MAAMW,kBAAkBX,aAAa,UAAU,CAAC,UAAU,IAAI,EAAE;QAEhE,OAAO;eAAIU;eAAmBC;SAAgB;IAClD;IAEA,MAAMC,gBAAgB,CAACC;QACnB,MAAMC,aAAad,aAAa,UAAU,CAAC,KAAK,EAAE,OAAOe,CAAAA,IAAKA,EAAE,GAAG,KAAKF,QAAQ,EAAE;QAClF,IAAIC,WAAW,MAAM,GAAG,GACpB,OAAOA;QAGX,MAAME,cAAcH,AAAQ,SAARA,MAAe,OAAO;QAC1C,OAAOb,aAAa,UAAU,CAAC,KAAK,EAAE,OAAOe,CAAAA,IAAKA,EAAE,GAAG,KAAKC,gBAAgB,EAAE;IAClF;IAEAC,UAAU;QACN,IAAI,CAACZ,WAAW,CAACE,gBACb;QAGJ,IAAIW,iBAAiBb,YAAYc,eAAed,UAC5CF,UAAUM;aACP,IAAIW,YAAYf,UAAU;YAC7B,IAAIgB;YACJ,IAAI;gBACA,MAAMC,aAAaf,eAAe,MAAM,CAAC,OAAO;gBAChD,MAAMgB,aAAaC,sBAAgCF,YAAYG;gBAC/D,IAAIF,YACAF,OAAOE,WAAW,WAAW;YAErC,EAAE,OAAM;gBACJF,OAAOhB,QAAQ,WAAW;YAC9B;YAEa,aAATgB,OACAlB,UAAUS,cAAc,SAExBT,UAAUS,cAAc;QAEhC,OAAWc,aAAarB,WACpBF,UAAUH,aAAa,UAAU,CAAC,MAAM,IAAI,EAAE,IAE9CG,UAAU,EAAE;IAEpB,GAAG;QAACE;KAAQ;IAEZ,OAAO,WAAP,GACI,0CACK,AAAEH,QAAQ,SAAS,WAAT,GACP,oBAACyB,UAAQA;QACL,iBAAgB;QAChB,iBAAiB;QACjB,aAAa9B,OAAO,SAAS;QAC7B,sBAAsB;QACtB,UAAU;QACV,YAAY;OAEXK,QAAQ,IAAI0B,CAAAA,SAAAA,WAAAA,GACT,oBAACC,cAAYA;YACT,WAAW,CAAC,qBAAqB,EAC7BhC,OAAO,OAAO+B,OAAO,EAAE,GAAG,gCAAgC,IAC5D;YACF,SAAS,IAAM9B,gBAAgB8B;YAC/B,KAAKA,OAAO,EAAE;yBAEd,oBAAC;YAAK,WAAU;WAAQA,OAAO,KAAK,OAIhD;AAGhB"}
@@ -39,5 +39,6 @@ declare const MenuItem: ((props: SidebarMenuItemButtonProps) => React.JSX.Elemen
39
39
  displayName: string;
40
40
  }>) => (props: unknown) => React.JSX.Element;
41
41
  };
42
+ Badge: ({ text }: import("@webiny/admin-ui/Sidebar/components/items/SidebarMenuItemBadge").SidebarMenuItemBadgeProps) => React.JSX.Element;
42
43
  };
43
44
  export { MenuItem };
@@ -5,7 +5,8 @@ const MenuLinkBase = (props)=>/*#__PURE__*/ react.createElement(Sidebar.Item, pr
5
5
  const DecoratableMenuItem = makeDecoratable("MenuItem", MenuLinkBase);
6
6
  const MenuItem = Object.assign(DecoratableMenuItem, {
7
7
  Action: Sidebar.Item.Action,
8
- Icon: Sidebar.Item.Icon
8
+ Icon: Sidebar.Item.Icon,
9
+ Badge: Sidebar.Item.Badge
9
10
  });
10
11
  export { MenuItem };
11
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"config/AdminConfig/Menu/MenuItem.js","sources":["../../../../src/config/AdminConfig/Menu/MenuItem.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\nimport { Sidebar } from \"@webiny/admin-ui\";\nimport { type SidebarMenuItemButtonProps } from \"@webiny/admin-ui/Sidebar/components/items/SidebarMenuItem.js\";\n\nconst MenuLinkBase = (props: SidebarMenuItemButtonProps) => {\n return <Sidebar.Item {...props} />;\n};\n\nconst DecoratableMenuItem = makeDecoratable(\"MenuItem\", MenuLinkBase);\n\nconst MenuItem = Object.assign(DecoratableMenuItem, {\n Action: Sidebar.Item.Action,\n Icon: Sidebar.Item.Icon\n});\n\nexport { MenuItem };\n"],"names":["MenuLinkBase","props","Sidebar","DecoratableMenuItem","makeDecoratable","MenuItem","Object"],"mappings":";;;AAKA,MAAMA,eAAe,CAACC,QACX,WAAP,GAAO,oBAACC,QAAQ,IAAI,EAAKD;AAG7B,MAAME,sBAAsBC,gBAAgB,YAAYJ;AAExD,MAAMK,WAAWC,OAAO,MAAM,CAACH,qBAAqB;IAChD,QAAQD,QAAQ,IAAI,CAAC,MAAM;IAC3B,MAAMA,QAAQ,IAAI,CAAC,IAAI;AAC3B"}
1
+ {"version":3,"file":"config/AdminConfig/Menu/MenuItem.js","sources":["../../../../src/config/AdminConfig/Menu/MenuItem.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\nimport { Sidebar } from \"@webiny/admin-ui\";\nimport { type SidebarMenuItemButtonProps } from \"@webiny/admin-ui/Sidebar/components/items/SidebarMenuItem.js\";\n\nconst MenuLinkBase = (props: SidebarMenuItemButtonProps) => {\n return <Sidebar.Item {...props} />;\n};\n\nconst DecoratableMenuItem = makeDecoratable(\"MenuItem\", MenuLinkBase);\n\nconst MenuItem = Object.assign(DecoratableMenuItem, {\n Action: Sidebar.Item.Action,\n Icon: Sidebar.Item.Icon,\n Badge: Sidebar.Item.Badge\n});\n\nexport { MenuItem };\n"],"names":["MenuLinkBase","props","Sidebar","DecoratableMenuItem","makeDecoratable","MenuItem","Object"],"mappings":";;;AAKA,MAAMA,eAAe,CAACC,QACX,WAAP,GAAO,oBAACC,QAAQ,IAAI,EAAKD;AAG7B,MAAME,sBAAsBC,gBAAgB,YAAYJ;AAExD,MAAMK,WAAWC,OAAO,MAAM,CAACH,qBAAqB;IAChD,QAAQD,QAAQ,IAAI,CAAC,MAAM;IAC3B,MAAMA,QAAQ,IAAI,CAAC,IAAI;IACvB,OAAOA,QAAQ,IAAI,CAAC,KAAK;AAC7B"}
@@ -39,5 +39,6 @@ declare const MenuLink: ((props: SidebarMenuItemLinkProps) => React.JSX.Element
39
39
  displayName: string;
40
40
  }>) => (props: unknown) => React.JSX.Element;
41
41
  };
42
+ Badge: ({ text }: import("@webiny/admin-ui/Sidebar/components/items/SidebarMenuItemBadge").SidebarMenuItemBadgeProps) => React.JSX.Element;
42
43
  };
43
44
  export { MenuLink };
@@ -14,7 +14,8 @@ const MenuLinkBase = (props)=>{
14
14
  const DecoratableMenuLink = makeDecoratable("MenuLink", MenuLinkBase);
15
15
  const MenuLink = Object.assign(DecoratableMenuLink, {
16
16
  Action: Sidebar.Link.Action,
17
- Icon: Sidebar.Link.Icon
17
+ Icon: Sidebar.Link.Icon,
18
+ Badge: Sidebar.Link.Badge
18
19
  });
19
20
  export { MenuLink };
20
21
 
@@ -1 +1 @@
1
- {"version":3,"file":"config/AdminConfig/Menu/MenuLink.js","sources":["../../../../src/config/AdminConfig/Menu/MenuLink.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\nimport { Sidebar } from \"@webiny/admin-ui\";\nimport { type SidebarMenuItemLinkProps } from \"@webiny/admin-ui/Sidebar/components/items/SidebarMenuLink.js\";\nimport { useRoute } from \"@webiny/app\";\n\nconst MenuLinkBase = (props: SidebarMenuItemLinkProps) => {\n const { route } = useRoute();\n\n if (!route) {\n return null;\n }\n\n const active = route.pathname === props.to.split(\"?\")[0];\n\n return <Sidebar.Link {...props} active={active} />;\n};\n\nconst DecoratableMenuLink = makeDecoratable(\"MenuLink\", MenuLinkBase);\n\nconst MenuLink = Object.assign(DecoratableMenuLink, {\n Action: Sidebar.Link.Action,\n Icon: Sidebar.Link.Icon\n});\n\nexport { MenuLink };\n"],"names":["MenuLinkBase","props","route","useRoute","active","Sidebar","DecoratableMenuLink","makeDecoratable","MenuLink","Object"],"mappings":";;;;AAMA,MAAMA,eAAe,CAACC;IAClB,MAAM,EAAEC,KAAK,EAAE,GAAGC;IAElB,IAAI,CAACD,OACD,OAAO;IAGX,MAAME,SAASF,MAAM,QAAQ,KAAKD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;IAExD,OAAO,WAAP,GAAO,oBAACI,QAAQ,IAAI;QAAE,GAAGJ,KAAK;QAAE,QAAQG;;AAC5C;AAEA,MAAME,sBAAsBC,gBAAgB,YAAYP;AAExD,MAAMQ,WAAWC,OAAO,MAAM,CAACH,qBAAqB;IAChD,QAAQD,QAAQ,IAAI,CAAC,MAAM;IAC3B,MAAMA,QAAQ,IAAI,CAAC,IAAI;AAC3B"}
1
+ {"version":3,"file":"config/AdminConfig/Menu/MenuLink.js","sources":["../../../../src/config/AdminConfig/Menu/MenuLink.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\nimport { Sidebar } from \"@webiny/admin-ui\";\nimport { type SidebarMenuItemLinkProps } from \"@webiny/admin-ui/Sidebar/components/items/SidebarMenuLink.js\";\nimport { useRoute } from \"@webiny/app\";\n\nconst MenuLinkBase = (props: SidebarMenuItemLinkProps) => {\n const { route } = useRoute();\n\n if (!route) {\n return null;\n }\n\n const active = route.pathname === props.to.split(\"?\")[0];\n\n return <Sidebar.Link {...props} active={active} />;\n};\n\nconst DecoratableMenuLink = makeDecoratable(\"MenuLink\", MenuLinkBase);\n\nconst MenuLink = Object.assign(DecoratableMenuLink, {\n Action: Sidebar.Link.Action,\n Icon: Sidebar.Link.Icon,\n Badge: Sidebar.Link.Badge\n});\n\nexport { MenuLink };\n"],"names":["MenuLinkBase","props","route","useRoute","active","Sidebar","DecoratableMenuLink","makeDecoratable","MenuLink","Object"],"mappings":";;;;AAMA,MAAMA,eAAe,CAACC;IAClB,MAAM,EAAEC,KAAK,EAAE,GAAGC;IAElB,IAAI,CAACD,OACD,OAAO;IAGX,MAAME,SAASF,MAAM,QAAQ,KAAKD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;IAExD,OAAO,WAAP,GAAO,oBAACI,QAAQ,IAAI;QAAE,GAAGJ,KAAK;QAAE,QAAQG;;AAC5C;AAEA,MAAME,sBAAsBC,gBAAgB,YAAYP;AAExD,MAAMQ,WAAWC,OAAO,MAAM,CAACH,qBAAqB;IAChD,QAAQD,QAAQ,IAAI,CAAC,MAAM;IAC3B,MAAMA,QAAQ,IAAI,CAAC,IAAI;IACvB,OAAOA,QAAQ,IAAI,CAAC,KAAK;AAC7B"}
@@ -70,6 +70,7 @@ export declare const Menu: (({ name, parent, hideIfEmpty, tags, element, remove,
70
70
  displayName: string;
71
71
  }>) => (props: unknown) => React.JSX.Element;
72
72
  };
73
+ Badge: ({ text }: import("@webiny/admin-ui/Sidebar/components/items/SidebarMenuItemBadge.js").SidebarMenuItemBadgeProps) => React.JSX.Element;
73
74
  };
74
75
  Link: ((props: import("@webiny/admin-ui/Sidebar/components/items/SidebarMenuItem.js").SidebarMenuItemLinkProps) => React.JSX.Element | null) & {
75
76
  original: (props: import("@webiny/admin-ui/Sidebar/components/items/SidebarMenuItem.js").SidebarMenuItemLinkProps) => React.JSX.Element | null;
@@ -110,6 +111,7 @@ export declare const Menu: (({ name, parent, hideIfEmpty, tags, element, remove,
110
111
  displayName: string;
111
112
  }>) => (props: unknown) => React.JSX.Element;
112
113
  };
114
+ Badge: ({ text }: import("@webiny/admin-ui/Sidebar/components/items/SidebarMenuItemBadge.js").SidebarMenuItemBadgeProps) => React.JSX.Element;
113
115
  };
114
116
  Group: ((props: import("@webiny/admin-ui/Sidebar/components/items/SidebarMenuItem.js").SidebarMenuItemGroupProps) => React.JSX.Element) & {
115
117
  original: (props: import("@webiny/admin-ui/Sidebar/components/items/SidebarMenuItem.js").SidebarMenuItemGroupProps) => React.JSX.Element;
@@ -102,6 +102,7 @@ export declare const AdminConfig: (({ children }: PrivateProps) => React.JSX.Ele
102
102
  displayName: string;
103
103
  }>) => (props: unknown) => React.JSX.Element;
104
104
  };
105
+ Badge: ({ text }: import("@webiny/admin-ui/Sidebar/components/items/SidebarMenuItemBadge.js").SidebarMenuItemBadgeProps) => React.JSX.Element;
105
106
  };
106
107
  Link: ((props: import("@webiny/admin-ui/Sidebar/components/items/SidebarMenuItem.js").SidebarMenuItemLinkProps) => React.JSX.Element | null) & {
107
108
  original: (props: import("@webiny/admin-ui/Sidebar/components/items/SidebarMenuItem.js").SidebarMenuItemLinkProps) => React.JSX.Element | null;
@@ -142,6 +143,7 @@ export declare const AdminConfig: (({ children }: PrivateProps) => React.JSX.Ele
142
143
  displayName: string;
143
144
  }>) => (props: unknown) => React.JSX.Element;
144
145
  };
146
+ Badge: ({ text }: import("@webiny/admin-ui/Sidebar/components/items/SidebarMenuItemBadge.js").SidebarMenuItemBadgeProps) => React.JSX.Element;
145
147
  };
146
148
  Group: ((props: import("@webiny/admin-ui/Sidebar/components/items/SidebarMenuItem.js").SidebarMenuItemGroupProps) => React.JSX.Element) & {
147
149
  original: (props: import("@webiny/admin-ui/Sidebar/components/items/SidebarMenuItem.js").SidebarMenuItemGroupProps) => React.JSX.Element;
@@ -27,6 +27,7 @@ const useAdminConfig = ()=>{
27
27
  const lexicalTheme = {
28
28
  colors: baseConfig.lexicalTheme?.colors,
29
29
  typography: baseConfig.lexicalTheme?.typography || {},
30
+ fontSizes: [],
30
31
  tokens: lexicalTokens
31
32
  };
32
33
  return {