@webiny/app-admin 0.0.0-mt-2 → 0.0.0-unstable.5e7233243f
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.
- package/assets/icons/slack-logo.svg +1 -1
- package/base/Admin.d.ts +7 -0
- package/base/Admin.js +55 -0
- package/base/Admin.js.map +1 -0
- package/base/Base.d.ts +2 -0
- package/base/Base.js +110 -0
- package/base/Base.js.map +1 -0
- package/base/plugins/AddGraphQLQuerySelection.d.ts +9 -0
- package/base/plugins/AddGraphQLQuerySelection.js +31 -0
- package/base/plugins/AddGraphQLQuerySelection.js.map +1 -0
- package/base/providers/ApolloProvider.d.ts +10 -0
- package/base/providers/ApolloProvider.js +26 -0
- package/base/providers/ApolloProvider.js.map +1 -0
- package/base/providers/TelemetryProvider.d.ts +2 -0
- package/base/providers/TelemetryProvider.js +37 -0
- package/base/providers/TelemetryProvider.js.map +1 -0
- package/base/providers/UiStateProvider.d.ts +2 -0
- package/base/providers/UiStateProvider.js +23 -0
- package/base/providers/UiStateProvider.js.map +1 -0
- package/base/providers/ViewCompositionProvider.d.ts +17 -0
- package/base/providers/ViewCompositionProvider.js +70 -0
- package/base/providers/ViewCompositionProvider.js.map +1 -0
- package/base/ui/Brand.d.ts +2 -0
- package/base/ui/Brand.js +19 -0
- package/base/ui/Brand.js.map +1 -0
- package/base/ui/CenteredView.d.ts +4 -0
- package/base/ui/CenteredView.js +40 -0
- package/base/ui/CenteredView.js.map +1 -0
- package/base/ui/Dashboard.d.ts +2 -0
- package/base/ui/Dashboard.js +19 -0
- package/base/ui/Dashboard.js.map +1 -0
- package/base/ui/Layout.d.ts +7 -0
- package/base/ui/Layout.js +24 -0
- package/base/ui/Layout.js.map +1 -0
- package/base/ui/LocaleSelector.d.ts +2 -0
- package/base/ui/LocaleSelector.js +19 -0
- package/base/ui/LocaleSelector.js.map +1 -0
- package/base/ui/LoginScreen.d.ts +6 -0
- package/base/ui/LoginScreen.js +27 -0
- package/base/ui/LoginScreen.js.map +1 -0
- package/base/ui/Logo.d.ts +8 -0
- package/base/ui/Logo.js +36 -0
- package/base/ui/Logo.js.map +1 -0
- package/base/ui/Menu.d.ts +31 -0
- package/base/ui/Menu.js +166 -0
- package/base/ui/Menu.js.map +1 -0
- package/base/ui/Navigation.d.ts +24 -0
- package/base/ui/Navigation.js +184 -0
- package/base/ui/Navigation.js.map +1 -0
- package/base/ui/NotFound.d.ts +2 -0
- package/base/ui/NotFound.js +19 -0
- package/base/ui/NotFound.js.map +1 -0
- package/base/ui/Search.d.ts +19 -0
- package/base/ui/Search.js +81 -0
- package/base/ui/Search.js.map +1 -0
- package/base/ui/Tags.d.ts +10 -0
- package/base/ui/Tags.js +29 -0
- package/base/ui/Tags.js.map +1 -0
- package/base/ui/UserMenu.d.ts +30 -0
- package/base/ui/UserMenu.js +137 -0
- package/base/ui/UserMenu.js.map +1 -0
- package/components/AdminLayout.d.ts +1 -2
- package/components/AdminLayout.js +16 -29
- package/components/AdminLayout.js.map +1 -0
- package/components/AppInstaller/AppInstaller.d.ts +7 -0
- package/components/AppInstaller/AppInstaller.js +183 -0
- package/components/AppInstaller/AppInstaller.js.map +1 -0
- package/components/AppInstaller/Sidebar.d.ts +8 -6
- package/components/AppInstaller/Sidebar.js +66 -46
- package/components/AppInstaller/Sidebar.js.map +1 -0
- package/components/AppInstaller/index.d.ts +1 -4
- package/components/AppInstaller/index.js +20 -125
- package/components/AppInstaller/index.js.map +1 -0
- package/components/AppInstaller/styled.d.ts +6 -4
- package/components/AppInstaller/styled.js +31 -13
- package/components/AppInstaller/styled.js.map +1 -0
- package/components/AppInstaller/useInstaller.d.ts +29 -9
- package/components/AppInstaller/useInstaller.js +112 -70
- package/components/AppInstaller/useInstaller.js.map +1 -0
- package/components/EmptyView.d.ts +5 -5
- package/components/EmptyView.js +25 -11
- package/components/EmptyView.js.map +1 -0
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.d.ts +5 -4
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +30 -10
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +1 -0
- package/components/FileManager/BottomInfoBar/UploadStatus.d.ts +5 -4
- package/components/FileManager/BottomInfoBar/UploadStatus.js +21 -8
- package/components/FileManager/BottomInfoBar/UploadStatus.js.map +1 -0
- package/components/FileManager/BottomInfoBar.d.ts +4 -2
- package/components/FileManager/BottomInfoBar.js +29 -11
- package/components/FileManager/BottomInfoBar.js.map +1 -0
- package/components/FileManager/DropFilesHere.d.ts +5 -3
- package/components/FileManager/DropFilesHere.js +31 -13
- package/components/FileManager/DropFilesHere.js.map +1 -0
- package/components/FileManager/File.d.ts +8 -9
- package/components/FileManager/File.js +53 -27
- package/components/FileManager/File.js.map +1 -0
- package/components/FileManager/FileDetails/Name.d.ts +7 -5
- package/components/FileManager/FileDetails/Name.js +63 -38
- package/components/FileManager/FileDetails/Name.js.map +1 -0
- package/components/FileManager/FileDetails/Tags.d.ts +9 -5
- package/components/FileManager/FileDetails/Tags.js +183 -85
- package/components/FileManager/FileDetails/Tags.js.map +1 -0
- package/components/FileManager/FileDetails.d.ts +9 -8
- package/components/FileManager/FileDetails.js +226 -144
- package/components/FileManager/FileDetails.js.map +1 -0
- package/components/FileManager/FileManagerContext.d.ts +28 -9
- package/components/FileManager/FileManagerContext.js +76 -26
- package/components/FileManager/FileManagerContext.js.map +1 -0
- package/components/FileManager/FileManagerView.d.ts +12 -17
- package/components/FileManager/FileManagerView.js +291 -195
- package/components/FileManager/FileManagerView.js.map +1 -0
- package/components/FileManager/LeftSidebar.d.ts +7 -5
- package/components/FileManager/LeftSidebar.js +63 -31
- package/components/FileManager/LeftSidebar.js.map +1 -0
- package/components/FileManager/NoPermissionView.d.ts +2 -2
- package/components/FileManager/NoPermissionView.js +35 -18
- package/components/FileManager/NoPermissionView.js.map +1 -0
- package/components/FileManager/NoResults.d.ts +3 -2
- package/components/FileManager/NoResults.js +22 -7
- package/components/FileManager/NoResults.js.map +1 -0
- package/components/FileManager/getFileTypePlugin.d.ts +4 -1
- package/components/FileManager/getFileTypePlugin.js +48 -18
- package/components/FileManager/getFileTypePlugin.js.map +1 -0
- package/components/FileManager/getFileUploader.d.ts +2 -1
- package/components/FileManager/getFileUploader.js +14 -4
- package/components/FileManager/getFileUploader.js.map +1 -0
- package/components/FileManager/graphql.d.ts +90 -0
- package/components/FileManager/graphql.js +49 -8
- package/components/FileManager/graphql.js.map +1 -0
- package/components/FileManager/outputFileSelectionError.d.ts +7 -2
- package/components/FileManager/outputFileSelectionError.js +19 -4
- package/components/FileManager/outputFileSelectionError.js.map +1 -0
- package/components/FileManager/types.d.ts +21 -0
- package/components/FileManager/types.js +5 -0
- package/components/FileManager/types.js.map +1 -0
- package/components/FileManager.d.ts +63 -14
- package/components/FileManager.js +119 -108
- package/components/FileManager.js.map +1 -0
- package/components/FloatingActionButton.d.ts +2 -2
- package/components/FloatingActionButton.js +18 -6
- package/components/FloatingActionButton.js.map +1 -0
- package/components/MultiImageUpload.d.ts +13 -4
- package/components/MultiImageUpload.js +33 -10
- package/components/MultiImageUpload.js.map +1 -0
- package/components/OverlayLayout/OverlayLayout.d.ts +11 -13
- package/components/OverlayLayout/OverlayLayout.js +68 -43
- package/components/OverlayLayout/OverlayLayout.js.map +1 -0
- package/components/OverlayLayout/index.d.ts +1 -1
- package/components/OverlayLayout/index.js +18 -1
- package/components/OverlayLayout/index.js.map +1 -0
- package/components/Permissions/Permissions.d.ts +4 -4
- package/components/Permissions/Permissions.js +28 -11
- package/components/Permissions/Permissions.js.map +1 -0
- package/components/Permissions/StyledComponents.d.ts +6 -4
- package/components/Permissions/StyledComponents.js +26 -9
- package/components/Permissions/StyledComponents.js.map +1 -0
- package/components/Permissions/index.js +30 -2
- package/components/Permissions/index.js.map +1 -0
- package/components/RichTextEditor/RichTextEditor.d.ts +2 -2
- package/components/RichTextEditor/RichTextEditor.js +24 -9
- package/components/RichTextEditor/RichTextEditor.js.map +1 -0
- package/components/RichTextEditor/index.js +21 -2
- package/components/RichTextEditor/index.js.map +1 -0
- package/components/RichTextEditor/styles.scss +39 -7
- package/components/RichTextEditor/tools/header/index.d.ts +35 -34
- package/components/RichTextEditor/tools/header/index.js +39 -39
- package/components/RichTextEditor/tools/header/index.js.map +1 -0
- package/components/RichTextEditor/tools/image/index.d.ts +40 -13
- package/components/RichTextEditor/tools/image/index.js +38 -30
- package/components/RichTextEditor/tools/image/index.js.map +1 -0
- package/components/RichTextEditor/tools/image/svgs.js +9 -2
- package/components/RichTextEditor/tools/image/svgs.js.map +1 -0
- package/components/RichTextEditor/tools/image/tunes.d.ts +14 -15
- package/components/RichTextEditor/tools/image/tunes.js +38 -26
- package/components/RichTextEditor/tools/image/tunes.js.map +1 -0
- package/components/RichTextEditor/tools/image/types.d.ts +29 -0
- package/components/RichTextEditor/tools/image/types.js +5 -0
- package/components/RichTextEditor/tools/image/types.js.map +1 -0
- package/components/RichTextEditor/tools/image/ui.d.ts +38 -27
- package/components/RichTextEditor/tools/image/ui.js +55 -35
- package/components/RichTextEditor/tools/image/ui.js.map +1 -0
- package/components/RichTextEditor/tools/paragraph/index.d.ts +34 -36
- package/components/RichTextEditor/tools/paragraph/index.js +57 -63
- package/components/RichTextEditor/tools/paragraph/index.js.map +1 -0
- package/components/RichTextEditor/tools/textColor/index.d.ts +33 -27
- package/components/RichTextEditor/tools/textColor/index.js +75 -36
- package/components/RichTextEditor/tools/textColor/index.js.map +1 -0
- package/components/RichTextEditor/tools/utils.js +14 -5
- package/components/RichTextEditor/tools/utils.js.map +1 -0
- package/components/Routes.d.ts +6 -0
- package/components/Routes.js +49 -0
- package/components/Routes.js.map +1 -0
- package/components/SearchUI.d.ts +4 -4
- package/components/SearchUI.js +23 -9
- package/components/SearchUI.js.map +1 -0
- package/components/SimpleForm/SimpleForm.d.ts +11 -11
- package/components/SimpleForm/SimpleForm.js +60 -29
- package/components/SimpleForm/SimpleForm.js.map +1 -0
- package/components/SimpleForm/index.js +31 -1
- package/components/SimpleForm/index.js.map +1 -0
- package/components/SimpleUI/InputField.d.ts +4 -3
- package/components/SimpleUI/InputField.js +56 -37
- package/components/SimpleUI/InputField.js.map +1 -0
- package/components/SingleImageUpload.d.ts +43 -13
- package/components/SingleImageUpload.js +88 -76
- package/components/SingleImageUpload.js.map +1 -0
- package/components/SplitView/SplitView.d.ts +6 -5
- package/components/SplitView/SplitView.js +45 -26
- package/components/SplitView/SplitView.js.map +1 -0
- package/components/SplitView/index.js +25 -1
- package/components/SplitView/index.js.map +1 -0
- package/components/index.js +13 -1
- package/components/index.js.map +1 -0
- package/hooks/useConfirmationDialog.d.ts +6 -5
- package/hooks/useConfirmationDialog.js +30 -18
- package/hooks/useConfirmationDialog.js.map +1 -0
- package/hooks/useDialog.d.ts +8 -3
- package/hooks/useDialog.js +16 -6
- package/hooks/useDialog.js.map +1 -0
- package/hooks/useSnackbar.d.ts +6 -3
- package/hooks/useSnackbar.js +20 -7
- package/hooks/useSnackbar.js.map +1 -0
- package/index.d.ts +35 -0
- package/index.js +373 -0
- package/index.js.map +1 -0
- package/package.json +47 -45
- package/plugins/FileManagerFileTypePlugin.d.ts +3 -3
- package/plugins/FileManagerFileTypePlugin.js +37 -20
- package/plugins/FileManagerFileTypePlugin.js.map +1 -0
- package/plugins/MenuPlugin.d.ts +22 -5
- package/plugins/MenuPlugin.js +37 -20
- package/plugins/MenuPlugin.js.map +1 -0
- package/plugins/PermissionRendererPlugin.d.ts +4 -4
- package/plugins/PermissionRendererPlugin.js +37 -20
- package/plugins/PermissionRendererPlugin.js.map +1 -0
- package/plugins/fileManager/fileDefault.d.ts +1 -2
- package/plugins/fileManager/fileDefault.js +22 -8
- package/plugins/fileManager/fileDefault.js.map +1 -0
- package/plugins/fileManager/fileImage/DeleteAction.d.ts +6 -2
- package/plugins/fileManager/fileImage/DeleteAction.js +45 -24
- package/plugins/fileManager/fileImage/DeleteAction.js.map +1 -0
- package/plugins/fileManager/fileImage/EditAction.d.ts +7 -6
- package/plugins/fileManager/fileImage/EditAction.js +73 -37
- package/plugins/fileManager/fileImage/EditAction.js.map +1 -0
- package/plugins/fileManager/fileImage/index.d.ts +1 -2
- package/plugins/fileManager/fileImage/index.js +27 -10
- package/plugins/fileManager/fileImage/index.js.map +1 -0
- package/plugins/fileManager/index.d.ts +2 -2
- package/plugins/fileManager/index.js +21 -3
- package/plugins/fileManager/index.js.map +1 -0
- package/plugins/globalSearch/SearchBar.d.ts +15 -3
- package/plugins/globalSearch/SearchBar.js +90 -58
- package/plugins/globalSearch/SearchBar.js.map +1 -0
- package/plugins/globalSearch/SearchBarDropdown.d.ts +19 -1
- package/plugins/globalSearch/SearchBarDropdown.js +46 -27
- package/plugins/globalSearch/SearchBarDropdown.js.map +1 -0
- package/plugins/globalSearch/index.d.ts +3 -4
- package/plugins/globalSearch/index.js +8 -22
- package/plugins/globalSearch/index.js.map +1 -0
- package/plugins/globalSearch/styled.d.ts +5 -3
- package/plugins/globalSearch/styled.js +33 -13
- package/plugins/globalSearch/styled.js.map +1 -0
- package/plugins/uiLayoutRenderer/index.d.ts +1 -2
- package/plugins/uiLayoutRenderer/index.js +25 -13
- package/plugins/uiLayoutRenderer/index.js.map +1 -0
- package/styles/material-theme-assignments.scss +79 -66
- package/styles/material.scss +2 -35
- package/types.d.ts +12 -19
- package/types.js +5 -1
- package/types.js.map +1 -0
- package/ui/UIElement.d.ts +1 -1
- package/ui/UIElement.js +19 -1
- package/ui/UIElement.js.map +1 -0
- package/ui/UILayout.js +19 -1
- package/ui/UILayout.js.map +1 -0
- package/ui/UIRenderer.js +13 -1
- package/ui/UIRenderer.js.map +1 -0
- package/ui/UIView.d.ts +1 -1
- package/ui/UIView.js +25 -1
- package/ui/UIView.js.map +1 -0
- package/ui/elements/AccordionElement.d.ts +5 -5
- package/ui/elements/AccordionElement.js +56 -32
- package/ui/elements/AccordionElement.js.map +1 -0
- package/ui/elements/ButtonElement.d.ts +3 -3
- package/ui/elements/ButtonElement.js +47 -20
- package/ui/elements/ButtonElement.js.map +1 -0
- package/ui/elements/ButtonGroupElement.d.ts +2 -2
- package/ui/elements/ButtonGroupElement.js +38 -19
- package/ui/elements/ButtonGroupElement.js.map +1 -0
- package/ui/elements/GenericElement.js +18 -1
- package/ui/elements/GenericElement.js.map +1 -0
- package/ui/elements/LabelElement.js +26 -13
- package/ui/elements/LabelElement.js.map +1 -0
- package/ui/elements/NavigationMenuElement.d.ts +2 -1
- package/ui/elements/NavigationMenuElement.js +51 -32
- package/ui/elements/NavigationMenuElement.js.map +1 -0
- package/ui/elements/PanelElement.js +27 -11
- package/ui/elements/PanelElement.js.map +1 -0
- package/ui/elements/PlaceholderElement.d.ts +2 -1
- package/ui/elements/PlaceholderElement.js +27 -13
- package/ui/elements/PlaceholderElement.js.map +1 -0
- package/ui/elements/SmallButtonElement.d.ts +1 -1
- package/ui/elements/SmallButtonElement.js +36 -19
- package/ui/elements/SmallButtonElement.js.map +1 -0
- package/ui/elements/TypographyElement.d.ts +1 -1
- package/ui/elements/TypographyElement.js +38 -20
- package/ui/elements/TypographyElement.js.map +1 -0
- package/ui/elements/ViewElement.js +18 -1
- package/ui/elements/ViewElement.js.map +1 -0
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.d.ts +2 -2
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +42 -26
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -0
- package/ui/elements/form/DynamicFieldsetElement.d.ts +19 -18
- package/ui/elements/form/DynamicFieldsetElement.js +54 -23
- package/ui/elements/form/DynamicFieldsetElement.js.map +1 -0
- package/ui/elements/form/FileManagerElement/EmptyStateElement.js +30 -13
- package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -0
- package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +51 -28
- package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -0
- package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +53 -35
- package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -0
- package/ui/elements/form/FileManagerElement/styled.d.ts +19 -13
- package/ui/elements/form/FileManagerElement/styled.js +26 -12
- package/ui/elements/form/FileManagerElement/styled.js.map +1 -0
- package/ui/elements/form/FileManagerElement.d.ts +6 -6
- package/ui/elements/form/FileManagerElement.js +39 -22
- package/ui/elements/form/FileManagerElement.js.map +1 -0
- package/ui/elements/form/FormElement.d.ts +5 -5
- package/ui/elements/form/FormElement.js +42 -21
- package/ui/elements/form/FormElement.js.map +1 -0
- package/ui/elements/form/FormFieldElement.d.ts +9 -8
- package/ui/elements/form/FormFieldElement.js +53 -30
- package/ui/elements/form/FormFieldElement.js.map +1 -0
- package/ui/elements/form/HiddenElement.js +30 -15
- package/ui/elements/form/HiddenElement.js.map +1 -0
- package/ui/elements/form/InputElement.d.ts +1 -0
- package/ui/elements/form/InputElement.js +35 -18
- package/ui/elements/form/InputElement.js.map +1 -0
- package/ui/elements/form/PasswordElement.js +34 -18
- package/ui/elements/form/PasswordElement.js.map +1 -0
- package/ui/elements/form/SelectElement.d.ts +1 -1
- package/ui/elements/form/SelectElement.js +36 -20
- package/ui/elements/form/SelectElement.js.map +1 -0
- package/ui/elements/form/TextareaElement.js +34 -18
- package/ui/elements/form/TextareaElement.js.map +1 -0
- package/ui/views/AdminView/ContentElement.js +40 -24
- package/ui/views/AdminView/ContentElement.js.map +1 -0
- package/ui/views/AdminView/HeaderElement.js +72 -39
- package/ui/views/AdminView/HeaderElement.js.map +1 -0
- package/ui/views/AdminView/HeaderSectionCenterElement.d.ts +2 -2
- package/ui/views/AdminView/HeaderSectionCenterElement.js +41 -21
- package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -0
- package/ui/views/AdminView/HeaderSectionLeftElement.d.ts +2 -2
- package/ui/views/AdminView/HeaderSectionLeftElement.js +41 -21
- package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -0
- package/ui/views/AdminView/HeaderSectionRightElement.d.ts +2 -2
- package/ui/views/AdminView/HeaderSectionRightElement.js +41 -21
- package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -0
- package/ui/views/AdminView/components/Dialog.js +32 -15
- package/ui/views/AdminView/components/Dialog.js.map +1 -0
- package/ui/views/AdminView/components/Hamburger.d.ts +2 -2
- package/ui/views/AdminView/components/Hamburger.js +25 -11
- package/ui/views/AdminView/components/Hamburger.js.map +1 -0
- package/ui/views/AdminView/components/Snackbar.d.ts +2 -2
- package/ui/views/AdminView/components/Snackbar.js +26 -13
- package/ui/views/AdminView/components/Snackbar.js.map +1 -0
- package/ui/views/FormView/FormContainerElement.d.ts +2 -2
- package/ui/views/FormView/FormContainerElement.js +45 -25
- package/ui/views/FormView/FormContainerElement.js.map +1 -0
- package/ui/views/FormView/FormContentElement.js +27 -11
- package/ui/views/FormView/FormContentElement.js.map +1 -0
- package/ui/views/FormView/FormFooterElement.d.ts +3 -3
- package/ui/views/FormView/FormFooterElement.js +38 -19
- package/ui/views/FormView/FormFooterElement.js.map +1 -0
- package/ui/views/FormView/FormHeaderElement.d.ts +2 -2
- package/ui/views/FormView/FormHeaderElement.js +52 -30
- package/ui/views/FormView/FormHeaderElement.js.map +1 -0
- package/ui/views/FormView.d.ts +1 -1
- package/ui/views/FormView.js +85 -37
- package/ui/views/FormView.js.map +1 -0
- package/ui/views/OverlayView/ContentElement.d.ts +2 -2
- package/ui/views/OverlayView/ContentElement.js +38 -19
- package/ui/views/OverlayView/ContentElement.js.map +1 -0
- package/ui/views/OverlayView/HeaderElement.d.ts +5 -5
- package/ui/views/OverlayView/HeaderElement.js +56 -37
- package/ui/views/OverlayView/HeaderElement.js.map +1 -0
- package/ui/views/OverlayView/HeaderTitleElement.d.ts +1 -1
- package/ui/views/OverlayView/HeaderTitleElement.js +44 -25
- package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -0
- package/ui/views/OverlayView/useOverlayView.d.ts +4 -5
- package/ui/views/OverlayView/useOverlayView.js +32 -16
- package/ui/views/OverlayView/useOverlayView.js.map +1 -0
- package/ui/views/OverlayView.d.ts +4 -6
- package/ui/views/OverlayView.js +65 -42
- package/ui/views/OverlayView.js.map +1 -0
- package/ui/views/SplitView/SplitViewPanelElement.d.ts +3 -3
- package/ui/views/SplitView/SplitViewPanelElement.js +47 -28
- package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -0
- package/ui/views/SplitView.d.ts +3 -3
- package/ui/views/SplitView.js +57 -37
- package/ui/views/SplitView.js.map +1 -0
- package/plugins/index.d.ts +0 -6
- package/plugins/index.js +0 -8
- package/plugins/logo/Logo.d.ts +0 -22
- package/plugins/logo/Logo.js +0 -108
- package/plugins/logo/index.d.ts +0 -5
- package/plugins/logo/index.js +0 -32
- package/plugins/menu/documentation.d.ts +0 -4
- package/plugins/menu/documentation.js +0 -16
- package/plugins/menu/fileManager.d.ts +0 -4
- package/plugins/menu/fileManager.js +0 -64
- package/plugins/menu/index.d.ts +0 -6
- package/plugins/menu/index.js +0 -24
- package/plugins/menu/renderers/MenuGroupRenderer.d.ts +0 -7
- package/plugins/menu/renderers/MenuGroupRenderer.js +0 -126
- package/plugins/menu/renderers/MenuLinkRenderer.d.ts +0 -7
- package/plugins/menu/renderers/MenuLinkRenderer.js +0 -52
- package/plugins/menu/renderers/MenuSectionItemRenderer.d.ts +0 -7
- package/plugins/menu/renderers/MenuSectionItemRenderer.js +0 -77
- package/plugins/menu/renderers/MenuSectionRenderer.d.ts +0 -7
- package/plugins/menu/renderers/MenuSectionRenderer.js +0 -51
- package/plugins/menu/slack.d.ts +0 -4
- package/plugins/menu/slack.js +0 -16
- package/plugins/menu/source.d.ts +0 -4
- package/plugins/menu/source.js +0 -16
- package/plugins/userMenu/UserMenuElement.d.ts +0 -7
- package/plugins/userMenu/UserMenuElement.js +0 -43
- package/plugins/userMenu/UserMenuRenderer.d.ts +0 -6
- package/plugins/userMenu/UserMenuRenderer.js +0 -47
- package/plugins/userMenu/index.d.ts +0 -4
- package/plugins/userMenu/index.js +0 -16
- package/ui/views/AdminView.d.ts +0 -12
- package/ui/views/AdminView.js +0 -90
- package/ui/views/NavigationView/ContentElement.d.ts +0 -10
- package/ui/views/NavigationView/ContentElement.js +0 -86
- package/ui/views/NavigationView/FooterElement.d.ts +0 -13
- package/ui/views/NavigationView/FooterElement.js +0 -57
- package/ui/views/NavigationView/HeaderElement.d.ts +0 -16
- package/ui/views/NavigationView/HeaderElement.js +0 -66
- package/ui/views/NavigationView/NavigationViewRenderer.d.ts +0 -6
- package/ui/views/NavigationView/NavigationViewRenderer.js +0 -38
- package/ui/views/NavigationView/Styled.d.ts +0 -7
- package/ui/views/NavigationView/Styled.js +0 -47
- package/ui/views/NavigationView/legacyMenu.d.ts +0 -22
- package/ui/views/NavigationView/legacyMenu.js +0 -1
- package/ui/views/NavigationView/useNavigation.d.ts +0 -6
- package/ui/views/NavigationView/useNavigation.js +0 -22
- package/ui/views/NavigationView.d.ts +0 -26
- package/ui/views/NavigationView.js +0 -204
|
@@ -1,2 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "RichTextEditor", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _RichTextEditor.RichTextEditor;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "createPropsFromConfig", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _RichTextEditor2.createPropsFromConfig;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
var _RichTextEditor = require("./RichTextEditor");
|
|
20
|
+
|
|
21
|
+
var _RichTextEditor2 = require("@webiny/ui/RichTextEditor");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { RichTextEditor } from \"./RichTextEditor\";\nexport { createPropsFromConfig } from \"@webiny/ui/RichTextEditor\";\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AACA"}
|
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
.codex-editor {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
.ce-toolbox {
|
|
3
|
+
position: absolute;
|
|
4
|
+
background-color: #fff;
|
|
5
|
+
border: 1px solid #e8e8eb;
|
|
6
|
+
box-shadow: 0 3px 15px -3px rgb(13 20 33 / 13%);
|
|
7
|
+
border-radius: 6px;
|
|
8
|
+
z-index: 2;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.ce-toolbox--opened {
|
|
12
|
+
animation-duration: 0.1s;
|
|
13
|
+
animation-name: panelShowing;
|
|
14
|
+
padding: 5px 5px 5px 0;
|
|
15
|
+
}
|
|
7
16
|
|
|
8
17
|
.codex-editor__redactor {
|
|
9
18
|
padding-bottom: 0 !important;
|
|
@@ -24,6 +33,15 @@
|
|
|
24
33
|
letter-spacing: 0.2em;
|
|
25
34
|
}
|
|
26
35
|
|
|
36
|
+
.ce-settings {
|
|
37
|
+
position: absolute;
|
|
38
|
+
background-color: #fff;
|
|
39
|
+
border: 1px solid #e8e8eb;
|
|
40
|
+
box-shadow: 0 3px 15px -3px rgb(13 20 33 / 13%);
|
|
41
|
+
border-radius: 6px;
|
|
42
|
+
z-index: 2;
|
|
43
|
+
}
|
|
44
|
+
|
|
27
45
|
// Reset default styles
|
|
28
46
|
.ce-block__content:focus {
|
|
29
47
|
outline: none;
|
|
@@ -43,9 +61,23 @@
|
|
|
43
61
|
content: none !important;
|
|
44
62
|
}
|
|
45
63
|
|
|
46
|
-
|
|
64
|
+
.ce-toolbar__actions {
|
|
65
|
+
right: unset;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.ce-toolbar__actions--opened {
|
|
69
|
+
opacity: 1;
|
|
70
|
+
background-color: white;
|
|
71
|
+
border-radius: 5px;
|
|
72
|
+
border: 1px solid #e8e8eb;
|
|
73
|
+
padding: 3px;
|
|
74
|
+
top: -3px;
|
|
75
|
+
}
|
|
76
|
+
|
|
47
77
|
.ce-toolbar__content {
|
|
48
|
-
max-width:
|
|
78
|
+
max-width: 650px;
|
|
79
|
+
margin: 0 auto;
|
|
80
|
+
position: absolute;
|
|
49
81
|
}
|
|
50
82
|
}
|
|
51
83
|
|
|
@@ -1,21 +1,27 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
/// <reference types="web" />
|
|
3
|
+
import { HTMLPasteEvent } from "@editorjs/editorjs";
|
|
2
4
|
import { TextAlign, Alignment } from "../utils";
|
|
3
|
-
|
|
5
|
+
interface Typography {
|
|
4
6
|
[key: string]: {
|
|
5
7
|
label: string;
|
|
6
8
|
component: string;
|
|
7
9
|
className: string;
|
|
8
10
|
};
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
+
}
|
|
12
|
+
export interface HeaderData {
|
|
11
13
|
text: string;
|
|
12
|
-
level:
|
|
13
|
-
textAlign
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
level: number;
|
|
15
|
+
textAlign?: TextAlign;
|
|
16
|
+
alignment?: Alignment;
|
|
17
|
+
className?: string;
|
|
18
|
+
}
|
|
19
|
+
interface HeaderConfig {
|
|
16
20
|
levels: number[];
|
|
17
21
|
typography: Typography;
|
|
18
|
-
|
|
22
|
+
placeholder?: string;
|
|
23
|
+
defaultLevel?: number;
|
|
24
|
+
}
|
|
19
25
|
interface HeaderArgs {
|
|
20
26
|
data: HeaderData;
|
|
21
27
|
config: HeaderConfig;
|
|
@@ -23,15 +29,15 @@ interface HeaderArgs {
|
|
|
23
29
|
readOnly: boolean;
|
|
24
30
|
}
|
|
25
31
|
declare class Header {
|
|
26
|
-
api
|
|
27
|
-
readOnly
|
|
28
|
-
settingsButtons
|
|
29
|
-
_CSS
|
|
30
|
-
_settings
|
|
31
|
-
_data
|
|
32
|
-
_element
|
|
33
|
-
alignments
|
|
34
|
-
typography
|
|
32
|
+
private readonly api;
|
|
33
|
+
private readonly readOnly;
|
|
34
|
+
private readonly settingsButtons;
|
|
35
|
+
private readonly _CSS;
|
|
36
|
+
private readonly _settings;
|
|
37
|
+
private _data;
|
|
38
|
+
private _element;
|
|
39
|
+
private readonly alignments;
|
|
40
|
+
private readonly typography;
|
|
35
41
|
/**
|
|
36
42
|
* Render plugin`s main Element and fill it with saved data
|
|
37
43
|
*
|
|
@@ -50,7 +56,7 @@ declare class Header {
|
|
|
50
56
|
* @returns {HeaderData}
|
|
51
57
|
* @private
|
|
52
58
|
*/
|
|
53
|
-
normalizeData(data:
|
|
59
|
+
normalizeData(data: Partial<HeaderData>): HeaderData;
|
|
54
60
|
/**
|
|
55
61
|
* Return Tool's view
|
|
56
62
|
*
|
|
@@ -69,13 +75,13 @@ declare class Header {
|
|
|
69
75
|
*
|
|
70
76
|
* @param {number} level - level to set
|
|
71
77
|
*/
|
|
72
|
-
setLevel(level:
|
|
78
|
+
setLevel(level: number): void;
|
|
73
79
|
/**
|
|
74
80
|
* Callback for Block's settings buttons
|
|
75
81
|
*
|
|
76
82
|
* @param {number} alignment - level to set
|
|
77
83
|
*/
|
|
78
|
-
setAlignment(alignment:
|
|
84
|
+
setAlignment(alignment: Alignment): void;
|
|
79
85
|
/**
|
|
80
86
|
* Method that specified how to merge two Text blocks.
|
|
81
87
|
* Called by Editor.js by backspace at the beginning of the Block
|
|
@@ -83,7 +89,7 @@ declare class Header {
|
|
|
83
89
|
* @param {HeaderData} data - saved data to merger with current block
|
|
84
90
|
* @public
|
|
85
91
|
*/
|
|
86
|
-
merge(data:
|
|
92
|
+
merge(data: HeaderData): void;
|
|
87
93
|
/**
|
|
88
94
|
* Validate Text block data:
|
|
89
95
|
* - check for emptiness
|
|
@@ -92,7 +98,7 @@ declare class Header {
|
|
|
92
98
|
* @returns {boolean} false if saved data is not correct, otherwise true
|
|
93
99
|
* @public
|
|
94
100
|
*/
|
|
95
|
-
validate(blockData:
|
|
101
|
+
validate(blockData: HeaderData): boolean;
|
|
96
102
|
/**
|
|
97
103
|
* Extract Tool's data from the view
|
|
98
104
|
*
|
|
@@ -100,19 +106,14 @@ declare class Header {
|
|
|
100
106
|
* @returns {HeaderData} - saved data
|
|
101
107
|
* @public
|
|
102
108
|
*/
|
|
103
|
-
save(toolsContent:
|
|
104
|
-
text: any;
|
|
105
|
-
level: number;
|
|
106
|
-
textAlign: TextAlign.START;
|
|
107
|
-
className: any;
|
|
108
|
-
};
|
|
109
|
+
save(toolsContent: HTMLHeadingElement): HeaderData;
|
|
109
110
|
/**
|
|
110
111
|
* Extract textAlign from className
|
|
111
112
|
*
|
|
112
113
|
* @param {string} className - heading element className
|
|
113
114
|
* @returns {TextAlign} textAlign
|
|
114
115
|
*/
|
|
115
|
-
getTextAlign(className:
|
|
116
|
+
getTextAlign(className: string): TextAlign;
|
|
116
117
|
/**
|
|
117
118
|
* Allow Header to be converted to/from other blocks
|
|
118
119
|
*/
|
|
@@ -139,7 +140,7 @@ declare class Header {
|
|
|
139
140
|
* @returns {HeaderData} Current data
|
|
140
141
|
* @private
|
|
141
142
|
*/
|
|
142
|
-
get data():
|
|
143
|
+
get data(): HeaderData;
|
|
143
144
|
/**
|
|
144
145
|
* Store data in plugin:
|
|
145
146
|
* - at the this._data property
|
|
@@ -148,7 +149,7 @@ declare class Header {
|
|
|
148
149
|
* @param {HeaderData} data — data to set
|
|
149
150
|
* @private
|
|
150
151
|
*/
|
|
151
|
-
set data(data:
|
|
152
|
+
set data(data: HeaderData);
|
|
152
153
|
/**
|
|
153
154
|
* Get tag for target level
|
|
154
155
|
* By default returns second-leveled header
|
|
@@ -201,9 +202,9 @@ declare class Header {
|
|
|
201
202
|
/**
|
|
202
203
|
* Handle H1-H6 tags on paste to substitute it with header Tool
|
|
203
204
|
*
|
|
204
|
-
* @param {
|
|
205
|
+
* @param {HTMLPasteEvent} event - event with pasted content
|
|
205
206
|
*/
|
|
206
|
-
onPaste(event:
|
|
207
|
+
onPaste(event: HTMLPasteEvent): void;
|
|
207
208
|
/**
|
|
208
209
|
* Used by Editor.js paste handling API.
|
|
209
210
|
* Provides configuration to handle H1-H6 tags.
|
|
@@ -1,7 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
|
|
16
|
+
var _utils = require("../utils");
|
|
5
17
|
|
|
6
18
|
var Header = /*#__PURE__*/function () {
|
|
7
19
|
/**
|
|
@@ -18,30 +30,19 @@ var Header = /*#__PURE__*/function () {
|
|
|
18
30
|
config = _ref.config,
|
|
19
31
|
api = _ref.api,
|
|
20
32
|
readOnly = _ref.readOnly;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
_defineProperty(this, "_settings", void 0);
|
|
33
|
-
|
|
34
|
-
_defineProperty(this, "_data", void 0);
|
|
35
|
-
|
|
36
|
-
_defineProperty(this, "_element", void 0);
|
|
37
|
-
|
|
38
|
-
_defineProperty(this, "alignments", void 0);
|
|
39
|
-
|
|
40
|
-
_defineProperty(this, "typography", void 0);
|
|
41
|
-
|
|
33
|
+
(0, _classCallCheck2.default)(this, Header);
|
|
34
|
+
(0, _defineProperty2.default)(this, "api", void 0);
|
|
35
|
+
(0, _defineProperty2.default)(this, "readOnly", void 0);
|
|
36
|
+
(0, _defineProperty2.default)(this, "settingsButtons", void 0);
|
|
37
|
+
(0, _defineProperty2.default)(this, "_CSS", void 0);
|
|
38
|
+
(0, _defineProperty2.default)(this, "_settings", void 0);
|
|
39
|
+
(0, _defineProperty2.default)(this, "_data", void 0);
|
|
40
|
+
(0, _defineProperty2.default)(this, "_element", void 0);
|
|
41
|
+
(0, _defineProperty2.default)(this, "alignments", void 0);
|
|
42
|
+
(0, _defineProperty2.default)(this, "typography", void 0);
|
|
42
43
|
this.api = api;
|
|
43
44
|
this.readOnly = readOnly;
|
|
44
|
-
this.alignments = ALIGNMENTS;
|
|
45
|
+
this.alignments = _utils.ALIGNMENTS;
|
|
45
46
|
/**
|
|
46
47
|
* Import typography from theme
|
|
47
48
|
*/
|
|
@@ -101,7 +102,7 @@ var Header = /*#__PURE__*/function () {
|
|
|
101
102
|
*/
|
|
102
103
|
|
|
103
104
|
|
|
104
|
-
|
|
105
|
+
(0, _createClass2.default)(Header, [{
|
|
105
106
|
key: "normalizeData",
|
|
106
107
|
value: function normalizeData(data) {
|
|
107
108
|
var newData = {};
|
|
@@ -112,7 +113,7 @@ var Header = /*#__PURE__*/function () {
|
|
|
112
113
|
|
|
113
114
|
newData.text = data.text || "";
|
|
114
115
|
newData.level = parseInt(data.level) || this.defaultLevel.number;
|
|
115
|
-
newData.textAlign = data.textAlign || TextAlign.START;
|
|
116
|
+
newData.textAlign = data.textAlign || _utils.TextAlign.START;
|
|
116
117
|
return newData;
|
|
117
118
|
}
|
|
118
119
|
/**
|
|
@@ -166,7 +167,7 @@ var Header = /*#__PURE__*/function () {
|
|
|
166
167
|
* Save level to its button
|
|
167
168
|
*/
|
|
168
169
|
|
|
169
|
-
selectTypeButton.dataset
|
|
170
|
+
selectTypeButton.dataset["level"] = level.number + "";
|
|
170
171
|
/**
|
|
171
172
|
* Set up click handler
|
|
172
173
|
*/
|
|
@@ -209,7 +210,7 @@ var Header = /*#__PURE__*/function () {
|
|
|
209
210
|
* Save alignment to its button
|
|
210
211
|
*/
|
|
211
212
|
|
|
212
|
-
selectTypeButton.dataset
|
|
213
|
+
selectTypeButton.dataset["textAlign"] = alignment.name;
|
|
213
214
|
/**
|
|
214
215
|
* Set up click handler
|
|
215
216
|
*/
|
|
@@ -288,12 +289,11 @@ var Header = /*#__PURE__*/function () {
|
|
|
288
289
|
}, {
|
|
289
290
|
key: "merge",
|
|
290
291
|
value: function merge(data) {
|
|
291
|
-
|
|
292
|
+
this.data = {
|
|
292
293
|
text: this.data.text + data.text,
|
|
293
294
|
level: this.data.level,
|
|
294
295
|
alignment: this.data.alignment
|
|
295
296
|
};
|
|
296
|
-
this.data = newData;
|
|
297
297
|
}
|
|
298
298
|
/**
|
|
299
299
|
* Validate Text block data:
|
|
@@ -337,7 +337,7 @@ var Header = /*#__PURE__*/function () {
|
|
|
337
337
|
}, {
|
|
338
338
|
key: "getTextAlign",
|
|
339
339
|
value: function getTextAlign(className) {
|
|
340
|
-
var textAlign = TextAlign.START; // Match className with alignment
|
|
340
|
+
var textAlign = _utils.TextAlign.START; // Match className with alignment
|
|
341
341
|
|
|
342
342
|
this.alignments.forEach(function (alignment) {
|
|
343
343
|
if (className.includes("ce-header-text--".concat(alignment.name))) {
|
|
@@ -475,7 +475,7 @@ var Header = /*#__PURE__*/function () {
|
|
|
475
475
|
* Add Placeholder
|
|
476
476
|
*/
|
|
477
477
|
|
|
478
|
-
tag.dataset
|
|
478
|
+
tag.dataset["placeholder"] = this.api.i18n.t(this._settings.placeholder || "");
|
|
479
479
|
return tag;
|
|
480
480
|
}
|
|
481
481
|
/**
|
|
@@ -516,8 +516,8 @@ var Header = /*#__PURE__*/function () {
|
|
|
516
516
|
|
|
517
517
|
if (!alignment) {
|
|
518
518
|
alignment = {
|
|
519
|
-
name: TextAlign.START,
|
|
520
|
-
svg: ALIGNMENT_ICONS.start
|
|
519
|
+
name: _utils.TextAlign.START,
|
|
520
|
+
svg: _utils.ALIGNMENT_ICONS.start
|
|
521
521
|
};
|
|
522
522
|
}
|
|
523
523
|
|
|
@@ -607,7 +607,7 @@ var Header = /*#__PURE__*/function () {
|
|
|
607
607
|
/**
|
|
608
608
|
* Handle H1-H6 tags on paste to substitute it with header Tool
|
|
609
609
|
*
|
|
610
|
-
* @param {
|
|
610
|
+
* @param {HTMLPasteEvent} event - event with pasted content
|
|
611
611
|
*/
|
|
612
612
|
|
|
613
613
|
}, {
|
|
@@ -724,8 +724,8 @@ var Header = /*#__PURE__*/function () {
|
|
|
724
724
|
};
|
|
725
725
|
}
|
|
726
726
|
}]);
|
|
727
|
-
|
|
728
727
|
return Header;
|
|
729
728
|
}();
|
|
730
729
|
|
|
731
|
-
|
|
730
|
+
var _default = Header;
|
|
731
|
+
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Header","data","config","api","readOnly","alignments","ALIGNMENTS","typography","_CSS","block","styles","settingsButton","settingsButtonActive","wrapper","_settings","_data","normalizeData","settingsButtons","_element","getTag","newData","text","level","parseInt","defaultLevel","number","textAlign","TextAlign","START","holder","document","createElement","levels","length","forEach","selectTypeButton","classList","add","currentLevel","innerHTML","svg","dataset","addEventListener","setLevel","appendChild","push","alignment","currentAlignment","name","setAlignment","button","toggle","blockData","trim","toolsContent","getTextAlign","className","includes","undefined","parentNode","newHeader","replaceChild","tag","component","toLowerCase","typographyConfig","textAlignClass","remove","contentEditable","i18n","t","placeholder","find","levelItem","ALIGNMENT_ICONS","start","userSpecified","console","warn","availableLevels","filter","l","event","content","detail","tagName","reduce","prevLevel","currLevel","Math","abs","export","import","tags","icon","title"],"sources":["index.ts"],"sourcesContent":["import { API, HTMLPasteEvent } from \"@editorjs/editorjs\";\nimport { ALIGNMENTS, ALIGNMENT_ICONS, TextAlign, Alignment } from \"../utils\";\n\ninterface Typography {\n [key: string]: {\n label: string;\n component: string;\n className: string;\n };\n}\n\nexport interface HeaderData {\n text: string;\n level: number;\n textAlign?: TextAlign;\n alignment?: Alignment;\n className?: string;\n}\n\ninterface HeaderConfig {\n levels: number[];\n typography: Typography;\n placeholder?: string;\n defaultLevel?: number;\n}\n\ninterface HeaderArgs {\n data: HeaderData;\n config: HeaderConfig;\n api: any;\n readOnly: boolean;\n}\n\nclass Header {\n private readonly api: API;\n private readonly readOnly: boolean;\n private readonly settingsButtons: any[];\n private readonly _CSS: any;\n private readonly _settings: HeaderConfig;\n private _data: HeaderData;\n private _element: any;\n private readonly alignments: Alignment[];\n private readonly typography: Typography;\n /**\n * Render plugin`s main Element and fill it with saved data\n *\n * @param {{data: HeaderData, config: HeaderConfig, api: object}}\n * data — previously saved data\n * config - user config for Tool\n * api - Editor.js API\n * readOnly - read only mode flag\n */\n constructor({ data, config, api, readOnly }: HeaderArgs) {\n this.api = api;\n this.readOnly = readOnly;\n\n this.alignments = ALIGNMENTS;\n /**\n * Import typography from theme\n */\n this.typography = config.typography || null;\n\n /**\n * Styles\n *\n * @type {object}\n */\n this._CSS = {\n block: this.api.styles.block,\n settingsButton: this.api.styles.settingsButton,\n settingsButtonActive: this.api.styles.settingsButtonActive,\n wrapper: \"ce-header\"\n };\n\n /**\n * Tool's settings passed from Editor\n *\n * @type {HeaderConfig}\n * @private\n */\n this._settings = config;\n\n /**\n * Block's data\n *\n * @type {HeaderData}\n * @private\n */\n this._data = this.normalizeData(data);\n\n /**\n * List of settings buttons\n *\n * @type {HTMLElement[]}\n */\n this.settingsButtons = [];\n\n /**\n * Main Block wrapper\n *\n * @type {HTMLElement}\n * @private\n */\n this._element = this.getTag();\n }\n\n /**\n * Normalize input data\n *\n * @param {HeaderData} data - saved data to process\n *\n * @returns {HeaderData}\n * @private\n */\n normalizeData(data: Partial<HeaderData>): HeaderData {\n const newData: Partial<HeaderData> = {};\n\n if (typeof data !== \"object\") {\n data = {};\n }\n\n newData.text = data.text || \"\";\n newData.level = parseInt(data.level as unknown as string) || this.defaultLevel.number;\n newData.textAlign = data.textAlign || TextAlign.START;\n\n return newData as HeaderData;\n }\n\n /**\n * Return Tool's view\n *\n * @returns {HTMLHeadingElement}\n * @public\n */\n render() {\n return this._element;\n }\n\n /**\n * Create Block's settings block\n *\n * @returns {HTMLElement}\n */\n renderSettings() {\n const holder = document.createElement(\"DIV\");\n\n // do not add settings button, when only one level is configured\n if (this.levels.length <= 1) {\n return holder;\n }\n\n /** Add type selectors */\n this.levels.forEach(level => {\n const selectTypeButton = document.createElement(\"SPAN\");\n\n selectTypeButton.classList.add(this._CSS.settingsButton);\n\n /**\n * Highlight current level button\n */\n if (this.currentLevel.number === level.number) {\n selectTypeButton.classList.add(this._CSS.settingsButtonActive);\n }\n\n /**\n * Add SVG icon\n */\n selectTypeButton.innerHTML = level.svg;\n\n /**\n * Save level to its button\n */\n selectTypeButton.dataset[\"level\"] = level.number + \"\";\n\n /**\n * Set up click handler\n */\n selectTypeButton.addEventListener(\"click\", () => {\n this.setLevel(level.number);\n });\n\n /**\n * Append settings button to holder\n */\n holder.appendChild(selectTypeButton);\n\n /**\n * Save settings buttons\n */\n this.settingsButtons.push(selectTypeButton);\n });\n\n /**\n * Add alignment selectors\n * */\n this.alignments.forEach(alignment => {\n const selectTypeButton = document.createElement(\"SPAN\");\n\n selectTypeButton.classList.add(this._CSS.settingsButton);\n\n /**\n * Highlight current level button\n */\n if (this.currentAlignment.name === alignment.name) {\n selectTypeButton.classList.add(this._CSS.settingsButtonActive);\n }\n\n /**\n * Add SVG icon\n */\n selectTypeButton.innerHTML = alignment.svg;\n\n /**\n * Save alignment to its button\n */\n selectTypeButton.dataset[\"textAlign\"] = alignment.name;\n\n /**\n * Set up click handler\n */\n selectTypeButton.addEventListener(\"click\", () => {\n this.setAlignment(alignment);\n });\n\n /**\n * Append settings button to holder\n */\n holder.appendChild(selectTypeButton);\n\n /**\n * Save settings buttons\n */\n this.settingsButtons.push(selectTypeButton);\n });\n\n return holder;\n }\n\n /**\n * Callback for Block's settings buttons\n *\n * @param {number} level - level to set\n */\n setLevel(level: number): void {\n this.data = {\n level: level,\n text: this.data.text\n };\n\n /**\n * Highlight button by selected level\n */\n this.settingsButtons.forEach(button => {\n button.classList.toggle(\n this._CSS.settingsButtonActive,\n parseInt(button.dataset.level) === level\n );\n });\n }\n\n /**\n * Callback for Block's settings buttons\n *\n * @param {number} alignment - level to set\n */\n setAlignment(alignment: Alignment) {\n this.data = {\n textAlign: alignment.name,\n text: this.data.text,\n level: this.data.level\n };\n\n /**\n * Highlight button by selected level\n */\n this.settingsButtons.forEach(button => {\n button.classList.toggle(\n this._CSS.settingsButtonActive,\n button.dataset.textAlign === alignment.name\n );\n });\n }\n\n /**\n * Method that specified how to merge two Text blocks.\n * Called by Editor.js by backspace at the beginning of the Block\n *\n * @param {HeaderData} data - saved data to merger with current block\n * @public\n */\n merge(data: HeaderData): void {\n this.data = {\n text: this.data.text + data.text,\n level: this.data.level,\n alignment: this.data.alignment\n };\n }\n\n /**\n * Validate Text block data:\n * - check for emptiness\n *\n * @param {HeaderData} blockData — data received after saving\n * @returns {boolean} false if saved data is not correct, otherwise true\n * @public\n */\n validate(blockData: HeaderData): boolean {\n return blockData.text.trim() !== \"\";\n }\n\n /**\n * Extract Tool's data from the view\n *\n * @param {HTMLHeadingElement} toolsContent - Text tools rendered view\n * @returns {HeaderData} - saved data\n * @public\n */\n save(toolsContent: HTMLHeadingElement): HeaderData {\n return {\n text: toolsContent.innerHTML,\n level: this.currentLevel.number,\n textAlign: this.getTextAlign(toolsContent.className),\n className: toolsContent.className\n };\n }\n\n /**\n * Extract textAlign from className\n *\n * @param {string} className - heading element className\n * @returns {TextAlign} textAlign\n */\n getTextAlign(className: string): TextAlign {\n let textAlign = TextAlign.START;\n // Match className with alignment\n this.alignments.forEach(alignment => {\n if (className.includes(`ce-header-text--${alignment.name}`)) {\n textAlign = alignment.name;\n }\n });\n return textAlign;\n }\n\n /**\n * Allow Header to be converted to/from other blocks\n */\n static get conversionConfig() {\n return {\n export: \"text\", // use 'text' property for other blocks\n import: \"text\" // fill 'text' property from other block's export string\n };\n }\n\n /**\n * Sanitizer Rules\n */\n static get sanitize() {\n return {\n level: false,\n text: {}\n };\n }\n\n /**\n * Returns true to notify core that read-only is supported\n *\n * @returns {boolean}\n */\n static get isReadOnlySupported() {\n return true;\n }\n\n /**\n * Get current Tools`s data\n *\n * @returns {HeaderData} Current data\n * @private\n */\n get data(): HeaderData {\n this._data.text = this._element.innerHTML;\n this._data.level = this.currentLevel.number;\n this._data.textAlign = this.currentAlignment.name;\n\n return this._data;\n }\n\n /**\n * Store data in plugin:\n * - at the this._data property\n * - at the HTML\n *\n * @param {HeaderData} data — data to set\n * @private\n */\n set data(data: HeaderData) {\n this._data = this.normalizeData(data);\n\n /**\n * If level is set and block in DOM\n * then replace it to a new block\n */\n if (data.level !== undefined && this._element.parentNode) {\n /**\n * Create a new tag\n *\n * @type {HTMLHeadingElement}\n */\n const newHeader = this.getTag();\n\n /**\n * Save Block's content\n */\n newHeader.innerHTML = this._element.innerHTML;\n\n /**\n * Replace blocks\n */\n this._element.parentNode.replaceChild(newHeader, this._element);\n\n /**\n * Save new block to private variable\n *\n * @type {HTMLHeadingElement}\n * @private\n */\n this._element = newHeader;\n }\n\n /**\n * If data.text was passed then update block's content\n */\n if (data.text !== undefined) {\n this._element.innerHTML = this._data.text || \"\";\n }\n }\n\n /**\n * Get tag for target level\n * By default returns second-leveled header\n *\n * @returns {HTMLElement}\n */\n getTag() {\n /**\n * Create element for current Block's level\n */\n const tag = document.createElement(this.currentLevel.tag);\n\n /**\n * Add text to block\n */\n tag.innerHTML = this._data.text || \"\";\n\n /**\n * Add styles class from typography\n */\n if (this.typography) {\n const component = this.currentLevel.tag.toLowerCase();\n const typographyConfig = this.typography[component];\n tag.classList.add(typographyConfig.className);\n } else {\n /**\n * Add styles class\n */\n tag.classList.add(this._CSS.wrapper);\n }\n\n /**\n * Add Alignment class\n */\n this.alignments.forEach(alignment => {\n const textAlignClass = `ce-header-text--${alignment.name}`;\n if (alignment.name === this._data.textAlign) {\n tag.classList.add(textAlignClass);\n } else {\n tag.classList.remove(textAlignClass);\n }\n });\n\n /**\n * Make tag editable\n */\n tag.contentEditable = this.readOnly ? \"false\" : \"true\";\n\n /**\n * Add Placeholder\n */\n tag.dataset[\"placeholder\"] = this.api.i18n.t(this._settings.placeholder || \"\");\n\n return tag;\n }\n\n /**\n * Get current level\n *\n * @returns {level}\n */\n get currentLevel() {\n let level = this.levels.find(levelItem => levelItem.number === this._data.level);\n\n if (!level) {\n level = this.defaultLevel;\n }\n\n return level;\n }\n\n /**\n * Get current alignment\n *\n * @returns {alignment}\n */\n get currentAlignment() {\n let alignment = this.alignments.find(alignment => alignment.name === this._data.textAlign);\n\n if (!alignment) {\n alignment = { name: TextAlign.START, svg: ALIGNMENT_ICONS.start };\n }\n\n return alignment;\n }\n\n /**\n * Return default level\n *\n * @returns {level}\n */\n get defaultLevel() {\n /**\n * User can specify own default level value\n */\n if (this._settings.defaultLevel) {\n const userSpecified = this.levels.find(levelItem => {\n return levelItem.number === this._settings.defaultLevel;\n });\n\n if (userSpecified) {\n return userSpecified;\n } else {\n console.warn(\n \"(ง'̀-'́)ง Heading Tool: the default level specified was not found in available levels\"\n );\n }\n }\n\n /**\n * With no additional options, there will be H2 by default\n *\n * @type {level}\n */\n return this.levels[1];\n }\n\n /**\n * @typedef {object} level\n * @property {number} number - level number\n * @property {string} tag - tag corresponds with level number\n * @property {string} svg - icon\n */\n\n /**\n * Available header levels\n *\n * @returns {level[]}\n */\n get levels() {\n const availableLevels = [\n {\n number: 1,\n tag: \"H1\",\n svg: '<svg width=\"16\" height=\"14\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.14 1.494V4.98h4.62V1.494c0-.498.098-.871.293-1.12A.927.927 0 0 1 7.82 0c.322 0 .583.123.782.37.2.246.3.62.3 1.124v9.588c0 .503-.101.88-.303 1.128a.957.957 0 0 1-.779.374.921.921 0 0 1-.77-.378c-.193-.251-.29-.626-.29-1.124V6.989H2.14v4.093c0 .503-.1.88-.302 1.128a.957.957 0 0 1-.778.374.921.921 0 0 1-.772-.378C.096 11.955 0 11.58 0 11.082V1.494C0 .996.095.623.285.374A.922.922 0 0 1 1.06 0c.321 0 .582.123.782.37.199.246.299.62.299 1.124zm11.653 9.985V5.27c-1.279.887-2.14 1.33-2.583 1.33a.802.802 0 0 1-.563-.228.703.703 0 0 1-.245-.529c0-.232.08-.402.241-.511.161-.11.446-.25.854-.424.61-.259 1.096-.532 1.462-.818a5.84 5.84 0 0 0 .97-.962c.282-.355.466-.573.552-.655.085-.082.246-.123.483-.123.267 0 .481.093.642.28.161.186.242.443.242.77v7.813c0 .914-.345 1.371-1.035 1.371-.307 0-.554-.093-.74-.28-.187-.186-.28-.461-.28-.825z\"/></svg>'\n },\n {\n number: 2,\n tag: \"H2\",\n svg: '<svg width=\"18\" height=\"14\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.152 1.494V4.98h4.646V1.494c0-.498.097-.871.293-1.12A.934.934 0 0 1 7.863 0c.324 0 .586.123.786.37.2.246.301.62.301 1.124v9.588c0 .503-.101.88-.304 1.128a.964.964 0 0 1-.783.374.928.928 0 0 1-.775-.378c-.194-.251-.29-.626-.29-1.124V6.989H2.152v4.093c0 .503-.101.88-.304 1.128a.964.964 0 0 1-.783.374.928.928 0 0 1-.775-.378C.097 11.955 0 11.58 0 11.082V1.494C0 .996.095.623.286.374A.929.929 0 0 1 1.066 0c.323 0 .585.123.786.37.2.246.3.62.3 1.124zm10.99 9.288h3.527c.351 0 .62.072.804.216.185.144.277.34.277.588 0 .22-.073.408-.22.56-.146.154-.368.23-.665.23h-4.972c-.338 0-.601-.093-.79-.28a.896.896 0 0 1-.284-.659c0-.162.06-.377.182-.645s.255-.478.399-.631a38.617 38.617 0 0 1 1.621-1.598c.482-.444.827-.735 1.034-.875.369-.261.676-.523.922-.787.245-.263.432-.534.56-.81.129-.278.193-.549.193-.815 0-.288-.069-.546-.206-.773a1.428 1.428 0 0 0-.56-.53 1.618 1.618 0 0 0-.774-.19c-.59 0-1.054.26-1.392.777-.045.068-.12.252-.226.554-.106.302-.225.534-.358.696-.133.162-.328.243-.585.243a.76.76 0 0 1-.56-.223c-.149-.148-.223-.351-.223-.608 0-.31.07-.635.21-.972.139-.338.347-.645.624-.92a3.093 3.093 0 0 1 1.054-.665c.426-.169.924-.253 1.496-.253.69 0 1.277.108 1.764.324.315.144.592.343.83.595.24.252.425.544.558.875.133.33.2.674.2 1.03 0 .558-.14 1.066-.416 1.523-.277.457-.56.815-.848 1.074-.288.26-.771.666-1.45 1.22-.677.554-1.142.984-1.394 1.29a3.836 3.836 0 0 0-.331.44z\"/></svg>'\n },\n {\n number: 3,\n tag: \"H3\",\n svg: '<svg width=\"18\" height=\"14\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.152 1.494V4.98h4.646V1.494c0-.498.097-.871.293-1.12A.934.934 0 0 1 7.863 0c.324 0 .586.123.786.37.2.246.301.62.301 1.124v9.588c0 .503-.101.88-.304 1.128a.964.964 0 0 1-.783.374.928.928 0 0 1-.775-.378c-.194-.251-.29-.626-.29-1.124V6.989H2.152v4.093c0 .503-.101.88-.304 1.128a.964.964 0 0 1-.783.374.928.928 0 0 1-.775-.378C.097 11.955 0 11.58 0 11.082V1.494C0 .996.095.623.286.374A.929.929 0 0 1 1.066 0c.323 0 .585.123.786.37.2.246.3.62.3 1.124zm11.61 4.919c.418 0 .778-.123 1.08-.368.301-.245.452-.597.452-1.055 0-.35-.12-.65-.36-.902-.241-.252-.566-.378-.974-.378-.277 0-.505.038-.684.116a1.1 1.1 0 0 0-.426.306 2.31 2.31 0 0 0-.296.49c-.093.2-.178.388-.255.565a.479.479 0 0 1-.245.225.965.965 0 0 1-.409.081.706.706 0 0 1-.5-.22c-.152-.148-.228-.345-.228-.59 0-.236.071-.484.214-.745a2.72 2.72 0 0 1 .627-.746 3.149 3.149 0 0 1 1.024-.568 4.122 4.122 0 0 1 1.368-.214c.44 0 .842.06 1.205.18.364.12.679.294.947.52.267.228.47.49.606.79.136.3.204.622.204.967 0 .454-.099.843-.296 1.168-.198.324-.48.64-.848.95.354.19.653.408.895.653.243.245.426.516.548.813.123.298.184.619.184.964 0 .413-.083.812-.248 1.198-.166.386-.41.73-.732 1.031a3.49 3.49 0 0 1-1.147.708c-.443.17-.932.256-1.467.256a3.512 3.512 0 0 1-1.464-.293 3.332 3.332 0 0 1-1.699-1.64c-.142-.314-.214-.573-.214-.777 0-.263.085-.475.255-.636a.89.89 0 0 1 .637-.242c.127 0 .25.037.367.112a.53.53 0 0 1 .232.27c.236.63.489 1.099.759 1.405.27.306.65.46 1.14.46a1.714 1.714 0 0 0 1.46-.824c.17-.273.256-.588.256-.947 0-.53-.145-.947-.436-1.249-.29-.302-.694-.453-1.212-.453-.09 0-.231.01-.422.028-.19.018-.313.027-.367.027-.25 0-.443-.062-.579-.187-.136-.125-.204-.299-.204-.521 0-.218.081-.394.245-.528.163-.134.406-.2.728-.2h.28z\"/></svg>'\n },\n {\n number: 4,\n tag: \"H4\",\n svg: '<svg width=\"20\" height=\"14\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.152 1.494V4.98h4.646V1.494c0-.498.097-.871.293-1.12A.934.934 0 0 1 7.863 0c.324 0 .586.123.786.37.2.246.301.62.301 1.124v9.588c0 .503-.101.88-.304 1.128a.964.964 0 0 1-.783.374.928.928 0 0 1-.775-.378c-.194-.251-.29-.626-.29-1.124V6.989H2.152v4.093c0 .503-.101.88-.304 1.128a.964.964 0 0 1-.783.374.928.928 0 0 1-.775-.378C.097 11.955 0 11.58 0 11.082V1.494C0 .996.095.623.286.374A.929.929 0 0 1 1.066 0c.323 0 .585.123.786.37.2.246.3.62.3 1.124zm13.003 10.09v-1.252h-3.38c-.427 0-.746-.097-.96-.29-.213-.193-.32-.456-.32-.788 0-.085.016-.171.048-.259.031-.088.078-.18.141-.276.063-.097.128-.19.195-.28.068-.09.15-.2.25-.33l3.568-4.774a5.44 5.44 0 0 1 .576-.683.763.763 0 0 1 .542-.212c.682 0 1.023.39 1.023 1.171v5.212h.29c.346 0 .623.047.832.142.208.094.313.3.313.62 0 .26-.086.45-.256.568-.17.12-.427.179-.768.179h-.41v1.252c0 .346-.077.603-.23.771-.152.168-.356.253-.612.253a.78.78 0 0 1-.61-.26c-.154-.173-.232-.427-.232-.764zm-2.895-2.76h2.895V4.91L12.26 8.823z\"/></svg>'\n },\n {\n number: 5,\n tag: \"H5\",\n svg: '<svg width=\"18\" height=\"14\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.152 1.494V4.98h4.646V1.494c0-.498.097-.871.293-1.12A.934.934 0 0 1 7.863 0c.324 0 .586.123.786.37.2.246.301.62.301 1.124v9.588c0 .503-.101.88-.304 1.128a.964.964 0 0 1-.783.374.928.928 0 0 1-.775-.378c-.194-.251-.29-.626-.29-1.124V6.989H2.152v4.093c0 .503-.101.88-.304 1.128a.964.964 0 0 1-.783.374.928.928 0 0 1-.775-.378C.097 11.955 0 11.58 0 11.082V1.494C0 .996.095.623.286.374A.929.929 0 0 1 1.066 0c.323 0 .585.123.786.37.2.246.3.62.3 1.124zm14.16 2.645h-3.234l-.388 2.205c.644-.344 1.239-.517 1.783-.517.436 0 .843.082 1.222.245.38.164.712.39.998.677.286.289.51.63.674 1.025.163.395.245.82.245 1.273 0 .658-.148 1.257-.443 1.797-.295.54-.72.97-1.276 1.287-.556.318-1.197.477-1.923.477-.813 0-1.472-.15-1.978-.45-.506-.3-.865-.643-1.076-1.031-.21-.388-.316-.727-.316-1.018 0-.177.073-.345.22-.504a.725.725 0 0 1 .556-.238c.381 0 .665.22.85.66.182.404.427.719.736.943.309.225.654.337 1.035.337.35 0 .656-.09.919-.272.263-.182.466-.431.61-.749.142-.318.214-.678.214-1.082 0-.436-.078-.808-.232-1.117a1.607 1.607 0 0 0-.62-.69 1.674 1.674 0 0 0-.864-.229c-.39 0-.67.048-.837.143-.168.095-.41.262-.725.5-.316.239-.576.358-.78.358a.843.843 0 0 1-.592-.242c-.173-.16-.259-.344-.259-.548 0-.022.025-.177.075-.463l.572-3.26c.063-.39.181-.675.354-.852.172-.177.454-.265.844-.265h3.595c.708 0 1.062.27 1.062.81a.711.711 0 0 1-.26.572c-.172.145-.426.218-.762.218z\"/></svg>'\n },\n {\n number: 6,\n tag: \"H6\",\n svg: '<svg width=\"18\" height=\"14\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.152 1.494V4.98h4.646V1.494c0-.498.097-.871.293-1.12A.934.934 0 0 1 7.863 0c.324 0 .586.123.786.37.2.246.301.62.301 1.124v9.588c0 .503-.101.88-.304 1.128a.964.964 0 0 1-.783.374.928.928 0 0 1-.775-.378c-.194-.251-.29-.626-.29-1.124V6.989H2.152v4.093c0 .503-.101.88-.304 1.128a.964.964 0 0 1-.783.374.928.928 0 0 1-.775-.378C.097 11.955 0 11.58 0 11.082V1.494C0 .996.095.623.286.374A.929.929 0 0 1 1.066 0c.323 0 .585.123.786.37.2.246.3.62.3 1.124zM12.53 7.058a3.093 3.093 0 0 1 1.004-.814 2.734 2.734 0 0 1 1.214-.264c.43 0 .827.08 1.19.24.365.161.684.39.957.686.274.296.485.645.635 1.048a3.6 3.6 0 0 1 .223 1.262c0 .637-.145 1.216-.437 1.736-.292.52-.699.926-1.221 1.218-.522.292-1.114.438-1.774.438-.76 0-1.416-.186-1.967-.557-.552-.37-.974-.919-1.265-1.645-.292-.726-.438-1.613-.438-2.662 0-.855.088-1.62.265-2.293.176-.674.43-1.233.76-1.676.33-.443.73-.778 1.2-1.004.47-.226 1.006-.339 1.608-.339.579 0 1.089.113 1.53.34.44.225.773.506.997.84.224.335.335.656.335.964 0 .185-.07.354-.21.505a.698.698 0 0 1-.536.227.874.874 0 0 1-.529-.18 1.039 1.039 0 0 1-.36-.498 1.42 1.42 0 0 0-.495-.655 1.3 1.3 0 0 0-.786-.247c-.24 0-.479.069-.716.207a1.863 1.863 0 0 0-.6.56c-.33.479-.525 1.333-.584 2.563zm1.832 4.213c.456 0 .834-.186 1.133-.56.298-.373.447-.862.447-1.468 0-.412-.07-.766-.21-1.062a1.584 1.584 0 0 0-.577-.678 1.47 1.47 0 0 0-.807-.234c-.28 0-.548.074-.804.224-.255.149-.461.365-.617.647a2.024 2.024 0 0 0-.234.994c0 .61.158 1.12.475 1.527.316.407.714.61 1.194.61z\"/></svg>'\n }\n ];\n\n return this._settings.levels\n ? availableLevels.filter(l => this._settings.levels.includes(l.number))\n : availableLevels;\n }\n\n /**\n * Handle H1-H6 tags on paste to substitute it with header Tool\n *\n * @param {HTMLPasteEvent} event - event with pasted content\n */\n onPaste(event: HTMLPasteEvent) {\n const content = event.detail.data;\n\n /**\n * Define default level value\n *\n * @type {number}\n */\n let level = this.defaultLevel.number;\n\n switch (content.tagName) {\n case \"H1\":\n level = 1;\n break;\n case \"H2\":\n level = 2;\n break;\n case \"H3\":\n level = 3;\n break;\n case \"H4\":\n level = 4;\n break;\n case \"H5\":\n level = 5;\n break;\n case \"H6\":\n level = 6;\n break;\n }\n\n if (this._settings.levels) {\n // Fallback to nearest level when specified not available\n level = this._settings.levels.reduce((prevLevel, currLevel) => {\n return Math.abs(currLevel - level) < Math.abs(prevLevel - level)\n ? currLevel\n : prevLevel;\n });\n }\n\n this.data = {\n level,\n text: content.innerHTML\n };\n }\n\n /**\n * Used by Editor.js paste handling API.\n * Provides configuration to handle H1-H6 tags.\n *\n * @returns {{handler: (function(HTMLElement): {text: string}), tags: string[]}}\n */\n static get pasteConfig() {\n return {\n tags: [\"H1\", \"H2\", \"H3\", \"H4\", \"H5\", \"H6\"]\n };\n }\n\n /**\n * Get Tool toolbox settings\n * icon - Tool icon's SVG\n * title - title to show in toolbox\n *\n * @returns {{icon: string, title: string}}\n */\n static get toolbox() {\n return {\n icon:\n '<svg width=\"10\" height=\"14\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 10 14\">\\n' +\n ' <path d=\"M7.6 8.15H2.25v4.525a1.125 1.125 0 0 1-2.25 0V1.125a1.125 1.125 0 1 1 2.25 0V5.9H7.6V1.125a1.125 1.125 0 0 1 2.25 0v11.55a1.125 1.125 0 0 1-2.25 0V8.15z\"/>\\n' +\n \"</svg>\",\n title: \"Heading\"\n };\n }\n}\n\nexport default Header;\n"],"mappings":"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"}
|
|
@@ -1,3 +1,34 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
/// <reference types="web" />
|
|
3
|
+
import { API } from "@editorjs/editorjs";
|
|
4
|
+
import { Tune } from "./types";
|
|
5
|
+
interface File {
|
|
6
|
+
src: string;
|
|
7
|
+
}
|
|
8
|
+
interface GetFileSourceCallable {
|
|
9
|
+
(file: File | string): string;
|
|
10
|
+
}
|
|
11
|
+
interface OnSelectFileCallable {
|
|
12
|
+
(file: File): string;
|
|
13
|
+
}
|
|
14
|
+
interface ImageToolData {
|
|
15
|
+
caption: string;
|
|
16
|
+
file: string;
|
|
17
|
+
}
|
|
18
|
+
interface ImageToolParams {
|
|
19
|
+
data: ImageToolData;
|
|
20
|
+
config: Config;
|
|
21
|
+
api: API;
|
|
22
|
+
readOnly: boolean;
|
|
23
|
+
}
|
|
24
|
+
interface Config {
|
|
25
|
+
getFileSrc: GetFileSourceCallable;
|
|
26
|
+
onSelectFile: OnSelectFileCallable;
|
|
27
|
+
actions: Tune[];
|
|
28
|
+
context: {
|
|
29
|
+
showFileManager: (cb: (file: File) => void) => void;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
1
32
|
export default class ImageTool {
|
|
2
33
|
private readonly api;
|
|
3
34
|
private readonly readOnly;
|
|
@@ -22,12 +53,7 @@ export default class ImageTool {
|
|
|
22
53
|
icon: string;
|
|
23
54
|
title: string;
|
|
24
55
|
};
|
|
25
|
-
constructor({ data, config, api, readOnly }:
|
|
26
|
-
data: any;
|
|
27
|
-
config: any;
|
|
28
|
-
api: any;
|
|
29
|
-
readOnly: any;
|
|
30
|
-
});
|
|
56
|
+
constructor({ data, config, api, readOnly }: ImageToolParams);
|
|
31
57
|
/**
|
|
32
58
|
* Renders Block content
|
|
33
59
|
*
|
|
@@ -43,7 +69,7 @@ export default class ImageTool {
|
|
|
43
69
|
*
|
|
44
70
|
* @returns {ImageToolData}
|
|
45
71
|
*/
|
|
46
|
-
save():
|
|
72
|
+
save(): ImageToolData;
|
|
47
73
|
/**
|
|
48
74
|
* Makes buttons with tunes: stretch image
|
|
49
75
|
*
|
|
@@ -51,7 +77,7 @@ export default class ImageTool {
|
|
|
51
77
|
*
|
|
52
78
|
* @returns {Element}
|
|
53
79
|
*/
|
|
54
|
-
renderSettings():
|
|
80
|
+
renderSettings(): HTMLElement;
|
|
55
81
|
/**
|
|
56
82
|
* Stores all Tool's data
|
|
57
83
|
*
|
|
@@ -59,7 +85,7 @@ export default class ImageTool {
|
|
|
59
85
|
*
|
|
60
86
|
* @param {ImageToolData} data - data in Image Tool format
|
|
61
87
|
*/
|
|
62
|
-
set data(data:
|
|
88
|
+
set data(data: ImageToolData);
|
|
63
89
|
/**
|
|
64
90
|
* Return Tool data
|
|
65
91
|
*
|
|
@@ -67,7 +93,7 @@ export default class ImageTool {
|
|
|
67
93
|
*
|
|
68
94
|
* @returns {ImageToolData}
|
|
69
95
|
*/
|
|
70
|
-
get data():
|
|
96
|
+
get data(): ImageToolData;
|
|
71
97
|
/**
|
|
72
98
|
* Set new image file
|
|
73
99
|
*
|
|
@@ -75,7 +101,7 @@ export default class ImageTool {
|
|
|
75
101
|
*
|
|
76
102
|
* @param {object} file - uploaded file data
|
|
77
103
|
*/
|
|
78
|
-
set image(file:
|
|
104
|
+
set image(file: File | string);
|
|
79
105
|
/**
|
|
80
106
|
* Callback fired when Block Tune is activated
|
|
81
107
|
*
|
|
@@ -84,7 +110,7 @@ export default class ImageTool {
|
|
|
84
110
|
* @param {string} tuneName - tune that has been clicked
|
|
85
111
|
* @returns {void}
|
|
86
112
|
*/
|
|
87
|
-
tuneToggled(tuneName:
|
|
113
|
+
tuneToggled(tuneName: string): void;
|
|
88
114
|
/**
|
|
89
115
|
* Set one tune
|
|
90
116
|
*
|
|
@@ -92,6 +118,7 @@ export default class ImageTool {
|
|
|
92
118
|
* @param {boolean} value - tune state
|
|
93
119
|
* @returns {void}
|
|
94
120
|
*/
|
|
95
|
-
setTune(tuneName:
|
|
121
|
+
setTune(tuneName: string, value: boolean): void;
|
|
96
122
|
isReadOnly(): boolean;
|
|
97
123
|
}
|
|
124
|
+
export {};
|