@webiny/app-admin 0.0.0-unstable.2af142b57e → 0.0.0-unstable.3bc8100a7f
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/add-18px.svg +1 -1
- package/assets/icons/arrow_drop_down-24px.svg +1 -1
- package/assets/icons/file_download.svg +1 -0
- package/assets/icons/file_upload.svg +1 -0
- package/assets/icons/filter-24px.svg +1 -1
- package/assets/icons/highlight-24px.svg +1 -1
- package/assets/icons/info.svg +1 -1
- package/assets/icons/insert_drive_file-24px.svg +1 -1
- package/assets/icons/insert_photo-24px.svg +1 -1
- package/assets/icons/label-24px.svg +1 -1
- package/assets/icons/round-account_circle-24px.svg +1 -1
- package/assets/icons/round-arrow_drop_down-24px.svg +1 -1
- package/assets/icons/round-help-24px.svg +1 -1
- package/assets/icons/round-settings-24px.svg +1 -1
- package/assets/icons/today-24px.svg +1 -1
- package/assets/icons/touch_app.svg +1 -1
- package/base/Admin.d.ts +2 -2
- package/base/Admin.js +27 -40
- package/base/Admin.js.map +1 -1
- package/base/Base/Menus/SupportMenuItems.d.ts +2 -0
- package/base/Base/Menus/SupportMenuItems.js +20 -0
- package/base/Base/Menus/SupportMenuItems.js.map +1 -0
- package/base/Base/Menus/WebinyVersion.d.ts +2 -0
- package/base/Base/Menus/WebinyVersion.js +24 -0
- package/base/Base/Menus/WebinyVersion.js.map +1 -0
- package/base/Base/Menus.d.ts +2 -0
- package/base/Base/Menus.js +129 -0
- package/base/Base/Menus.js.map +1 -0
- package/base/Base/Routes.d.ts +2 -0
- package/base/Base/Routes.js +24 -0
- package/base/Base/Routes.js.map +1 -0
- package/base/Base/Tenant/wby-logo.svg +3 -0
- package/base/Base/Tenant.d.ts +2 -0
- package/base/Base/Tenant.js +19 -0
- package/base/Base/Tenant.js.map +1 -0
- package/base/Base.d.ts +1 -1
- package/base/Base.js +13 -90
- package/base/Base.js.map +1 -1
- package/base/WebinyVersion.d.ts +2 -0
- package/base/WebinyVersion.js +24 -0
- package/base/WebinyVersion.js.map +1 -0
- package/base/plugins/AddGraphQLQuerySelection.d.ts +2 -3
- package/base/plugins/AddGraphQLQuerySelection.js +13 -18
- package/base/plugins/AddGraphQLQuerySelection.js.map +1 -1
- package/base/providers/AdminUiStateProvider.d.ts +1 -0
- package/base/providers/AdminUiStateProvider.js +14 -0
- package/base/providers/AdminUiStateProvider.js.map +1 -0
- package/base/providers/ApolloProvider.d.ts +5 -2
- package/base/providers/ApolloProvider.js +11 -16
- package/base/providers/ApolloProvider.js.map +1 -1
- package/base/providers/TelemetryProvider.d.ts +1 -2
- package/base/providers/TelemetryProvider.js +15 -24
- package/base/providers/TelemetryProvider.js.map +1 -1
- package/base/providers/UiProviders.d.ts +1 -0
- package/base/providers/UiProviders.js +14 -0
- package/base/providers/UiProviders.js.map +1 -0
- package/base/providers/UiStateProvider.d.ts +1 -2
- package/base/providers/UiStateProvider.js +12 -16
- package/base/providers/UiStateProvider.js.map +1 -1
- package/base/providers/ViewCompositionProvider.d.ts +5 -1
- package/base/providers/ViewCompositionProvider.js +35 -45
- package/base/providers/ViewCompositionProvider.js.map +1 -1
- package/base/ui/Brand.d.ts +39 -2
- package/base/ui/Brand.js +7 -14
- package/base/ui/Brand.js.map +1 -1
- package/base/ui/CenteredView.d.ts +21 -1
- package/base/ui/CenteredView.js +14 -34
- package/base/ui/CenteredView.js.map +1 -1
- package/base/ui/Dashboard.d.ts +39 -2
- package/base/ui/Dashboard.js +7 -14
- package/base/ui/Dashboard.js.map +1 -1
- package/base/ui/FileManager.d.ts +86 -0
- package/base/ui/FileManager.js +60 -0
- package/base/ui/FileManager.js.map +1 -0
- package/base/ui/Layout.d.ts +38 -2
- package/base/ui/Layout.js +10 -18
- package/base/ui/Layout.js.map +1 -1
- package/base/ui/LocaleSelector.d.ts +39 -2
- package/base/ui/LocaleSelector.js +7 -14
- package/base/ui/LocaleSelector.js.map +1 -1
- package/base/ui/LoginScreen.d.ts +20 -2
- package/base/ui/LoginScreen.js +11 -17
- package/base/ui/LoginScreen.js.map +1 -1
- package/base/ui/Logo.d.ts +38 -7
- package/base/ui/Logo.js +7 -29
- package/base/ui/Logo.js.map +1 -1
- package/base/ui/Navigation.d.ts +38 -23
- package/base/ui/Navigation.js +6 -149
- package/base/ui/Navigation.js.map +1 -1
- package/base/ui/NotFound.d.ts +39 -2
- package/base/ui/NotFound.js +7 -14
- package/base/ui/NotFound.js.map +1 -1
- package/base/ui/Tags.d.ts +2 -2
- package/base/ui/Tags.js +16 -18
- package/base/ui/Tags.js.map +1 -1
- package/base/ui/TenantSelector.d.ts +39 -0
- package/base/ui/TenantSelector.js +8 -0
- package/base/ui/TenantSelector.js.map +1 -0
- package/base/ui/UserMenu/UserMenu.d.ts +39 -0
- package/base/ui/UserMenu/UserMenu.js +8 -0
- package/base/ui/UserMenu/UserMenu.js.map +1 -0
- package/base/ui/UserMenu/UserMenuHandle.d.ts +39 -0
- package/base/ui/UserMenu/UserMenuHandle.js +8 -0
- package/base/ui/UserMenu/UserMenuHandle.js.map +1 -0
- package/base/ui/UserMenu/UserMenuItem.d.ts +81 -0
- package/base/ui/UserMenu/UserMenuItem.js +19 -0
- package/base/ui/UserMenu/UserMenuItem.js.map +1 -0
- package/base/ui/UserMenu/UserMenuLink.d.ts +81 -0
- package/base/ui/UserMenu/UserMenuLink.js +19 -0
- package/base/ui/UserMenu/UserMenuLink.js.map +1 -0
- package/base/ui/UserMenu/UserMenuSeparator.d.ts +42 -0
- package/base/ui/UserMenu/UserMenuSeparator.js +9 -0
- package/base/ui/UserMenu/UserMenuSeparator.js.map +1 -0
- package/base/ui/UserMenu.d.ts +79 -29
- package/base/ui/UserMenu.js +16 -110
- package/base/ui/UserMenu.js.map +1 -1
- package/components/AdminLayout.d.ts +2 -1
- package/components/AdminLayout.js +9 -14
- package/components/AdminLayout.js.map +1 -1
- package/components/AppInstaller/AppInstaller.d.ts +5 -1
- package/components/AppInstaller/AppInstaller.js +64 -100
- package/components/AppInstaller/AppInstaller.js.map +1 -1
- package/components/AppInstaller/Sidebar.d.ts +2 -2
- package/components/AppInstaller/Sidebar.js +72 -119
- package/components/AppInstaller/Sidebar.js.map +1 -1
- package/components/AppInstaller/index.d.ts +2 -2
- package/components/AppInstaller/index.js +12 -17
- package/components/AppInstaller/index.js.map +1 -1
- package/components/AppInstaller/styled.d.ts +16 -6
- package/components/AppInstaller/styled.js +57 -69
- package/components/AppInstaller/styled.js.map +1 -1
- package/components/AppInstaller/useInstaller.d.ts +2 -8
- package/components/AppInstaller/useInstaller.js +98 -194
- package/components/AppInstaller/useInstaller.js.map +1 -1
- package/components/BulkActions/Worker.d.ts +83 -0
- package/components/BulkActions/Worker.js +126 -0
- package/components/BulkActions/Worker.js.map +1 -0
- package/components/BulkActions/index.d.ts +2 -0
- package/components/BulkActions/index.js +4 -0
- package/components/BulkActions/index.js.map +1 -0
- package/components/BulkActions/useDialogWithReport/DialogMessage.d.ts +5 -0
- package/components/BulkActions/useDialogWithReport/DialogMessage.js +23 -0
- package/components/BulkActions/useDialogWithReport/DialogMessage.js.map +1 -0
- package/components/BulkActions/useDialogWithReport/index.d.ts +1 -0
- package/components/BulkActions/useDialogWithReport/index.js +3 -0
- package/components/BulkActions/useDialogWithReport/index.js.map +1 -0
- package/components/BulkActions/useDialogWithReport/useDialogWithReport.d.ts +19 -0
- package/components/BulkActions/useDialogWithReport/useDialogWithReport.js +51 -0
- package/components/BulkActions/useDialogWithReport/useDialogWithReport.js.map +1 -0
- package/components/Buttons/Buttons.d.ts +24 -0
- package/components/Buttons/Buttons.js +77 -0
- package/components/Buttons/Buttons.js.map +1 -0
- package/components/Buttons/Buttons.styles.d.ts +5 -0
- package/components/Buttons/Buttons.styles.js +18 -0
- package/components/Buttons/Buttons.styles.js.map +1 -0
- package/components/Buttons/index.d.ts +2 -0
- package/components/Buttons/index.js +4 -0
- package/components/Buttons/index.js.map +1 -0
- package/components/Buttons/useButtons.d.ts +14 -0
- package/components/Buttons/useButtons.js +24 -0
- package/components/Buttons/useButtons.js.map +1 -0
- package/components/Dialogs/CustomDialog.d.ts +17 -0
- package/components/Dialogs/CustomDialog.js +48 -0
- package/components/Dialogs/CustomDialog.js.map +1 -0
- package/components/Dialogs/Dialog.d.ts +21 -0
- package/components/Dialogs/Dialog.js +62 -0
- package/components/Dialogs/Dialog.js.map +1 -0
- package/components/Dialogs/DialogsContext.d.ts +43 -0
- package/components/Dialogs/DialogsContext.js +141 -0
- package/components/Dialogs/DialogsContext.js.map +1 -0
- package/components/Dialogs/useDialogs.d.ts +3 -0
- package/components/Dialogs/useDialogs.js +12 -0
- package/components/Dialogs/useDialogs.js.map +1 -0
- package/components/EmptyView.d.ts +4 -3
- package/components/EmptyView.js +31 -58
- package/components/EmptyView.js.map +1 -1
- package/components/Filters/Filters.d.ts +16 -0
- package/components/Filters/Filters.js +21 -0
- package/components/Filters/Filters.js.map +1 -0
- package/components/Filters/FiltersToggle.d.ts +7 -0
- package/components/Filters/FiltersToggle.js +26 -0
- package/components/Filters/FiltersToggle.js.map +1 -0
- package/components/Filters/index.d.ts +2 -0
- package/components/Filters/index.js +4 -0
- package/components/Filters/index.js.map +1 -0
- package/components/FloatingActionButton.d.ts +4 -1
- package/components/FloatingActionButton.js +9 -14
- package/components/FloatingActionButton.js.map +1 -1
- package/components/FloatingPanel.d.ts +13 -0
- package/components/FloatingPanel.js +96 -0
- package/components/FloatingPanel.js.map +1 -0
- package/components/IconPicker/IconPicker.d.ts +13 -0
- package/components/IconPicker/IconPicker.js +39 -0
- package/components/IconPicker/IconPicker.js.map +1 -0
- package/components/IconPicker/IconPickerComponent.d.ts +17 -0
- package/components/IconPicker/IconPickerComponent.js +81 -0
- package/components/IconPicker/IconPickerComponent.js.map +1 -0
- package/components/IconPicker/IconPickerPresenter.d.ts +53 -0
- package/components/IconPicker/IconPickerPresenter.js +77 -0
- package/components/IconPicker/IconPickerPresenter.js.map +1 -0
- package/components/IconPicker/IconPickerPresenter.test.d.ts +1 -0
- package/components/IconPicker/IconPickerPresenter.test.js +109 -0
- package/components/IconPicker/IconPickerPresenter.test.js.map +1 -0
- package/components/IconPicker/IconPickerPresenterProvider.d.ts +9 -0
- package/components/IconPicker/IconPickerPresenterProvider.js +19 -0
- package/components/IconPicker/IconPickerPresenterProvider.js.map +1 -0
- package/components/IconPicker/IconPickerTab.d.ts +33 -0
- package/components/IconPicker/IconPickerTab.js +159 -0
- package/components/IconPicker/IconPickerTab.js.map +1 -0
- package/components/IconPicker/IconRenderer.d.ts +34 -0
- package/components/IconPicker/IconRenderer.js +27 -0
- package/components/IconPicker/IconRenderer.js.map +1 -0
- package/components/IconPicker/IconRepository.d.ts +19 -0
- package/components/IconPicker/IconRepository.js +47 -0
- package/components/IconPicker/IconRepository.js.map +1 -0
- package/components/IconPicker/IconRepository.test.d.ts +1 -0
- package/components/IconPicker/IconRepository.test.js +66 -0
- package/components/IconPicker/IconRepository.test.js.map +1 -0
- package/components/IconPicker/IconRepositoryFactory.d.ts +9 -0
- package/components/IconPicker/IconRepositoryFactory.js +17 -0
- package/components/IconPicker/IconRepositoryFactory.js.map +1 -0
- package/components/IconPicker/Loading.d.ts +14 -0
- package/components/IconPicker/Loading.js +50 -0
- package/components/IconPicker/Loading.js.map +1 -0
- package/components/IconPicker/components/IconPickerCell.d.ts +12 -0
- package/components/IconPicker/components/IconPickerCell.js +27 -0
- package/components/IconPicker/components/IconPickerCell.js.map +1 -0
- package/components/IconPicker/components/IconPickerContent.d.ts +11 -0
- package/components/IconPicker/components/IconPickerContent.js +41 -0
- package/components/IconPicker/components/IconPickerContent.js.map +1 -0
- package/components/IconPicker/components/IconPickerRow.d.ts +4 -0
- package/components/IconPicker/components/IconPickerRow.js +14 -0
- package/components/IconPicker/components/IconPickerRow.js.map +1 -0
- package/components/IconPicker/components/IconPickerTrigger.d.ts +13 -0
- package/components/IconPicker/components/IconPickerTrigger.js +52 -0
- package/components/IconPicker/components/IconPickerTrigger.js.map +1 -0
- package/components/IconPicker/components/index.d.ts +4 -0
- package/components/IconPicker/components/index.js +6 -0
- package/components/IconPicker/components/index.js.map +1 -0
- package/components/IconPicker/config/Emojis.d.ts +2 -0
- package/components/IconPicker/config/Emojis.js +24 -0
- package/components/IconPicker/config/Emojis.js.map +1 -0
- package/components/IconPicker/config/FontAwesomeIcons.d.ts +2 -0
- package/components/IconPicker/config/FontAwesomeIcons.js +61 -0
- package/components/IconPicker/config/FontAwesomeIcons.js.map +1 -0
- package/components/IconPicker/config/IconPackProvider.d.ts +7 -0
- package/components/IconPicker/config/IconPackProvider.js +23 -0
- package/components/IconPicker/config/IconPackProvider.js.map +1 -0
- package/components/IconPicker/config/IconType.d.ts +32 -0
- package/components/IconPicker/config/IconType.js +89 -0
- package/components/IconPicker/config/IconType.js.map +1 -0
- package/components/IconPicker/config/index.d.ts +31 -0
- package/components/IconPicker/config/index.js +45 -0
- package/components/IconPicker/config/index.js.map +1 -0
- package/components/IconPicker/defaultIcon.d.ts +6 -0
- package/components/IconPicker/defaultIcon.js +8 -0
- package/components/IconPicker/defaultIcon.js.map +1 -0
- package/components/IconPicker/index.d.ts +7 -0
- package/components/IconPicker/index.js +8 -0
- package/components/IconPicker/index.js.map +1 -0
- package/components/IconPicker/plugins/customPlugin.d.ts +2 -0
- package/components/IconPicker/plugins/customPlugin.js +132 -0
- package/components/IconPicker/plugins/customPlugin.js.map +1 -0
- package/components/IconPicker/plugins/emojisPlugin.d.ts +2 -0
- package/components/IconPicker/plugins/emojisPlugin.js +127 -0
- package/components/IconPicker/plugins/emojisPlugin.js.map +1 -0
- package/components/IconPicker/plugins/graphql.d.ts +20 -0
- package/components/IconPicker/plugins/graphql.js +27 -0
- package/components/IconPicker/plugins/graphql.js.map +1 -0
- package/components/IconPicker/plugins/iconsPlugin.d.ts +2 -0
- package/components/IconPicker/plugins/iconsPlugin.js +115 -0
- package/components/IconPicker/plugins/iconsPlugin.js.map +1 -0
- package/components/IconPicker/types.d.ts +22 -0
- package/components/IconPicker/types.js +10 -0
- package/components/IconPicker/types.js.map +1 -0
- package/components/LexicalEditor/LexicalEditor.d.ts +8 -0
- package/components/LexicalEditor/LexicalEditor.js +29 -0
- package/components/LexicalEditor/LexicalEditor.js.map +1 -0
- package/components/LexicalEditor/index.d.ts +1 -0
- package/components/LexicalEditor/index.js +3 -0
- package/components/LexicalEditor/index.js.map +1 -0
- package/components/MultiImageUpload.d.ts +1 -1
- package/components/MultiImageUpload.js +14 -32
- package/components/MultiImageUpload.js.map +1 -1
- package/components/OptionsMenu/OptionsMenu.d.ts +10 -0
- package/components/OptionsMenu/OptionsMenu.js +23 -0
- package/components/OptionsMenu/OptionsMenu.js.map +1 -0
- package/components/OptionsMenu/OptionsMenuItem.d.ts +10 -0
- package/components/OptionsMenu/OptionsMenuItem.js +17 -0
- package/components/OptionsMenu/OptionsMenuItem.js.map +1 -0
- package/components/OptionsMenu/OptionsMenuLink.d.ts +12 -0
- package/components/OptionsMenu/OptionsMenuLink.js +17 -0
- package/components/OptionsMenu/OptionsMenuLink.js.map +1 -0
- package/components/OptionsMenu/index.d.ts +4 -0
- package/components/OptionsMenu/index.js +6 -0
- package/components/OptionsMenu/index.js.map +1 -0
- package/components/OptionsMenu/useOptionsMenuItem.d.ts +13 -0
- package/components/OptionsMenu/useOptionsMenuItem.js +23 -0
- package/components/OptionsMenu/useOptionsMenuItem.js.map +1 -0
- package/components/OverlayLayout/OverlayLayout.d.ts +6 -17
- package/components/OverlayLayout/OverlayLayout.js +45 -153
- package/components/OverlayLayout/OverlayLayout.js.map +1 -1
- package/components/OverlayLayout/components/OverlayBackdrop.d.ts +7 -0
- package/components/OverlayLayout/components/OverlayBackdrop.js +15 -0
- package/components/OverlayLayout/components/OverlayBackdrop.js.map +1 -0
- package/components/OverlayLayout/components/OverlayContent.d.ts +6 -0
- package/components/OverlayLayout/components/OverlayContent.js +21 -0
- package/components/OverlayLayout/components/OverlayContent.js.map +1 -0
- package/components/OverlayLayout/components/OverlayHeader.d.ts +13 -0
- package/components/OverlayLayout/components/OverlayHeader.js +44 -0
- package/components/OverlayLayout/components/OverlayHeader.js.map +1 -0
- package/components/OverlayLayout/components/OverlayRoot.d.ts +9 -0
- package/components/OverlayLayout/components/OverlayRoot.js +19 -0
- package/components/OverlayLayout/components/OverlayRoot.js.map +1 -0
- package/components/OverlayLayout/components/index.d.ts +4 -0
- package/components/OverlayLayout/components/index.js +6 -0
- package/components/OverlayLayout/components/index.js.map +1 -0
- package/components/OverlayLayout/index.js +2 -15
- package/components/OverlayLayout/index.js.map +1 -1
- package/components/Permissions/CannotUseAaclAlert.d.ts +2 -0
- package/components/Permissions/CannotUseAaclAlert.js +14 -0
- package/components/Permissions/CannotUseAaclAlert.js.map +1 -0
- package/components/Permissions/Permissions.d.ts +3 -3
- package/components/Permissions/Permissions.js +39 -49
- package/components/Permissions/Permissions.js.map +1 -1
- package/components/Permissions/PermissionsGroup.d.ts +6 -0
- package/components/Permissions/PermissionsGroup.js +18 -0
- package/components/Permissions/PermissionsGroup.js.map +1 -0
- package/components/Permissions/StyledComponents.d.ts +2 -3
- package/components/Permissions/StyledComponents.js +14 -28
- package/components/Permissions/StyledComponents.js.map +1 -1
- package/components/Permissions/index.d.ts +2 -0
- package/components/Permissions/index.js +5 -26
- package/components/Permissions/index.js.map +1 -1
- package/components/ResizablePanels/index.d.ts +1 -0
- package/components/ResizablePanels/index.js +3 -0
- package/components/ResizablePanels/index.js.map +1 -0
- package/components/RichTextEditor/RichTextEditor.d.ts +2 -2
- package/components/RichTextEditor/RichTextEditor.js +15 -22
- package/components/RichTextEditor/RichTextEditor.js.map +1 -1
- package/components/RichTextEditor/index.js +3 -18
- package/components/RichTextEditor/index.js.map +1 -1
- package/components/RichTextEditor/tools/header/index.d.ts +3 -4
- package/components/RichTextEditor/tools/header/index.js +457 -533
- package/components/RichTextEditor/tools/header/index.js.map +1 -1
- package/components/RichTextEditor/tools/image/index.d.ts +2 -4
- package/components/RichTextEditor/tools/image/index.js +149 -191
- package/components/RichTextEditor/tools/image/index.js.map +1 -1
- package/components/RichTextEditor/tools/image/svgs.js +6 -11
- package/components/RichTextEditor/tools/image/svgs.js.map +1 -1
- package/components/RichTextEditor/tools/image/tunes.d.ts +2 -4
- package/components/RichTextEditor/tools/image/tunes.js +77 -103
- package/components/RichTextEditor/tools/image/tunes.js.map +1 -1
- package/components/RichTextEditor/tools/image/types.js +2 -4
- package/components/RichTextEditor/tools/image/types.js.map +1 -1
- package/components/RichTextEditor/tools/image/ui.d.ts +2 -4
- package/components/RichTextEditor/tools/image/ui.js +152 -185
- package/components/RichTextEditor/tools/image/ui.js.map +1 -1
- package/components/RichTextEditor/tools/paragraph/index.d.ts +3 -4
- package/components/RichTextEditor/tools/paragraph/index.js +349 -402
- package/components/RichTextEditor/tools/paragraph/index.js.map +1 -1
- package/components/RichTextEditor/tools/textColor/index.d.ts +1 -4
- package/components/RichTextEditor/tools/textColor/index.js +165 -213
- package/components/RichTextEditor/tools/textColor/index.js.map +1 -1
- package/components/RichTextEditor/tools/utils.d.ts +1 -1
- package/components/RichTextEditor/tools/utils.js +7 -14
- package/components/RichTextEditor/tools/utils.js.map +1 -1
- package/components/Routes.d.ts +1 -1
- package/components/Routes.js +16 -24
- package/components/Routes.js.map +1 -1
- package/components/SearchUI.d.ts +2 -1
- package/components/SearchUI.js +25 -69
- package/components/SearchUI.js.map +1 -1
- package/components/SimpleForm/SimpleForm.d.ts +19 -8
- package/components/SimpleForm/SimpleForm.js +74 -70
- package/components/SimpleForm/SimpleForm.js.map +1 -1
- package/components/SimpleForm/index.js +2 -29
- package/components/SimpleForm/index.js.map +1 -1
- package/components/SimpleUI/InputField.d.ts +3 -3
- package/components/SimpleUI/InputField.js +43 -50
- package/components/SimpleUI/InputField.js.map +1 -1
- package/components/SingleImageUpload.d.ts +22 -4
- package/components/SingleImageUpload.js +41 -77
- package/components/SingleImageUpload.js.map +1 -1
- package/components/SplitView/SplitView.d.ts +10 -8
- package/components/SplitView/SplitView.js +53 -71
- package/components/SplitView/SplitView.js.map +1 -1
- package/components/SplitView/index.js +2 -23
- package/components/SplitView/index.js.map +1 -1
- package/components/StateInspector.d.ts +8 -0
- package/components/StateInspector.js +36 -0
- package/components/StateInspector.js.map +1 -0
- package/components/Wcp.d.ts +13 -0
- package/components/Wcp.js +27 -0
- package/components/Wcp.js.map +1 -0
- package/components/index.d.ts +3 -1
- package/components/index.js +4 -11
- package/components/index.js.map +1 -1
- package/config/AdminConfig/Menu/MenuGroup.d.ts +62 -0
- package/config/AdminConfig/Menu/MenuGroup.js +14 -0
- package/config/AdminConfig/Menu/MenuGroup.js.map +1 -0
- package/config/AdminConfig/Menu/MenuItem.d.ts +43 -0
- package/config/AdminConfig/Menu/MenuItem.js +14 -0
- package/config/AdminConfig/Menu/MenuItem.js.map +1 -0
- package/config/AdminConfig/Menu/MenuLink.d.ts +43 -0
- package/config/AdminConfig/Menu/MenuLink.js +18 -0
- package/config/AdminConfig/Menu/MenuLink.js.map +1 -0
- package/config/AdminConfig/Menu/SupportMenu/SupportMenuItem.d.ts +43 -0
- package/config/AdminConfig/Menu/SupportMenu/SupportMenuItem.js +13 -0
- package/config/AdminConfig/Menu/SupportMenu/SupportMenuItem.js.map +1 -0
- package/config/AdminConfig/Menu/SupportMenu/SupportMenuLink.d.ts +24 -0
- package/config/AdminConfig/Menu/SupportMenu/SupportMenuLink.js +13 -0
- package/config/AdminConfig/Menu/SupportMenu/SupportMenuLink.js.map +1 -0
- package/config/AdminConfig/Menu/SupportMenu.d.ts +72 -0
- package/config/AdminConfig/Menu/SupportMenu.js +49 -0
- package/config/AdminConfig/Menu/SupportMenu.js.map +1 -0
- package/config/AdminConfig/Menu/UserMenu/UserMenuItem.d.ts +41 -0
- package/config/AdminConfig/Menu/UserMenu/UserMenuItem.js +7 -0
- package/config/AdminConfig/Menu/UserMenu/UserMenuItem.js.map +1 -0
- package/config/AdminConfig/Menu/UserMenu/UserMenuLink.d.ts +41 -0
- package/config/AdminConfig/Menu/UserMenu/UserMenuLink.js +7 -0
- package/config/AdminConfig/Menu/UserMenu/UserMenuLink.js.map +1 -0
- package/config/AdminConfig/Menu/UserMenu/UserMenuSeparator.d.ts +1 -0
- package/config/AdminConfig/Menu/UserMenu/UserMenuSeparator.js +3 -0
- package/config/AdminConfig/Menu/UserMenu/UserMenuSeparator.js.map +1 -0
- package/config/AdminConfig/Menu/UserMenu/types.d.ts +7 -0
- package/config/AdminConfig/Menu/UserMenu/types.js +3 -0
- package/config/AdminConfig/Menu/UserMenu/types.js.map +1 -0
- package/config/AdminConfig/Menu/UserMenu.d.ts +129 -0
- package/config/AdminConfig/Menu/UserMenu.js +61 -0
- package/config/AdminConfig/Menu/UserMenu.js.map +1 -0
- package/config/AdminConfig/Menu/types.d.ts +7 -0
- package/config/AdminConfig/Menu/types.js +3 -0
- package/config/AdminConfig/Menu/types.js.map +1 -0
- package/config/AdminConfig/Menu.d.ts +350 -0
- package/config/AdminConfig/Menu.js +75 -0
- package/config/AdminConfig/Menu.js.map +1 -0
- package/config/AdminConfig/Route.d.ts +3 -0
- package/config/AdminConfig/Route.js +8 -0
- package/config/AdminConfig/Route.js.map +1 -0
- package/config/AdminConfig/Tenant/TenantLogo.d.ts +23 -0
- package/config/AdminConfig/Tenant/TenantLogo.js +16 -0
- package/config/AdminConfig/Tenant/TenantLogo.js.map +1 -0
- package/config/AdminConfig/Tenant/TenantName.d.ts +23 -0
- package/config/AdminConfig/Tenant/TenantName.js +16 -0
- package/config/AdminConfig/Tenant/TenantName.js.map +1 -0
- package/config/AdminConfig/Tenant.d.ts +66 -0
- package/config/AdminConfig/Tenant.js +23 -0
- package/config/AdminConfig/Tenant.js.map +1 -0
- package/config/AdminConfig/Theme/assignColor.d.ts +2 -0
- package/config/AdminConfig/Theme/assignColor.js +22 -0
- package/config/AdminConfig/Theme/assignColor.js.map +1 -0
- package/config/AdminConfig/Theme/consts.d.ts +2 -0
- package/config/AdminConfig/Theme/consts.js +4 -0
- package/config/AdminConfig/Theme/consts.js.map +1 -0
- package/config/AdminConfig/Theme/types.d.ts +3 -0
- package/config/AdminConfig/Theme/types.js +3 -0
- package/config/AdminConfig/Theme/types.js.map +1 -0
- package/config/AdminConfig/Theme.d.ts +16 -0
- package/config/AdminConfig/Theme.js +22 -0
- package/config/AdminConfig/Theme.js.map +1 -0
- package/config/AdminConfig.d.ts +434 -0
- package/config/AdminConfig.js +47 -0
- package/config/AdminConfig.js.map +1 -0
- package/config/createAdminConfig.d.ts +57 -0
- package/config/createAdminConfig.js +94 -0
- package/config/createAdminConfig.js.map +1 -0
- package/hooks/index.d.ts +10 -0
- package/hooks/index.js +12 -0
- package/hooks/index.js.map +1 -0
- package/hooks/useConfirmationDialog.d.ts +5 -3
- package/hooks/useConfirmationDialog.js +28 -34
- package/hooks/useConfirmationDialog.js.map +1 -1
- package/hooks/useDialog.d.ts +21 -2
- package/hooks/useDialog.js +18 -22
- package/hooks/useDialog.js.map +1 -1
- package/hooks/useIsMounted.d.ts +3 -0
- package/hooks/useIsMounted.js +15 -0
- package/hooks/useIsMounted.js.map +1 -0
- package/hooks/useKeyHandler.d.ts +8 -0
- package/hooks/useKeyHandler.js +64 -0
- package/hooks/useKeyHandler.js.map +1 -0
- package/hooks/useModKey.d.ts +1 -0
- package/hooks/useModKey.js +30 -0
- package/hooks/useModKey.js.map +1 -0
- package/hooks/useShiftKey.d.ts +1 -0
- package/hooks/useShiftKey.js +33 -0
- package/hooks/useShiftKey.js.map +1 -0
- package/hooks/useSnackbar.d.ts +1 -0
- package/hooks/useSnackbar.js +25 -26
- package/hooks/useSnackbar.js.map +1 -1
- package/hooks/useStateIfMounted.d.ts +2 -0
- package/hooks/useStateIfMounted.js +16 -0
- package/hooks/useStateIfMounted.js.map +1 -0
- package/hooks/useStateWithCallback.d.ts +5 -0
- package/hooks/useStateWithCallback.js +18 -0
- package/hooks/useStateWithCallback.js.map +1 -0
- package/index.d.ts +25 -13
- package/index.js +52 -324
- package/index.js.map +1 -1
- package/package.json +64 -55
- package/plugins/MenuPlugin.d.ts +1 -1
- package/plugins/MenuPlugin.js +17 -41
- package/plugins/MenuPlugin.js.map +1 -1
- package/plugins/PermissionRendererPlugin.d.ts +1 -1
- package/plugins/PermissionRendererPlugin.js +17 -41
- package/plugins/PermissionRendererPlugin.js.map +1 -1
- package/plugins/uiLayoutRenderer/index.js +41 -49
- package/plugins/uiLayoutRenderer/index.js.map +1 -1
- package/styles.scss +7 -2
- package/types.d.ts +58 -69
- package/types.js +6 -4
- package/types.js.map +1 -1
- package/ui/UIElement.js +2 -17
- package/ui/UIElement.js.map +1 -1
- package/ui/UILayout.js +2 -17
- package/ui/UILayout.js.map +1 -1
- package/ui/UIRenderer.js +2 -11
- package/ui/UIRenderer.js.map +1 -1
- package/ui/UIView.js +2 -23
- package/ui/UIView.js.map +1 -1
- package/ui/elements/AccordionElement.d.ts +2 -1
- package/ui/elements/AccordionElement.js +45 -81
- package/ui/elements/AccordionElement.js.map +1 -1
- package/ui/elements/ButtonElement.d.ts +4 -3
- package/ui/elements/ButtonElement.js +48 -82
- package/ui/elements/ButtonElement.js.map +1 -1
- package/ui/elements/ButtonGroupElement.d.ts +2 -1
- package/ui/elements/ButtonGroupElement.js +25 -44
- package/ui/elements/ButtonGroupElement.js.map +1 -1
- package/ui/elements/GenericElement.js +2 -15
- package/ui/elements/GenericElement.js.map +1 -1
- package/ui/elements/LabelElement.d.ts +3 -2
- package/ui/elements/LabelElement.js +17 -40
- package/ui/elements/LabelElement.js.map +1 -1
- package/ui/elements/NavigationMenuElement.d.ts +5 -4
- package/ui/elements/NavigationMenuElement.js +71 -127
- package/ui/elements/NavigationMenuElement.js.map +1 -1
- package/ui/elements/PanelElement.js +3 -21
- package/ui/elements/PanelElement.js.map +1 -1
- package/ui/elements/PlaceholderElement.js +10 -32
- package/ui/elements/PlaceholderElement.js.map +1 -1
- package/ui/elements/SmallButtonElement.d.ts +4 -2
- package/ui/elements/SmallButtonElement.js +22 -43
- package/ui/elements/SmallButtonElement.js.map +1 -1
- package/ui/elements/TypographyElement.d.ts +3 -2
- package/ui/elements/TypographyElement.js +22 -47
- package/ui/elements/TypographyElement.js.map +1 -1
- package/ui/elements/ViewElement.js +2 -15
- package/ui/elements/ViewElement.js.map +1 -1
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.d.ts +3 -2
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +19 -37
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -1
- package/ui/elements/form/DynamicFieldsetElement.d.ts +3 -2
- package/ui/elements/form/DynamicFieldsetElement.js +92 -130
- package/ui/elements/form/DynamicFieldsetElement.js.map +1 -1
- package/ui/elements/form/FileManagerElement/EmptyStateElement.js +9 -25
- package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -1
- package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.d.ts +4 -3
- package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +42 -68
- package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -1
- package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.d.ts +4 -3
- package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +69 -100
- package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -1
- package/ui/elements/form/FileManagerElement/styled.d.ts +22 -19
- package/ui/elements/form/FileManagerElement/styled.js +86 -93
- package/ui/elements/form/FileManagerElement/styled.js.map +1 -1
- package/ui/elements/form/FileManagerElement.d.ts +3 -2
- package/ui/elements/form/FileManagerElement.js +45 -87
- package/ui/elements/form/FileManagerElement.js.map +1 -1
- package/ui/elements/form/FormElement.d.ts +3 -2
- package/ui/elements/form/FormElement.js +19 -44
- package/ui/elements/form/FormElement.js.map +1 -1
- package/ui/elements/form/FormFieldElement.d.ts +6 -5
- package/ui/elements/form/FormFieldElement.js +101 -161
- package/ui/elements/form/FormFieldElement.js.map +1 -1
- package/ui/elements/form/HiddenElement.d.ts +2 -1
- package/ui/elements/form/HiddenElement.js +23 -45
- package/ui/elements/form/HiddenElement.js.map +1 -1
- package/ui/elements/form/InputElement.d.ts +3 -2
- package/ui/elements/form/InputElement.js +30 -52
- package/ui/elements/form/InputElement.js.map +1 -1
- package/ui/elements/form/PasswordElement.d.ts +1 -1
- package/ui/elements/form/PasswordElement.js +28 -50
- package/ui/elements/form/PasswordElement.js.map +1 -1
- package/ui/elements/form/SelectElement.d.ts +2 -1
- package/ui/elements/form/SelectElement.js +40 -67
- package/ui/elements/form/SelectElement.js.map +1 -1
- package/ui/elements/form/TextareaElement.d.ts +3 -2
- package/ui/elements/form/TextareaElement.js +32 -53
- package/ui/elements/form/TextareaElement.js.map +1 -1
- package/ui/views/AdminView/ContentElement.js +32 -49
- package/ui/views/AdminView/ContentElement.js.map +1 -1
- package/ui/views/AdminView/HeaderElement.js +62 -98
- package/ui/views/AdminView/HeaderElement.js.map +1 -1
- package/ui/views/AdminView/HeaderSectionCenterElement.d.ts +2 -1
- package/ui/views/AdminView/HeaderSectionCenterElement.js +19 -40
- package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -1
- package/ui/views/AdminView/HeaderSectionLeftElement.d.ts +2 -1
- package/ui/views/AdminView/HeaderSectionLeftElement.js +19 -40
- package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -1
- package/ui/views/AdminView/HeaderSectionRightElement.d.ts +2 -1
- package/ui/views/AdminView/HeaderSectionRightElement.js +19 -40
- package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -1
- package/ui/views/AdminView/components/Dialog.d.ts +1 -1
- package/ui/views/AdminView/components/Dialog.js +32 -37
- package/ui/views/AdminView/components/Dialog.js.map +1 -1
- package/ui/views/AdminView/components/Hamburger.d.ts +1 -1
- package/ui/views/AdminView/components/Hamburger.js +14 -22
- package/ui/views/AdminView/components/Hamburger.js.map +1 -1
- package/ui/views/FormView/FormContainerElement.d.ts +4 -3
- package/ui/views/FormView/FormContainerElement.js +18 -49
- package/ui/views/FormView/FormContainerElement.js.map +1 -1
- package/ui/views/FormView/FormContentElement.d.ts +3 -0
- package/ui/views/FormView/FormContentElement.js +9 -21
- package/ui/views/FormView/FormContentElement.js.map +1 -1
- package/ui/views/FormView/FormFooterElement.d.ts +4 -3
- package/ui/views/FormView/FormFooterElement.js +12 -47
- package/ui/views/FormView/FormFooterElement.js.map +1 -1
- package/ui/views/FormView/FormHeaderElement.d.ts +3 -2
- package/ui/views/FormView/FormHeaderElement.js +28 -79
- package/ui/views/FormView/FormHeaderElement.js.map +1 -1
- package/ui/views/FormView.d.ts +3 -3
- package/ui/views/FormView.js +106 -152
- package/ui/views/FormView.js.map +1 -1
- package/ui/views/OverlayView/ContentElement.d.ts +2 -1
- package/ui/views/OverlayView/ContentElement.js +25 -38
- package/ui/views/OverlayView/ContentElement.js.map +1 -1
- package/ui/views/OverlayView/HeaderElement.d.ts +2 -1
- package/ui/views/OverlayView/HeaderElement.js +65 -105
- package/ui/views/OverlayView/HeaderElement.js.map +1 -1
- package/ui/views/OverlayView/HeaderTitleElement.d.ts +4 -2
- package/ui/views/OverlayView/HeaderTitleElement.js +23 -49
- package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -1
- package/ui/views/OverlayView/useOverlayView.js +19 -29
- package/ui/views/OverlayView/useOverlayView.js.map +1 -1
- package/ui/views/OverlayView.d.ts +3 -2
- package/ui/views/OverlayView.js +80 -136
- package/ui/views/OverlayView.js.map +1 -1
- package/ui/views/SplitView/SplitViewPanelElement.d.ts +2 -1
- package/ui/views/SplitView/SplitViewPanelElement.js +29 -68
- package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -1
- package/ui/views/SplitView.d.ts +1 -1
- package/ui/views/SplitView.js +58 -94
- package/ui/views/SplitView.js.map +1 -1
- package/assets/images/icons.png +0 -0
- package/assets/images/icons_retina.png +0 -0
- package/assets/images/swich.png +0 -0
- package/base/ui/Menu.d.ts +0 -31
- package/base/ui/Menu.js +0 -137
- package/base/ui/Menu.js.map +0 -1
- package/base/ui/Search.d.ts +0 -19
- package/base/ui/Search.js +0 -63
- package/base/ui/Search.js.map +0 -1
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.d.ts +0 -6
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +0 -41
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +0 -1
- package/components/FileManager/BottomInfoBar/UploadStatus.d.ts +0 -6
- package/components/FileManager/BottomInfoBar/UploadStatus.js +0 -51
- package/components/FileManager/BottomInfoBar/UploadStatus.js.map +0 -1
- package/components/FileManager/BottomInfoBar.d.ts +0 -5
- package/components/FileManager/BottomInfoBar.js +0 -48
- package/components/FileManager/BottomInfoBar.js.map +0 -1
- package/components/FileManager/DropFilesHere.d.ts +0 -10
- package/components/FileManager/DropFilesHere.js +0 -67
- package/components/FileManager/DropFilesHere.js.map +0 -1
- package/components/FileManager/File.d.ts +0 -17
- package/components/FileManager/File.js +0 -142
- package/components/FileManager/File.js.map +0 -1
- package/components/FileManager/FileDetails/Name.d.ts +0 -8
- package/components/FileManager/FileDetails/Name.js +0 -108
- package/components/FileManager/FileDetails/Name.js.map +0 -1
- package/components/FileManager/FileDetails/Tags.d.ts +0 -10
- package/components/FileManager/FileDetails/Tags.js +0 -286
- package/components/FileManager/FileDetails/Tags.js.map +0 -1
- package/components/FileManager/FileDetails.d.ts +0 -24
- package/components/FileManager/FileDetails.js +0 -407
- package/components/FileManager/FileDetails.js.map +0 -1
- package/components/FileManager/FileManagerContext.d.ts +0 -42
- package/components/FileManager/FileManagerContext.js +0 -191
- package/components/FileManager/FileManagerContext.js.map +0 -1
- package/components/FileManager/FileManagerView.d.ts +0 -18
- package/components/FileManager/FileManagerView.js +0 -611
- package/components/FileManager/FileManagerView.js.map +0 -1
- package/components/FileManager/LeftSidebar.d.ts +0 -10
- package/components/FileManager/LeftSidebar.js +0 -108
- package/components/FileManager/LeftSidebar.js.map +0 -1
- package/components/FileManager/NoPermissionView.d.ts +0 -3
- package/components/FileManager/NoPermissionView.js +0 -74
- package/components/FileManager/NoPermissionView.js.map +0 -1
- package/components/FileManager/NoResults.d.ts +0 -3
- package/components/FileManager/NoResults.js +0 -22
- package/components/FileManager/NoResults.js.map +0 -1
- package/components/FileManager/getFileTypePlugin.d.ts +0 -4
- package/components/FileManager/getFileTypePlugin.js +0 -51
- package/components/FileManager/getFileTypePlugin.js.map +0 -1
- package/components/FileManager/getFileUploader.d.ts +0 -3
- package/components/FileManager/getFileUploader.js +0 -15
- package/components/FileManager/getFileUploader.js.map +0 -1
- package/components/FileManager/graphql.d.ts +0 -96
- package/components/FileManager/graphql.js +0 -47
- package/components/FileManager/graphql.js.map +0 -1
- package/components/FileManager/icons/content_copy-black-24px.svg +0 -1
- package/components/FileManager/icons/delete.svg +0 -12
- package/components/FileManager/icons/privacy_tip-24px.svg +0 -10
- package/components/FileManager/icons/round-check_box-24px.svg +0 -4
- package/components/FileManager/icons/round-check_box_outline_blank-24px.svg +0 -4
- package/components/FileManager/icons/round-cloud_download-24px.svg +0 -4
- package/components/FileManager/icons/round-cloud_upload-24px.svg +0 -4
- package/components/FileManager/icons/round-description-24px.svg +0 -4
- package/components/FileManager/icons/round-edit-24px.svg +0 -4
- package/components/FileManager/icons/round-info-24px.svg +0 -4
- package/components/FileManager/icons/round-label-24px.svg +0 -4
- package/components/FileManager/icons/round-more_vert-24px.svg +0 -4
- package/components/FileManager/icons/round-search-24px.svg +0 -20
- package/components/FileManager/outputFileSelectionError.d.ts +0 -7
- package/components/FileManager/outputFileSelectionError.js +0 -40
- package/components/FileManager/outputFileSelectionError.js.map +0 -1
- package/components/FileManager/types.d.ts +0 -21
- package/components/FileManager/types.js +0 -5
- package/components/FileManager/types.js.map +0 -1
- package/components/FileManager.d.ts +0 -67
- package/components/FileManager.js +0 -118
- package/components/FileManager.js.map +0 -1
- package/components/OverlayLayout/icons/close.svg +0 -13
- package/components/OverlayLayout/icons/navigate_before.svg +0 -16
- package/plugins/FileManagerFileTypePlugin.d.ts +0 -33
- package/plugins/FileManagerFileTypePlugin.js +0 -48
- package/plugins/FileManagerFileTypePlugin.js.map +0 -1
- package/plugins/fileManager/fileDefault.d.ts +0 -2
- package/plugins/fileManager/fileDefault.js +0 -28
- package/plugins/fileManager/fileDefault.js.map +0 -1
- package/plugins/fileManager/fileImage/DeleteAction.d.ts +0 -7
- package/plugins/fileManager/fileImage/DeleteAction.js +0 -59
- package/plugins/fileManager/fileImage/DeleteAction.js.map +0 -1
- package/plugins/fileManager/fileImage/EditAction.d.ts +0 -10
- package/plugins/fileManager/fileImage/EditAction.js +0 -143
- package/plugins/fileManager/fileImage/EditAction.js.map +0 -1
- package/plugins/fileManager/fileImage/index.d.ts +0 -2
- package/plugins/fileManager/fileImage/index.js +0 -38
- package/plugins/fileManager/fileImage/index.js.map +0 -1
- package/plugins/fileManager/icons/edit.svg +0 -17
- package/plugins/fileManager/icons/round-description-24px.svg +0 -1
- package/plugins/fileManager/index.d.ts +0 -2
- package/plugins/fileManager/index.js +0 -19
- package/plugins/fileManager/index.js.map +0 -1
- package/plugins/globalSearch/SearchBar.d.ts +0 -15
- package/plugins/globalSearch/SearchBar.js +0 -225
- package/plugins/globalSearch/SearchBar.js.map +0 -1
- package/plugins/globalSearch/SearchBarDropdown.d.ts +0 -23
- package/plugins/globalSearch/SearchBarDropdown.js +0 -83
- package/plugins/globalSearch/SearchBarDropdown.js.map +0 -1
- package/plugins/globalSearch/icons/round-search-24px.svg +0 -20
- package/plugins/globalSearch/index.d.ts +0 -7
- package/plugins/globalSearch/index.js +0 -16
- package/plugins/globalSearch/index.js.map +0 -1
- package/plugins/globalSearch/styled.d.ts +0 -11
- package/plugins/globalSearch/styled.js +0 -131
- package/plugins/globalSearch/styled.js.map +0 -1
- package/styles/material-theme-assignments.scss +0 -350
- package/styles/material.scss +0 -43
- package/styles/theme.scss +0 -76
- package/ui/views/AdminView/components/Snackbar.d.ts +0 -3
- package/ui/views/AdminView/components/Snackbar.js +0 -32
- package/ui/views/AdminView/components/Snackbar.js.map +0 -1
|
@@ -1,81 +1,57 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
label: "Loading..."
|
|
29
|
-
})
|
|
30
|
-
}, /*#__PURE__*/_react.default.cloneElement(children, props));
|
|
31
|
-
};
|
|
32
|
-
var useInstaller = function useInstaller(params) {
|
|
33
|
-
var isInstalled = params.isInstalled;
|
|
34
|
-
var _useReducer = (0, _react.useReducer)(function (prev, next) {
|
|
35
|
-
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), next);
|
|
36
|
-
}, {
|
|
37
|
-
loading: true,
|
|
38
|
-
installers: [],
|
|
39
|
-
installerIndex: -1,
|
|
40
|
-
showLogin: false,
|
|
41
|
-
skippingVersions: null
|
|
42
|
-
}),
|
|
43
|
-
_useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
|
|
44
|
-
state = _useReducer2[0],
|
|
45
|
-
setState = _useReducer2[1];
|
|
46
|
-
var loading = state.loading,
|
|
47
|
-
installers = state.installers,
|
|
48
|
-
installerIndex = state.installerIndex,
|
|
49
|
-
showLogin = state.showLogin,
|
|
50
|
-
skippingVersions = state.skippingVersions;
|
|
51
|
-
var client = (0, _reactHooks.useApolloClient)();
|
|
52
|
-
var validateGraph = function validateGraph(graph) {
|
|
53
|
-
var isAcyclic = _graphlib.alg.isAcyclic(graph);
|
|
1
|
+
import { useCallback, useReducer, useEffect } from "react";
|
|
2
|
+
import { Graph, alg } from "graphlib";
|
|
3
|
+
import { useApolloClient } from "@apollo/react-hooks";
|
|
4
|
+
import { plugins } from "@webiny/plugins";
|
|
5
|
+
import { config as appConfig } from "@webiny/app/config";
|
|
6
|
+
export const useInstaller = params => {
|
|
7
|
+
const {
|
|
8
|
+
isInstalled
|
|
9
|
+
} = params;
|
|
10
|
+
const [state, setState] = useReducer((prev, next) => ({
|
|
11
|
+
...prev,
|
|
12
|
+
...next
|
|
13
|
+
}), {
|
|
14
|
+
loading: true,
|
|
15
|
+
installers: [],
|
|
16
|
+
installerIndex: -1,
|
|
17
|
+
showLogin: false
|
|
18
|
+
});
|
|
19
|
+
const {
|
|
20
|
+
loading,
|
|
21
|
+
installers,
|
|
22
|
+
installerIndex,
|
|
23
|
+
showLogin
|
|
24
|
+
} = state;
|
|
25
|
+
const client = useApolloClient();
|
|
26
|
+
const validateGraph = graph => {
|
|
27
|
+
const isAcyclic = alg.isAcyclic(graph);
|
|
54
28
|
if (isAcyclic) {
|
|
55
29
|
return;
|
|
56
30
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
cycles.forEach(
|
|
60
|
-
|
|
61
|
-
fromAToB =
|
|
62
|
-
|
|
63
|
-
|
|
31
|
+
const cycles = alg.findCycles(graph);
|
|
32
|
+
const msg = ["Your installers have circular dependencies:"];
|
|
33
|
+
cycles.forEach((cycle, index) => {
|
|
34
|
+
let fromAToB = cycle.join(" --> ");
|
|
35
|
+
fromAToB = `${index + 1}. ${fromAToB}`;
|
|
36
|
+
const fromBToA = cycle.reverse().join(" <-- ");
|
|
37
|
+
const padLength = fromAToB.length + 4;
|
|
64
38
|
msg.push(fromAToB.padStart(padLength));
|
|
65
39
|
msg.push(fromBToA.padStart(padLength));
|
|
66
40
|
}, cycles);
|
|
67
41
|
throw new Error(msg.join("\n"));
|
|
68
42
|
};
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
installers.forEach(
|
|
72
|
-
|
|
43
|
+
const createGraph = installers => {
|
|
44
|
+
const graph = new Graph();
|
|
45
|
+
installers.forEach(({
|
|
46
|
+
plugin
|
|
47
|
+
}) => {
|
|
73
48
|
graph.setNode(plugin.name, plugin);
|
|
74
49
|
});
|
|
75
|
-
installers.forEach(
|
|
76
|
-
|
|
50
|
+
installers.forEach(({
|
|
51
|
+
plugin: pl
|
|
52
|
+
}) => {
|
|
77
53
|
if (Array.isArray(pl.dependencies)) {
|
|
78
|
-
pl.dependencies.forEach(
|
|
54
|
+
pl.dependencies.forEach(dep => {
|
|
79
55
|
graph.setEdge(pl.name, dep);
|
|
80
56
|
});
|
|
81
57
|
}
|
|
@@ -83,68 +59,28 @@ var useInstaller = function useInstaller(params) {
|
|
|
83
59
|
validateGraph(graph);
|
|
84
60
|
return graph;
|
|
85
61
|
};
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
var toUpgrade = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
89
|
-
var leaf = graph.sinks()[0];
|
|
62
|
+
const getInstallers = useCallback((installers, graph, toInstall = []) => {
|
|
63
|
+
const leaf = graph.sinks()[0];
|
|
90
64
|
if (leaf) {
|
|
91
|
-
|
|
92
|
-
return inst.plugin.name === leaf;
|
|
93
|
-
});
|
|
65
|
+
const installer = installers.find(inst => inst.plugin.name === leaf);
|
|
94
66
|
if (!installer) {
|
|
95
|
-
throw new Error(
|
|
67
|
+
throw new Error(`Missing installer plugin "${leaf}"!`);
|
|
96
68
|
}
|
|
97
69
|
graph.removeNode(leaf);
|
|
98
70
|
if (!installer.installed) {
|
|
99
71
|
toInstall.push({
|
|
100
72
|
type: "install",
|
|
101
|
-
name:
|
|
73
|
+
name: `${installer.plugin.name}-install`,
|
|
102
74
|
title: installer.plugin.title,
|
|
103
75
|
render: installer.plugin.render,
|
|
104
76
|
secure: installer.plugin.secure,
|
|
105
77
|
installed: null,
|
|
106
78
|
plugin: installer.plugin
|
|
107
79
|
});
|
|
108
|
-
} else {
|
|
109
|
-
var wbyVersion = _config.config.getKey("WEBINY_VERSION", process.env.REACT_APP_WEBINY_VERSION);
|
|
110
|
-
var upgrades = (installer.plugin.upgrades || []).filter(function (_ref4) {
|
|
111
|
-
var version = _ref4.version;
|
|
112
|
-
// TODO use coerce
|
|
113
|
-
return (0, _semver.lte)(version, wbyVersion) && (0, _semver.gt)(version, installer.installed || "");
|
|
114
|
-
});
|
|
115
|
-
if (upgrades.length > 1) {
|
|
116
|
-
var availableUpgrades = (0, _semver.sort)(upgrades.map(function (u) {
|
|
117
|
-
return u.version;
|
|
118
|
-
}));
|
|
119
|
-
var latestUpgrade = availableUpgrades[availableUpgrades.length - 1];
|
|
120
|
-
setState({
|
|
121
|
-
skippingVersions: {
|
|
122
|
-
current: installer.installed,
|
|
123
|
-
latest: latestUpgrade,
|
|
124
|
-
availableUpgrades: availableUpgrades
|
|
125
|
-
}
|
|
126
|
-
});
|
|
127
|
-
} else if (upgrades.length === 1) {
|
|
128
|
-
toUpgrade.push({
|
|
129
|
-
type: "upgrade",
|
|
130
|
-
name: "".concat(installer.plugin.name, "-upgrade"),
|
|
131
|
-
title: installer.plugin.title,
|
|
132
|
-
secure: true,
|
|
133
|
-
installed: null,
|
|
134
|
-
plugin: installer.plugin,
|
|
135
|
-
render: function render(_ref5) {
|
|
136
|
-
var onInstalled = _ref5.onInstalled;
|
|
137
|
-
var Component = upgrades[0].getComponent();
|
|
138
|
-
return /*#__PURE__*/_react.default.createElement(Loader, null, /*#__PURE__*/_react.default.createElement(Component, {
|
|
139
|
-
onInstalled: onInstalled
|
|
140
|
-
}));
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
80
|
}
|
|
145
|
-
return getInstallers(installers, graph, toInstall
|
|
81
|
+
return getInstallers(installers, graph, toInstall);
|
|
146
82
|
}
|
|
147
|
-
toInstall.sort(
|
|
83
|
+
toInstall.sort((a, b) => {
|
|
148
84
|
if (a.secure && !b.secure) {
|
|
149
85
|
return 1;
|
|
150
86
|
} else if (!a.secure && b.secure) {
|
|
@@ -153,11 +89,10 @@ var useInstaller = function useInstaller(params) {
|
|
|
153
89
|
return 0;
|
|
154
90
|
});
|
|
155
91
|
return {
|
|
156
|
-
toInstall
|
|
157
|
-
toUpgrade: toUpgrade
|
|
92
|
+
toInstall
|
|
158
93
|
};
|
|
159
94
|
}, []);
|
|
160
|
-
|
|
95
|
+
const onUser = () => {
|
|
161
96
|
setState({
|
|
162
97
|
showLogin: false
|
|
163
98
|
});
|
|
@@ -166,11 +101,11 @@ var useInstaller = function useInstaller(params) {
|
|
|
166
101
|
/**
|
|
167
102
|
* If set to anything else, it breaks in AppInstaller.tsx
|
|
168
103
|
*/
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
installers[installerIndex].installed =
|
|
104
|
+
const showNextInstaller = () => {
|
|
105
|
+
const prevInstaller = installers[installerIndex];
|
|
106
|
+
installers[installerIndex].installed = appConfig.getKey("WEBINY_VERSION", process.env.REACT_APP_WEBINY_VERSION);
|
|
172
107
|
setState({
|
|
173
|
-
installers
|
|
108
|
+
installers
|
|
174
109
|
});
|
|
175
110
|
if (installers.length < installerIndex + 1) {
|
|
176
111
|
setState({
|
|
@@ -178,88 +113,57 @@ var useInstaller = function useInstaller(params) {
|
|
|
178
113
|
});
|
|
179
114
|
return;
|
|
180
115
|
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
116
|
+
const nextIndex = installerIndex + 1;
|
|
117
|
+
let showLogin = false;
|
|
118
|
+
const nextInstaller = installers[nextIndex];
|
|
119
|
+
const prevSecure = prevInstaller && prevInstaller.secure;
|
|
120
|
+
const nextSecure = nextInstaller && nextInstaller.secure;
|
|
186
121
|
if (!prevSecure && nextSecure) {
|
|
187
122
|
showLogin = true;
|
|
188
123
|
}
|
|
189
124
|
setState({
|
|
190
125
|
installerIndex: nextIndex,
|
|
191
|
-
showLogin
|
|
126
|
+
showLogin
|
|
192
127
|
});
|
|
193
128
|
};
|
|
194
|
-
|
|
195
|
-
(
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
plugin: pl,
|
|
222
|
-
installed: installed
|
|
223
|
-
});
|
|
224
|
-
case 4:
|
|
225
|
-
case "end":
|
|
226
|
-
return _context.stop();
|
|
227
|
-
}
|
|
228
|
-
}, _callee);
|
|
229
|
-
}));
|
|
230
|
-
return function (_x) {
|
|
231
|
-
return _ref7.apply(this, arguments);
|
|
232
|
-
};
|
|
233
|
-
}()));
|
|
234
|
-
case 5:
|
|
235
|
-
graph = createGraph(allInstallers);
|
|
236
|
-
_getInstallers = getInstallers(allInstallers, graph), toInstall = _getInstallers.toInstall, toUpgrade = _getInstallers.toUpgrade;
|
|
237
|
-
installers = [].concat((0, _toConsumableArray2.default)(toUpgrade), (0, _toConsumableArray2.default)(toInstall));
|
|
238
|
-
setState({
|
|
239
|
-
installers: installers,
|
|
240
|
-
installerIndex: 0,
|
|
241
|
-
loading: false,
|
|
242
|
-
showLogin: toUpgrade.length > 0 || toInstall.length > 0 && toInstall[0].secure
|
|
243
|
-
});
|
|
244
|
-
case 9:
|
|
245
|
-
case "end":
|
|
246
|
-
return _context2.stop();
|
|
247
|
-
}
|
|
248
|
-
}, _callee2);
|
|
249
|
-
}))();
|
|
129
|
+
useEffect(() => {
|
|
130
|
+
(async () => {
|
|
131
|
+
if (isInstalled) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
const allInstallers = [];
|
|
135
|
+
await Promise.all(plugins.byType("admin-installation").map(async pl => {
|
|
136
|
+
const installed = await pl.getInstalledVersion({
|
|
137
|
+
client
|
|
138
|
+
});
|
|
139
|
+
allInstallers.push({
|
|
140
|
+
plugin: pl,
|
|
141
|
+
installed
|
|
142
|
+
});
|
|
143
|
+
}));
|
|
144
|
+
const graph = createGraph(allInstallers);
|
|
145
|
+
const {
|
|
146
|
+
toInstall
|
|
147
|
+
} = getInstallers(allInstallers, graph);
|
|
148
|
+
const installers = [...toInstall];
|
|
149
|
+
setState({
|
|
150
|
+
installers,
|
|
151
|
+
installerIndex: 0,
|
|
152
|
+
loading: false,
|
|
153
|
+
showLogin: toInstall.length > 0 && toInstall[0].secure
|
|
154
|
+
});
|
|
155
|
+
})();
|
|
250
156
|
}, []);
|
|
251
|
-
|
|
252
|
-
return installer.installed;
|
|
253
|
-
});
|
|
157
|
+
const isFirstInstall = installers.some(installer => installer.installed);
|
|
254
158
|
return {
|
|
255
|
-
loading
|
|
256
|
-
installers
|
|
257
|
-
isFirstInstall
|
|
159
|
+
loading,
|
|
160
|
+
installers,
|
|
161
|
+
isFirstInstall,
|
|
258
162
|
installer: installers[installerIndex],
|
|
259
|
-
showNextInstaller
|
|
260
|
-
showLogin
|
|
261
|
-
onUser
|
|
262
|
-
skippingVersions: skippingVersions
|
|
163
|
+
showNextInstaller,
|
|
164
|
+
showLogin,
|
|
165
|
+
onUser
|
|
263
166
|
};
|
|
264
167
|
};
|
|
265
|
-
|
|
168
|
+
|
|
169
|
+
//# sourceMappingURL=useInstaller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Loader","children","props","React","cloneElement","useInstaller","params","isInstalled","useReducer","prev","next","loading","installers","installerIndex","showLogin","skippingVersions","state","setState","client","useApolloClient","validateGraph","graph","isAcyclic","alg","cycles","findCycles","msg","forEach","cycle","index","fromAToB","join","fromBToA","reverse","padLength","length","push","padStart","Error","createGraph","Graph","plugin","setNode","name","pl","Array","isArray","dependencies","dep","setEdge","getInstallers","useCallback","toInstall","toUpgrade","leaf","sinks","installer","find","inst","removeNode","installed","type","title","render","secure","wbyVersion","appConfig","getKey","process","env","REACT_APP_WEBINY_VERSION","upgrades","filter","version","lte","gt","availableUpgrades","sort","map","u","latestUpgrade","current","latest","onInstalled","Component","getComponent","a","b","onUser","showNextInstaller","prevInstaller","undefined","nextIndex","nextInstaller","prevSecure","nextSecure","useEffect","allInstallers","Promise","all","plugins","byType","getInstalledVersion","isFirstInstall","some"],"sources":["useInstaller.tsx"],"sourcesContent":["import React, { useCallback, useReducer, useEffect, Suspense } from \"react\";\nimport { Graph, alg } from \"graphlib\";\nimport { sort, gt, lte } from \"semver\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { plugins } from \"@webiny/plugins\";\nimport { AdminInstallationPlugin } from \"~/types\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { config as appConfig } from \"@webiny/app/config\";\n\nconst Loader: React.FC<{ children: React.ReactElement }> = ({ children, ...props }) => (\n <Suspense fallback={<CircularProgress label={\"Loading...\"} />}>\n {React.cloneElement(children, props)}\n </Suspense>\n);\n\ninterface GetInstallersResult {\n toInstall: Installer[];\n toUpgrade: Installer[];\n}\n\ninterface UseInstallerParams {\n isInstalled: boolean;\n}\n\ninterface SkippingVersionState {\n current: string;\n latest: string;\n availableUpgrades: string[];\n}\n\ninterface BaseInstaller {\n installed: string | null;\n plugin: AdminInstallationPlugin;\n}\n\nexport interface Installer extends BaseInstaller {\n type: \"install\" | \"upgrade\";\n name: string;\n title: string;\n render: AdminInstallationPlugin[\"render\"];\n secure?: boolean;\n}\ninterface State {\n loading: boolean;\n installers: Installer[];\n installerIndex: number;\n showLogin: boolean;\n skippingVersions: SkippingVersionState | null;\n}\n\ninterface Reducer {\n (prev: State, next: Partial<State>): State;\n}\n\nexport const useInstaller = (params: UseInstallerParams) => {\n const { isInstalled } = params;\n const [state, setState] = useReducer<Reducer>((prev, next) => ({ ...prev, ...next }), {\n loading: true,\n installers: [],\n installerIndex: -1,\n showLogin: false,\n skippingVersions: null\n });\n const { loading, installers, installerIndex, showLogin, skippingVersions } = state;\n\n const client = useApolloClient();\n\n const validateGraph = (graph: Graph): void => {\n const isAcyclic = alg.isAcyclic(graph);\n if (isAcyclic) {\n return;\n }\n const cycles = alg.findCycles(graph);\n const msg = [\"Your installers have circular dependencies:\"];\n cycles.forEach((cycle, index) => {\n let fromAToB = cycle.join(\" --> \");\n fromAToB = `${index + 1}. ${fromAToB}`;\n const fromBToA = cycle.reverse().join(\" <-- \");\n const padLength = fromAToB.length + 4;\n msg.push(fromAToB.padStart(padLength));\n msg.push(fromBToA.padStart(padLength));\n }, cycles);\n throw new Error(msg.join(\"\\n\"));\n };\n\n const createGraph = (installers: BaseInstaller[]): Graph => {\n const graph = new Graph();\n installers.forEach(({ plugin }) => {\n graph.setNode(plugin.name as string, plugin);\n });\n\n installers.forEach(({ plugin: pl }) => {\n if (Array.isArray(pl.dependencies)) {\n pl.dependencies.forEach(dep => {\n graph.setEdge(pl.name as string, dep);\n });\n }\n });\n\n validateGraph(graph);\n\n return graph;\n };\n\n const getInstallers = useCallback(\n (\n installers: BaseInstaller[],\n graph: Graph,\n toInstall: Installer[] = [],\n toUpgrade: Installer[] = []\n ): GetInstallersResult => {\n const leaf = graph.sinks()[0];\n if (leaf) {\n const installer = installers.find(inst => inst.plugin.name === leaf);\n if (!installer) {\n throw new Error(`Missing installer plugin \"${leaf}\"!`);\n }\n\n graph.removeNode(leaf);\n if (!installer.installed) {\n toInstall.push({\n type: \"install\",\n name: `${installer.plugin.name}-install`,\n title: installer.plugin.title,\n render: installer.plugin.render,\n secure: installer.plugin.secure,\n installed: null,\n plugin: installer.plugin\n });\n } else {\n const wbyVersion = appConfig.getKey(\n \"WEBINY_VERSION\",\n process.env.REACT_APP_WEBINY_VERSION as string\n );\n\n const upgrades = (installer.plugin.upgrades || []).filter(({ version }) => {\n // TODO use coerce\n return lte(version, wbyVersion) && gt(version, installer.installed || \"\");\n });\n\n if (upgrades.length > 1) {\n const availableUpgrades = sort(upgrades.map(u => u.version));\n const latestUpgrade = availableUpgrades[availableUpgrades.length - 1];\n setState({\n skippingVersions: {\n current: installer.installed,\n latest: latestUpgrade,\n availableUpgrades\n }\n });\n } else if (upgrades.length === 1) {\n toUpgrade.push({\n type: \"upgrade\",\n name: `${installer.plugin.name}-upgrade`,\n title: installer.plugin.title,\n secure: true,\n installed: null,\n plugin: installer.plugin,\n render({ onInstalled }) {\n const Component = upgrades[0].getComponent();\n return (\n <Loader>\n <Component onInstalled={onInstalled} />\n </Loader>\n );\n }\n });\n }\n }\n return getInstallers(installers, graph, toInstall, toUpgrade);\n }\n toInstall.sort((a, b) => {\n if (a.secure && !b.secure) {\n return 1;\n } else if (!a.secure && b.secure) {\n return -1;\n }\n return 0;\n });\n return { toInstall, toUpgrade };\n },\n []\n );\n\n const onUser = () => {\n setState({ showLogin: false });\n };\n\n /**\n * If set to anything else, it breaks in AppInstaller.tsx\n */\n const showNextInstaller = (): any => {\n const prevInstaller = installers[installerIndex];\n\n installers[installerIndex].installed = appConfig.getKey(\n \"WEBINY_VERSION\",\n process.env.REACT_APP_WEBINY_VERSION as string\n );\n setState({ installers });\n\n if (installers.length < installerIndex + 1) {\n setState({ installerIndex: undefined });\n return;\n }\n\n const nextIndex = installerIndex + 1;\n\n let showLogin = false;\n const nextInstaller = installers[nextIndex];\n\n const prevSecure = prevInstaller && prevInstaller.secure;\n const nextSecure = nextInstaller && nextInstaller.secure;\n if (!prevSecure && nextSecure) {\n showLogin = true;\n }\n setState({ installerIndex: nextIndex, showLogin });\n };\n\n useEffect(() => {\n (async () => {\n if (isInstalled) {\n return;\n }\n\n const allInstallers: BaseInstaller[] = [];\n await Promise.all(\n plugins.byType<AdminInstallationPlugin>(\"admin-installation\").map(async pl => {\n const installed = await pl.getInstalledVersion({ client });\n allInstallers.push({ plugin: pl, installed });\n })\n );\n\n const graph = createGraph(allInstallers);\n const { toInstall, toUpgrade } = getInstallers(allInstallers, graph);\n const installers = [...toUpgrade, ...toInstall];\n setState({\n installers,\n installerIndex: 0,\n loading: false,\n showLogin: toUpgrade.length > 0 || (toInstall.length > 0 && toInstall[0].secure)\n });\n })();\n }, []);\n\n const isFirstInstall = installers.some(installer => installer.installed);\n\n return {\n loading,\n installers,\n isFirstInstall,\n installer: installers[installerIndex],\n showNextInstaller,\n showLogin,\n onUser,\n skippingVersions\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["useCallback","useReducer","useEffect","Graph","alg","useApolloClient","plugins","config","appConfig","useInstaller","params","isInstalled","state","setState","prev","next","loading","installers","installerIndex","showLogin","client","validateGraph","graph","isAcyclic","cycles","findCycles","msg","forEach","cycle","index","fromAToB","join","fromBToA","reverse","padLength","length","push","padStart","Error","createGraph","plugin","setNode","name","pl","Array","isArray","dependencies","dep","setEdge","getInstallers","toInstall","leaf","sinks","installer","find","inst","removeNode","installed","type","title","render","secure","sort","a","b","onUser","showNextInstaller","prevInstaller","getKey","process","env","REACT_APP_WEBINY_VERSION","undefined","nextIndex","nextInstaller","prevSecure","nextSecure","allInstallers","Promise","all","byType","map","getInstalledVersion","isFirstInstall","some"],"sources":["useInstaller.tsx"],"sourcesContent":["import { useCallback, useReducer, useEffect } from \"react\";\nimport { Graph, alg } from \"graphlib\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { plugins } from \"@webiny/plugins\";\nimport type { AdminInstallationPlugin } from \"~/types\";\nimport { config as appConfig } from \"@webiny/app/config\";\n\ninterface GetInstallersResult {\n toInstall: Installer[];\n}\n\ninterface UseInstallerParams {\n isInstalled: boolean;\n}\n\ninterface BaseInstaller {\n installed: string | null;\n plugin: AdminInstallationPlugin;\n}\n\nexport interface Installer extends BaseInstaller {\n type: \"install\";\n name: string;\n title: string;\n render: AdminInstallationPlugin[\"render\"];\n secure?: boolean;\n}\ninterface State {\n loading: boolean;\n installers: Installer[];\n installerIndex: number;\n showLogin: boolean;\n}\n\ninterface Reducer {\n (prev: State, next: Partial<State>): State;\n}\n\nexport const useInstaller = (params: UseInstallerParams) => {\n const { isInstalled } = params;\n const [state, setState] = useReducer<Reducer>((prev, next) => ({ ...prev, ...next }), {\n loading: true,\n installers: [],\n installerIndex: -1,\n showLogin: false\n });\n const { loading, installers, installerIndex, showLogin } = state;\n\n const client = useApolloClient();\n\n const validateGraph = (graph: Graph): void => {\n const isAcyclic = alg.isAcyclic(graph);\n if (isAcyclic) {\n return;\n }\n const cycles = alg.findCycles(graph);\n const msg = [\"Your installers have circular dependencies:\"];\n cycles.forEach((cycle, index) => {\n let fromAToB = cycle.join(\" --> \");\n fromAToB = `${index + 1}. ${fromAToB}`;\n const fromBToA = cycle.reverse().join(\" <-- \");\n const padLength = fromAToB.length + 4;\n msg.push(fromAToB.padStart(padLength));\n msg.push(fromBToA.padStart(padLength));\n }, cycles);\n throw new Error(msg.join(\"\\n\"));\n };\n\n const createGraph = (installers: BaseInstaller[]): Graph => {\n const graph = new Graph();\n installers.forEach(({ plugin }) => {\n graph.setNode(plugin.name as string, plugin);\n });\n\n installers.forEach(({ plugin: pl }) => {\n if (Array.isArray(pl.dependencies)) {\n pl.dependencies.forEach(dep => {\n graph.setEdge(pl.name as string, dep);\n });\n }\n });\n\n validateGraph(graph);\n\n return graph;\n };\n\n const getInstallers = useCallback(\n (\n installers: BaseInstaller[],\n graph: Graph,\n toInstall: Installer[] = []\n ): GetInstallersResult => {\n const leaf = graph.sinks()[0];\n if (leaf) {\n const installer = installers.find(inst => inst.plugin.name === leaf);\n if (!installer) {\n throw new Error(`Missing installer plugin \"${leaf}\"!`);\n }\n\n graph.removeNode(leaf);\n if (!installer.installed) {\n toInstall.push({\n type: \"install\",\n name: `${installer.plugin.name}-install`,\n title: installer.plugin.title,\n render: installer.plugin.render,\n secure: installer.plugin.secure,\n installed: null,\n plugin: installer.plugin\n });\n }\n\n return getInstallers(installers, graph, toInstall);\n }\n toInstall.sort((a, b) => {\n if (a.secure && !b.secure) {\n return 1;\n } else if (!a.secure && b.secure) {\n return -1;\n }\n return 0;\n });\n return { toInstall };\n },\n []\n );\n\n const onUser = () => {\n setState({ showLogin: false });\n };\n\n /**\n * If set to anything else, it breaks in AppInstaller.tsx\n */\n const showNextInstaller = (): any => {\n const prevInstaller = installers[installerIndex];\n\n installers[installerIndex].installed = appConfig.getKey(\n \"WEBINY_VERSION\",\n process.env.REACT_APP_WEBINY_VERSION as string\n );\n setState({ installers });\n\n if (installers.length < installerIndex + 1) {\n setState({ installerIndex: undefined });\n return;\n }\n\n const nextIndex = installerIndex + 1;\n\n let showLogin = false;\n const nextInstaller = installers[nextIndex];\n\n const prevSecure = prevInstaller && prevInstaller.secure;\n const nextSecure = nextInstaller && nextInstaller.secure;\n if (!prevSecure && nextSecure) {\n showLogin = true;\n }\n setState({ installerIndex: nextIndex, showLogin });\n };\n\n useEffect(() => {\n (async () => {\n if (isInstalled) {\n return;\n }\n\n const allInstallers: BaseInstaller[] = [];\n await Promise.all(\n plugins.byType<AdminInstallationPlugin>(\"admin-installation\").map(async pl => {\n const installed = await pl.getInstalledVersion({ client });\n allInstallers.push({ plugin: pl, installed });\n })\n );\n\n const graph = createGraph(allInstallers);\n const { toInstall } = getInstallers(allInstallers, graph);\n const installers = [...toInstall];\n setState({\n installers,\n installerIndex: 0,\n loading: false,\n showLogin: toInstall.length > 0 && toInstall[0].secure\n });\n })();\n }, []);\n\n const isFirstInstall = installers.some(installer => installer.installed);\n\n return {\n loading,\n installers,\n isFirstInstall,\n installer: installers[installerIndex],\n showNextInstaller,\n showLogin,\n onUser\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export interface CallbackParams<T> {
|
|
3
|
+
item: T;
|
|
4
|
+
allItems: T[];
|
|
5
|
+
report: Report;
|
|
6
|
+
}
|
|
7
|
+
export interface Result {
|
|
8
|
+
title: string;
|
|
9
|
+
status: "success" | "failure";
|
|
10
|
+
message?: string | React.ReactElement;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Class for collecting processing results
|
|
14
|
+
*/
|
|
15
|
+
export declare class Report {
|
|
16
|
+
private _results;
|
|
17
|
+
/**
|
|
18
|
+
* Record a successful result in the report
|
|
19
|
+
* @param {Omit<Result, "status">} result - The successful result to be recorded
|
|
20
|
+
*/
|
|
21
|
+
success(result: Omit<Result, "status">): void;
|
|
22
|
+
/**
|
|
23
|
+
* Record an error result in the report.
|
|
24
|
+
* @param {Omit<Result, "status">} result - The error result to be recorded.
|
|
25
|
+
*/
|
|
26
|
+
error(result: Omit<Result, "status">): void;
|
|
27
|
+
/**
|
|
28
|
+
* Get the array of recorded results.
|
|
29
|
+
* @returns {Result[]} - An array of recorded results.
|
|
30
|
+
*/
|
|
31
|
+
get results(): Result[];
|
|
32
|
+
/**
|
|
33
|
+
* Internal method to add a result to the report.
|
|
34
|
+
* @private
|
|
35
|
+
* @param {Result} result - The result to be added to the report.
|
|
36
|
+
*/
|
|
37
|
+
private addResult;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* A generic worker class for processing items.
|
|
41
|
+
* @template T - The type of items being processed.
|
|
42
|
+
*/
|
|
43
|
+
export declare class Worker<T> {
|
|
44
|
+
private _items;
|
|
45
|
+
private _report;
|
|
46
|
+
constructor();
|
|
47
|
+
/**
|
|
48
|
+
* Process the items using the provided callback function.
|
|
49
|
+
* @param callback - The callback function to process the items.
|
|
50
|
+
*/
|
|
51
|
+
process(callback: (items: T[]) => void): void;
|
|
52
|
+
/**
|
|
53
|
+
* Process the items in series with the given chunk size.
|
|
54
|
+
* @param callback - The callback function to process each item.
|
|
55
|
+
* @param {number} [chunkSize=10] - The size of each chunk for processing in series.
|
|
56
|
+
* @returns {Promise<void>}
|
|
57
|
+
*/
|
|
58
|
+
processInSeries(callback: ({ item, allItems, report }: CallbackParams<T>) => Promise<void>, chunkSize?: number): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Get the array of results collected by the worker.
|
|
61
|
+
* @returns {Result[]} - An array of collected results.
|
|
62
|
+
*/
|
|
63
|
+
get results(): Result[];
|
|
64
|
+
/**
|
|
65
|
+
* Get the current items in the worker.
|
|
66
|
+
* @returns {T[]} - An array of items in the worker.
|
|
67
|
+
*/
|
|
68
|
+
get items(): T[];
|
|
69
|
+
/**
|
|
70
|
+
* Set the items in the worker.
|
|
71
|
+
* @param {T[]} items - The items to be set in the worker.
|
|
72
|
+
*/
|
|
73
|
+
set items(items: T[]);
|
|
74
|
+
resetResults(): Promise<void>;
|
|
75
|
+
/**
|
|
76
|
+
* Internal method to process a chunk of items using the provided callback.
|
|
77
|
+
* @private
|
|
78
|
+
* @param callback - The callback function to process each item.
|
|
79
|
+
* @param {T[]} chunk - The chunk of items to be processed.
|
|
80
|
+
* @returns {Promise<void>}
|
|
81
|
+
*/
|
|
82
|
+
private processChunk;
|
|
83
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import chunk from "lodash/chunk";
|
|
2
|
+
import { makeAutoObservable } from "mobx";
|
|
3
|
+
/**
|
|
4
|
+
* Class for collecting processing results
|
|
5
|
+
*/
|
|
6
|
+
export class Report {
|
|
7
|
+
_results = [];
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Record a successful result in the report
|
|
11
|
+
* @param {Omit<Result, "status">} result - The successful result to be recorded
|
|
12
|
+
*/
|
|
13
|
+
success(result) {
|
|
14
|
+
this.addResult({
|
|
15
|
+
...result,
|
|
16
|
+
status: "success"
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Record an error result in the report.
|
|
22
|
+
* @param {Omit<Result, "status">} result - The error result to be recorded.
|
|
23
|
+
*/
|
|
24
|
+
error(result) {
|
|
25
|
+
this.addResult({
|
|
26
|
+
...result,
|
|
27
|
+
status: "failure"
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Get the array of recorded results.
|
|
33
|
+
* @returns {Result[]} - An array of recorded results.
|
|
34
|
+
*/
|
|
35
|
+
get results() {
|
|
36
|
+
return this._results;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Internal method to add a result to the report.
|
|
41
|
+
* @private
|
|
42
|
+
* @param {Result} result - The result to be added to the report.
|
|
43
|
+
*/
|
|
44
|
+
addResult(result) {
|
|
45
|
+
this._results.push(result);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* A generic worker class for processing items.
|
|
51
|
+
* @template T - The type of items being processed.
|
|
52
|
+
*/
|
|
53
|
+
export class Worker {
|
|
54
|
+
constructor() {
|
|
55
|
+
this._items = [];
|
|
56
|
+
this._report = new Report();
|
|
57
|
+
makeAutoObservable(this);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Process the items using the provided callback function.
|
|
62
|
+
* @param callback - The callback function to process the items.
|
|
63
|
+
*/
|
|
64
|
+
process(callback) {
|
|
65
|
+
callback(this._items);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Process the items in series with the given chunk size.
|
|
70
|
+
* @param callback - The callback function to process each item.
|
|
71
|
+
* @param {number} [chunkSize=10] - The size of each chunk for processing in series.
|
|
72
|
+
* @returns {Promise<void>}
|
|
73
|
+
*/
|
|
74
|
+
async processInSeries(callback, chunkSize = 10) {
|
|
75
|
+
const chunks = chunk(this._items, chunkSize);
|
|
76
|
+
const promises = chunks.map(chunk => this.processChunk(callback, chunk));
|
|
77
|
+
await Promise.all(promises);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Get the array of results collected by the worker.
|
|
82
|
+
* @returns {Result[]} - An array of collected results.
|
|
83
|
+
*/
|
|
84
|
+
get results() {
|
|
85
|
+
return this._report.results;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Get the current items in the worker.
|
|
90
|
+
* @returns {T[]} - An array of items in the worker.
|
|
91
|
+
*/
|
|
92
|
+
get items() {
|
|
93
|
+
return this._items;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Set the items in the worker.
|
|
98
|
+
* @param {T[]} items - The items to be set in the worker.
|
|
99
|
+
*/
|
|
100
|
+
set items(items) {
|
|
101
|
+
this._items = items;
|
|
102
|
+
}
|
|
103
|
+
async resetResults() {
|
|
104
|
+
this._items = [];
|
|
105
|
+
this._report = new Report();
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Internal method to process a chunk of items using the provided callback.
|
|
110
|
+
* @private
|
|
111
|
+
* @param callback - The callback function to process each item.
|
|
112
|
+
* @param {T[]} chunk - The chunk of items to be processed.
|
|
113
|
+
* @returns {Promise<void>}
|
|
114
|
+
*/
|
|
115
|
+
async processChunk(callback, chunk) {
|
|
116
|
+
for (const item of chunk) {
|
|
117
|
+
await callback({
|
|
118
|
+
item,
|
|
119
|
+
allItems: this._items,
|
|
120
|
+
report: this._report
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
//# sourceMappingURL=Worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["chunk","makeAutoObservable","Report","_results","success","result","addResult","status","error","results","push","Worker","constructor","_items","_report","process","callback","processInSeries","chunkSize","chunks","promises","map","processChunk","Promise","all","items","resetResults","item","allItems","report"],"sources":["Worker.ts"],"sourcesContent":["import chunk from \"lodash/chunk\";\nimport { makeAutoObservable } from \"mobx\";\n\nexport interface CallbackParams<T> {\n item: T;\n allItems: T[];\n report: Report;\n}\n\nexport interface Result {\n title: string;\n status: \"success\" | \"failure\";\n message?: string | React.ReactElement;\n}\n\n/**\n * Class for collecting processing results\n */\nexport class Report {\n private _results: Result[] = [];\n\n /**\n * Record a successful result in the report\n * @param {Omit<Result, \"status\">} result - The successful result to be recorded\n */\n public success(result: Omit<Result, \"status\">): void {\n this.addResult({\n ...result,\n status: \"success\"\n });\n }\n\n /**\n * Record an error result in the report.\n * @param {Omit<Result, \"status\">} result - The error result to be recorded.\n */\n public error(result: Omit<Result, \"status\">): void {\n this.addResult({\n ...result,\n status: \"failure\"\n });\n }\n\n /**\n * Get the array of recorded results.\n * @returns {Result[]} - An array of recorded results.\n */\n get results(): Result[] {\n return this._results;\n }\n\n /**\n * Internal method to add a result to the report.\n * @private\n * @param {Result} result - The result to be added to the report.\n */\n private addResult(result: Result): void {\n this._results.push(result);\n }\n}\n\n/**\n * A generic worker class for processing items.\n * @template T - The type of items being processed.\n */\nexport class Worker<T> {\n private _items: T[];\n private _report: Report;\n\n constructor() {\n this._items = [];\n this._report = new Report();\n makeAutoObservable(this);\n }\n\n /**\n * Process the items using the provided callback function.\n * @param callback - The callback function to process the items.\n */\n public process(callback: (items: T[]) => void): void {\n callback(this._items);\n }\n\n /**\n * Process the items in series with the given chunk size.\n * @param callback - The callback function to process each item.\n * @param {number} [chunkSize=10] - The size of each chunk for processing in series.\n * @returns {Promise<void>}\n */\n public async processInSeries(\n callback: ({ item, allItems, report }: CallbackParams<T>) => Promise<void>,\n chunkSize = 10\n ): Promise<void> {\n const chunks = chunk(this._items, chunkSize);\n const promises = chunks.map(chunk => this.processChunk(callback, chunk));\n await Promise.all(promises);\n }\n\n /**\n * Get the array of results collected by the worker.\n * @returns {Result[]} - An array of collected results.\n */\n get results(): Result[] {\n return this._report.results;\n }\n\n /**\n * Get the current items in the worker.\n * @returns {T[]} - An array of items in the worker.\n */\n get items(): T[] {\n return this._items;\n }\n\n /**\n * Set the items in the worker.\n * @param {T[]} items - The items to be set in the worker.\n */\n set items(items: T[]) {\n this._items = items;\n }\n\n public async resetResults(): Promise<void> {\n this._items = [];\n this._report = new Report();\n }\n\n /**\n * Internal method to process a chunk of items using the provided callback.\n * @private\n * @param callback - The callback function to process each item.\n * @param {T[]} chunk - The chunk of items to be processed.\n * @returns {Promise<void>}\n */\n private async processChunk(\n callback: ({ item, allItems, report }: CallbackParams<T>) => void | Promise<void>,\n chunk: T[]\n ): Promise<void> {\n for (const item of chunk) {\n await callback({ item, allItems: this._items, report: this._report });\n }\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,cAAc;AAChC,SAASC,kBAAkB,QAAQ,MAAM;AAczC;AACA;AACA;AACA,OAAO,MAAMC,MAAM,CAAC;EACRC,QAAQ,GAAa,EAAE;;EAE/B;AACJ;AACA;AACA;EACWC,OAAOA,CAACC,MAA8B,EAAQ;IACjD,IAAI,CAACC,SAAS,CAAC;MACX,GAAGD,MAAM;MACTE,MAAM,EAAE;IACZ,CAAC,CAAC;EACN;;EAEA;AACJ;AACA;AACA;EACWC,KAAKA,CAACH,MAA8B,EAAQ;IAC/C,IAAI,CAACC,SAAS,CAAC;MACX,GAAGD,MAAM;MACTE,MAAM,EAAE;IACZ,CAAC,CAAC;EACN;;EAEA;AACJ;AACA;AACA;EACI,IAAIE,OAAOA,CAAA,EAAa;IACpB,OAAO,IAAI,CAACN,QAAQ;EACxB;;EAEA;AACJ;AACA;AACA;AACA;EACYG,SAASA,CAACD,MAAc,EAAQ;IACpC,IAAI,CAACF,QAAQ,CAACO,IAAI,CAACL,MAAM,CAAC;EAC9B;AACJ;;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMM,MAAM,CAAI;EAInBC,WAAWA,CAAA,EAAG;IACV,IAAI,CAACC,MAAM,GAAG,EAAE;IAChB,IAAI,CAACC,OAAO,GAAG,IAAIZ,MAAM,CAAC,CAAC;IAC3BD,kBAAkB,CAAC,IAAI,CAAC;EAC5B;;EAEA;AACJ;AACA;AACA;EACWc,OAAOA,CAACC,QAA8B,EAAQ;IACjDA,QAAQ,CAAC,IAAI,CAACH,MAAM,CAAC;EACzB;;EAEA;AACJ;AACA;AACA;AACA;AACA;EACI,MAAaI,eAAeA,CACxBD,QAA0E,EAC1EE,SAAS,GAAG,EAAE,EACD;IACb,MAAMC,MAAM,GAAGnB,KAAK,CAAC,IAAI,CAACa,MAAM,EAAEK,SAAS,CAAC;IAC5C,MAAME,QAAQ,GAAGD,MAAM,CAACE,GAAG,CAACrB,KAAK,IAAI,IAAI,CAACsB,YAAY,CAACN,QAAQ,EAAEhB,KAAK,CAAC,CAAC;IACxE,MAAMuB,OAAO,CAACC,GAAG,CAACJ,QAAQ,CAAC;EAC/B;;EAEA;AACJ;AACA;AACA;EACI,IAAIX,OAAOA,CAAA,EAAa;IACpB,OAAO,IAAI,CAACK,OAAO,CAACL,OAAO;EAC/B;;EAEA;AACJ;AACA;AACA;EACI,IAAIgB,KAAKA,CAAA,EAAQ;IACb,OAAO,IAAI,CAACZ,MAAM;EACtB;;EAEA;AACJ;AACA;AACA;EACI,IAAIY,KAAKA,CAACA,KAAU,EAAE;IAClB,IAAI,CAACZ,MAAM,GAAGY,KAAK;EACvB;EAEA,MAAaC,YAAYA,CAAA,EAAkB;IACvC,IAAI,CAACb,MAAM,GAAG,EAAE;IAChB,IAAI,CAACC,OAAO,GAAG,IAAIZ,MAAM,CAAC,CAAC;EAC/B;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,MAAcoB,YAAYA,CACtBN,QAAiF,EACjFhB,KAAU,EACG;IACb,KAAK,MAAM2B,IAAI,IAAI3B,KAAK,EAAE;MACtB,MAAMgB,QAAQ,CAAC;QAAEW,IAAI;QAAEC,QAAQ,EAAE,IAAI,CAACf,MAAM;QAAEgB,MAAM,EAAE,IAAI,CAACf;MAAQ,CAAC,CAAC;IACzE;EACJ;AACJ","ignoreList":[]}
|