@webiny/app-admin 0.0.0-mt-3 → 0.0.0-unstable.2af142b57e
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 +41 -0
- package/base/Admin.js.map +1 -0
- package/base/Base.d.ts +2 -0
- package/base/Base.js +91 -0
- package/base/Base.js.map +1 -0
- package/base/plugins/AddGraphQLQuerySelection.d.ts +9 -0
- package/base/plugins/AddGraphQLQuerySelection.js +23 -0
- package/base/plugins/AddGraphQLQuerySelection.js.map +1 -0
- package/base/providers/ApolloProvider.d.ts +10 -0
- package/base/providers/ApolloProvider.js +21 -0
- package/base/providers/ApolloProvider.js.map +1 -0
- package/base/providers/TelemetryProvider.d.ts +2 -0
- package/base/providers/TelemetryProvider.js +31 -0
- package/base/providers/TelemetryProvider.js.map +1 -0
- package/base/providers/UiStateProvider.d.ts +2 -0
- package/base/providers/UiStateProvider.js +18 -0
- package/base/providers/UiStateProvider.js.map +1 -0
- package/base/providers/ViewCompositionProvider.d.ts +17 -0
- package/base/providers/ViewCompositionProvider.js +57 -0
- package/base/providers/ViewCompositionProvider.js.map +1 -0
- package/base/ui/Brand.d.ts +2 -0
- package/base/ui/Brand.js +15 -0
- package/base/ui/Brand.js.map +1 -0
- package/base/ui/CenteredView.d.ts +4 -0
- package/base/ui/CenteredView.js +35 -0
- package/base/ui/CenteredView.js.map +1 -0
- package/base/ui/Dashboard.d.ts +2 -0
- package/base/ui/Dashboard.js +15 -0
- package/base/ui/Dashboard.js.map +1 -0
- package/base/ui/Layout.d.ts +7 -0
- package/base/ui/Layout.js +19 -0
- package/base/ui/Layout.js.map +1 -0
- package/base/ui/LocaleSelector.d.ts +2 -0
- package/base/ui/LocaleSelector.js +15 -0
- package/base/ui/LocaleSelector.js.map +1 -0
- package/base/ui/LoginScreen.d.ts +6 -0
- package/base/ui/LoginScreen.js +21 -0
- package/base/ui/LoginScreen.js.map +1 -0
- package/base/ui/Logo.d.ts +8 -0
- package/base/ui/Logo.js +30 -0
- package/base/ui/Logo.js.map +1 -0
- package/base/ui/Menu.d.ts +31 -0
- package/base/ui/Menu.js +137 -0
- package/base/ui/Menu.js.map +1 -0
- package/base/ui/Navigation.d.ts +24 -0
- package/base/ui/Navigation.js +151 -0
- package/base/ui/Navigation.js.map +1 -0
- package/base/ui/NotFound.d.ts +2 -0
- package/base/ui/NotFound.js +15 -0
- package/base/ui/NotFound.js.map +1 -0
- package/base/ui/Search.d.ts +19 -0
- package/base/ui/Search.js +63 -0
- package/base/ui/Search.js.map +1 -0
- package/base/ui/Tags.d.ts +10 -0
- package/base/ui/Tags.js +22 -0
- package/base/ui/Tags.js.map +1 -0
- package/base/ui/UserMenu.d.ts +30 -0
- package/base/ui/UserMenu.js +113 -0
- package/base/ui/UserMenu.js.map +1 -0
- package/components/AdminLayout.d.ts +1 -2
- package/components/AdminLayout.js +16 -34
- package/components/AdminLayout.js.map +1 -0
- package/components/AppInstaller/AppInstaller.d.ts +7 -0
- package/components/AppInstaller/AppInstaller.js +149 -0
- package/components/AppInstaller/AppInstaller.js.map +1 -0
- package/components/AppInstaller/Sidebar.d.ts +8 -6
- package/components/AppInstaller/Sidebar.js +56 -59
- package/components/AppInstaller/Sidebar.js.map +1 -0
- package/components/AppInstaller/index.d.ts +1 -4
- package/components/AppInstaller/index.js +21 -133
- package/components/AppInstaller/index.js.map +1 -0
- package/components/AppInstaller/styled.d.ts +6 -4
- package/components/AppInstaller/styled.js +27 -13
- package/components/AppInstaller/styled.js.map +1 -0
- package/components/AppInstaller/useInstaller.d.ts +29 -9
- package/components/AppInstaller/useInstaller.js +141 -155
- package/components/AppInstaller/useInstaller.js.map +1 -0
- package/components/EmptyView.d.ts +5 -5
- package/components/EmptyView.js +21 -15
- package/components/EmptyView.js.map +1 -0
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.d.ts +5 -4
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +22 -16
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +1 -0
- package/components/FileManager/BottomInfoBar/UploadStatus.d.ts +5 -4
- package/components/FileManager/BottomInfoBar/UploadStatus.js +16 -12
- package/components/FileManager/BottomInfoBar/UploadStatus.js.map +1 -0
- package/components/FileManager/BottomInfoBar.d.ts +4 -2
- package/components/FileManager/BottomInfoBar.js +19 -13
- package/components/FileManager/BottomInfoBar.js.map +1 -0
- package/components/FileManager/DropFilesHere.d.ts +5 -3
- package/components/FileManager/DropFilesHere.js +25 -16
- package/components/FileManager/DropFilesHere.js.map +1 -0
- package/components/FileManager/File.d.ts +8 -9
- package/components/FileManager/File.js +45 -32
- package/components/FileManager/File.js.map +1 -0
- package/components/FileManager/FileDetails/Name.d.ts +7 -5
- package/components/FileManager/FileDetails/Name.js +75 -80
- package/components/FileManager/FileDetails/Name.js.map +1 -0
- package/components/FileManager/FileDetails/Tags.d.ts +9 -5
- package/components/FileManager/FileDetails/Tags.js +197 -152
- package/components/FileManager/FileDetails/Tags.js.map +1 -0
- package/components/FileManager/FileDetails.d.ts +9 -8
- package/components/FileManager/FileDetails.js +197 -182
- package/components/FileManager/FileDetails.js.map +1 -0
- package/components/FileManager/FileManagerContext.d.ts +28 -9
- package/components/FileManager/FileManagerContext.js +65 -48
- package/components/FileManager/FileManagerContext.js.map +1 -0
- package/components/FileManager/FileManagerView.d.ts +12 -17
- package/components/FileManager/FileManagerView.js +324 -345
- package/components/FileManager/FileManagerView.js.map +1 -0
- package/components/FileManager/LeftSidebar.d.ts +7 -5
- package/components/FileManager/LeftSidebar.js +53 -40
- package/components/FileManager/LeftSidebar.js.map +1 -0
- package/components/FileManager/NoPermissionView.d.ts +2 -2
- package/components/FileManager/NoPermissionView.js +25 -21
- package/components/FileManager/NoPermissionView.js.map +1 -0
- package/components/FileManager/NoResults.d.ts +3 -2
- package/components/FileManager/NoResults.js +16 -7
- package/components/FileManager/NoResults.js.map +1 -0
- package/components/FileManager/getFileTypePlugin.d.ts +4 -1
- package/components/FileManager/getFileTypePlugin.js +43 -19
- package/components/FileManager/getFileTypePlugin.js.map +1 -0
- package/components/FileManager/getFileUploader.d.ts +2 -1
- package/components/FileManager/getFileUploader.js +10 -5
- package/components/FileManager/getFileUploader.js.map +1 -0
- package/components/FileManager/graphql.d.ts +90 -0
- package/components/FileManager/graphql.js +44 -14
- package/components/FileManager/graphql.js.map +1 -0
- package/components/FileManager/outputFileSelectionError.d.ts +7 -2
- package/components/FileManager/outputFileSelectionError.js +14 -13
- 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 +107 -122
- package/components/FileManager.js.map +1 -0
- package/components/FloatingActionButton.d.ts +2 -2
- package/components/FloatingActionButton.js +13 -7
- package/components/FloatingActionButton.js.map +1 -0
- package/components/MultiImageUpload.d.ts +13 -4
- package/components/MultiImageUpload.js +25 -11
- package/components/MultiImageUpload.js.map +1 -0
- package/components/OverlayLayout/OverlayLayout.d.ts +11 -13
- package/components/OverlayLayout/OverlayLayout.js +53 -57
- package/components/OverlayLayout/OverlayLayout.js.map +1 -0
- package/components/OverlayLayout/index.d.ts +1 -1
- package/components/OverlayLayout/index.js +16 -1
- package/components/OverlayLayout/index.js.map +1 -0
- package/components/Permissions/Permissions.d.ts +6 -4
- package/components/Permissions/Permissions.js +43 -28
- package/components/Permissions/Permissions.js.map +1 -0
- package/components/Permissions/StyledComponents.d.ts +6 -4
- package/components/Permissions/StyledComponents.js +20 -10
- package/components/Permissions/StyledComponents.js.map +1 -0
- package/components/Permissions/index.js +27 -2
- package/components/Permissions/index.js.map +1 -0
- package/components/RichTextEditor/RichTextEditor.d.ts +2 -2
- package/components/RichTextEditor/RichTextEditor.js +17 -9
- package/components/RichTextEditor/RichTextEditor.js.map +1 -0
- package/components/RichTextEditor/index.js +19 -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 +93 -133
- 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 +45 -58
- 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 +35 -40
- 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 +61 -64
- 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 +101 -133
- 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 +73 -60
- package/components/RichTextEditor/tools/textColor/index.js.map +1 -0
- package/components/RichTextEditor/tools/utils.js +13 -6
- package/components/RichTextEditor/tools/utils.js.map +1 -0
- package/components/Routes.d.ts +6 -0
- package/components/Routes.js +42 -0
- package/components/Routes.js.map +1 -0
- package/components/SearchUI.d.ts +5 -4
- package/components/SearchUI.js +28 -14
- package/components/SearchUI.js.map +1 -0
- package/components/SimpleForm/SimpleForm.d.ts +11 -11
- package/components/SimpleForm/SimpleForm.js +41 -39
- package/components/SimpleForm/SimpleForm.js.map +1 -0
- package/components/SimpleForm/index.js +30 -1
- package/components/SimpleForm/index.js.map +1 -0
- package/components/SimpleUI/InputField.d.ts +6 -3
- package/components/SimpleUI/InputField.js +51 -46
- package/components/SimpleUI/InputField.js.map +1 -0
- package/components/SingleImageUpload.d.ts +43 -13
- package/components/SingleImageUpload.js +79 -83
- package/components/SingleImageUpload.js.map +1 -0
- package/components/SplitView/SplitView.d.ts +6 -5
- package/components/SplitView/SplitView.js +33 -34
- package/components/SplitView/SplitView.js.map +1 -0
- package/components/SplitView/index.js +24 -1
- package/components/SplitView/index.js.map +1 -0
- package/components/index.js +12 -1
- package/components/index.js.map +1 -0
- package/hooks/useConfirmationDialog.d.ts +8 -5
- package/hooks/useConfirmationDialog.js +28 -24
- package/hooks/useConfirmationDialog.js.map +1 -0
- package/hooks/useDialog.d.ts +8 -3
- package/hooks/useDialog.js +12 -7
- package/hooks/useDialog.js.map +1 -0
- package/hooks/useSnackbar.d.ts +6 -3
- package/hooks/useSnackbar.js +15 -7
- package/hooks/useSnackbar.js.map +1 -0
- package/index.d.ts +35 -0
- package/index.js +325 -0
- package/index.js.map +1 -0
- package/package.json +47 -46
- package/plugins/FileManagerFileTypePlugin.d.ts +3 -3
- package/plugins/FileManagerFileTypePlugin.js +26 -24
- package/plugins/FileManagerFileTypePlugin.js.map +1 -0
- package/plugins/MenuPlugin.d.ts +22 -5
- package/plugins/MenuPlugin.js +26 -24
- package/plugins/MenuPlugin.js.map +1 -0
- package/plugins/PermissionRendererPlugin.d.ts +4 -4
- package/plugins/PermissionRendererPlugin.js +26 -24
- package/plugins/PermissionRendererPlugin.js.map +1 -0
- package/plugins/fileManager/fileDefault.d.ts +1 -2
- package/plugins/fileManager/fileDefault.js +16 -8
- package/plugins/fileManager/fileDefault.js.map +1 -0
- package/plugins/fileManager/fileImage/DeleteAction.d.ts +6 -2
- package/plugins/fileManager/fileImage/DeleteAction.js +46 -49
- package/plugins/fileManager/fileImage/DeleteAction.js.map +1 -0
- package/plugins/fileManager/fileImage/EditAction.d.ts +7 -6
- package/plugins/fileManager/fileImage/EditAction.js +71 -71
- package/plugins/fileManager/fileImage/EditAction.js.map +1 -0
- package/plugins/fileManager/fileImage/index.d.ts +1 -2
- package/plugins/fileManager/fileImage/index.js +19 -10
- package/plugins/fileManager/fileImage/index.js.map +1 -0
- package/plugins/fileManager/index.d.ts +2 -2
- package/plugins/fileManager/index.js +19 -3
- package/plugins/fileManager/index.js.map +1 -0
- package/plugins/globalSearch/SearchBar.d.ts +15 -3
- package/plugins/globalSearch/SearchBar.js +69 -85
- package/plugins/globalSearch/SearchBar.js.map +1 -0
- package/plugins/globalSearch/SearchBarDropdown.d.ts +19 -1
- package/plugins/globalSearch/SearchBarDropdown.js +45 -44
- 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 +29 -13
- package/plugins/globalSearch/styled.js.map +1 -0
- package/plugins/uiLayoutRenderer/index.d.ts +1 -2
- package/plugins/uiLayoutRenderer/index.js +23 -25
- package/plugins/uiLayoutRenderer/index.js.map +1 -0
- package/styles/material-theme-assignments.scss +84 -67
- package/styles/material.scss +4 -35
- package/styles/theme.scss +34 -1
- 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 +18 -1
- package/ui/UIElement.js.map +1 -0
- package/ui/UILayout.js +18 -1
- package/ui/UILayout.js.map +1 -0
- package/ui/UIRenderer.js +12 -1
- package/ui/UIRenderer.js.map +1 -0
- package/ui/UIView.d.ts +1 -1
- package/ui/UIView.js +24 -1
- package/ui/UIView.js.map +1 -0
- package/ui/elements/AccordionElement.d.ts +5 -5
- package/ui/elements/AccordionElement.js +41 -43
- package/ui/elements/AccordionElement.js.map +1 -0
- package/ui/elements/ButtonElement.d.ts +3 -3
- package/ui/elements/ButtonElement.js +35 -27
- package/ui/elements/ButtonElement.js.map +1 -0
- package/ui/elements/ButtonGroupElement.d.ts +2 -2
- package/ui/elements/ButtonGroupElement.js +25 -25
- package/ui/elements/ButtonGroupElement.js.map +1 -0
- package/ui/elements/GenericElement.js +16 -1
- package/ui/elements/GenericElement.js.map +1 -0
- package/ui/elements/LabelElement.js +19 -20
- package/ui/elements/LabelElement.js.map +1 -0
- package/ui/elements/NavigationMenuElement.d.ts +2 -1
- package/ui/elements/NavigationMenuElement.js +39 -53
- package/ui/elements/NavigationMenuElement.js.map +1 -0
- package/ui/elements/PanelElement.js +18 -13
- package/ui/elements/PanelElement.js.map +1 -0
- package/ui/elements/PlaceholderElement.d.ts +2 -1
- package/ui/elements/PlaceholderElement.js +18 -15
- package/ui/elements/PlaceholderElement.js.map +1 -0
- package/ui/elements/SmallButtonElement.d.ts +1 -1
- package/ui/elements/SmallButtonElement.js +25 -27
- package/ui/elements/SmallButtonElement.js.map +1 -0
- package/ui/elements/TypographyElement.d.ts +1 -1
- package/ui/elements/TypographyElement.js +25 -26
- package/ui/elements/TypographyElement.js.map +1 -0
- package/ui/elements/ViewElement.js +16 -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 +32 -32
- 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 +47 -39
- package/ui/elements/form/DynamicFieldsetElement.js.map +1 -0
- package/ui/elements/form/FileManagerElement/EmptyStateElement.js +20 -18
- package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -0
- package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +33 -32
- package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -0
- package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +53 -44
- 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 +22 -13
- 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 +25 -28
- package/ui/elements/form/FileManagerElement.js.map +1 -0
- package/ui/elements/form/FormElement.d.ts +5 -5
- package/ui/elements/form/FormElement.js +27 -27
- package/ui/elements/form/FormElement.js.map +1 -0
- package/ui/elements/form/FormFieldElement.d.ts +9 -8
- package/ui/elements/form/FormFieldElement.js +39 -49
- package/ui/elements/form/FormFieldElement.js.map +1 -0
- package/ui/elements/form/HiddenElement.js +21 -23
- package/ui/elements/form/HiddenElement.js.map +1 -0
- package/ui/elements/form/InputElement.d.ts +1 -0
- package/ui/elements/form/InputElement.js +24 -25
- package/ui/elements/form/InputElement.js.map +1 -0
- package/ui/elements/form/PasswordElement.js +22 -21
- package/ui/elements/form/PasswordElement.js.map +1 -0
- package/ui/elements/form/SelectElement.d.ts +1 -1
- package/ui/elements/form/SelectElement.js +25 -27
- package/ui/elements/form/SelectElement.js.map +1 -0
- package/ui/elements/form/TextareaElement.js +23 -24
- package/ui/elements/form/TextareaElement.js.map +1 -0
- package/ui/views/AdminView/ContentElement.js +30 -38
- package/ui/views/AdminView/ContentElement.js.map +1 -0
- package/ui/views/AdminView/HeaderElement.js +51 -58
- package/ui/views/AdminView/HeaderElement.js.map +1 -0
- package/ui/views/AdminView/HeaderSectionCenterElement.d.ts +2 -2
- package/ui/views/AdminView/HeaderSectionCenterElement.js +27 -27
- package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -0
- package/ui/views/AdminView/HeaderSectionLeftElement.d.ts +2 -2
- package/ui/views/AdminView/HeaderSectionLeftElement.js +27 -27
- package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -0
- package/ui/views/AdminView/HeaderSectionRightElement.d.ts +2 -2
- package/ui/views/AdminView/HeaderSectionRightElement.js +27 -27
- package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -0
- package/ui/views/AdminView/components/Dialog.js +33 -27
- 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 +18 -12
- 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 +20 -16
- 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 +30 -31
- package/ui/views/FormView/FormContainerElement.js.map +1 -0
- package/ui/views/FormView/FormContentElement.js +18 -13
- package/ui/views/FormView/FormContentElement.js.map +1 -0
- package/ui/views/FormView/FormFooterElement.d.ts +3 -3
- package/ui/views/FormView/FormFooterElement.js +25 -25
- package/ui/views/FormView/FormFooterElement.js.map +1 -0
- package/ui/views/FormView/FormHeaderElement.d.ts +2 -2
- package/ui/views/FormView/FormHeaderElement.js +38 -38
- package/ui/views/FormView/FormHeaderElement.js.map +1 -0
- package/ui/views/FormView.d.ts +1 -1
- package/ui/views/FormView.js +58 -51
- package/ui/views/FormView.js.map +1 -0
- package/ui/views/OverlayView/ContentElement.d.ts +2 -2
- package/ui/views/OverlayView/ContentElement.js +25 -25
- package/ui/views/OverlayView/ContentElement.js.map +1 -0
- package/ui/views/OverlayView/HeaderElement.d.ts +5 -5
- package/ui/views/OverlayView/HeaderElement.js +42 -45
- package/ui/views/OverlayView/HeaderElement.js.map +1 -0
- package/ui/views/OverlayView/HeaderTitleElement.d.ts +1 -1
- package/ui/views/OverlayView/HeaderTitleElement.js +30 -33
- package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -0
- package/ui/views/OverlayView/useOverlayView.d.ts +4 -5
- package/ui/views/OverlayView/useOverlayView.js +26 -20
- package/ui/views/OverlayView/useOverlayView.js.map +1 -0
- package/ui/views/OverlayView.d.ts +4 -6
- package/ui/views/OverlayView.js +47 -58
- package/ui/views/OverlayView.js.map +1 -0
- package/ui/views/SplitView/SplitViewPanelElement.d.ts +3 -3
- package/ui/views/SplitView/SplitViewPanelElement.js +32 -33
- package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -0
- package/ui/views/SplitView.d.ts +3 -3
- package/ui/views/SplitView.js +39 -59
- 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
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.UserMenuRenderer = exports.UserMenuProvider = exports.UserMenuItems = exports.UserMenuItemRenderer = exports.UserMenuItem = exports.UserMenuHandleRenderer = exports.UserMenuHandle = exports.UserMenu = exports.AddUserMenuItem = void 0;
|
|
9
|
+
exports.useUserMenu = useUserMenu;
|
|
10
|
+
exports.useUserMenuItem = useUserMenuItem;
|
|
11
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
var _app = require("@webiny/app");
|
|
16
|
+
var _excluded = ["children"];
|
|
17
|
+
var UserMenuContext = /*#__PURE__*/_react.default.createContext({
|
|
18
|
+
addMenuItem: function addMenuItem() {
|
|
19
|
+
return void 0;
|
|
20
|
+
},
|
|
21
|
+
menuItems: []
|
|
22
|
+
});
|
|
23
|
+
UserMenuContext.displayName = "UserMenuContext";
|
|
24
|
+
function useUserMenu() {
|
|
25
|
+
return _react.default.useContext(UserMenuContext);
|
|
26
|
+
}
|
|
27
|
+
var UserMenuProvider = function UserMenuProvider(Component) {
|
|
28
|
+
return function UserMenuProvider(_ref) {
|
|
29
|
+
var children = _ref.children,
|
|
30
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
31
|
+
var _useState = (0, _react.useState)([]),
|
|
32
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
33
|
+
menuItems = _useState2[0],
|
|
34
|
+
setItems = _useState2[1];
|
|
35
|
+
var addMenuItem = (0, _react.useCallback)(function (item) {
|
|
36
|
+
setItems(function (items) {
|
|
37
|
+
return [].concat((0, _toConsumableArray2.default)(items), [item]);
|
|
38
|
+
});
|
|
39
|
+
return function () {
|
|
40
|
+
setItems(function (items) {
|
|
41
|
+
var index = items.findIndex(function (i) {
|
|
42
|
+
return i === item;
|
|
43
|
+
});
|
|
44
|
+
if (index < 0) {
|
|
45
|
+
return items;
|
|
46
|
+
}
|
|
47
|
+
return [].concat((0, _toConsumableArray2.default)(items.slice(0, index)), (0, _toConsumableArray2.default)(items.slice(index + 1)));
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
}, [setItems]);
|
|
51
|
+
var context = {
|
|
52
|
+
menuItems: menuItems,
|
|
53
|
+
addMenuItem: addMenuItem
|
|
54
|
+
};
|
|
55
|
+
return /*#__PURE__*/_react.default.createElement(UserMenuContext.Provider, {
|
|
56
|
+
value: context
|
|
57
|
+
}, /*#__PURE__*/_react.default.createElement(Component, props, children));
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
exports.UserMenuProvider = UserMenuProvider;
|
|
61
|
+
var UserMenu = (0, _app.makeComposable)("UserMenu", function () {
|
|
62
|
+
return /*#__PURE__*/_react.default.createElement(UserMenuRenderer, null);
|
|
63
|
+
});
|
|
64
|
+
exports.UserMenu = UserMenu;
|
|
65
|
+
var UserMenuRenderer = (0, _app.makeComposable)("UserMenuRenderer");
|
|
66
|
+
exports.UserMenuRenderer = UserMenuRenderer;
|
|
67
|
+
var UserMenuHandle = (0, _app.makeComposable)("UserMenuHandle", function () {
|
|
68
|
+
return /*#__PURE__*/_react.default.createElement(UserMenuHandleRenderer, null);
|
|
69
|
+
});
|
|
70
|
+
exports.UserMenuHandle = UserMenuHandle;
|
|
71
|
+
var UserMenuHandleRenderer = (0, _app.makeComposable)("UserMenuHandleRenderer");
|
|
72
|
+
exports.UserMenuHandleRenderer = UserMenuHandleRenderer;
|
|
73
|
+
var UserMenuItem = (0, _app.makeComposable)("UserMenuItem", function (_ref2) {
|
|
74
|
+
var menuItem = _ref2.menuItem;
|
|
75
|
+
return /*#__PURE__*/_react.default.createElement(UserMenuItemContext.Provider, {
|
|
76
|
+
value: menuItem
|
|
77
|
+
}, /*#__PURE__*/_react.default.createElement(UserMenuItemRenderer, null));
|
|
78
|
+
});
|
|
79
|
+
exports.UserMenuItem = UserMenuItem;
|
|
80
|
+
var UserMenuItemRenderer = (0, _app.makeComposable)("UserMenuItemRenderer");
|
|
81
|
+
exports.UserMenuItemRenderer = UserMenuItemRenderer;
|
|
82
|
+
var AddUserMenuItem = function AddUserMenuItem(props) {
|
|
83
|
+
var _useUserMenu = useUserMenu(),
|
|
84
|
+
addMenuItem = _useUserMenu.addMenuItem;
|
|
85
|
+
(0, _react.useEffect)(function () {
|
|
86
|
+
return addMenuItem(props);
|
|
87
|
+
}, []);
|
|
88
|
+
return null;
|
|
89
|
+
};
|
|
90
|
+
exports.AddUserMenuItem = AddUserMenuItem;
|
|
91
|
+
var UserMenuItemContext = /*#__PURE__*/_react.default.createContext({
|
|
92
|
+
element: undefined,
|
|
93
|
+
icon: undefined,
|
|
94
|
+
label: undefined,
|
|
95
|
+
onClick: function onClick() {
|
|
96
|
+
return void 0;
|
|
97
|
+
},
|
|
98
|
+
path: undefined
|
|
99
|
+
});
|
|
100
|
+
UserMenuItemContext.displayName = "UserMenuItemContext";
|
|
101
|
+
function useUserMenuItem() {
|
|
102
|
+
return _react.default.useContext(UserMenuItemContext);
|
|
103
|
+
}
|
|
104
|
+
var UserMenuItems = (0, _app.makeComposable)("UserMenuItems", function (_ref3) {
|
|
105
|
+
var menuItems = _ref3.menuItems;
|
|
106
|
+
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, menuItems.map(function (item, index) {
|
|
107
|
+
return /*#__PURE__*/_react.default.createElement(UserMenuItem, {
|
|
108
|
+
key: index,
|
|
109
|
+
menuItem: item
|
|
110
|
+
});
|
|
111
|
+
}));
|
|
112
|
+
});
|
|
113
|
+
exports.UserMenuItems = UserMenuItems;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["UserMenuContext","React","createContext","addMenuItem","menuItems","displayName","useUserMenu","useContext","UserMenuProvider","Component","children","props","useState","setItems","useCallback","item","items","index","findIndex","i","slice","context","UserMenu","makeComposable","UserMenuRenderer","UserMenuHandle","UserMenuHandleRenderer","UserMenuItem","menuItem","UserMenuItemRenderer","AddUserMenuItem","useEffect","UserMenuItemContext","element","undefined","icon","label","onClick","path","useUserMenuItem","UserMenuItems","map"],"sources":["UserMenu.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { makeComposable } from \"@webiny/app\";\n\nexport interface UserMenuItemData {\n label?: string;\n icon?: JSX.Element;\n path?: string;\n onClick?: () => void;\n element?: JSX.Element;\n}\n\nexport interface UserMenuContext {\n menuItems: UserMenuItemData[];\n addMenuItem(item: UserMenuItemData): void;\n}\n\nconst UserMenuContext = React.createContext<UserMenuContext>({\n addMenuItem: () => {\n return void 0;\n },\n menuItems: []\n});\nUserMenuContext.displayName = \"UserMenuContext\";\n\nexport function useUserMenu() {\n return React.useContext(UserMenuContext);\n}\n\nexport const UserMenuProvider = (Component: React.FC): React.FC => {\n return function UserMenuProvider({ children, ...props }) {\n const [menuItems, setItems] = useState<UserMenuItemData[]>([]);\n\n const addMenuItem = useCallback<UserMenuContext[\"addMenuItem\"]>(\n item => {\n setItems(items => [...items, item]);\n\n return () => {\n setItems(items => {\n const index = items.findIndex(i => i === item);\n if (index < 0) {\n return items;\n }\n\n return [...items.slice(0, index), ...items.slice(index + 1)];\n });\n };\n },\n [setItems]\n );\n\n const context = {\n menuItems,\n addMenuItem\n };\n\n return (\n <UserMenuContext.Provider value={context}>\n <Component {...props}>{children}</Component>\n </UserMenuContext.Provider>\n );\n };\n};\n\nexport const UserMenu = makeComposable(\"UserMenu\", () => {\n return <UserMenuRenderer />;\n});\n\nexport const UserMenuRenderer = makeComposable(\"UserMenuRenderer\");\n\nexport const UserMenuHandle = makeComposable(\"UserMenuHandle\", () => {\n return <UserMenuHandleRenderer />;\n});\n\nexport const UserMenuHandleRenderer = makeComposable(\"UserMenuHandleRenderer\");\n\nexport interface UserMenuItemProps {\n menuItem: UserMenuItemData;\n}\n\nexport const UserMenuItem = makeComposable<UserMenuItemProps>(\"UserMenuItem\", ({ menuItem }) => {\n return (\n <UserMenuItemContext.Provider value={menuItem}>\n <UserMenuItemRenderer />\n </UserMenuItemContext.Provider>\n );\n});\n\nexport const UserMenuItemRenderer = makeComposable(\"UserMenuItemRenderer\");\n\nexport const AddUserMenuItem: React.FC<UserMenuItemProps[\"menuItem\"]> = props => {\n const { addMenuItem } = useUserMenu();\n\n useEffect(() => {\n return addMenuItem(props);\n }, []);\n\n return null;\n};\n\nexport type UserMenuItemContext = UserMenuItemData;\n\nconst UserMenuItemContext = React.createContext<UserMenuItemContext>({\n element: undefined,\n icon: undefined,\n label: undefined,\n onClick: () => {\n return void 0;\n },\n path: undefined\n});\nUserMenuItemContext.displayName = \"UserMenuItemContext\";\n\nexport function useUserMenuItem() {\n return React.useContext(UserMenuItemContext);\n}\n\nexport interface UserMenuItemsProps {\n menuItems: UserMenuItemData[];\n}\n\nexport const UserMenuItems = makeComposable<UserMenuItemsProps>(\n \"UserMenuItems\",\n ({ menuItems }) => {\n return (\n <Fragment>\n {menuItems.map((item, index) => (\n <UserMenuItem key={index} menuItem={item} />\n ))}\n </Fragment>\n );\n }\n);\n"],"mappings":";;;;;;;;;;;;;AAAA;AACA;AAA6C;AAe7C,IAAMA,eAAe,gBAAGC,cAAK,CAACC,aAAa,CAAkB;EACzDC,WAAW,EAAE,uBAAM;IACf,OAAO,KAAK,CAAC;EACjB,CAAC;EACDC,SAAS,EAAE;AACf,CAAC,CAAC;AACFJ,eAAe,CAACK,WAAW,GAAG,iBAAiB;AAExC,SAASC,WAAW,GAAG;EAC1B,OAAOL,cAAK,CAACM,UAAU,CAACP,eAAe,CAAC;AAC5C;AAEO,IAAMQ,gBAAgB,GAAG,SAAnBA,gBAAgB,CAAIC,SAAmB,EAAe;EAC/D,OAAO,SAASD,gBAAgB,OAAyB;IAAA,IAAtBE,QAAQ,QAARA,QAAQ;MAAKC,KAAK;IACjD,gBAA8B,IAAAC,eAAQ,EAAqB,EAAE,CAAC;MAAA;MAAvDR,SAAS;MAAES,QAAQ;IAE1B,IAAMV,WAAW,GAAG,IAAAW,kBAAW,EAC3B,UAAAC,IAAI,EAAI;MACJF,QAAQ,CAAC,UAAAG,KAAK;QAAA,kDAAQA,KAAK,IAAED,IAAI;MAAA,CAAC,CAAC;MAEnC,OAAO,YAAM;QACTF,QAAQ,CAAC,UAAAG,KAAK,EAAI;UACd,IAAMC,KAAK,GAAGD,KAAK,CAACE,SAAS,CAAC,UAAAC,CAAC;YAAA,OAAIA,CAAC,KAAKJ,IAAI;UAAA,EAAC;UAC9C,IAAIE,KAAK,GAAG,CAAC,EAAE;YACX,OAAOD,KAAK;UAChB;UAEA,kDAAWA,KAAK,CAACI,KAAK,CAAC,CAAC,EAAEH,KAAK,CAAC,oCAAKD,KAAK,CAACI,KAAK,CAACH,KAAK,GAAG,CAAC,CAAC;QAC/D,CAAC,CAAC;MACN,CAAC;IACL,CAAC,EACD,CAACJ,QAAQ,CAAC,CACb;IAED,IAAMQ,OAAO,GAAG;MACZjB,SAAS,EAATA,SAAS;MACTD,WAAW,EAAXA;IACJ,CAAC;IAED,oBACI,6BAAC,eAAe,CAAC,QAAQ;MAAC,KAAK,EAAEkB;IAAQ,gBACrC,6BAAC,SAAS,EAAKV,KAAK,EAAGD,QAAQ,CAAa,CACrB;EAEnC,CAAC;AACL,CAAC;AAAC;AAEK,IAAMY,QAAQ,GAAG,IAAAC,mBAAc,EAAC,UAAU,EAAE,YAAM;EACrD,oBAAO,6BAAC,gBAAgB,OAAG;AAC/B,CAAC,CAAC;AAAC;AAEI,IAAMC,gBAAgB,GAAG,IAAAD,mBAAc,EAAC,kBAAkB,CAAC;AAAC;AAE5D,IAAME,cAAc,GAAG,IAAAF,mBAAc,EAAC,gBAAgB,EAAE,YAAM;EACjE,oBAAO,6BAAC,sBAAsB,OAAG;AACrC,CAAC,CAAC;AAAC;AAEI,IAAMG,sBAAsB,GAAG,IAAAH,mBAAc,EAAC,wBAAwB,CAAC;AAAC;AAMxE,IAAMI,YAAY,GAAG,IAAAJ,mBAAc,EAAoB,cAAc,EAAE,iBAAkB;EAAA,IAAfK,QAAQ,SAARA,QAAQ;EACrF,oBACI,6BAAC,mBAAmB,CAAC,QAAQ;IAAC,KAAK,EAAEA;EAAS,gBAC1C,6BAAC,oBAAoB,OAAG,CACG;AAEvC,CAAC,CAAC;AAAC;AAEI,IAAMC,oBAAoB,GAAG,IAAAN,mBAAc,EAAC,sBAAsB,CAAC;AAAC;AAEpE,IAAMO,eAAwD,GAAG,SAA3DA,eAAwD,CAAGnB,KAAK,EAAI;EAC7E,mBAAwBL,WAAW,EAAE;IAA7BH,WAAW,gBAAXA,WAAW;EAEnB,IAAA4B,gBAAS,EAAC,YAAM;IACZ,OAAO5B,WAAW,CAACQ,KAAK,CAAC;EAC7B,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,IAAI;AACf,CAAC;AAAC;AAIF,IAAMqB,mBAAmB,gBAAG/B,cAAK,CAACC,aAAa,CAAsB;EACjE+B,OAAO,EAAEC,SAAS;EAClBC,IAAI,EAAED,SAAS;EACfE,KAAK,EAAEF,SAAS;EAChBG,OAAO,EAAE,mBAAM;IACX,OAAO,KAAK,CAAC;EACjB,CAAC;EACDC,IAAI,EAAEJ;AACV,CAAC,CAAC;AACFF,mBAAmB,CAAC3B,WAAW,GAAG,qBAAqB;AAEhD,SAASkC,eAAe,GAAG;EAC9B,OAAOtC,cAAK,CAACM,UAAU,CAACyB,mBAAmB,CAAC;AAChD;AAMO,IAAMQ,aAAa,GAAG,IAAAjB,mBAAc,EACvC,eAAe,EACf,iBAAmB;EAAA,IAAhBnB,SAAS,SAATA,SAAS;EACR,oBACI,6BAAC,eAAQ,QACJA,SAAS,CAACqC,GAAG,CAAC,UAAC1B,IAAI,EAAEE,KAAK;IAAA,oBACvB,6BAAC,YAAY;MAAC,GAAG,EAAEA,KAAM;MAAC,QAAQ,EAAEF;IAAK,EAAG;EAAA,CAC/C,CAAC,CACK;AAEnB,CAAC,CACJ;AAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
interface AdminLayoutProps {
|
|
3
3
|
title?: string;
|
|
4
|
-
children: React.ReactNode;
|
|
5
4
|
}
|
|
6
|
-
export declare const AdminLayout:
|
|
5
|
+
export declare const AdminLayout: React.FC<AdminLayoutProps>;
|
|
7
6
|
export {};
|
|
@@ -1,35 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
import React, { useEffect, useState } from "react";
|
|
3
|
-
import { UIViewComponent } from "../ui/UIView";
|
|
4
|
-
import { GenericElement } from "../ui/elements/GenericElement";
|
|
5
|
-
import { AdminView } from "../ui/views/AdminView";
|
|
6
|
-
export var AdminLayout = function AdminLayout(_ref) {
|
|
7
|
-
var title = _ref.title,
|
|
8
|
-
children = _ref.children;
|
|
9
|
-
|
|
10
|
-
var _useState = useState(null),
|
|
11
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
12
|
-
view = _useState2[0],
|
|
13
|
-
setView = _useState2[1];
|
|
14
|
-
|
|
15
|
-
useEffect(function () {
|
|
16
|
-
var view = new AdminView();
|
|
17
|
-
|
|
18
|
-
if (title) {
|
|
19
|
-
view.setTitle(title);
|
|
20
|
-
}
|
|
1
|
+
"use strict";
|
|
21
2
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
return /*#__PURE__*/
|
|
33
|
-
|
|
34
|
-
});
|
|
35
|
-
};
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.AdminLayout = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _ = require("./..");
|
|
10
|
+
var AdminLayout = function AdminLayout(_ref) {
|
|
11
|
+
var title = _ref.title,
|
|
12
|
+
children = _ref.children;
|
|
13
|
+
return /*#__PURE__*/_react.default.createElement(_.Layout, {
|
|
14
|
+
title: title
|
|
15
|
+
}, children);
|
|
16
|
+
};
|
|
17
|
+
exports.AdminLayout = AdminLayout;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AdminLayout","title","children"],"sources":["AdminLayout.tsx"],"sourcesContent":["import React from \"react\";\nimport { Layout } from \"~/index\";\n\ninterface AdminLayoutProps {\n title?: string;\n}\n\nexport const AdminLayout: React.FC<AdminLayoutProps> = ({ title, children }) => {\n return <Layout title={title}>{children}</Layout>;\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAMO,IAAMA,WAAuC,GAAG,SAA1CA,WAAuC,OAA4B;EAAA,IAAtBC,KAAK,QAALA,KAAK;IAAEC,QAAQ,QAARA,QAAQ;EACrE,oBAAO,6BAAC,QAAM;IAAC,KAAK,EAAED;EAAM,GAAEC,QAAQ,CAAU;AACpD,CAAC;AAAC"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.AppInstaller = void 0;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _store = _interopRequireDefault(require("store"));
|
|
12
|
+
var _ = require("../..");
|
|
13
|
+
var _appSecurity = require("@webiny/app-security");
|
|
14
|
+
var _Progress = require("@webiny/ui/Progress");
|
|
15
|
+
var _Button = require("@webiny/ui/Button");
|
|
16
|
+
var _SplitView = require("../SplitView");
|
|
17
|
+
var _Grid = require("@webiny/ui/Grid");
|
|
18
|
+
var _Typography = require("@webiny/ui/Typography");
|
|
19
|
+
var _Elevation = require("@webiny/ui/Elevation");
|
|
20
|
+
var _useInstaller2 = require("./useInstaller");
|
|
21
|
+
var _Sidebar = _interopRequireDefault(require("./Sidebar"));
|
|
22
|
+
var _styled = require("./styled");
|
|
23
|
+
var _config = require("@webiny/app/config");
|
|
24
|
+
var AppInstaller = function AppInstaller(_ref) {
|
|
25
|
+
var children = _ref.children;
|
|
26
|
+
var tenantId = _store.default.get("webiny_tenant") || "root";
|
|
27
|
+
var lsKey = "webiny_installation_".concat(tenantId);
|
|
28
|
+
var wbyVersion = _config.config.getKey("WEBINY_VERSION", process.env.REACT_APP_WEBINY_VERSION);
|
|
29
|
+
var isRootTenant = tenantId === "root";
|
|
30
|
+
/*
|
|
31
|
+
* This flag allows us to avoid rendering the <iframe> when the app is tested with Cypress
|
|
32
|
+
* (Cypress doesn't work with cross domains because of security-related implications).
|
|
33
|
+
* @see https://docs.cypress.io/guides/guides/web-security#Insecure-Content
|
|
34
|
+
*/
|
|
35
|
+
var isCypressTest = window && window.Cypress;
|
|
36
|
+
var markInstallerAsCompleted = function markInstallerAsCompleted() {
|
|
37
|
+
_store.default.set(lsKey, wbyVersion);
|
|
38
|
+
};
|
|
39
|
+
var isInstallerCompleted = function isInstallerCompleted() {
|
|
40
|
+
return _store.default.get(lsKey) === wbyVersion;
|
|
41
|
+
};
|
|
42
|
+
var _useState = (0, _react.useState)(false),
|
|
43
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
44
|
+
finished = _useState2[0],
|
|
45
|
+
setFinished = _useState2[1];
|
|
46
|
+
var _useSecurity = (0, _appSecurity.useSecurity)(),
|
|
47
|
+
identity = _useSecurity.identity;
|
|
48
|
+
var _useInstaller = (0, _useInstaller2.useInstaller)({
|
|
49
|
+
isInstalled: isInstallerCompleted()
|
|
50
|
+
}),
|
|
51
|
+
loading = _useInstaller.loading,
|
|
52
|
+
installers = _useInstaller.installers,
|
|
53
|
+
installer = _useInstaller.installer,
|
|
54
|
+
isFirstInstall = _useInstaller.isFirstInstall,
|
|
55
|
+
showNextInstaller = _useInstaller.showNextInstaller,
|
|
56
|
+
showLogin = _useInstaller.showLogin,
|
|
57
|
+
onUser = _useInstaller.onUser,
|
|
58
|
+
skippingVersions = _useInstaller.skippingVersions;
|
|
59
|
+
(0, _react.useEffect)(function () {
|
|
60
|
+
if (identity) {
|
|
61
|
+
onUser();
|
|
62
|
+
}
|
|
63
|
+
}, [identity]);
|
|
64
|
+
if (isInstallerCompleted()) {
|
|
65
|
+
return /*#__PURE__*/_react.default.createElement(_.LoginScreen, null, children);
|
|
66
|
+
}
|
|
67
|
+
var renderLayout = function renderLayout(content) {
|
|
68
|
+
var secure = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
69
|
+
return /*#__PURE__*/_react.default.createElement(_SplitView.SplitView, {
|
|
70
|
+
className: _styled.installerSplitView
|
|
71
|
+
}, /*#__PURE__*/_react.default.createElement(_SplitView.LeftPanel, {
|
|
72
|
+
span: 2
|
|
73
|
+
}, /*#__PURE__*/_react.default.createElement(_Sidebar.default, {
|
|
74
|
+
allInstallers: installers,
|
|
75
|
+
installer: installer,
|
|
76
|
+
showLogin: showLogin
|
|
77
|
+
})), /*#__PURE__*/_react.default.createElement(_SplitView.RightPanel, {
|
|
78
|
+
span: 10
|
|
79
|
+
}, !showLogin && !secure && content, (showLogin || secure) && /*#__PURE__*/_react.default.createElement(_.LoginScreen, null, content)));
|
|
80
|
+
};
|
|
81
|
+
var renderBody = function renderBody(content) {
|
|
82
|
+
return /*#__PURE__*/_react.default.createElement(_styled.Wrapper, null, /*#__PURE__*/_react.default.createElement(_styled.InstallContent, null, /*#__PURE__*/_react.default.createElement(_styled.InnerContent, null, content)));
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
// Loading installers data
|
|
86
|
+
if (loading) {
|
|
87
|
+
return /*#__PURE__*/_react.default.createElement(_Progress.CircularProgress, {
|
|
88
|
+
label: "Checking apps..."
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// This means there are no installers to run or installation was finished
|
|
93
|
+
if (!loading && (installers.length === 0 || finished)) {
|
|
94
|
+
markInstallerAsCompleted();
|
|
95
|
+
return /*#__PURE__*/_react.default.createElement(_.LoginScreen, null, children);
|
|
96
|
+
}
|
|
97
|
+
if (installer) {
|
|
98
|
+
return renderLayout(renderBody(installer.render({
|
|
99
|
+
onInstalled: showNextInstaller
|
|
100
|
+
})), installer.secure);
|
|
101
|
+
}
|
|
102
|
+
if (skippingVersions) {
|
|
103
|
+
return renderBody( /*#__PURE__*/_react.default.createElement(_Elevation.Elevation, {
|
|
104
|
+
z: 1,
|
|
105
|
+
className: _styled.alertClass
|
|
106
|
+
}, /*#__PURE__*/_react.default.createElement(_Grid.Grid, null, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
107
|
+
span: 12
|
|
108
|
+
}, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
109
|
+
use: "headline4"
|
|
110
|
+
}, "Important!")), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
111
|
+
span: 12
|
|
112
|
+
}, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
113
|
+
use: "body1",
|
|
114
|
+
tag: "div"
|
|
115
|
+
}, "We've detected that your current application is running Webiny", " ", /*#__PURE__*/_react.default.createElement("strong", null, "v", skippingVersions.latest), ". However, your API is running ", /*#__PURE__*/_react.default.createElement("strong", null, "v", skippingVersions.current), ". Unfortunately, we can't upgrade your system by skipping versions in between.", /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), "Here's a list of versions you skipped, that contain upgrades you need to install:", /*#__PURE__*/_react.default.createElement("ul", null, skippingVersions.availableUpgrades.filter(function (v) {
|
|
116
|
+
return v !== skippingVersions.latest;
|
|
117
|
+
}).map(function (v) {
|
|
118
|
+
return /*#__PURE__*/_react.default.createElement("li", {
|
|
119
|
+
key: v
|
|
120
|
+
}, "v", v);
|
|
121
|
+
})), "For instructions on how to upgrade Webiny, please consult our", " ", /*#__PURE__*/_react.default.createElement("a", {
|
|
122
|
+
href: "https://docs.webiny.com/docs/how-to-guides/upgrade-webiny",
|
|
123
|
+
target: "_blank",
|
|
124
|
+
rel: "noreferrer noopener"
|
|
125
|
+
}, "Upgrade Webiny"), " ", "guide. Note that some versions may have a dedicated article with upgrade instructions, so look out for those in the upgrade guide.", /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), "If you run into problems, find us on our", " ", /*#__PURE__*/_react.default.createElement("a", {
|
|
126
|
+
href: "https://www.webiny.com/slack",
|
|
127
|
+
target: "_blank",
|
|
128
|
+
rel: "noreferrer noopener"
|
|
129
|
+
}, "Slack community."))))));
|
|
130
|
+
}
|
|
131
|
+
return renderLayout(renderBody( /*#__PURE__*/_react.default.createElement(_Elevation.Elevation, {
|
|
132
|
+
z: 1
|
|
133
|
+
}, /*#__PURE__*/_react.default.createElement(_styled.SuccessDialog, null, /*#__PURE__*/_react.default.createElement("p", null, "You have successfully installed all new applications!"), !isCypressTest && isRootTenant && isFirstInstall ? /*#__PURE__*/_react.default.createElement("iframe", {
|
|
134
|
+
height: "0",
|
|
135
|
+
width: "0",
|
|
136
|
+
frameBorder: "0",
|
|
137
|
+
style: {
|
|
138
|
+
opacity: "0"
|
|
139
|
+
},
|
|
140
|
+
src: "https://www.webiny.com/thank-you/new-install"
|
|
141
|
+
}) : null, /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
|
|
142
|
+
"data-testid": "open-webiny-cms-admin-button",
|
|
143
|
+
onClick: function onClick() {
|
|
144
|
+
markInstallerAsCompleted();
|
|
145
|
+
setFinished(true);
|
|
146
|
+
}
|
|
147
|
+
}, isFirstInstall ? "Finish install" : "Finish upgrade")))), true);
|
|
148
|
+
};
|
|
149
|
+
exports.AppInstaller = AppInstaller;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AppInstaller","children","tenantId","localStorage","get","lsKey","wbyVersion","appConfig","getKey","process","env","REACT_APP_WEBINY_VERSION","isRootTenant","isCypressTest","window","Cypress","markInstallerAsCompleted","set","isInstallerCompleted","useState","finished","setFinished","useSecurity","identity","useInstaller","isInstalled","loading","installers","installer","isFirstInstall","showNextInstaller","showLogin","onUser","skippingVersions","useEffect","renderLayout","content","secure","installerSplitView","renderBody","length","render","onInstalled","alertClass","latest","current","availableUpgrades","filter","v","map","opacity"],"sources":["AppInstaller.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { default as localStorage } from \"store\";\nimport { LoginScreen } from \"~/index\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport { SplitView, LeftPanel, RightPanel } from \"../SplitView\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { Elevation } from \"@webiny/ui/Elevation\";\nimport { useInstaller } from \"./useInstaller\";\nimport Sidebar from \"./Sidebar\";\n\ndeclare global {\n interface Window {\n Cypress: any;\n }\n}\n\nimport {\n Wrapper,\n alertClass,\n InnerContent,\n InstallContent,\n installerSplitView,\n SuccessDialog\n} from \"./styled\";\nimport { config as appConfig } from \"@webiny/app/config\";\n\nexport const AppInstaller: React.FC = ({ children }) => {\n const tenantId = localStorage.get(\"webiny_tenant\") || \"root\";\n const lsKey = `webiny_installation_${tenantId}`;\n const wbyVersion = appConfig.getKey(\"WEBINY_VERSION\", process.env.REACT_APP_WEBINY_VERSION);\n const isRootTenant = tenantId === \"root\";\n /*\n * This flag allows us to avoid rendering the <iframe> when the app is tested with Cypress\n * (Cypress doesn't work with cross domains because of security-related implications).\n * @see https://docs.cypress.io/guides/guides/web-security#Insecure-Content\n */\n const isCypressTest = window && window.Cypress;\n\n const markInstallerAsCompleted = () => {\n localStorage.set(lsKey, wbyVersion);\n };\n\n const isInstallerCompleted = () => {\n return localStorage.get(lsKey) === wbyVersion;\n };\n\n const [finished, setFinished] = useState(false);\n const { identity } = useSecurity();\n const {\n loading,\n installers,\n installer,\n isFirstInstall,\n showNextInstaller,\n showLogin,\n onUser,\n skippingVersions\n } = useInstaller({ isInstalled: isInstallerCompleted() });\n\n useEffect(() => {\n if (identity) {\n onUser();\n }\n }, [identity]);\n\n if (isInstallerCompleted()) {\n return <LoginScreen>{children}</LoginScreen>;\n }\n\n const renderLayout = (content: React.ReactNode, secure = false): React.ReactElement => {\n return (\n <SplitView className={installerSplitView}>\n <LeftPanel span={2}>\n <Sidebar\n allInstallers={installers}\n installer={installer}\n showLogin={showLogin}\n />\n </LeftPanel>\n <RightPanel span={10}>\n {!showLogin && !secure && content}\n {(showLogin || secure) && <LoginScreen>{content}</LoginScreen>}\n </RightPanel>\n </SplitView>\n );\n };\n\n const renderBody = (content: React.ReactNode): React.ReactElement => {\n return (\n <Wrapper>\n <InstallContent>\n <InnerContent>{content}</InnerContent>\n </InstallContent>\n </Wrapper>\n );\n };\n\n // Loading installers data\n if (loading) {\n return <CircularProgress label={\"Checking apps...\"} />;\n }\n\n // This means there are no installers to run or installation was finished\n if (!loading && (installers.length === 0 || finished)) {\n markInstallerAsCompleted();\n return <LoginScreen>{children}</LoginScreen>;\n }\n\n if (installer) {\n return renderLayout(\n renderBody(installer.render({ onInstalled: showNextInstaller })),\n installer.secure\n );\n }\n\n if (skippingVersions) {\n return renderBody(\n <Elevation z={1} className={alertClass}>\n <Grid>\n <Cell span={12}>\n <Typography use={\"headline4\"}>Important!</Typography>\n </Cell>\n <Cell span={12}>\n <Typography use={\"body1\"} tag={\"div\"}>\n We've detected that your current application is running Webiny{\" \"}\n <strong>v{skippingVersions.latest}</strong>. However, your API is\n running <strong>v{skippingVersions.current}</strong>. Unfortunately, we\n can't upgrade your system by skipping versions in between.\n <br />\n <br />\n Here's a list of versions you skipped, that contain upgrades you\n need to install:\n <ul>\n {skippingVersions.availableUpgrades\n .filter(v => v !== skippingVersions.latest)\n .map(v => (\n <li key={v}>v{v}</li>\n ))}\n </ul>\n For instructions on how to upgrade Webiny, please consult our{\" \"}\n <a\n href={\"https://docs.webiny.com/docs/how-to-guides/upgrade-webiny\"}\n target={\"_blank\"}\n rel={\"noreferrer noopener\"}\n >\n Upgrade Webiny\n </a>{\" \"}\n guide. Note that some versions may have a dedicated article with upgrade\n instructions, so look out for those in the upgrade guide.\n <br />\n <br />\n If you run into problems, find us on our{\" \"}\n <a\n href={\"https://www.webiny.com/slack\"}\n target={\"_blank\"}\n rel={\"noreferrer noopener\"}\n >\n Slack community.\n </a>\n </Typography>\n </Cell>\n </Grid>\n </Elevation>\n );\n }\n\n return renderLayout(\n renderBody(\n <Elevation z={1}>\n <SuccessDialog>\n <p>You have successfully installed all new applications!</p>\n {!isCypressTest && isRootTenant && isFirstInstall ? (\n <iframe\n height=\"0\"\n width=\"0\"\n frameBorder=\"0\"\n style={{ opacity: \"0\" }}\n src=\"https://www.webiny.com/thank-you/new-install\"\n ></iframe>\n ) : null}\n <ButtonPrimary\n data-testid={\"open-webiny-cms-admin-button\"}\n onClick={() => {\n markInstallerAsCompleted();\n setFinished(true);\n }}\n >\n {isFirstInstall ? \"Finish install\" : \"Finish upgrade\"}\n </ButtonPrimary>\n </SuccessDialog>\n </Elevation>\n ),\n true\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Installer } from "./useInstaller";
|
|
3
|
+
interface SidebarProps {
|
|
4
|
+
allInstallers: Installer[];
|
|
5
|
+
installer: Installer;
|
|
6
|
+
showLogin: boolean;
|
|
7
|
+
}
|
|
8
|
+
declare const Sidebar: React.FC<SidebarProps>;
|
|
7
9
|
export default Sidebar;
|
|
@@ -1,26 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
|
+
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
12
|
+
var _Typography = require("@webiny/ui/Typography");
|
|
13
|
+
var _config = require("@webiny/app/config");
|
|
14
|
+
var _signInDivider = _interopRequireDefault(require("./assets/sign-in-divider.svg"));
|
|
15
|
+
var _Brand = require("../../base/ui/Brand");
|
|
16
|
+
var _Tags = require("../../base/ui/Tags");
|
|
17
|
+
var Logo = /*#__PURE__*/(0, _styled.default)("div", {
|
|
8
18
|
target: "eu74ttw0",
|
|
9
|
-
label: "SidebarWrapper"
|
|
10
|
-
})({});
|
|
11
|
-
var Logo = /*#__PURE__*/styled("div", {
|
|
12
|
-
target: "eu74ttw1",
|
|
13
19
|
label: "Logo"
|
|
14
20
|
})({
|
|
15
21
|
padding: 15,
|
|
16
|
-
borderBottom: "1px solid var(--mdc-theme-background)"
|
|
17
|
-
img: {
|
|
18
|
-
width: "100px",
|
|
19
|
-
height: "auto"
|
|
20
|
-
}
|
|
22
|
+
borderBottom: "1px solid var(--mdc-theme-background)"
|
|
21
23
|
});
|
|
22
|
-
var List = /*#__PURE__*/
|
|
23
|
-
target: "
|
|
24
|
+
var List = /*#__PURE__*/(0, _styled.default)("ul", {
|
|
25
|
+
target: "eu74ttw1",
|
|
24
26
|
label: "List"
|
|
25
27
|
})({
|
|
26
28
|
li: {
|
|
@@ -67,92 +69,87 @@ var List = /*#__PURE__*/styled("ul", {
|
|
|
67
69
|
}
|
|
68
70
|
}
|
|
69
71
|
});
|
|
70
|
-
var Note = /*#__PURE__*/
|
|
71
|
-
target: "
|
|
72
|
+
var Note = /*#__PURE__*/(0, _styled.default)("div", {
|
|
73
|
+
target: "eu74ttw2",
|
|
72
74
|
label: "Note"
|
|
73
75
|
})({
|
|
74
76
|
padding: 15
|
|
75
77
|
});
|
|
76
|
-
|
|
77
|
-
var
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
showLogin = _ref.showLogin;
|
|
82
|
-
|
|
78
|
+
var Installations = function Installations(props) {
|
|
79
|
+
var title = props.title,
|
|
80
|
+
allInstallers = props.allInstallers,
|
|
81
|
+
installer = props.installer,
|
|
82
|
+
showLogin = props.showLogin;
|
|
83
83
|
var renderList = function renderList() {
|
|
84
|
-
var loginItem = /*#__PURE__*/
|
|
84
|
+
var loginItem = /*#__PURE__*/_react.default.createElement("li", {
|
|
85
85
|
key: "login",
|
|
86
86
|
className: "sign-in"
|
|
87
|
-
}, /*#__PURE__*/
|
|
88
|
-
src:
|
|
89
|
-
|
|
87
|
+
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
88
|
+
src: _signInDivider.default,
|
|
89
|
+
alt: ""
|
|
90
|
+
}), /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
90
91
|
use: "overline",
|
|
91
92
|
className: "note"
|
|
92
93
|
}, "TO CONTINUE THE INSTALLATION AFTER THIS POINT YOU\u2019LL NEED TO SIGN IN"));
|
|
93
94
|
var items = [];
|
|
94
|
-
|
|
95
95
|
for (var i = 0; i < allInstallers.length; i++) {
|
|
96
96
|
var _allInstallers$i = allInstallers[i],
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
97
|
+
name = _allInstallers$i.name,
|
|
98
|
+
_title = _allInstallers$i.title,
|
|
99
|
+
secure = _allInstallers$i.secure,
|
|
100
|
+
installed = _allInstallers$i.installed;
|
|
101
101
|
var prev = i === 0 ? null : allInstallers[i - 1];
|
|
102
|
-
|
|
103
102
|
if ((!prev || !prev.secure) && secure && showLogin) {
|
|
104
103
|
items.push(loginItem);
|
|
105
104
|
}
|
|
106
|
-
|
|
107
105
|
var active = installer && !showLogin && name === installer.name;
|
|
108
|
-
items.push( /*#__PURE__*/
|
|
106
|
+
items.push( /*#__PURE__*/_react.default.createElement("li", {
|
|
109
107
|
key: name,
|
|
110
|
-
className:
|
|
108
|
+
className: (0, _classnames.default)({
|
|
111
109
|
installed: installed
|
|
112
110
|
}, {
|
|
113
111
|
active: active
|
|
114
112
|
}, {
|
|
115
113
|
pending: !installed && !active
|
|
116
114
|
})
|
|
117
|
-
}, /*#__PURE__*/
|
|
115
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
118
116
|
className: "status"
|
|
119
|
-
}), /*#__PURE__*/
|
|
117
|
+
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
120
118
|
className: "title"
|
|
121
119
|
}, _title)));
|
|
122
120
|
}
|
|
123
|
-
|
|
124
121
|
return items;
|
|
125
122
|
};
|
|
126
|
-
|
|
127
|
-
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Note, null, /*#__PURE__*/React.createElement(Typography, {
|
|
123
|
+
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(Note, null, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
128
124
|
use: "body1"
|
|
129
|
-
}, title)), /*#__PURE__*/
|
|
125
|
+
}, title)), /*#__PURE__*/_react.default.createElement(List, null, renderList()));
|
|
130
126
|
};
|
|
131
|
-
|
|
132
|
-
var
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
showLogin = _ref2.showLogin;
|
|
127
|
+
var Sidebar = function Sidebar(_ref) {
|
|
128
|
+
var allInstallers = _ref.allInstallers,
|
|
129
|
+
installer = _ref.installer,
|
|
130
|
+
showLogin = _ref.showLogin;
|
|
136
131
|
var upgrades = allInstallers.filter(function (installer) {
|
|
137
132
|
return installer.type === "upgrade";
|
|
138
133
|
});
|
|
139
134
|
var installations = allInstallers.filter(function (installer) {
|
|
140
135
|
return installer.type === "install";
|
|
141
136
|
});
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
137
|
+
var wbyVersion = _config.config.getKey("WEBINY_VERSION", process.env.REACT_APP_WEBINY_VERSION);
|
|
138
|
+
return /*#__PURE__*/_react.default.createElement(_Tags.Tags, {
|
|
139
|
+
tags: {
|
|
140
|
+
location: "installer"
|
|
141
|
+
}
|
|
142
|
+
}, /*#__PURE__*/_react.default.createElement(Logo, null, /*#__PURE__*/_react.default.createElement(_Brand.Brand, null)), upgrades.length > 0 ? /*#__PURE__*/_react.default.createElement(Installations, {
|
|
143
|
+
title: /*#__PURE__*/_react.default.createElement("span", null, "The following apps will be upgraded to ", /*#__PURE__*/_react.default.createElement("strong", null, wbyVersion), ":"),
|
|
147
144
|
allInstallers: upgrades,
|
|
148
145
|
installer: installer,
|
|
149
146
|
showLogin: showLogin
|
|
150
|
-
}) : null, installations.length > 0 && /*#__PURE__*/
|
|
147
|
+
}) : null, installations.length > 0 && /*#__PURE__*/_react.default.createElement(Installations, {
|
|
151
148
|
title: "The following apps will be installed and configured:",
|
|
152
149
|
allInstallers: installations,
|
|
153
150
|
installer: installer,
|
|
154
151
|
showLogin: upgrades.length > 0 ? false : showLogin
|
|
155
152
|
}));
|
|
156
153
|
};
|
|
157
|
-
|
|
158
|
-
|
|
154
|
+
var _default = Sidebar;
|
|
155
|
+
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Logo","styled","padding","borderBottom","List","li","display","alignItems","borderRadius","height","width","marginRight","textAlign","lineHeight","fontSize","paddingTop","color","img","backgroundColor","fontWeight","Note","Installations","props","title","allInstallers","installer","showLogin","renderList","loginItem","signInDivider","items","i","length","name","secure","installed","prev","push","active","classSet","pending","Sidebar","upgrades","filter","type","installations","wbyVersion","appConfig","getKey","process","env","REACT_APP_WEBINY_VERSION","location"],"sources":["Sidebar.tsx"],"sourcesContent":["import React, { Fragment } from \"react\";\nimport classSet from \"classnames\";\nimport styled from \"@emotion/styled\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { config as appConfig } from \"@webiny/app/config\";\nimport signInDivider from \"./assets/sign-in-divider.svg\";\nimport { Installer } from \"./useInstaller\";\nimport { Brand } from \"~/base/ui/Brand\";\nimport { Tags } from \"~/base/ui/Tags\";\n\nconst Logo = styled(\"div\")({\n padding: 15,\n borderBottom: \"1px solid var(--mdc-theme-background)\"\n});\n\nconst List = styled(\"ul\")({\n li: {\n display: \"flex\",\n alignItems: \"center\",\n padding: \"15px 15px\",\n \".status\": {\n borderRadius: \"50%\",\n display: \"inline-block\",\n height: 20,\n width: 20,\n marginRight: 15\n },\n \"&.sign-in\": {\n display: \"block\",\n textAlign: \"center\",\n \".note\": {\n display: \"inline-block\",\n lineHeight: \"150%\",\n fontSize: 10,\n paddingTop: 10,\n color: \"var(--mdc-theme-text-icon-on-background)\"\n },\n img: {\n width: \"100%\"\n }\n },\n \"&.active\": {\n backgroundColor: \"var(--mdc-theme-background)\",\n fontWeight: 600,\n \".status\": {\n backgroundColor: \"var(--mdc-theme-primary)\"\n }\n },\n \"&.pending\": {\n \".status\": {\n backgroundColor: \"var(--mdc-theme-on-surface)\"\n }\n },\n \"&.installed\": {\n \".status\": {\n backgroundColor: \"var(--mdc-theme-secondary)\"\n }\n }\n }\n});\n\nconst Note = styled(\"div\")({\n padding: 15\n});\ninterface InstallationsProps {\n title: React.ReactNode;\n allInstallers: Installer[];\n installer: Installer;\n showLogin: boolean;\n}\nconst Installations: React.FC<InstallationsProps> = props => {\n const { title, allInstallers, installer, showLogin } = props;\n const renderList = () => {\n const loginItem = (\n <li key={\"login\"} className={\"sign-in\"}>\n <img src={signInDivider} alt={\"\"} />\n <Typography use={\"overline\"} className={\"note\"}>\n TO CONTINUE THE INSTALLATION AFTER THIS POINT YOU’LL NEED TO SIGN IN\n </Typography>\n </li>\n );\n\n const items = [];\n for (let i = 0; i < allInstallers.length; i++) {\n const { name, title, secure, installed } = allInstallers[i];\n const prev = i === 0 ? null : allInstallers[i - 1];\n if ((!prev || !prev.secure) && secure && showLogin) {\n items.push(loginItem);\n }\n\n const active = installer && !showLogin && name === installer.name;\n\n items.push(\n <li\n key={name}\n className={classSet(\n { installed: installed },\n { active: active },\n { pending: !installed && !active }\n )}\n >\n <span className={\"status\"} />\n <span className={\"title\"}>{title}</span>\n </li>\n );\n }\n return items;\n };\n\n return (\n <Fragment>\n <Note>\n <Typography use={\"body1\"}>{title}</Typography>\n </Note>\n <List>{renderList()}</List>\n </Fragment>\n );\n};\n\ninterface SidebarProps {\n allInstallers: Installer[];\n installer: Installer;\n showLogin: boolean;\n}\n\nconst Sidebar: React.FC<SidebarProps> = ({ allInstallers, installer, showLogin }) => {\n const upgrades = allInstallers.filter(installer => installer.type === \"upgrade\");\n const installations = allInstallers.filter(installer => installer.type === \"install\");\n const wbyVersion = appConfig.getKey(\"WEBINY_VERSION\", process.env.REACT_APP_WEBINY_VERSION);\n\n return (\n <Tags tags={{ location: \"installer\" }}>\n <Logo>\n <Brand />\n </Logo>\n {upgrades.length > 0 ? (\n <Installations\n title={\n <span>\n The following apps will be upgraded to <strong>{wbyVersion}</strong>:\n </span>\n }\n allInstallers={upgrades}\n installer={installer}\n showLogin={showLogin}\n />\n ) : null}\n {installations.length > 0 && (\n <Installations\n title={\"The following apps will be installed and configured:\"}\n allInstallers={installations}\n installer={installer}\n showLogin={upgrades.length > 0 ? false : showLogin}\n />\n )}\n </Tags>\n );\n};\nexport default Sidebar;\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA,IAAMA,IAAI,oBAAGC,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,GAAE;EACvBC,OAAO,EAAE,EAAE;EACXC,YAAY,EAAE;AAClB,CAAC,CAAC;AAEF,IAAMC,IAAI,oBAAGH,eAAM,EAAC,IAAI;EAAA;EAAA;AAAA,GAAE;EACtBI,EAAE,EAAE;IACAC,OAAO,EAAE,MAAM;IACfC,UAAU,EAAE,QAAQ;IACpBL,OAAO,EAAE,WAAW;IACpB,SAAS,EAAE;MACPM,YAAY,EAAE,KAAK;MACnBF,OAAO,EAAE,cAAc;MACvBG,MAAM,EAAE,EAAE;MACVC,KAAK,EAAE,EAAE;MACTC,WAAW,EAAE;IACjB,CAAC;IACD,WAAW,EAAE;MACTL,OAAO,EAAE,OAAO;MAChBM,SAAS,EAAE,QAAQ;MACnB,OAAO,EAAE;QACLN,OAAO,EAAE,cAAc;QACvBO,UAAU,EAAE,MAAM;QAClBC,QAAQ,EAAE,EAAE;QACZC,UAAU,EAAE,EAAE;QACdC,KAAK,EAAE;MACX,CAAC;MACDC,GAAG,EAAE;QACDP,KAAK,EAAE;MACX;IACJ,CAAC;IACD,UAAU,EAAE;MACRQ,eAAe,EAAE,6BAA6B;MAC9CC,UAAU,EAAE,GAAG;MACf,SAAS,EAAE;QACPD,eAAe,EAAE;MACrB;IACJ,CAAC;IACD,WAAW,EAAE;MACT,SAAS,EAAE;QACPA,eAAe,EAAE;MACrB;IACJ,CAAC;IACD,aAAa,EAAE;MACX,SAAS,EAAE;QACPA,eAAe,EAAE;MACrB;IACJ;EACJ;AACJ,CAAC,CAAC;AAEF,IAAME,IAAI,oBAAGnB,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,GAAE;EACvBC,OAAO,EAAE;AACb,CAAC,CAAC;AAOF,IAAMmB,aAA2C,GAAG,SAA9CA,aAA2C,CAAGC,KAAK,EAAI;EACzD,IAAQC,KAAK,GAA0CD,KAAK,CAApDC,KAAK;IAAEC,aAAa,GAA2BF,KAAK,CAA7CE,aAAa;IAAEC,SAAS,GAAgBH,KAAK,CAA9BG,SAAS;IAAEC,SAAS,GAAKJ,KAAK,CAAnBI,SAAS;EAClD,IAAMC,UAAU,GAAG,SAAbA,UAAU,GAAS;IACrB,IAAMC,SAAS,gBACX;MAAI,GAAG,EAAE,OAAQ;MAAC,SAAS,EAAE;IAAU,gBACnC;MAAK,GAAG,EAAEC,sBAAc;MAAC,GAAG,EAAE;IAAG,EAAG,eACpC,6BAAC,sBAAU;MAAC,GAAG,EAAE,UAAW;MAAC,SAAS,EAAE;IAAO,GAAC,2EAEhD,CAAa,CAEpB;IAED,IAAMC,KAAK,GAAG,EAAE;IAChB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGP,aAAa,CAACQ,MAAM,EAAED,CAAC,EAAE,EAAE;MAC3C,uBAA2CP,aAAa,CAACO,CAAC,CAAC;QAAnDE,IAAI,oBAAJA,IAAI;QAAEV,MAAK,oBAALA,KAAK;QAAEW,MAAM,oBAANA,MAAM;QAAEC,SAAS,oBAATA,SAAS;MACtC,IAAMC,IAAI,GAAGL,CAAC,KAAK,CAAC,GAAG,IAAI,GAAGP,aAAa,CAACO,CAAC,GAAG,CAAC,CAAC;MAClD,IAAI,CAAC,CAACK,IAAI,IAAI,CAACA,IAAI,CAACF,MAAM,KAAKA,MAAM,IAAIR,SAAS,EAAE;QAChDI,KAAK,CAACO,IAAI,CAACT,SAAS,CAAC;MACzB;MAEA,IAAMU,MAAM,GAAGb,SAAS,IAAI,CAACC,SAAS,IAAIO,IAAI,KAAKR,SAAS,CAACQ,IAAI;MAEjEH,KAAK,CAACO,IAAI,eACN;QACI,GAAG,EAAEJ,IAAK;QACV,SAAS,EAAE,IAAAM,mBAAQ,EACf;UAAEJ,SAAS,EAAEA;QAAU,CAAC,EACxB;UAAEG,MAAM,EAAEA;QAAO,CAAC,EAClB;UAAEE,OAAO,EAAE,CAACL,SAAS,IAAI,CAACG;QAAO,CAAC;MACpC,gBAEF;QAAM,SAAS,EAAE;MAAS,EAAG,eAC7B;QAAM,SAAS,EAAE;MAAQ,GAAEf,MAAK,CAAQ,CACvC,CACR;IACL;IACA,OAAOO,KAAK;EAChB,CAAC;EAED,oBACI,6BAAC,eAAQ,qBACL,6BAAC,IAAI,qBACD,6BAAC,sBAAU;IAAC,GAAG,EAAE;EAAQ,GAAEP,KAAK,CAAc,CAC3C,eACP,6BAAC,IAAI,QAAEI,UAAU,EAAE,CAAQ,CACpB;AAEnB,CAAC;AAQD,IAAMc,OAA+B,GAAG,SAAlCA,OAA+B,OAAgD;EAAA,IAA1CjB,aAAa,QAAbA,aAAa;IAAEC,SAAS,QAATA,SAAS;IAAEC,SAAS,QAATA,SAAS;EAC1E,IAAMgB,QAAQ,GAAGlB,aAAa,CAACmB,MAAM,CAAC,UAAAlB,SAAS;IAAA,OAAIA,SAAS,CAACmB,IAAI,KAAK,SAAS;EAAA,EAAC;EAChF,IAAMC,aAAa,GAAGrB,aAAa,CAACmB,MAAM,CAAC,UAAAlB,SAAS;IAAA,OAAIA,SAAS,CAACmB,IAAI,KAAK,SAAS;EAAA,EAAC;EACrF,IAAME,UAAU,GAAGC,cAAS,CAACC,MAAM,CAAC,gBAAgB,EAAEC,OAAO,CAACC,GAAG,CAACC,wBAAwB,CAAC;EAE3F,oBACI,6BAAC,UAAI;IAAC,IAAI,EAAE;MAAEC,QAAQ,EAAE;IAAY;EAAE,gBAClC,6BAAC,IAAI,qBACD,6BAAC,YAAK,OAAG,CACN,EACNV,QAAQ,CAACV,MAAM,GAAG,CAAC,gBAChB,6BAAC,aAAa;IACV,KAAK,eACD,2CAAM,yCACqC,4DAASc,UAAU,CAAU,KACxE,CACH;IACD,aAAa,EAAEJ,QAAS;IACxB,SAAS,EAAEjB,SAAU;IACrB,SAAS,EAAEC;EAAU,EACvB,GACF,IAAI,EACPmB,aAAa,CAACb,MAAM,GAAG,CAAC,iBACrB,6BAAC,aAAa;IACV,KAAK,EAAE,sDAAuD;IAC9D,aAAa,EAAEa,aAAc;IAC7B,SAAS,EAAEpB,SAAU;IACrB,SAAS,EAAEiB,QAAQ,CAACV,MAAM,GAAG,CAAC,GAAG,KAAK,GAAGN;EAAU,EAE1D,CACE;AAEf,CAAC;AAAC,eACae,OAAO;AAAA"}
|