@webiny/app-admin 0.0.0-ee-vpcs.549378cf03
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/LICENSE +21 -0
- package/README.md +21 -0
- package/assets/icons/add-18px.svg +3 -0
- package/assets/icons/arrow_drop_down-24px.svg +4 -0
- package/assets/icons/attach_file_black_24dp.svg +1 -0
- package/assets/icons/baseline-menu-24px.svg +4 -0
- package/assets/icons/baseline-notification_important-24px.svg +4 -0
- package/assets/icons/baseline-security-24px.svg +4 -0
- package/assets/icons/filter-24px.svg +8 -0
- package/assets/icons/github-brands.svg +1 -0
- package/assets/icons/highlight-24px.svg +1 -0
- package/assets/icons/icon-community.svg +16 -0
- package/assets/icons/icon-documentation.svg +16 -0
- package/assets/icons/info.svg +1 -0
- package/assets/icons/insert_drive_file-24px.svg +1 -0
- package/assets/icons/insert_photo-24px.svg +1 -0
- package/assets/icons/label-24px.svg +1 -0
- package/assets/icons/round-account_circle-24px.svg +1 -0
- package/assets/icons/round-add-24px.svg +16 -0
- package/assets/icons/round-arrow_drop_down-24px.svg +1 -0
- package/assets/icons/round-chevron_right-24px.svg +12 -0
- package/assets/icons/round-feedback-24px.svg +54 -0
- package/assets/icons/round-help-24px.svg +1 -0
- package/assets/icons/round-invert_colors-24px.svg +52 -0
- package/assets/icons/round-keyboard_arrow_down-24px.svg +16 -0
- package/assets/icons/round-keyboard_arrow_up-24px.svg +16 -0
- package/assets/icons/round-lock_open-24px.svg +60 -0
- package/assets/icons/round-more_vert-24px.svg +12 -0
- package/assets/icons/round-open_in_new-24px.svg +44 -0
- package/assets/icons/round-settings-24px.svg +4 -0
- package/assets/icons/search-24px.svg +20 -0
- package/assets/icons/slack-logo.svg +1 -0
- package/assets/icons/today-24px.svg +1 -0
- package/assets/icons/touch_app.svg +1 -0
- package/assets/images/arr.png +0 -0
- package/assets/images/arr_2.png +0 -0
- package/assets/images/header_bg.jpg +0 -0
- package/assets/images/icons.png +0 -0
- package/assets/images/icons_retina.png +0 -0
- package/assets/images/logo.png +0 -0
- package/assets/images/logo_orange.png +0 -0
- package/assets/images/public/bg-login.png +0 -0
- package/assets/images/public/favicon.ico +0 -0
- package/assets/images/public/logo_orange.png +0 -0
- package/assets/images/public/preloader_2.png +0 -0
- package/assets/images/swich.png +0 -0
- package/assets/images/table_img.jpg +0 -0
- package/assets/images/webiny-logo.svg +20 -0
- package/assets/images/webiny-orange-logo.svg +20 -0
- 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 +6 -0
- package/components/AdminLayout.js +22 -0
- 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 +9 -0
- package/components/AppInstaller/Sidebar.js +178 -0
- package/components/AppInstaller/Sidebar.js.map +1 -0
- package/components/AppInstaller/assets/sign-in-divider.svg +19 -0
- package/components/AppInstaller/index.d.ts +2 -0
- package/components/AppInstaller/index.js +29 -0
- package/components/AppInstaller/index.js.map +1 -0
- package/components/AppInstaller/styled.d.ts +9 -0
- package/components/AppInstaller/styled.js +91 -0
- package/components/AppInstaller/styled.js.map +1 -0
- package/components/AppInstaller/useInstaller.d.ts +31 -0
- package/components/AppInstaller/useInstaller.js +321 -0
- package/components/AppInstaller/useInstaller.js.map +1 -0
- package/components/EmptyView.d.ts +8 -0
- package/components/EmptyView.js +70 -0
- package/components/EmptyView.js.map +1 -0
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.d.ts +6 -0
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +55 -0
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +1 -0
- package/components/FileManager/BottomInfoBar/UploadStatus.d.ts +6 -0
- package/components/FileManager/BottomInfoBar/UploadStatus.js +60 -0
- package/components/FileManager/BottomInfoBar/UploadStatus.js.map +1 -0
- package/components/FileManager/BottomInfoBar.d.ts +5 -0
- package/components/FileManager/BottomInfoBar.js +60 -0
- package/components/FileManager/BottomInfoBar.js.map +1 -0
- package/components/FileManager/DropFilesHere.d.ts +10 -0
- package/components/FileManager/DropFilesHere.js +76 -0
- package/components/FileManager/DropFilesHere.js.map +1 -0
- package/components/FileManager/File.d.ts +17 -0
- package/components/FileManager/File.js +155 -0
- package/components/FileManager/File.js.map +1 -0
- package/components/FileManager/FileDetails/Name.d.ts +8 -0
- package/components/FileManager/FileDetails/Name.js +138 -0
- package/components/FileManager/FileDetails/Name.js.map +1 -0
- package/components/FileManager/FileDetails/Tags.d.ts +10 -0
- package/components/FileManager/FileDetails/Tags.js +339 -0
- package/components/FileManager/FileDetails/Tags.js.map +1 -0
- package/components/FileManager/FileDetails.d.ts +24 -0
- package/components/FileManager/FileDetails.js +474 -0
- package/components/FileManager/FileDetails.js.map +1 -0
- package/components/FileManager/FileManagerContext.d.ts +42 -0
- package/components/FileManager/FileManagerContext.js +224 -0
- package/components/FileManager/FileManagerContext.js.map +1 -0
- package/components/FileManager/FileManagerView.d.ts +18 -0
- package/components/FileManager/FileManagerView.js +728 -0
- package/components/FileManager/FileManagerView.js.map +1 -0
- package/components/FileManager/LeftSidebar.d.ts +10 -0
- package/components/FileManager/LeftSidebar.js +127 -0
- package/components/FileManager/LeftSidebar.js.map +1 -0
- package/components/FileManager/NoPermissionView.d.ts +3 -0
- package/components/FileManager/NoPermissionView.js +87 -0
- package/components/FileManager/NoPermissionView.js.map +1 -0
- package/components/FileManager/NoResults.d.ts +3 -0
- package/components/FileManager/NoResults.js +28 -0
- package/components/FileManager/NoResults.js.map +1 -0
- package/components/FileManager/getFileTypePlugin.d.ts +4 -0
- package/components/FileManager/getFileTypePlugin.js +57 -0
- package/components/FileManager/getFileTypePlugin.js.map +1 -0
- package/components/FileManager/getFileUploader.d.ts +3 -0
- package/components/FileManager/getFileUploader.js +20 -0
- package/components/FileManager/getFileUploader.js.map +1 -0
- package/components/FileManager/graphql.d.ts +96 -0
- package/components/FileManager/graphql.js +58 -0
- package/components/FileManager/graphql.js.map +1 -0
- package/components/FileManager/icons/content_copy-black-24px.svg +1 -0
- package/components/FileManager/icons/delete.svg +12 -0
- package/components/FileManager/icons/privacy_tip-24px.svg +10 -0
- package/components/FileManager/icons/round-check_box-24px.svg +4 -0
- package/components/FileManager/icons/round-check_box_outline_blank-24px.svg +4 -0
- package/components/FileManager/icons/round-cloud_download-24px.svg +4 -0
- package/components/FileManager/icons/round-cloud_upload-24px.svg +4 -0
- package/components/FileManager/icons/round-description-24px.svg +4 -0
- package/components/FileManager/icons/round-edit-24px.svg +4 -0
- package/components/FileManager/icons/round-info-24px.svg +4 -0
- package/components/FileManager/icons/round-label-24px.svg +4 -0
- package/components/FileManager/icons/round-more_vert-24px.svg +4 -0
- package/components/FileManager/icons/round-search-24px.svg +20 -0
- package/components/FileManager/outputFileSelectionError.d.ts +7 -0
- package/components/FileManager/outputFileSelectionError.js +54 -0
- 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 +67 -0
- package/components/FileManager.js +144 -0
- package/components/FileManager.js.map +1 -0
- package/components/FloatingActionButton.d.ts +3 -0
- package/components/FloatingActionButton.js +29 -0
- package/components/FloatingActionButton.js.map +1 -0
- package/components/MultiImageUpload.d.ts +13 -0
- package/components/MultiImageUpload.js +43 -0
- package/components/MultiImageUpload.js.map +1 -0
- package/components/OverlayLayout/OverlayLayout.d.ts +23 -0
- package/components/OverlayLayout/OverlayLayout.js +184 -0
- package/components/OverlayLayout/OverlayLayout.js.map +1 -0
- package/components/OverlayLayout/icons/close.svg +13 -0
- package/components/OverlayLayout/icons/navigate_before.svg +16 -0
- package/components/OverlayLayout/index.d.ts +1 -0
- package/components/OverlayLayout/index.js +18 -0
- package/components/OverlayLayout/index.js.map +1 -0
- package/components/Permissions/Permissions.d.ts +7 -0
- package/components/Permissions/Permissions.js +54 -0
- package/components/Permissions/Permissions.js.map +1 -0
- package/components/Permissions/StyledComponents.d.ts +8 -0
- package/components/Permissions/StyledComponents.js +36 -0
- package/components/Permissions/StyledComponents.js.map +1 -0
- package/components/Permissions/index.d.ts +2 -0
- package/components/Permissions/index.js +30 -0
- package/components/Permissions/index.js.map +1 -0
- package/components/RichTextEditor/RichTextEditor.d.ts +3 -0
- package/components/RichTextEditor/RichTextEditor.js +30 -0
- package/components/RichTextEditor/RichTextEditor.js.map +1 -0
- package/components/RichTextEditor/index.d.ts +2 -0
- package/components/RichTextEditor/index.js +21 -0
- package/components/RichTextEditor/index.js.map +1 -0
- package/components/RichTextEditor/styles.scss +96 -0
- package/components/RichTextEditor/tools/header/index.d.ts +229 -0
- package/components/RichTextEditor/tools/header/index.js +731 -0
- package/components/RichTextEditor/tools/header/index.js.map +1 -0
- package/components/RichTextEditor/tools/header/styles.scss +48 -0
- package/components/RichTextEditor/tools/image/index.d.ts +124 -0
- package/components/RichTextEditor/tools/image/index.js +265 -0
- package/components/RichTextEditor/tools/image/index.js.map +1 -0
- package/components/RichTextEditor/tools/image/styles.scss +90 -0
- package/components/RichTextEditor/tools/image/svgs.d.ts +6 -0
- package/components/RichTextEditor/tools/image/svgs.js +12 -0
- package/components/RichTextEditor/tools/image/svgs.js.map +1 -0
- package/components/RichTextEditor/tools/image/tunes.d.ts +57 -0
- package/components/RichTextEditor/tools/image/tunes.js +146 -0
- 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 +122 -0
- package/components/RichTextEditor/tools/image/ui.js +301 -0
- package/components/RichTextEditor/tools/image/ui.js.map +1 -0
- package/components/RichTextEditor/tools/paragraph/index.d.ts +209 -0
- package/components/RichTextEditor/tools/paragraph/index.js +514 -0
- package/components/RichTextEditor/tools/paragraph/index.js.map +1 -0
- package/components/RichTextEditor/tools/paragraph/styles.scss +29 -0
- package/components/RichTextEditor/tools/textColor/index.d.ts +64 -0
- package/components/RichTextEditor/tools/textColor/index.js +271 -0
- package/components/RichTextEditor/tools/textColor/index.js.map +1 -0
- package/components/RichTextEditor/tools/textColor/styles.scss +21 -0
- package/components/RichTextEditor/tools/utils.d.ts +19 -0
- package/components/RichTextEditor/tools/utils.js +33 -0
- 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 +8 -0
- package/components/SearchUI.js +73 -0
- package/components/SearchUI.js.map +1 -0
- package/components/SimpleForm/SimpleForm.d.ts +21 -0
- package/components/SimpleForm/SimpleForm.js +106 -0
- package/components/SimpleForm/SimpleForm.js.map +1 -0
- package/components/SimpleForm/index.d.ts +1 -0
- package/components/SimpleForm/index.js +31 -0
- package/components/SimpleForm/index.js.map +1 -0
- package/components/SimpleUI/InputField.d.ts +10 -0
- package/components/SimpleUI/InputField.js +116 -0
- package/components/SimpleUI/InputField.js.map +1 -0
- package/components/SingleImageUpload.d.ts +55 -0
- package/components/SingleImageUpload.js +114 -0
- package/components/SingleImageUpload.js.map +1 -0
- package/components/SplitView/SplitView.d.ts +11 -0
- package/components/SplitView/SplitView.js +95 -0
- package/components/SplitView/SplitView.js.map +1 -0
- package/components/SplitView/index.d.ts +1 -0
- package/components/SplitView/index.js +25 -0
- package/components/SplitView/index.js.map +1 -0
- package/components/index.d.ts +1 -0
- package/components/index.js +13 -0
- package/components/index.js.map +1 -0
- package/hooks/useConfirmationDialog.d.ts +13 -0
- package/hooks/useConfirmationDialog.js +63 -0
- package/hooks/useConfirmationDialog.js.map +1 -0
- package/hooks/useDialog.d.ts +10 -0
- package/hooks/useDialog.js +37 -0
- package/hooks/useDialog.js.map +1 -0
- package/hooks/useSnackbar.d.ts +7 -0
- package/hooks/useSnackbar.js +38 -0
- 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 +102 -0
- package/plugins/FileManagerFileTypePlugin.d.ts +33 -0
- package/plugins/FileManagerFileTypePlugin.js +63 -0
- package/plugins/FileManagerFileTypePlugin.js.map +1 -0
- package/plugins/MenuPlugin.d.ts +37 -0
- package/plugins/MenuPlugin.js +58 -0
- package/plugins/MenuPlugin.js.map +1 -0
- package/plugins/PermissionRendererPlugin.d.ts +22 -0
- package/plugins/PermissionRendererPlugin.js +58 -0
- package/plugins/PermissionRendererPlugin.js.map +1 -0
- package/plugins/fileManager/fileDefault.d.ts +2 -0
- package/plugins/fileManager/fileDefault.js +34 -0
- package/plugins/fileManager/fileDefault.js.map +1 -0
- package/plugins/fileManager/fileImage/DeleteAction.d.ts +7 -0
- package/plugins/fileManager/fileImage/DeleteAction.js +83 -0
- package/plugins/fileManager/fileImage/DeleteAction.js.map +1 -0
- package/plugins/fileManager/fileImage/EditAction.d.ts +10 -0
- package/plugins/fileManager/fileImage/EditAction.js +179 -0
- package/plugins/fileManager/fileImage/EditAction.js.map +1 -0
- package/plugins/fileManager/fileImage/index.d.ts +2 -0
- package/plugins/fileManager/fileImage/index.js +46 -0
- package/plugins/fileManager/fileImage/index.js.map +1 -0
- package/plugins/fileManager/icons/edit.svg +17 -0
- package/plugins/fileManager/icons/round-description-24px.svg +1 -0
- package/plugins/fileManager/index.d.ts +2 -0
- package/plugins/fileManager/index.js +21 -0
- package/plugins/fileManager/index.js.map +1 -0
- package/plugins/globalSearch/SearchBar.d.ts +15 -0
- package/plugins/globalSearch/SearchBar.js +273 -0
- package/plugins/globalSearch/SearchBar.js.map +1 -0
- package/plugins/globalSearch/SearchBarDropdown.d.ts +23 -0
- package/plugins/globalSearch/SearchBarDropdown.js +101 -0
- package/plugins/globalSearch/SearchBarDropdown.js.map +1 -0
- package/plugins/globalSearch/icons/round-search-24px.svg +20 -0
- package/plugins/globalSearch/index.d.ts +7 -0
- package/plugins/globalSearch/index.js +16 -0
- package/plugins/globalSearch/index.js.map +1 -0
- package/plugins/globalSearch/styled.d.ts +11 -0
- package/plugins/globalSearch/styled.js +135 -0
- package/plugins/globalSearch/styled.js.map +1 -0
- package/plugins/uiLayoutRenderer/index.d.ts +2 -0
- package/plugins/uiLayoutRenderer/index.js +75 -0
- package/plugins/uiLayoutRenderer/index.js.map +1 -0
- package/styles/material-theme-assignments.scss +350 -0
- package/styles/material.scss +43 -0
- package/styles/theme.scss +46 -0
- package/styles.scss +2 -0
- package/types.d.ts +93 -0
- package/types.js +5 -0
- package/types.js.map +1 -0
- package/ui/UIElement.d.ts +2 -0
- package/ui/UIElement.js +19 -0
- package/ui/UIElement.js.map +1 -0
- package/ui/UILayout.d.ts +1 -0
- package/ui/UILayout.js +19 -0
- package/ui/UILayout.js.map +1 -0
- package/ui/UIRenderer.d.ts +2 -0
- package/ui/UIRenderer.js +13 -0
- package/ui/UIRenderer.js.map +1 -0
- package/ui/UIView.d.ts +2 -0
- package/ui/UIView.js +25 -0
- package/ui/UIView.js.map +1 -0
- package/ui/elements/AccordionElement.d.ts +27 -0
- package/ui/elements/AccordionElement.js +110 -0
- package/ui/elements/AccordionElement.js.map +1 -0
- package/ui/elements/ButtonElement.d.ts +24 -0
- package/ui/elements/ButtonElement.js +105 -0
- package/ui/elements/ButtonElement.js.map +1 -0
- package/ui/elements/ButtonGroupElement.d.ts +6 -0
- package/ui/elements/ButtonGroupElement.js +67 -0
- package/ui/elements/ButtonGroupElement.js.map +1 -0
- package/ui/elements/GenericElement.d.ts +1 -0
- package/ui/elements/GenericElement.js +18 -0
- package/ui/elements/GenericElement.js.map +1 -0
- package/ui/elements/LabelElement.d.ts +16 -0
- package/ui/elements/LabelElement.js +60 -0
- package/ui/elements/LabelElement.js.map +1 -0
- package/ui/elements/NavigationMenuElement.d.ts +33 -0
- package/ui/elements/NavigationMenuElement.js +177 -0
- package/ui/elements/NavigationMenuElement.js.map +1 -0
- package/ui/elements/PanelElement.d.ts +3 -0
- package/ui/elements/PanelElement.js +33 -0
- package/ui/elements/PanelElement.js.map +1 -0
- package/ui/elements/PlaceholderElement.d.ts +6 -0
- package/ui/elements/PlaceholderElement.js +44 -0
- package/ui/elements/PlaceholderElement.js.map +1 -0
- package/ui/elements/SmallButtonElement.d.ts +6 -0
- package/ui/elements/SmallButtonElement.js +64 -0
- package/ui/elements/SmallButtonElement.js.map +1 -0
- package/ui/elements/TypographyElement.d.ts +13 -0
- package/ui/elements/TypographyElement.js +67 -0
- package/ui/elements/TypographyElement.js.map +1 -0
- package/ui/elements/ViewElement.d.ts +1 -0
- package/ui/elements/ViewElement.js +18 -0
- package/ui/elements/ViewElement.js.map +1 -0
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.d.ts +6 -0
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +60 -0
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -0
- package/ui/elements/form/DynamicFieldsetElement.d.ts +43 -0
- package/ui/elements/form/DynamicFieldsetElement.js +158 -0
- package/ui/elements/form/DynamicFieldsetElement.js.map +1 -0
- package/ui/elements/form/FileManagerElement/EmptyStateElement.d.ts +4 -0
- package/ui/elements/form/FileManagerElement/EmptyStateElement.js +41 -0
- package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -0
- package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.d.ts +7 -0
- package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +95 -0
- package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -0
- package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.d.ts +13 -0
- package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +123 -0
- package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -0
- package/ui/elements/form/FileManagerElement/styled.d.ts +20 -0
- package/ui/elements/form/FileManagerElement/styled.js +120 -0
- package/ui/elements/form/FileManagerElement/styled.js.map +1 -0
- package/ui/elements/form/FileManagerElement.d.ts +24 -0
- package/ui/elements/form/FileManagerElement.js +108 -0
- package/ui/elements/form/FileManagerElement.js.map +1 -0
- package/ui/elements/form/FormElement.d.ts +21 -0
- package/ui/elements/form/FormElement.js +66 -0
- package/ui/elements/form/FormElement.js.map +1 -0
- package/ui/elements/form/FormFieldElement.d.ts +56 -0
- package/ui/elements/form/FormFieldElement.js +206 -0
- package/ui/elements/form/FormFieldElement.js.map +1 -0
- package/ui/elements/form/HiddenElement.d.ts +6 -0
- package/ui/elements/form/HiddenElement.js +64 -0
- package/ui/elements/form/HiddenElement.js.map +1 -0
- package/ui/elements/form/InputElement.d.ts +7 -0
- package/ui/elements/form/InputElement.js +72 -0
- package/ui/elements/form/InputElement.js.map +1 -0
- package/ui/elements/form/PasswordElement.d.ts +6 -0
- package/ui/elements/form/PasswordElement.js +66 -0
- package/ui/elements/form/PasswordElement.js.map +1 -0
- package/ui/elements/form/README.md +2 -0
- package/ui/elements/form/SelectElement.d.ts +15 -0
- package/ui/elements/form/SelectElement.js +87 -0
- package/ui/elements/form/SelectElement.js.map +1 -0
- package/ui/elements/form/TextareaElement.d.ts +15 -0
- package/ui/elements/form/TextareaElement.js +72 -0
- package/ui/elements/form/TextareaElement.js.map +1 -0
- package/ui/views/AdminView/ContentElement.d.ts +4 -0
- package/ui/views/AdminView/ContentElement.js +78 -0
- package/ui/views/AdminView/ContentElement.js.map +1 -0
- package/ui/views/AdminView/HeaderElement.d.ts +13 -0
- package/ui/views/AdminView/HeaderElement.js +144 -0
- package/ui/views/AdminView/HeaderElement.js.map +1 -0
- package/ui/views/AdminView/HeaderSectionCenterElement.d.ts +6 -0
- package/ui/views/AdminView/HeaderSectionCenterElement.js +62 -0
- package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -0
- package/ui/views/AdminView/HeaderSectionLeftElement.d.ts +6 -0
- package/ui/views/AdminView/HeaderSectionLeftElement.js +62 -0
- package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -0
- package/ui/views/AdminView/HeaderSectionRightElement.d.ts +6 -0
- package/ui/views/AdminView/HeaderSectionRightElement.js +62 -0
- package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -0
- package/ui/views/AdminView/components/Dialog.d.ts +2 -0
- package/ui/views/AdminView/components/Dialog.js +57 -0
- package/ui/views/AdminView/components/Dialog.js.map +1 -0
- package/ui/views/AdminView/components/Hamburger.d.ts +3 -0
- package/ui/views/AdminView/components/Hamburger.js +39 -0
- package/ui/views/AdminView/components/Hamburger.js.map +1 -0
- package/ui/views/AdminView/components/Snackbar.d.ts +3 -0
- package/ui/views/AdminView/components/Snackbar.js +41 -0
- package/ui/views/AdminView/components/Snackbar.js.map +1 -0
- package/ui/views/FormView/FormContainerElement.d.ts +12 -0
- package/ui/views/FormView/FormContainerElement.js +71 -0
- package/ui/views/FormView/FormContainerElement.js.map +1 -0
- package/ui/views/FormView/FormContentElement.d.ts +3 -0
- package/ui/views/FormView/FormContentElement.js +33 -0
- package/ui/views/FormView/FormContentElement.js.map +1 -0
- package/ui/views/FormView/FormFooterElement.d.ts +6 -0
- package/ui/views/FormView/FormFooterElement.js +68 -0
- package/ui/views/FormView/FormFooterElement.js.map +1 -0
- package/ui/views/FormView/FormHeaderElement.d.ts +14 -0
- package/ui/views/FormView/FormHeaderElement.js +103 -0
- package/ui/views/FormView/FormHeaderElement.js.map +1 -0
- package/ui/views/FormView.d.ts +40 -0
- package/ui/views/FormView.js +208 -0
- package/ui/views/FormView.js.map +1 -0
- package/ui/views/OverlayView/ContentElement.d.ts +6 -0
- package/ui/views/OverlayView/ContentElement.js +61 -0
- package/ui/views/OverlayView/ContentElement.js.map +1 -0
- package/ui/views/OverlayView/HeaderElement.d.ts +24 -0
- package/ui/views/OverlayView/HeaderElement.js +134 -0
- package/ui/views/OverlayView/HeaderElement.js.map +1 -0
- package/ui/views/OverlayView/HeaderTitleElement.d.ts +13 -0
- package/ui/views/OverlayView/HeaderTitleElement.js +73 -0
- package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -0
- package/ui/views/OverlayView/useOverlayView.d.ts +5 -0
- package/ui/views/OverlayView/useOverlayView.js +54 -0
- package/ui/views/OverlayView/useOverlayView.js.map +1 -0
- package/ui/views/OverlayView.d.ts +29 -0
- package/ui/views/OverlayView.js +199 -0
- package/ui/views/OverlayView.js.map +1 -0
- package/ui/views/SplitView/SplitViewPanelElement.d.ts +11 -0
- package/ui/views/SplitView/SplitViewPanelElement.js +91 -0
- package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -0
- package/ui/views/SplitView.d.ts +21 -0
- package/ui/views/SplitView.js +162 -0
- package/ui/views/SplitView.js.map +1 -0
|
@@ -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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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin styles
|
|
3
|
+
*/
|
|
4
|
+
.ce-header {
|
|
5
|
+
padding: 1em 0;
|
|
6
|
+
margin: 0 0 -0.9em;
|
|
7
|
+
line-height: 1.5em;
|
|
8
|
+
outline: none;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.ce-header p,
|
|
12
|
+
.ce-header div {
|
|
13
|
+
padding: 0 !important;
|
|
14
|
+
margin: 0 !important;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Styles for Plugin icon in Toolbar
|
|
19
|
+
*/
|
|
20
|
+
.ce-header__icon {
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.ce-header[contentEditable="true"][data-placeholder]::before {
|
|
24
|
+
position: absolute;
|
|
25
|
+
content: attr(data-placeholder);
|
|
26
|
+
color: #707684;
|
|
27
|
+
font-weight: normal;
|
|
28
|
+
display: none;
|
|
29
|
+
cursor: text;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.ce-header[contentEditable="true"][data-placeholder]:empty::before {
|
|
33
|
+
display: block;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.ce-header[contentEditable="true"][data-placeholder]:empty:focus::before {
|
|
37
|
+
display: none;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.ce-header-text--start {
|
|
41
|
+
text-align: start;
|
|
42
|
+
}
|
|
43
|
+
.ce-header-text--center {
|
|
44
|
+
text-align: center;
|
|
45
|
+
}
|
|
46
|
+
.ce-header-text--end {
|
|
47
|
+
text-align: end;
|
|
48
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
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
|
+
}
|
|
32
|
+
export default class ImageTool {
|
|
33
|
+
private readonly api;
|
|
34
|
+
private readonly readOnly;
|
|
35
|
+
private readonly config;
|
|
36
|
+
private readonly tunes;
|
|
37
|
+
private readonly ui;
|
|
38
|
+
private readonly _data;
|
|
39
|
+
/**
|
|
40
|
+
* Notify core that read-only mode is supported
|
|
41
|
+
*
|
|
42
|
+
* @returns {boolean}
|
|
43
|
+
*/
|
|
44
|
+
static get isReadOnlySupported(): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Get Tool toolbox settings
|
|
47
|
+
* icon - Tool icon's SVG
|
|
48
|
+
* title - title to show in toolbox
|
|
49
|
+
*
|
|
50
|
+
* @returns {{icon: string, title: string}}
|
|
51
|
+
*/
|
|
52
|
+
static get toolbox(): {
|
|
53
|
+
icon: string;
|
|
54
|
+
title: string;
|
|
55
|
+
};
|
|
56
|
+
constructor({ data, config, api, readOnly }: ImageToolParams);
|
|
57
|
+
/**
|
|
58
|
+
* Renders Block content
|
|
59
|
+
*
|
|
60
|
+
* @public
|
|
61
|
+
*
|
|
62
|
+
* @returns {HTMLDivElement}
|
|
63
|
+
*/
|
|
64
|
+
render(): HTMLElement;
|
|
65
|
+
/**
|
|
66
|
+
* Return Block data
|
|
67
|
+
*
|
|
68
|
+
* @public
|
|
69
|
+
*
|
|
70
|
+
* @returns {ImageToolData}
|
|
71
|
+
*/
|
|
72
|
+
save(): ImageToolData;
|
|
73
|
+
/**
|
|
74
|
+
* Makes buttons with tunes: stretch image
|
|
75
|
+
*
|
|
76
|
+
* @public
|
|
77
|
+
*
|
|
78
|
+
* @returns {Element}
|
|
79
|
+
*/
|
|
80
|
+
renderSettings(): HTMLElement;
|
|
81
|
+
/**
|
|
82
|
+
* Stores all Tool's data
|
|
83
|
+
*
|
|
84
|
+
* @private
|
|
85
|
+
*
|
|
86
|
+
* @param {ImageToolData} data - data in Image Tool format
|
|
87
|
+
*/
|
|
88
|
+
set data(data: ImageToolData);
|
|
89
|
+
/**
|
|
90
|
+
* Return Tool data
|
|
91
|
+
*
|
|
92
|
+
* @private
|
|
93
|
+
*
|
|
94
|
+
* @returns {ImageToolData}
|
|
95
|
+
*/
|
|
96
|
+
get data(): ImageToolData;
|
|
97
|
+
/**
|
|
98
|
+
* Set new image file
|
|
99
|
+
*
|
|
100
|
+
* @private
|
|
101
|
+
*
|
|
102
|
+
* @param {object} file - uploaded file data
|
|
103
|
+
*/
|
|
104
|
+
set image(file: File | string);
|
|
105
|
+
/**
|
|
106
|
+
* Callback fired when Block Tune is activated
|
|
107
|
+
*
|
|
108
|
+
* @private
|
|
109
|
+
*
|
|
110
|
+
* @param {string} tuneName - tune that has been clicked
|
|
111
|
+
* @returns {void}
|
|
112
|
+
*/
|
|
113
|
+
tuneToggled(tuneName: string): void;
|
|
114
|
+
/**
|
|
115
|
+
* Set one tune
|
|
116
|
+
*
|
|
117
|
+
* @param {string} tuneName - {@link Tunes.tunes}
|
|
118
|
+
* @param {boolean} value - tune state
|
|
119
|
+
* @returns {void}
|
|
120
|
+
*/
|
|
121
|
+
setTune(tuneName: string, value: boolean): void;
|
|
122
|
+
isReadOnly(): boolean;
|
|
123
|
+
}
|
|
124
|
+
export {};
|
|
@@ -0,0 +1,265 @@
|
|
|
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 _ui = _interopRequireDefault(require("./ui"));
|
|
17
|
+
|
|
18
|
+
var _tunes = _interopRequireDefault(require("./tunes"));
|
|
19
|
+
|
|
20
|
+
var _svgs = _interopRequireDefault(require("./svgs"));
|
|
21
|
+
|
|
22
|
+
var defaultGetFileSrc = function defaultGetFileSrc(file) {
|
|
23
|
+
if (typeof file === "string") {
|
|
24
|
+
return file;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return file.src;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
var defaultOnSelectFile = function defaultOnSelectFile(file) {
|
|
31
|
+
return file.src;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
var ImageTool = /*#__PURE__*/function () {
|
|
35
|
+
function ImageTool(_ref) {
|
|
36
|
+
var _this = this;
|
|
37
|
+
|
|
38
|
+
var data = _ref.data,
|
|
39
|
+
config = _ref.config,
|
|
40
|
+
api = _ref.api,
|
|
41
|
+
readOnly = _ref.readOnly;
|
|
42
|
+
(0, _classCallCheck2.default)(this, ImageTool);
|
|
43
|
+
(0, _defineProperty2.default)(this, "api", void 0);
|
|
44
|
+
(0, _defineProperty2.default)(this, "readOnly", void 0);
|
|
45
|
+
(0, _defineProperty2.default)(this, "config", void 0);
|
|
46
|
+
(0, _defineProperty2.default)(this, "tunes", void 0);
|
|
47
|
+
(0, _defineProperty2.default)(this, "ui", void 0);
|
|
48
|
+
(0, _defineProperty2.default)(this, "_data", void 0);
|
|
49
|
+
this.api = api;
|
|
50
|
+
this.readOnly = readOnly;
|
|
51
|
+
this.config = {
|
|
52
|
+
getFileSrc: config.getFileSrc || defaultGetFileSrc,
|
|
53
|
+
onSelectFile: config.onSelectFile || defaultOnSelectFile,
|
|
54
|
+
actions: config.actions || [],
|
|
55
|
+
context: config.context
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Module for working with UI
|
|
59
|
+
*/
|
|
60
|
+
|
|
61
|
+
this.ui = new _ui.default({
|
|
62
|
+
api: api,
|
|
63
|
+
config: this.config,
|
|
64
|
+
onSelectFile: function onSelectFile() {
|
|
65
|
+
_this.config.context.showFileManager(function (file) {
|
|
66
|
+
_this.image = _this.config.onSelectFile(file);
|
|
67
|
+
});
|
|
68
|
+
},
|
|
69
|
+
readOnly: readOnly
|
|
70
|
+
});
|
|
71
|
+
/**
|
|
72
|
+
* Module for working with tunes
|
|
73
|
+
*/
|
|
74
|
+
|
|
75
|
+
this.tunes = new _tunes.default({
|
|
76
|
+
api: api,
|
|
77
|
+
actions: this.config.actions,
|
|
78
|
+
onChange: function onChange(tuneName) {
|
|
79
|
+
return _this.tuneToggled(tuneName);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
/**
|
|
83
|
+
* Set saved state
|
|
84
|
+
*/
|
|
85
|
+
|
|
86
|
+
this._data = {};
|
|
87
|
+
this.data = data;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Renders Block content
|
|
91
|
+
*
|
|
92
|
+
* @public
|
|
93
|
+
*
|
|
94
|
+
* @returns {HTMLDivElement}
|
|
95
|
+
*/
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
(0, _createClass2.default)(ImageTool, [{
|
|
99
|
+
key: "render",
|
|
100
|
+
value: function render() {
|
|
101
|
+
return this.ui.render(this.data);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Return Block data
|
|
105
|
+
*
|
|
106
|
+
* @public
|
|
107
|
+
*
|
|
108
|
+
* @returns {ImageToolData}
|
|
109
|
+
*/
|
|
110
|
+
|
|
111
|
+
}, {
|
|
112
|
+
key: "save",
|
|
113
|
+
value: function save() {
|
|
114
|
+
var caption = this.ui.nodes.caption;
|
|
115
|
+
this._data.caption = caption.innerHTML;
|
|
116
|
+
return this.data;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Makes buttons with tunes: stretch image
|
|
120
|
+
*
|
|
121
|
+
* @public
|
|
122
|
+
*
|
|
123
|
+
* @returns {Element}
|
|
124
|
+
*/
|
|
125
|
+
|
|
126
|
+
}, {
|
|
127
|
+
key: "renderSettings",
|
|
128
|
+
value: function renderSettings() {
|
|
129
|
+
return this.tunes.render(this.data);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Stores all Tool's data
|
|
133
|
+
*
|
|
134
|
+
* @private
|
|
135
|
+
*
|
|
136
|
+
* @param {ImageToolData} data - data in Image Tool format
|
|
137
|
+
*/
|
|
138
|
+
|
|
139
|
+
}, {
|
|
140
|
+
key: "data",
|
|
141
|
+
get:
|
|
142
|
+
/**
|
|
143
|
+
* Return Tool data
|
|
144
|
+
*
|
|
145
|
+
* @private
|
|
146
|
+
*
|
|
147
|
+
* @returns {ImageToolData}
|
|
148
|
+
*/
|
|
149
|
+
function get() {
|
|
150
|
+
return this._data;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Set new image file
|
|
154
|
+
*
|
|
155
|
+
* @private
|
|
156
|
+
*
|
|
157
|
+
* @param {object} file - uploaded file data
|
|
158
|
+
*/
|
|
159
|
+
,
|
|
160
|
+
set: function set(data) {
|
|
161
|
+
var _this2 = this;
|
|
162
|
+
|
|
163
|
+
this.image = data.file;
|
|
164
|
+
this._data.caption = data.caption || "";
|
|
165
|
+
this.ui.fillCaption(this._data.caption);
|
|
166
|
+
|
|
167
|
+
_tunes.default.tunes.forEach(function (_ref2) {
|
|
168
|
+
var name = _ref2.name;
|
|
169
|
+
var tune = name;
|
|
170
|
+
var initialValue = data[tune];
|
|
171
|
+
var value = initialValue === true || initialValue === "true";
|
|
172
|
+
|
|
173
|
+
_this2.setTune(tune, value);
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
}, {
|
|
177
|
+
key: "image",
|
|
178
|
+
set: function set(file) {
|
|
179
|
+
this._data.file = file || {};
|
|
180
|
+
|
|
181
|
+
if (file) {
|
|
182
|
+
this.ui.fillImage(this.config.getFileSrc(file));
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Callback fired when Block Tune is activated
|
|
187
|
+
*
|
|
188
|
+
* @private
|
|
189
|
+
*
|
|
190
|
+
* @param {string} tuneName - tune that has been clicked
|
|
191
|
+
* @returns {void}
|
|
192
|
+
*/
|
|
193
|
+
|
|
194
|
+
}, {
|
|
195
|
+
key: "tuneToggled",
|
|
196
|
+
value: function tuneToggled(tuneName) {
|
|
197
|
+
// inverse tune state
|
|
198
|
+
this.setTune(tuneName, !this._data[tuneName]);
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Set one tune
|
|
202
|
+
*
|
|
203
|
+
* @param {string} tuneName - {@link Tunes.tunes}
|
|
204
|
+
* @param {boolean} value - tune state
|
|
205
|
+
* @returns {void}
|
|
206
|
+
*/
|
|
207
|
+
|
|
208
|
+
}, {
|
|
209
|
+
key: "setTune",
|
|
210
|
+
value: function setTune(tuneName, value) {
|
|
211
|
+
var _this3 = this;
|
|
212
|
+
|
|
213
|
+
this._data[tuneName] = value;
|
|
214
|
+
this.ui.applyTune(tuneName, value);
|
|
215
|
+
|
|
216
|
+
if (tuneName === "stretched") {
|
|
217
|
+
/**
|
|
218
|
+
* Wait until the API is ready
|
|
219
|
+
*/
|
|
220
|
+
Promise.resolve().then(function () {
|
|
221
|
+
var blockId = _this3.api.blocks.getCurrentBlockIndex();
|
|
222
|
+
|
|
223
|
+
_this3.api.blocks.stretchBlock(blockId, value);
|
|
224
|
+
}).catch(function (err) {
|
|
225
|
+
console.error(err);
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}, {
|
|
230
|
+
key: "isReadOnly",
|
|
231
|
+
value: function isReadOnly() {
|
|
232
|
+
return this.readOnly;
|
|
233
|
+
}
|
|
234
|
+
}], [{
|
|
235
|
+
key: "isReadOnlySupported",
|
|
236
|
+
get:
|
|
237
|
+
/**
|
|
238
|
+
* Notify core that read-only mode is supported
|
|
239
|
+
*
|
|
240
|
+
* @returns {boolean}
|
|
241
|
+
*/
|
|
242
|
+
function get() {
|
|
243
|
+
return true;
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Get Tool toolbox settings
|
|
247
|
+
* icon - Tool icon's SVG
|
|
248
|
+
* title - title to show in toolbox
|
|
249
|
+
*
|
|
250
|
+
* @returns {{icon: string, title: string}}
|
|
251
|
+
*/
|
|
252
|
+
|
|
253
|
+
}, {
|
|
254
|
+
key: "toolbox",
|
|
255
|
+
get: function get() {
|
|
256
|
+
return {
|
|
257
|
+
icon: _svgs.default.toolbox,
|
|
258
|
+
title: "Image"
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
}]);
|
|
262
|
+
return ImageTool;
|
|
263
|
+
}();
|
|
264
|
+
|
|
265
|
+
exports.default = ImageTool;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["defaultGetFileSrc","file","src","defaultOnSelectFile","ImageTool","data","config","api","readOnly","getFileSrc","onSelectFile","actions","context","ui","Ui","showFileManager","image","tunes","Tunes","onChange","tuneName","tuneToggled","_data","render","caption","nodes","innerHTML","fillCaption","forEach","name","tune","initialValue","value","setTune","fillImage","applyTune","Promise","resolve","then","blockId","blocks","getCurrentBlockIndex","stretchBlock","catch","err","console","error","icon","svgs","toolbox","title"],"sources":["index.ts"],"sourcesContent":["import { API } from \"@editorjs/editorjs\";\nimport Ui from \"./ui\";\nimport Tunes from \"./tunes\";\nimport svgs from \"./svgs\";\nimport { Tune } from \"./types\";\n\ninterface File {\n src: string;\n}\ninterface GetFileSourceCallable {\n (file: File | string): string;\n}\nconst defaultGetFileSrc: GetFileSourceCallable = file => {\n if (typeof file === \"string\") {\n return file;\n }\n\n return file.src;\n};\ninterface OnSelectFileCallable {\n (file: File): string;\n}\nconst defaultOnSelectFile: OnSelectFileCallable = file => {\n return file.src;\n};\n\ninterface ImageToolData {\n caption: string;\n file: string;\n}\ninterface ImageToolParams {\n data: ImageToolData;\n config: Config;\n api: API;\n readOnly: boolean;\n}\ninterface Config {\n getFileSrc: GetFileSourceCallable;\n onSelectFile: OnSelectFileCallable;\n actions: Tune[];\n context: {\n showFileManager: (cb: (file: File) => void) => void;\n };\n}\nexport default class ImageTool {\n private readonly api: API;\n private readonly readOnly: boolean;\n private readonly config: Config;\n private readonly tunes: Tunes;\n private readonly ui: Ui;\n private readonly _data: any;\n\n /**\n * Notify core that read-only mode is supported\n *\n * @returns {boolean}\n */\n static get isReadOnlySupported() {\n return true;\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: svgs.toolbox,\n title: \"Image\"\n };\n }\n\n constructor({ data, config, api, readOnly }: ImageToolParams) {\n this.api = api;\n this.readOnly = readOnly;\n\n this.config = {\n getFileSrc: config.getFileSrc || defaultGetFileSrc,\n onSelectFile: config.onSelectFile || defaultOnSelectFile,\n actions: config.actions || [],\n context: config.context\n };\n\n /**\n * Module for working with UI\n */\n this.ui = new Ui({\n api,\n config: this.config,\n onSelectFile: () => {\n this.config.context.showFileManager((file: File) => {\n this.image = this.config.onSelectFile(file);\n });\n },\n readOnly\n });\n\n /**\n * Module for working with tunes\n */\n this.tunes = new Tunes({\n api,\n actions: this.config.actions,\n onChange: (tuneName: string) => this.tuneToggled(tuneName)\n });\n\n /**\n * Set saved state\n */\n this._data = {};\n this.data = data;\n }\n\n /**\n * Renders Block content\n *\n * @public\n *\n * @returns {HTMLDivElement}\n */\n render() {\n return this.ui.render(this.data);\n }\n\n /**\n * Return Block data\n *\n * @public\n *\n * @returns {ImageToolData}\n */\n save() {\n const caption = this.ui.nodes.caption;\n\n this._data.caption = caption.innerHTML;\n\n return this.data;\n }\n\n /**\n * Makes buttons with tunes: stretch image\n *\n * @public\n *\n * @returns {Element}\n */\n renderSettings() {\n return this.tunes.render(this.data);\n }\n\n /**\n * Stores all Tool's data\n *\n * @private\n *\n * @param {ImageToolData} data - data in Image Tool format\n */\n set data(data) {\n this.image = data.file;\n\n this._data.caption = data.caption || \"\";\n this.ui.fillCaption(this._data.caption);\n\n Tunes.tunes.forEach(({ name }) => {\n const tune = name as keyof ImageToolData;\n\n const initialValue = data[tune] as unknown as string | boolean;\n\n const value = initialValue === true || initialValue === \"true\";\n\n this.setTune(tune, value);\n });\n }\n\n /**\n * Return Tool data\n *\n * @private\n *\n * @returns {ImageToolData}\n */\n get data(): ImageToolData {\n return this._data;\n }\n\n /**\n * Set new image file\n *\n * @private\n *\n * @param {object} file - uploaded file data\n */\n set image(file: File | string) {\n this._data.file = file || {};\n\n if (file) {\n this.ui.fillImage(this.config.getFileSrc(file));\n }\n }\n\n /**\n * Callback fired when Block Tune is activated\n *\n * @private\n *\n * @param {string} tuneName - tune that has been clicked\n * @returns {void}\n */\n public tuneToggled(tuneName: string): void {\n // inverse tune state\n this.setTune(tuneName, !this._data[tuneName]);\n }\n\n /**\n * Set one tune\n *\n * @param {string} tuneName - {@link Tunes.tunes}\n * @param {boolean} value - tune state\n * @returns {void}\n */\n public setTune(tuneName: string, value: boolean): void {\n this._data[tuneName] = value;\n\n this.ui.applyTune(tuneName, value);\n\n if (tuneName === \"stretched\") {\n /**\n * Wait until the API is ready\n */\n Promise.resolve()\n .then(() => {\n const blockId = this.api.blocks.getCurrentBlockIndex();\n\n this.api.blocks.stretchBlock(blockId, value);\n })\n .catch(err => {\n console.error(err);\n });\n }\n }\n\n public isReadOnly(): boolean {\n return this.readOnly;\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
.image-tool {
|
|
2
|
+
--bg-color: #cdd1e0;
|
|
3
|
+
--front-color: #388ae5;
|
|
4
|
+
--border-color: #e8e8eb;
|
|
5
|
+
|
|
6
|
+
&--stretched {
|
|
7
|
+
.image-tool__image {
|
|
8
|
+
max-width: 1032px;
|
|
9
|
+
margin: 0 auto 10px;
|
|
10
|
+
|
|
11
|
+
img {
|
|
12
|
+
width: 100%;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.cdx-input {
|
|
18
|
+
box-shadow: none;
|
|
19
|
+
border: none;
|
|
20
|
+
text-align: center;
|
|
21
|
+
|
|
22
|
+
&:before {
|
|
23
|
+
text-align: center;
|
|
24
|
+
width: inherit;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&__image {
|
|
29
|
+
border-radius: 3px;
|
|
30
|
+
overflow: hidden;
|
|
31
|
+
margin-bottom: 10px;
|
|
32
|
+
|
|
33
|
+
&-picture {
|
|
34
|
+
max-width: 100%;
|
|
35
|
+
vertical-align: bottom;
|
|
36
|
+
display: block;
|
|
37
|
+
margin: 0 auto;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
&__caption {
|
|
42
|
+
&[contentEditable="true"][data-placeholder]::before {
|
|
43
|
+
position: absolute !important;
|
|
44
|
+
content: "Add caption for image (optional)";
|
|
45
|
+
color: #707684;
|
|
46
|
+
font-weight: normal;
|
|
47
|
+
display: none;
|
|
48
|
+
text-align: center;
|
|
49
|
+
width: inherit;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
&[contentEditable="true"][data-placeholder]:empty {
|
|
53
|
+
&::before {
|
|
54
|
+
display: block;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
&:focus::before {
|
|
58
|
+
display: none;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
&--empty {
|
|
64
|
+
.image-tool__caption {
|
|
65
|
+
display: none;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.image-tool__image {
|
|
69
|
+
display: none;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
&--filled {
|
|
74
|
+
.cdx-button {
|
|
75
|
+
display: none;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Tunes
|
|
81
|
+
* ----------------
|
|
82
|
+
*/
|
|
83
|
+
&--stretched {
|
|
84
|
+
&__image {
|
|
85
|
+
&-picture {
|
|
86
|
+
width: 100%;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _default = {
|
|
8
|
+
buttonIcon: "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3.15 13.628A7.749 7.749 0 0 0 10 17.75a7.74 7.74 0 0 0 6.305-3.242l-2.387-2.127-2.765 2.244-4.389-4.496-3.614 3.5zm-.787-2.303l4.446-4.371 4.52 4.63 2.534-2.057 3.533 2.797c.23-.734.354-1.514.354-2.324a7.75 7.75 0 1 0-15.387 1.325zM10 20C4.477 20 0 15.523 0 10S4.477 0 10 0s10 4.477 10 10-4.477 10-10 10z\"/>",
|
|
9
|
+
stretched: "<svg width=\"17\" height=\"10\" viewBox=\"0 0 17 10\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M13.568 5.925H4.056l1.703 1.703a1.125 1.125 0 0 1-1.59 1.591L.962 6.014A1.069 1.069 0 0 1 .588 4.26L4.38.469a1.069 1.069 0 0 1 1.512 1.511L4.084 3.787h9.606l-1.85-1.85a1.069 1.069 0 1 1 1.512-1.51l3.792 3.791a1.069 1.069 0 0 1-.475 1.788L13.514 9.16a1.125 1.125 0 0 1-1.59-1.591l1.644-1.644z\"/></svg>",
|
|
10
|
+
toolbox: "<svg width=\"17\" height=\"15\" viewBox=\"0 0 336 276\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M291 150.242V79c0-18.778-15.222-34-34-34H79c-18.778 0-34 15.222-34 34v42.264l67.179-44.192 80.398 71.614 56.686-29.14L291 150.242zm-.345 51.622l-42.3-30.246-56.3 29.884-80.773-66.925L45 174.187V197c0 18.778 15.222 34 34 34h178c17.126 0 31.295-12.663 33.655-29.136zM79 0h178c43.63 0 79 35.37 79 79v118c0 43.63-35.37 79-79 79H79c-43.63 0-79-35.37-79-79V79C0 35.37 35.37 0 79 0z\"/></svg>"
|
|
11
|
+
};
|
|
12
|
+
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["buttonIcon","stretched","toolbox"],"sources":["svgs.ts"],"sourcesContent":["export default {\n buttonIcon: `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3.15 13.628A7.749 7.749 0 0 0 10 17.75a7.74 7.74 0 0 0 6.305-3.242l-2.387-2.127-2.765 2.244-4.389-4.496-3.614 3.5zm-.787-2.303l4.446-4.371 4.52 4.63 2.534-2.057 3.533 2.797c.23-.734.354-1.514.354-2.324a7.75 7.75 0 1 0-15.387 1.325zM10 20C4.477 20 0 15.523 0 10S4.477 0 10 0s10 4.477 10 10-4.477 10-10 10z\"/>`,\n stretched: `<svg width=\"17\" height=\"10\" viewBox=\"0 0 17 10\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M13.568 5.925H4.056l1.703 1.703a1.125 1.125 0 0 1-1.59 1.591L.962 6.014A1.069 1.069 0 0 1 .588 4.26L4.38.469a1.069 1.069 0 0 1 1.512 1.511L4.084 3.787h9.606l-1.85-1.85a1.069 1.069 0 1 1 1.512-1.51l3.792 3.791a1.069 1.069 0 0 1-.475 1.788L13.514 9.16a1.125 1.125 0 0 1-1.59-1.591l1.644-1.644z\"/></svg>`,\n toolbox: `<svg width=\"17\" height=\"15\" viewBox=\"0 0 336 276\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M291 150.242V79c0-18.778-15.222-34-34-34H79c-18.778 0-34 15.222-34 34v42.264l67.179-44.192 80.398 71.614 56.686-29.14L291 150.242zm-.345 51.622l-42.3-30.246-56.3 29.884-80.773-66.925L45 174.187V197c0 18.778 15.222 34 34 34h178c17.126 0 31.295-12.663 33.655-29.136zM79 0h178c43.63 0 79 35.37 79 79v118c0 43.63-35.37 79-79 79H79c-43.63 0-79-35.37-79-79V79C0 35.37 35.37 0 79 0z\"/></svg>`\n};\n"],"mappings":";;;;;;eAAe;EACXA,UAAU,8ZADC;EAEXC,SAAS,sZAFE;EAGXC,OAAO;AAHI,C"}
|