@webiny/app-admin 0.0.0-unstable.611c5af35e → 0.0.0-unstable.615a930a68
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/base/Admin.js +15 -1
- package/base/Admin.js.map +1 -1
- package/base/Base.js +23 -4
- package/base/Base.js.map +1 -1
- package/base/plugins/AddGraphQLQuerySelection.js +8 -0
- package/base/plugins/AddGraphQLQuerySelection.js.map +1 -1
- package/base/providers/ApolloProvider.js +5 -0
- package/base/providers/ApolloProvider.js.map +1 -1
- package/base/providers/TelemetryProvider.js +7 -1
- package/base/providers/TelemetryProvider.js.map +1 -1
- package/base/providers/UiStateProvider.js +5 -0
- package/base/providers/UiStateProvider.js.map +1 -1
- package/base/providers/ViewCompositionProvider.js +16 -3
- package/base/providers/ViewCompositionProvider.js.map +1 -1
- package/base/ui/Brand.js +4 -0
- package/base/ui/Brand.js.map +1 -1
- package/base/ui/CenteredView.js +7 -2
- package/base/ui/CenteredView.js.map +1 -1
- package/base/ui/Dashboard.js +4 -0
- package/base/ui/Dashboard.js.map +1 -1
- package/base/ui/Layout.js +6 -1
- package/base/ui/Layout.js.map +1 -1
- package/base/ui/LocaleSelector.js +4 -0
- package/base/ui/LocaleSelector.js.map +1 -1
- package/base/ui/LoginScreen.js +6 -0
- package/base/ui/LoginScreen.js.map +1 -1
- package/base/ui/Logo.js +6 -0
- package/base/ui/Logo.js.map +1 -1
- package/base/ui/Menu.js +31 -2
- package/base/ui/Menu.js.map +1 -1
- package/base/ui/Navigation.js +44 -11
- package/base/ui/Navigation.js.map +1 -1
- package/base/ui/NotFound.js +4 -0
- package/base/ui/NotFound.js.map +1 -1
- package/base/ui/Search.js +23 -5
- package/base/ui/Search.js.map +1 -1
- package/base/ui/Tags.js +8 -1
- package/base/ui/Tags.js.map +1 -1
- package/base/ui/UserMenu.js +29 -5
- package/base/ui/UserMenu.js.map +1 -1
- package/components/AdminLayout.js +6 -1
- package/components/AdminLayout.js.map +1 -1
- package/components/AppInstaller/AppInstaller.js +52 -18
- package/components/AppInstaller/AppInstaller.js.map +1 -1
- package/components/AppInstaller/Sidebar.js +32 -9
- package/components/AppInstaller/Sidebar.js.map +1 -1
- package/components/AppInstaller/index.js +7 -0
- package/components/AppInstaller/index.js.map +1 -1
- package/components/AppInstaller/styled.js +4 -0
- package/components/AppInstaller/styled.js.map +1 -1
- package/components/AppInstaller/useInstaller.js +69 -17
- package/components/AppInstaller/useInstaller.js.map +1 -1
- package/components/EmptyView.js +11 -3
- package/components/EmptyView.js.map +1 -1
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +14 -0
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +1 -1
- package/components/FileManager/BottomInfoBar/UploadStatus.js +9 -0
- package/components/FileManager/BottomInfoBar/UploadStatus.js.map +1 -1
- package/components/FileManager/BottomInfoBar.js +12 -0
- package/components/FileManager/BottomInfoBar.js.map +1 -1
- package/components/FileManager/DropFilesHere.js +12 -3
- package/components/FileManager/DropFilesHere.js.map +1 -1
- package/components/FileManager/File.js +18 -5
- package/components/FileManager/File.js.map +1 -1
- package/components/FileManager/FileDetails/Name.js +32 -4
- package/components/FileManager/FileDetails/Name.js.map +1 -1
- package/components/FileManager/FileDetails/Tags.js +77 -26
- package/components/FileManager/FileDetails/Tags.js.map +1 -1
- package/components/FileManager/FileDetails.js +146 -81
- package/components/FileManager/FileDetails.js.map +1 -1
- package/components/FileManager/FileManagerContext.js +45 -12
- package/components/FileManager/FileManagerContext.js.map +1 -1
- package/components/FileManager/FileManagerView.js +152 -45
- package/components/FileManager/FileManagerView.js.map +1 -1
- package/components/FileManager/LeftSidebar.js +29 -10
- package/components/FileManager/LeftSidebar.js.map +1 -1
- package/components/FileManager/NoPermissionView.js +13 -0
- package/components/FileManager/NoPermissionView.js.map +1 -1
- package/components/FileManager/NoResults.js +6 -0
- package/components/FileManager/NoResults.js.map +1 -1
- package/components/FileManager/getFileTypePlugin.js +15 -9
- package/components/FileManager/getFileTypePlugin.js.map +1 -1
- package/components/FileManager/getFileUploader.js +5 -0
- package/components/FileManager/getFileUploader.js.map +1 -1
- package/components/FileManager/graphql.js +14 -3
- package/components/FileManager/graphql.js.map +1 -1
- package/components/FileManager/outputFileSelectionError.js +14 -0
- package/components/FileManager/outputFileSelectionError.js.map +1 -1
- package/components/FileManager.js +43 -17
- package/components/FileManager.js.map +1 -1
- package/components/FloatingActionButton.js +6 -0
- package/components/FloatingActionButton.js.map +1 -1
- package/components/MultiImageUpload.js +10 -1
- package/components/MultiImageUpload.js.map +1 -1
- package/components/OverlayLayout/OverlayLayout.js +36 -7
- package/components/OverlayLayout/OverlayLayout.js.map +1 -1
- package/components/OverlayLayout/index.js +2 -0
- package/components/OverlayLayout/index.js.map +1 -1
- package/components/Permissions/Permissions.js +27 -16
- package/components/Permissions/Permissions.js.map +1 -1
- package/components/Permissions/StyledComponents.js +7 -0
- package/components/Permissions/StyledComponents.js.map +1 -1
- package/components/Permissions/index.js +3 -0
- package/components/Permissions/index.js.map +1 -1
- package/components/RichTextEditor/RichTextEditor.js +7 -0
- package/components/RichTextEditor/RichTextEditor.js.map +1 -1
- package/components/RichTextEditor/index.js +2 -0
- package/components/RichTextEditor/index.js.map +1 -1
- package/components/RichTextEditor/tools/header/index.js +102 -62
- package/components/RichTextEditor/tools/header/index.js.map +1 -1
- package/components/RichTextEditor/tools/image/index.js +36 -15
- package/components/RichTextEditor/tools/image/index.js.map +1 -1
- package/components/RichTextEditor/tools/image/svgs.js.map +1 -1
- package/components/RichTextEditor/tools/image/tunes.js +22 -5
- package/components/RichTextEditor/tools/image/tunes.js.map +1 -1
- package/components/RichTextEditor/tools/image/ui.js +39 -16
- package/components/RichTextEditor/tools/image/ui.js.map +1 -1
- package/components/RichTextEditor/tools/paragraph/index.js +81 -55
- package/components/RichTextEditor/tools/paragraph/index.js.map +1 -1
- package/components/RichTextEditor/tools/textColor/index.js +41 -15
- package/components/RichTextEditor/tools/textColor/index.js.map +1 -1
- package/components/RichTextEditor/tools/utils.js +2 -0
- package/components/RichTextEditor/tools/utils.js.map +1 -1
- package/components/Routes.js +13 -6
- package/components/Routes.js.map +1 -1
- package/components/SearchUI.js +11 -3
- package/components/SearchUI.js.map +1 -1
- package/components/SimpleForm/SimpleForm.js +20 -0
- package/components/SimpleForm/SimpleForm.js.map +1 -1
- package/components/SimpleForm/index.js +1 -0
- package/components/SimpleForm/index.js.map +1 -1
- package/components/SimpleUI/InputField.js +29 -13
- package/components/SimpleUI/InputField.js.map +1 -1
- package/components/SingleImageUpload.js +28 -12
- package/components/SingleImageUpload.js.map +1 -1
- package/components/SplitView/SplitView.js +20 -0
- package/components/SplitView/SplitView.js.map +1 -1
- package/components/SplitView/index.js +1 -0
- package/components/SplitView/index.js.map +1 -1
- package/components/index.js +1 -0
- package/components/index.js.map +1 -1
- package/hooks/useConfirmationDialog.js +14 -2
- package/hooks/useConfirmationDialog.js.map +1 -1
- package/hooks/useDialog.js +5 -0
- package/hooks/useDialog.js.map +1 -1
- package/hooks/useSnackbar.js +5 -0
- package/hooks/useSnackbar.js.map +1 -1
- package/index.js +48 -0
- package/index.js.map +1 -1
- package/package.json +19 -19
- package/plugins/FileManagerFileTypePlugin.js +15 -0
- package/plugins/FileManagerFileTypePlugin.js.map +1 -1
- package/plugins/MenuPlugin.js +15 -0
- package/plugins/MenuPlugin.js.map +1 -1
- package/plugins/PermissionRendererPlugin.js +15 -0
- package/plugins/PermissionRendererPlugin.js.map +1 -1
- package/plugins/fileManager/fileDefault.js +6 -0
- package/plugins/fileManager/fileDefault.js.map +1 -1
- package/plugins/fileManager/fileImage/DeleteAction.js +29 -7
- package/plugins/fileManager/fileImage/DeleteAction.js.map +1 -1
- package/plugins/fileManager/fileImage/EditAction.js +43 -9
- package/plugins/fileManager/fileImage/EditAction.js.map +1 -1
- package/plugins/fileManager/fileImage/index.js +8 -0
- package/plugins/fileManager/fileImage/index.js.map +1 -1
- package/plugins/fileManager/index.js +2 -0
- package/plugins/fileManager/index.js.map +1 -1
- package/plugins/globalSearch/SearchBar.js +51 -3
- package/plugins/globalSearch/SearchBar.js.map +1 -1
- package/plugins/globalSearch/SearchBarDropdown.js +31 -13
- package/plugins/globalSearch/SearchBarDropdown.js.map +1 -1
- package/plugins/globalSearch/index.js.map +1 -1
- package/plugins/globalSearch/styled.js +5 -1
- package/plugins/globalSearch/styled.js.map +1 -1
- package/plugins/uiLayoutRenderer/index.js +16 -2
- package/plugins/uiLayoutRenderer/index.js.map +1 -1
- package/ui/UIElement.js +1 -0
- package/ui/UIElement.js.map +1 -1
- package/ui/UILayout.js +1 -0
- package/ui/UILayout.js.map +1 -1
- package/ui/UIRenderer.js +1 -0
- package/ui/UIRenderer.js.map +1 -1
- package/ui/UIView.js +1 -0
- package/ui/UIView.js.map +1 -1
- package/ui/elements/AccordionElement.js +28 -2
- package/ui/elements/AccordionElement.js.map +1 -1
- package/ui/elements/ButtonElement.js +19 -0
- package/ui/elements/ButtonElement.js.map +1 -1
- package/ui/elements/ButtonGroupElement.js +19 -0
- package/ui/elements/ButtonGroupElement.js.map +1 -1
- package/ui/elements/GenericElement.js +2 -0
- package/ui/elements/GenericElement.js.map +1 -1
- package/ui/elements/LabelElement.js +14 -0
- package/ui/elements/LabelElement.js.map +1 -1
- package/ui/elements/NavigationMenuElement.js +36 -3
- package/ui/elements/NavigationMenuElement.js.map +1 -1
- package/ui/elements/PanelElement.js +11 -0
- package/ui/elements/PanelElement.js.map +1 -1
- package/ui/elements/PlaceholderElement.js +11 -0
- package/ui/elements/PlaceholderElement.js.map +1 -1
- package/ui/elements/SmallButtonElement.js +19 -0
- package/ui/elements/SmallButtonElement.js.map +1 -1
- package/ui/elements/TypographyElement.js +19 -0
- package/ui/elements/TypographyElement.js.map +1 -1
- package/ui/elements/ViewElement.js +2 -0
- package/ui/elements/ViewElement.js.map +1 -1
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +16 -0
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -1
- package/ui/elements/form/DynamicFieldsetElement.js +34 -11
- package/ui/elements/form/DynamicFieldsetElement.js.map +1 -1
- package/ui/elements/form/FileManagerElement/EmptyStateElement.js +15 -0
- package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -1
- package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +22 -0
- package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -1
- package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +36 -7
- package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -1
- package/ui/elements/form/FileManagerElement/styled.js +5 -0
- package/ui/elements/form/FileManagerElement/styled.js.map +1 -1
- package/ui/elements/form/FileManagerElement.js +20 -0
- package/ui/elements/form/FileManagerElement.js.map +1 -1
- package/ui/elements/form/FormElement.js +21 -0
- package/ui/elements/form/FormElement.js.map +1 -1
- package/ui/elements/form/FormFieldElement.js +33 -0
- package/ui/elements/form/FormFieldElement.js.map +1 -1
- package/ui/elements/form/HiddenElement.js +17 -0
- package/ui/elements/form/HiddenElement.js.map +1 -1
- package/ui/elements/form/InputElement.js +18 -0
- package/ui/elements/form/InputElement.js.map +1 -1
- package/ui/elements/form/PasswordElement.js +15 -0
- package/ui/elements/form/PasswordElement.js.map +1 -1
- package/ui/elements/form/SelectElement.js +19 -1
- package/ui/elements/form/SelectElement.js.map +1 -1
- package/ui/elements/form/TextareaElement.js +17 -0
- package/ui/elements/form/TextareaElement.js.map +1 -1
- package/ui/views/AdminView/ContentElement.js +25 -1
- package/ui/views/AdminView/ContentElement.js.map +1 -1
- package/ui/views/AdminView/HeaderElement.js +40 -0
- package/ui/views/AdminView/HeaderElement.js.map +1 -1
- package/ui/views/AdminView/HeaderSectionCenterElement.js +20 -0
- package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -1
- package/ui/views/AdminView/HeaderSectionLeftElement.js +20 -0
- package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -1
- package/ui/views/AdminView/HeaderSectionRightElement.js +20 -0
- package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -1
- package/ui/views/AdminView/components/Dialog.js +21 -10
- package/ui/views/AdminView/components/Dialog.js.map +1 -1
- package/ui/views/AdminView/components/Hamburger.js +8 -0
- package/ui/views/AdminView/components/Hamburger.js.map +1 -1
- package/ui/views/AdminView/components/Snackbar.js +9 -0
- package/ui/views/AdminView/components/Snackbar.js.map +1 -1
- package/ui/views/FormView/FormContainerElement.js +21 -0
- package/ui/views/FormView/FormContainerElement.js.map +1 -1
- package/ui/views/FormView/FormContentElement.js +11 -0
- package/ui/views/FormView/FormContentElement.js.map +1 -1
- package/ui/views/FormView/FormFooterElement.js +19 -0
- package/ui/views/FormView/FormFooterElement.js.map +1 -1
- package/ui/views/FormView/FormHeaderElement.js +24 -2
- package/ui/views/FormView/FormHeaderElement.js.map +1 -1
- package/ui/views/FormView.js +41 -0
- package/ui/views/FormView.js.map +1 -1
- package/ui/views/OverlayView/ContentElement.js +19 -0
- package/ui/views/OverlayView/ContentElement.js.map +1 -1
- package/ui/views/OverlayView/HeaderElement.js +25 -3
- package/ui/views/OverlayView/HeaderElement.js.map +1 -1
- package/ui/views/OverlayView/HeaderTitleElement.js +22 -0
- package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -1
- package/ui/views/OverlayView/useOverlayView.js +13 -3
- package/ui/views/OverlayView/useOverlayView.js.map +1 -1
- package/ui/views/OverlayView.js +37 -3
- package/ui/views/OverlayView.js.map +1 -1
- package/ui/views/SplitView/SplitViewPanelElement.js +22 -2
- package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -1
- package/ui/views/SplitView.js +40 -0
- package/ui/views/SplitView.js.map +1 -1
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.installerSplitView = exports.alertClass = exports.Wrapper = exports.SuccessDialog = exports.InstallContent = exports.InnerContent = void 0;
|
|
9
|
+
|
|
8
10
|
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
11
|
+
|
|
9
12
|
var _emotion = require("emotion");
|
|
13
|
+
|
|
10
14
|
var Wrapper = /*#__PURE__*/(0, _styled.default)("section", {
|
|
11
15
|
target: "e1l7r4wj0",
|
|
12
16
|
label: "Wrapper"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Wrapper","styled","display","flexDirection","justifyContent","minHeight","color","whiteSpace","ul","listStyle","paddingLeft","li","MozOsxFontSmoothing","WebkitFontSmoothing","fontSize","lineHeight","fontWeight","letterSpacing","textDecoration","textTransform","marginTop","marginBottom","InstallContent","maxWidth","margin","borderRadius","boxShadow","installerSplitView","css","height","SuccessDialog","padding","textAlign","p","paddingBottom","InnerContent","position","alertClass","borderLeft"],"sources":["styled.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { css } from \"emotion\";\n\nexport const Wrapper = styled(\"section\")({\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n minHeight: \"100vh\",\n color: \"var(--mdc-theme-on-surface)\",\n \".spinner__inner-wrapper\": {\n whiteSpace: \"nowrap\"\n },\n ul: {\n listStyle: \"disc\",\n paddingLeft: \"var(--mdc-layout-grid-margin-desktop, 24px)\",\n li: {\n color: \"var(--desktop-color, var(--webiny-theme-color-text-primary, rgb(10, 10, 10)))\",\n MozOsxFontSmoothing: \"grayscale\",\n WebkitFontSmoothing: \"antialiased\",\n fontSize: \"1rem\",\n lineHeight: \"1.5rem\",\n fontWeight: 400,\n letterSpacing: \"0.03125em\",\n textDecoration: \"inherit\",\n textTransform: \"inherit\",\n marginTop: \"20px\",\n marginBottom: \"20px\"\n }\n }\n});\n\nexport const InstallContent = styled(\"div\")({\n maxWidth: 800,\n margin: \"0 auto 25px auto\",\n \".mdc-elevation--z2\": {\n borderRadius: 4,\n boxShadow: \"0 1px 3px 0 rgba(0,0,0,0.15)\"\n }\n});\n\nexport const installerSplitView = css({\n // height: \"100vh\",\n \".webiny-split-view__inner\": {\n height: \"100vh\"\n },\n \".webiny-split-view__right-panel-wrapper\": {\n height: \"100vh\"\n }\n});\n\nexport const SuccessDialog = styled(\"div\")({\n padding: 40,\n textAlign: \"center\",\n p: {\n paddingBottom: 40\n }\n});\n\nexport const InnerContent = styled(\"div\")({\n padding: 25,\n position: \"relative\"\n});\n\nexport const alertClass = css({\n borderLeft: \"3px solid red\",\n margin: \"5px 0 15px 0\",\n padding: \"2px 0 2px 10px\"\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["Wrapper","styled","display","flexDirection","justifyContent","minHeight","color","whiteSpace","ul","listStyle","paddingLeft","li","MozOsxFontSmoothing","WebkitFontSmoothing","fontSize","lineHeight","fontWeight","letterSpacing","textDecoration","textTransform","marginTop","marginBottom","InstallContent","maxWidth","margin","borderRadius","boxShadow","installerSplitView","css","height","SuccessDialog","padding","textAlign","p","paddingBottom","InnerContent","position","alertClass","borderLeft"],"sources":["styled.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { css } from \"emotion\";\n\nexport const Wrapper = styled(\"section\")({\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n minHeight: \"100vh\",\n color: \"var(--mdc-theme-on-surface)\",\n \".spinner__inner-wrapper\": {\n whiteSpace: \"nowrap\"\n },\n ul: {\n listStyle: \"disc\",\n paddingLeft: \"var(--mdc-layout-grid-margin-desktop, 24px)\",\n li: {\n color: \"var(--desktop-color, var(--webiny-theme-color-text-primary, rgb(10, 10, 10)))\",\n MozOsxFontSmoothing: \"grayscale\",\n WebkitFontSmoothing: \"antialiased\",\n fontSize: \"1rem\",\n lineHeight: \"1.5rem\",\n fontWeight: 400,\n letterSpacing: \"0.03125em\",\n textDecoration: \"inherit\",\n textTransform: \"inherit\",\n marginTop: \"20px\",\n marginBottom: \"20px\"\n }\n }\n});\n\nexport const InstallContent = styled(\"div\")({\n maxWidth: 800,\n margin: \"0 auto 25px auto\",\n \".mdc-elevation--z2\": {\n borderRadius: 4,\n boxShadow: \"0 1px 3px 0 rgba(0,0,0,0.15)\"\n }\n});\n\nexport const installerSplitView = css({\n // height: \"100vh\",\n \".webiny-split-view__inner\": {\n height: \"100vh\"\n },\n \".webiny-split-view__right-panel-wrapper\": {\n height: \"100vh\"\n }\n});\n\nexport const SuccessDialog = styled(\"div\")({\n padding: 40,\n textAlign: \"center\",\n p: {\n paddingBottom: 40\n }\n});\n\nexport const InnerContent = styled(\"div\")({\n padding: 25,\n position: \"relative\"\n});\n\nexport const alertClass = css({\n borderLeft: \"3px solid red\",\n margin: \"5px 0 15px 0\",\n padding: \"2px 0 2px 10px\"\n});\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEO,IAAMA,OAAO,oBAAGC,eAAH,EAAU,SAAV;EAAA;EAAA;AAAA,GAAqB;EACrCC,OAAO,EAAE,MAD4B;EAErCC,aAAa,EAAE,QAFsB;EAGrCC,cAAc,EAAE,QAHqB;EAIrCC,SAAS,EAAE,OAJ0B;EAKrCC,KAAK,EAAE,6BAL8B;EAMrC,2BAA2B;IACvBC,UAAU,EAAE;EADW,CANU;EASrCC,EAAE,EAAE;IACAC,SAAS,EAAE,MADX;IAEAC,WAAW,EAAE,6CAFb;IAGAC,EAAE,EAAE;MACAL,KAAK,EAAE,+EADP;MAEAM,mBAAmB,EAAE,WAFrB;MAGAC,mBAAmB,EAAE,aAHrB;MAIAC,QAAQ,EAAE,MAJV;MAKAC,UAAU,EAAE,QALZ;MAMAC,UAAU,EAAE,GANZ;MAOAC,aAAa,EAAE,WAPf;MAQAC,cAAc,EAAE,SARhB;MASAC,aAAa,EAAE,SATf;MAUAC,SAAS,EAAE,MAVX;MAWAC,YAAY,EAAE;IAXd;EAHJ;AATiC,CAArB,CAAb;;AA4BA,IAAMC,cAAc,oBAAGrB,eAAH,EAAU,KAAV;EAAA;EAAA;AAAA,GAAiB;EACxCsB,QAAQ,EAAE,GAD8B;EAExCC,MAAM,EAAE,kBAFgC;EAGxC,sBAAsB;IAClBC,YAAY,EAAE,CADI;IAElBC,SAAS,EAAE;EAFO;AAHkB,CAAjB,CAApB;;AASA,IAAMC,kBAAkB,gBAAG,IAAAC,YAAA,EAAI;EAClC;EACA,6BAA6B;IACzBC,MAAM,EAAE;EADiB,CAFK;EAKlC,2CAA2C;IACvCA,MAAM,EAAE;EAD+B;AALT,CAAJ,8BAA3B;;AAUA,IAAMC,aAAa,oBAAG7B,eAAH,EAAU,KAAV;EAAA;EAAA;AAAA,GAAiB;EACvC8B,OAAO,EAAE,EAD8B;EAEvCC,SAAS,EAAE,QAF4B;EAGvCC,CAAC,EAAE;IACCC,aAAa,EAAE;EADhB;AAHoC,CAAjB,CAAnB;;AAQA,IAAMC,YAAY,oBAAGlC,eAAH,EAAU,KAAV;EAAA;EAAA;AAAA,GAAiB;EACtC8B,OAAO,EAAE,EAD6B;EAEtCK,QAAQ,EAAE;AAF4B,CAAjB,CAAlB;;AAKA,IAAMC,UAAU,gBAAG,IAAAT,YAAA,EAAI;EAC1BU,UAAU,EAAE,eADc;EAE1Bd,MAAM,EAAE,cAFkB;EAG1BO,OAAO,EAAE;AAHiB,CAAJ,sBAAnB"}
|
|
@@ -1,60 +1,84 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
4
5
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
10
|
exports.useInstaller = void 0;
|
|
11
|
+
|
|
9
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
+
|
|
10
14
|
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
15
|
+
|
|
11
16
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
17
|
+
|
|
12
18
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
19
|
+
|
|
13
20
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
21
|
+
|
|
14
22
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
23
|
+
|
|
15
24
|
var _react = _interopRequireWildcard(require("react"));
|
|
25
|
+
|
|
16
26
|
var _graphlib = require("graphlib");
|
|
27
|
+
|
|
17
28
|
var _semver = require("semver");
|
|
29
|
+
|
|
18
30
|
var _reactHooks = require("@apollo/react-hooks");
|
|
31
|
+
|
|
19
32
|
var _plugins = require("@webiny/plugins");
|
|
33
|
+
|
|
20
34
|
var _Progress = require("@webiny/ui/Progress");
|
|
35
|
+
|
|
21
36
|
var _config = require("@webiny/app/config");
|
|
37
|
+
|
|
22
38
|
var _excluded = ["children"];
|
|
39
|
+
|
|
23
40
|
var Loader = function Loader(_ref) {
|
|
24
41
|
var children = _ref.children,
|
|
25
|
-
|
|
42
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
26
43
|
return /*#__PURE__*/_react.default.createElement(_react.Suspense, {
|
|
27
44
|
fallback: /*#__PURE__*/_react.default.createElement(_Progress.CircularProgress, {
|
|
28
45
|
label: "Loading..."
|
|
29
46
|
})
|
|
30
47
|
}, /*#__PURE__*/_react.default.cloneElement(children, props));
|
|
31
48
|
};
|
|
49
|
+
|
|
32
50
|
var useInstaller = function useInstaller(params) {
|
|
33
51
|
var isInstalled = params.isInstalled;
|
|
52
|
+
|
|
34
53
|
var _useReducer = (0, _react.useReducer)(function (prev, next) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
54
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), next);
|
|
55
|
+
}, {
|
|
56
|
+
loading: true,
|
|
57
|
+
installers: [],
|
|
58
|
+
installerIndex: -1,
|
|
59
|
+
showLogin: false,
|
|
60
|
+
skippingVersions: null
|
|
61
|
+
}),
|
|
62
|
+
_useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
|
|
63
|
+
state = _useReducer2[0],
|
|
64
|
+
setState = _useReducer2[1];
|
|
65
|
+
|
|
46
66
|
var loading = state.loading,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
67
|
+
installers = state.installers,
|
|
68
|
+
installerIndex = state.installerIndex,
|
|
69
|
+
showLogin = state.showLogin,
|
|
70
|
+
skippingVersions = state.skippingVersions;
|
|
51
71
|
var client = (0, _reactHooks.useApolloClient)();
|
|
72
|
+
|
|
52
73
|
var validateGraph = function validateGraph(graph) {
|
|
53
74
|
var isAcyclic = _graphlib.alg.isAcyclic(graph);
|
|
75
|
+
|
|
54
76
|
if (isAcyclic) {
|
|
55
77
|
return;
|
|
56
78
|
}
|
|
79
|
+
|
|
57
80
|
var cycles = _graphlib.alg.findCycles(graph);
|
|
81
|
+
|
|
58
82
|
var msg = ["Your installers have circular dependencies:"];
|
|
59
83
|
cycles.forEach(function (cycle, index) {
|
|
60
84
|
var fromAToB = cycle.join(" --> ");
|
|
@@ -66,6 +90,7 @@ var useInstaller = function useInstaller(params) {
|
|
|
66
90
|
}, cycles);
|
|
67
91
|
throw new Error(msg.join("\n"));
|
|
68
92
|
};
|
|
93
|
+
|
|
69
94
|
var createGraph = function createGraph(installers) {
|
|
70
95
|
var graph = new _graphlib.Graph();
|
|
71
96
|
installers.forEach(function (_ref2) {
|
|
@@ -74,6 +99,7 @@ var useInstaller = function useInstaller(params) {
|
|
|
74
99
|
});
|
|
75
100
|
installers.forEach(function (_ref3) {
|
|
76
101
|
var pl = _ref3.plugin;
|
|
102
|
+
|
|
77
103
|
if (Array.isArray(pl.dependencies)) {
|
|
78
104
|
pl.dependencies.forEach(function (dep) {
|
|
79
105
|
graph.setEdge(pl.name, dep);
|
|
@@ -83,18 +109,23 @@ var useInstaller = function useInstaller(params) {
|
|
|
83
109
|
validateGraph(graph);
|
|
84
110
|
return graph;
|
|
85
111
|
};
|
|
112
|
+
|
|
86
113
|
var getInstallers = (0, _react.useCallback)(function (installers, graph) {
|
|
87
114
|
var toInstall = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
88
115
|
var toUpgrade = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
89
116
|
var leaf = graph.sinks()[0];
|
|
117
|
+
|
|
90
118
|
if (leaf) {
|
|
91
119
|
var installer = installers.find(function (inst) {
|
|
92
120
|
return inst.plugin.name === leaf;
|
|
93
121
|
});
|
|
122
|
+
|
|
94
123
|
if (!installer) {
|
|
95
124
|
throw new Error("Missing installer plugin \"".concat(leaf, "\"!"));
|
|
96
125
|
}
|
|
126
|
+
|
|
97
127
|
graph.removeNode(leaf);
|
|
128
|
+
|
|
98
129
|
if (!installer.installed) {
|
|
99
130
|
toInstall.push({
|
|
100
131
|
type: "install",
|
|
@@ -107,11 +138,13 @@ var useInstaller = function useInstaller(params) {
|
|
|
107
138
|
});
|
|
108
139
|
} else {
|
|
109
140
|
var wbyVersion = _config.config.getKey("WEBINY_VERSION", process.env.REACT_APP_WEBINY_VERSION);
|
|
141
|
+
|
|
110
142
|
var upgrades = (installer.plugin.upgrades || []).filter(function (_ref4) {
|
|
111
143
|
var version = _ref4.version;
|
|
112
144
|
// TODO use coerce
|
|
113
145
|
return (0, _semver.lte)(version, wbyVersion) && (0, _semver.gt)(version, installer.installed || "");
|
|
114
146
|
});
|
|
147
|
+
|
|
115
148
|
if (upgrades.length > 1) {
|
|
116
149
|
var availableUpgrades = (0, _semver.sort)(upgrades.map(function (u) {
|
|
117
150
|
return u.version;
|
|
@@ -142,14 +175,17 @@ var useInstaller = function useInstaller(params) {
|
|
|
142
175
|
});
|
|
143
176
|
}
|
|
144
177
|
}
|
|
178
|
+
|
|
145
179
|
return getInstallers(installers, graph, toInstall, toUpgrade);
|
|
146
180
|
}
|
|
181
|
+
|
|
147
182
|
toInstall.sort(function (a, b) {
|
|
148
183
|
if (a.secure && !b.secure) {
|
|
149
184
|
return 1;
|
|
150
185
|
} else if (!a.secure && b.secure) {
|
|
151
186
|
return -1;
|
|
152
187
|
}
|
|
188
|
+
|
|
153
189
|
return 0;
|
|
154
190
|
});
|
|
155
191
|
return {
|
|
@@ -157,43 +193,51 @@ var useInstaller = function useInstaller(params) {
|
|
|
157
193
|
toUpgrade: toUpgrade
|
|
158
194
|
};
|
|
159
195
|
}, []);
|
|
196
|
+
|
|
160
197
|
var onUser = function onUser() {
|
|
161
198
|
setState({
|
|
162
199
|
showLogin: false
|
|
163
200
|
});
|
|
164
201
|
};
|
|
165
|
-
|
|
166
202
|
/**
|
|
167
203
|
* If set to anything else, it breaks in AppInstaller.tsx
|
|
168
204
|
*/
|
|
205
|
+
|
|
206
|
+
|
|
169
207
|
var showNextInstaller = function showNextInstaller() {
|
|
170
208
|
var prevInstaller = installers[installerIndex];
|
|
171
209
|
installers[installerIndex].installed = _config.config.getKey("WEBINY_VERSION", process.env.REACT_APP_WEBINY_VERSION);
|
|
172
210
|
setState({
|
|
173
211
|
installers: installers
|
|
174
212
|
});
|
|
213
|
+
|
|
175
214
|
if (installers.length < installerIndex + 1) {
|
|
176
215
|
setState({
|
|
177
216
|
installerIndex: undefined
|
|
178
217
|
});
|
|
179
218
|
return;
|
|
180
219
|
}
|
|
220
|
+
|
|
181
221
|
var nextIndex = installerIndex + 1;
|
|
182
222
|
var showLogin = false;
|
|
183
223
|
var nextInstaller = installers[nextIndex];
|
|
184
224
|
var prevSecure = prevInstaller && prevInstaller.secure;
|
|
185
225
|
var nextSecure = nextInstaller && nextInstaller.secure;
|
|
226
|
+
|
|
186
227
|
if (!prevSecure && nextSecure) {
|
|
187
228
|
showLogin = true;
|
|
188
229
|
}
|
|
230
|
+
|
|
189
231
|
setState({
|
|
190
232
|
installerIndex: nextIndex,
|
|
191
233
|
showLogin: showLogin
|
|
192
234
|
});
|
|
193
235
|
};
|
|
236
|
+
|
|
194
237
|
(0, _react.useEffect)(function () {
|
|
195
238
|
(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2() {
|
|
196
239
|
var allInstallers, graph, _getInstallers, toInstall, toUpgrade, installers;
|
|
240
|
+
|
|
197
241
|
return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
|
|
198
242
|
while (1) {
|
|
199
243
|
switch (_context2.prev = _context2.next) {
|
|
@@ -202,7 +246,9 @@ var useInstaller = function useInstaller(params) {
|
|
|
202
246
|
_context2.next = 2;
|
|
203
247
|
break;
|
|
204
248
|
}
|
|
249
|
+
|
|
205
250
|
return _context2.abrupt("return");
|
|
251
|
+
|
|
206
252
|
case 2:
|
|
207
253
|
allInstallers = [];
|
|
208
254
|
_context2.next = 5;
|
|
@@ -217,12 +263,14 @@ var useInstaller = function useInstaller(params) {
|
|
|
217
263
|
return pl.getInstalledVersion({
|
|
218
264
|
client: client
|
|
219
265
|
});
|
|
266
|
+
|
|
220
267
|
case 2:
|
|
221
268
|
installed = _context.sent;
|
|
222
269
|
allInstallers.push({
|
|
223
270
|
plugin: pl,
|
|
224
271
|
installed: installed
|
|
225
272
|
});
|
|
273
|
+
|
|
226
274
|
case 4:
|
|
227
275
|
case "end":
|
|
228
276
|
return _context.stop();
|
|
@@ -230,10 +278,12 @@ var useInstaller = function useInstaller(params) {
|
|
|
230
278
|
}
|
|
231
279
|
}, _callee);
|
|
232
280
|
}));
|
|
281
|
+
|
|
233
282
|
return function (_x) {
|
|
234
283
|
return _ref7.apply(this, arguments);
|
|
235
284
|
};
|
|
236
285
|
}()));
|
|
286
|
+
|
|
237
287
|
case 5:
|
|
238
288
|
graph = createGraph(allInstallers);
|
|
239
289
|
_getInstallers = getInstallers(allInstallers, graph), toInstall = _getInstallers.toInstall, toUpgrade = _getInstallers.toUpgrade;
|
|
@@ -244,6 +294,7 @@ var useInstaller = function useInstaller(params) {
|
|
|
244
294
|
loading: false,
|
|
245
295
|
showLogin: toUpgrade.length > 0 || toInstall.length > 0 && toInstall[0].secure
|
|
246
296
|
});
|
|
297
|
+
|
|
247
298
|
case 9:
|
|
248
299
|
case "end":
|
|
249
300
|
return _context2.stop();
|
|
@@ -266,4 +317,5 @@ var useInstaller = function useInstaller(params) {
|
|
|
266
317
|
skippingVersions: skippingVersions
|
|
267
318
|
};
|
|
268
319
|
};
|
|
320
|
+
|
|
269
321
|
exports.useInstaller = useInstaller;
|
|
@@ -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":["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":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;;AAEA,IAAMA,MAAkD,GAAG,SAArDA,MAAqD;EAAA,IAAGC,QAAH,QAAGA,QAAH;EAAA,IAAgBC,KAAhB;EAAA,oBACvD,6BAAC,eAAD;IAAU,QAAQ,eAAE,6BAAC,0BAAD;MAAkB,KAAK,EAAE;IAAzB;EAApB,gBACKC,cAAA,CAAMC,YAAN,CAAmBH,QAAnB,EAA6BC,KAA7B,CADL,CADuD;AAAA,CAA3D;;AA6CO,IAAMG,YAAY,GAAG,SAAfA,YAAe,CAACC,MAAD,EAAgC;EACxD,IAAQC,WAAR,GAAwBD,MAAxB,CAAQC,WAAR;;EACA,kBAA0B,IAAAC,iBAAA,EAAoB,UAACC,IAAD,EAAOC,IAAP;IAAA,mEAAsBD,IAAtB,GAA+BC,IAA/B;EAAA,CAApB,EAA4D;IAClFC,OAAO,EAAE,IADyE;IAElFC,UAAU,EAAE,EAFsE;IAGlFC,cAAc,EAAE,CAAC,CAHiE;IAIlFC,SAAS,EAAE,KAJuE;IAKlFC,gBAAgB,EAAE;EALgE,CAA5D,CAA1B;EAAA;EAAA,IAAOC,KAAP;EAAA,IAAcC,QAAd;;EAOA,IAAQN,OAAR,GAA6EK,KAA7E,CAAQL,OAAR;EAAA,IAAiBC,UAAjB,GAA6EI,KAA7E,CAAiBJ,UAAjB;EAAA,IAA6BC,cAA7B,GAA6EG,KAA7E,CAA6BH,cAA7B;EAAA,IAA6CC,SAA7C,GAA6EE,KAA7E,CAA6CF,SAA7C;EAAA,IAAwDC,gBAAxD,GAA6EC,KAA7E,CAAwDD,gBAAxD;EAEA,IAAMG,MAAM,GAAG,IAAAC,2BAAA,GAAf;;EAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD,EAAwB;IAC1C,IAAMC,SAAS,GAAGC,aAAA,CAAID,SAAJ,CAAcD,KAAd,CAAlB;;IACA,IAAIC,SAAJ,EAAe;MACX;IACH;;IACD,IAAME,MAAM,GAAGD,aAAA,CAAIE,UAAJ,CAAeJ,KAAf,CAAf;;IACA,IAAMK,GAAG,GAAG,CAAC,6CAAD,CAAZ;IACAF,MAAM,CAACG,OAAP,CAAe,UAACC,KAAD,EAAQC,KAAR,EAAkB;MAC7B,IAAIC,QAAQ,GAAGF,KAAK,CAACG,IAAN,CAAW,OAAX,CAAf;MACAD,QAAQ,aAAMD,KAAK,GAAG,CAAd,eAAoBC,QAApB,CAAR;MACA,IAAME,QAAQ,GAAGJ,KAAK,CAACK,OAAN,GAAgBF,IAAhB,CAAqB,OAArB,CAAjB;MACA,IAAMG,SAAS,GAAGJ,QAAQ,CAACK,MAAT,GAAkB,CAApC;MACAT,GAAG,CAACU,IAAJ,CAASN,QAAQ,CAACO,QAAT,CAAkBH,SAAlB,CAAT;MACAR,GAAG,CAACU,IAAJ,CAASJ,QAAQ,CAACK,QAAT,CAAkBH,SAAlB,CAAT;IACH,CAPD,EAOGV,MAPH;IAQA,MAAM,IAAIc,KAAJ,CAAUZ,GAAG,CAACK,IAAJ,CAAS,IAAT,CAAV,CAAN;EACH,CAhBD;;EAkBA,IAAMQ,WAAW,GAAG,SAAdA,WAAc,CAAC3B,UAAD,EAAwC;IACxD,IAAMS,KAAK,GAAG,IAAImB,eAAJ,EAAd;IACA5B,UAAU,CAACe,OAAX,CAAmB,iBAAgB;MAAA,IAAbc,MAAa,SAAbA,MAAa;MAC/BpB,KAAK,CAACqB,OAAN,CAAcD,MAAM,CAACE,IAArB,EAAqCF,MAArC;IACH,CAFD;IAIA7B,UAAU,CAACe,OAAX,CAAmB,iBAAoB;MAAA,IAATiB,EAAS,SAAjBH,MAAiB;;MACnC,IAAII,KAAK,CAACC,OAAN,CAAcF,EAAE,CAACG,YAAjB,CAAJ,EAAoC;QAChCH,EAAE,CAACG,YAAH,CAAgBpB,OAAhB,CAAwB,UAAAqB,GAAG,EAAI;UAC3B3B,KAAK,CAAC4B,OAAN,CAAcL,EAAE,CAACD,IAAjB,EAAiCK,GAAjC;QACH,CAFD;MAGH;IACJ,CAND;IAQA5B,aAAa,CAACC,KAAD,CAAb;IAEA,OAAOA,KAAP;EACH,CAjBD;;EAmBA,IAAM6B,aAAa,GAAG,IAAAC,kBAAA,EAClB,UACIvC,UADJ,EAEIS,KAFJ,EAK0B;IAAA,IAFtB+B,SAEsB,uEAFG,EAEH;IAAA,IADtBC,SACsB,uEADG,EACH;IACtB,IAAMC,IAAI,GAAGjC,KAAK,CAACkC,KAAN,GAAc,CAAd,CAAb;;IACA,IAAID,IAAJ,EAAU;MACN,IAAME,SAAS,GAAG5C,UAAU,CAAC6C,IAAX,CAAgB,UAAAC,IAAI;QAAA,OAAIA,IAAI,CAACjB,MAAL,CAAYE,IAAZ,KAAqBW,IAAzB;MAAA,CAApB,CAAlB;;MACA,IAAI,CAACE,SAAL,EAAgB;QACZ,MAAM,IAAIlB,KAAJ,sCAAuCgB,IAAvC,SAAN;MACH;;MAEDjC,KAAK,CAACsC,UAAN,CAAiBL,IAAjB;;MACA,IAAI,CAACE,SAAS,CAACI,SAAf,EAA0B;QACtBR,SAAS,CAAChB,IAAV,CAAe;UACXyB,IAAI,EAAE,SADK;UAEXlB,IAAI,YAAKa,SAAS,CAACf,MAAV,CAAiBE,IAAtB,aAFO;UAGXmB,KAAK,EAAEN,SAAS,CAACf,MAAV,CAAiBqB,KAHb;UAIXC,MAAM,EAAEP,SAAS,CAACf,MAAV,CAAiBsB,MAJd;UAKXC,MAAM,EAAER,SAAS,CAACf,MAAV,CAAiBuB,MALd;UAMXJ,SAAS,EAAE,IANA;UAOXnB,MAAM,EAAEe,SAAS,CAACf;QAPP,CAAf;MASH,CAVD,MAUO;QACH,IAAMwB,UAAU,GAAGC,cAAA,CAAUC,MAAV,CACf,gBADe,EAEfC,OAAO,CAACC,GAAR,CAAYC,wBAFG,CAAnB;;QAKA,IAAMC,QAAQ,GAAG,CAACf,SAAS,CAACf,MAAV,CAAiB8B,QAAjB,IAA6B,EAA9B,EAAkCC,MAAlC,CAAyC,iBAAiB;UAAA,IAAdC,OAAc,SAAdA,OAAc;UACvE;UACA,OAAO,IAAAC,WAAA,EAAID,OAAJ,EAAaR,UAAb,KAA4B,IAAAU,UAAA,EAAGF,OAAH,EAAYjB,SAAS,CAACI,SAAV,IAAuB,EAAnC,CAAnC;QACH,CAHgB,CAAjB;;QAKA,IAAIW,QAAQ,CAACpC,MAAT,GAAkB,CAAtB,EAAyB;UACrB,IAAMyC,iBAAiB,GAAG,IAAAC,YAAA,EAAKN,QAAQ,CAACO,GAAT,CAAa,UAAAC,CAAC;YAAA,OAAIA,CAAC,CAACN,OAAN;UAAA,CAAd,CAAL,CAA1B;UACA,IAAMO,aAAa,GAAGJ,iBAAiB,CAACA,iBAAiB,CAACzC,MAAlB,GAA2B,CAA5B,CAAvC;UACAlB,QAAQ,CAAC;YACLF,gBAAgB,EAAE;cACdkE,OAAO,EAAEzB,SAAS,CAACI,SADL;cAEdsB,MAAM,EAAEF,aAFM;cAGdJ,iBAAiB,EAAjBA;YAHc;UADb,CAAD,CAAR;QAOH,CAVD,MAUO,IAAIL,QAAQ,CAACpC,MAAT,KAAoB,CAAxB,EAA2B;UAC9BkB,SAAS,CAACjB,IAAV,CAAe;YACXyB,IAAI,EAAE,SADK;YAEXlB,IAAI,YAAKa,SAAS,CAACf,MAAV,CAAiBE,IAAtB,aAFO;YAGXmB,KAAK,EAAEN,SAAS,CAACf,MAAV,CAAiBqB,KAHb;YAIXE,MAAM,EAAE,IAJG;YAKXJ,SAAS,EAAE,IALA;YAMXnB,MAAM,EAAEe,SAAS,CAACf,MANP;YAOXsB,MAPW,yBAOa;cAAA,IAAfoB,WAAe,SAAfA,WAAe;cACpB,IAAMC,SAAS,GAAGb,QAAQ,CAAC,CAAD,CAAR,CAAYc,YAAZ,EAAlB;cACA,oBACI,6BAAC,MAAD,qBACI,6BAAC,SAAD;gBAAW,WAAW,EAAEF;cAAxB,EADJ,CADJ;YAKH;UAdU,CAAf;QAgBH;MACJ;;MACD,OAAOjC,aAAa,CAACtC,UAAD,EAAaS,KAAb,EAAoB+B,SAApB,EAA+BC,SAA/B,CAApB;IACH;;IACDD,SAAS,CAACyB,IAAV,CAAe,UAACS,CAAD,EAAIC,CAAJ,EAAU;MACrB,IAAID,CAAC,CAACtB,MAAF,IAAY,CAACuB,CAAC,CAACvB,MAAnB,EAA2B;QACvB,OAAO,CAAP;MACH,CAFD,MAEO,IAAI,CAACsB,CAAC,CAACtB,MAAH,IAAauB,CAAC,CAACvB,MAAnB,EAA2B;QAC9B,OAAO,CAAC,CAAR;MACH;;MACD,OAAO,CAAP;IACH,CAPD;IAQA,OAAO;MAAEZ,SAAS,EAATA,SAAF;MAAaC,SAAS,EAATA;IAAb,CAAP;EACH,CA5EiB,EA6ElB,EA7EkB,CAAtB;;EAgFA,IAAMmC,MAAM,GAAG,SAATA,MAAS,GAAM;IACjBvE,QAAQ,CAAC;MAAEH,SAAS,EAAE;IAAb,CAAD,CAAR;EACH,CAFD;EAIA;AACJ;AACA;;;EACI,IAAM2E,iBAAiB,GAAG,SAApBA,iBAAoB,GAAW;IACjC,IAAMC,aAAa,GAAG9E,UAAU,CAACC,cAAD,CAAhC;IAEAD,UAAU,CAACC,cAAD,CAAV,CAA2B+C,SAA3B,GAAuCM,cAAA,CAAUC,MAAV,CACnC,gBADmC,EAEnCC,OAAO,CAACC,GAAR,CAAYC,wBAFuB,CAAvC;IAIArD,QAAQ,CAAC;MAAEL,UAAU,EAAVA;IAAF,CAAD,CAAR;;IAEA,IAAIA,UAAU,CAACuB,MAAX,GAAoBtB,cAAc,GAAG,CAAzC,EAA4C;MACxCI,QAAQ,CAAC;QAAEJ,cAAc,EAAE8E;MAAlB,CAAD,CAAR;MACA;IACH;;IAED,IAAMC,SAAS,GAAG/E,cAAc,GAAG,CAAnC;IAEA,IAAIC,SAAS,GAAG,KAAhB;IACA,IAAM+E,aAAa,GAAGjF,UAAU,CAACgF,SAAD,CAAhC;IAEA,IAAME,UAAU,GAAGJ,aAAa,IAAIA,aAAa,CAAC1B,MAAlD;IACA,IAAM+B,UAAU,GAAGF,aAAa,IAAIA,aAAa,CAAC7B,MAAlD;;IACA,IAAI,CAAC8B,UAAD,IAAeC,UAAnB,EAA+B;MAC3BjF,SAAS,GAAG,IAAZ;IACH;;IACDG,QAAQ,CAAC;MAAEJ,cAAc,EAAE+E,SAAlB;MAA6B9E,SAAS,EAATA;IAA7B,CAAD,CAAR;EACH,CAzBD;;EA2BA,IAAAkF,gBAAA,EAAU,YAAM;IACZ,uFAAC;MAAA;;MAAA;QAAA;UAAA;YAAA;cAAA,KACOzF,WADP;gBAAA;gBAAA;cAAA;;cAAA;;YAAA;cAKS0F,aALT,GAK0C,EAL1C;cAAA;cAAA,OAMSC,OAAO,CAACC,GAAR,CACFC,gBAAA,CAAQC,MAAR,CAAwC,oBAAxC,EAA8DvB,GAA9D;gBAAA,mGAAkE,iBAAMlC,EAAN;kBAAA;kBAAA;oBAAA;sBAAA;wBAAA;0BAAA;0BAAA,OACtCA,EAAE,CAAC0D,mBAAH,CAAuB;4BAAEpF,MAAM,EAANA;0BAAF,CAAvB,CADsC;;wBAAA;0BACxD0C,SADwD;0BAE9DqC,aAAa,CAAC7D,IAAd,CAAmB;4BAAEK,MAAM,EAAEG,EAAV;4BAAcgB,SAAS,EAATA;0BAAd,CAAnB;;wBAF8D;wBAAA;0BAAA;sBAAA;oBAAA;kBAAA;gBAAA,CAAlE;;gBAAA;kBAAA;gBAAA;cAAA,IADE,CANT;;YAAA;cAaSvC,KAbT,GAaiBkB,WAAW,CAAC0D,aAAD,CAb5B;cAAA,iBAcoC/C,aAAa,CAAC+C,aAAD,EAAgB5E,KAAhB,CAdjD,EAcW+B,SAdX,kBAcWA,SAdX,EAcsBC,SAdtB,kBAcsBA,SAdtB;cAeSzC,UAfT,8CAe0ByC,SAf1B,oCAewCD,SAfxC;cAgBGnC,QAAQ,CAAC;gBACLL,UAAU,EAAVA,UADK;gBAELC,cAAc,EAAE,CAFX;gBAGLF,OAAO,EAAE,KAHJ;gBAILG,SAAS,EAAEuC,SAAS,CAAClB,MAAV,GAAmB,CAAnB,IAAyBiB,SAAS,CAACjB,MAAV,GAAmB,CAAnB,IAAwBiB,SAAS,CAAC,CAAD,CAAT,CAAaY;cAJpE,CAAD,CAAR;;YAhBH;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA,CAAD;EAuBH,CAxBD,EAwBG,EAxBH;EA0BA,IAAMuC,cAAc,GAAG3F,UAAU,CAAC4F,IAAX,CAAgB,UAAAhD,SAAS;IAAA,OAAIA,SAAS,CAACI,SAAd;EAAA,CAAzB,CAAvB;EAEA,OAAO;IACHjD,OAAO,EAAPA,OADG;IAEHC,UAAU,EAAVA,UAFG;IAGH2F,cAAc,EAAdA,cAHG;IAIH/C,SAAS,EAAE5C,UAAU,CAACC,cAAD,CAJlB;IAKH4E,iBAAiB,EAAjBA,iBALG;IAMH3E,SAAS,EAATA,SANG;IAOH0E,MAAM,EAANA,MAPG;IAQHzE,gBAAgB,EAAhBA;EARG,CAAP;AAUH,CA1MM"}
|
package/components/EmptyView.js
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
9
12
|
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
13
|
+
|
|
10
14
|
var _Typography = require("@webiny/ui/Typography");
|
|
15
|
+
|
|
11
16
|
var _touch_app = require("../assets/icons/touch_app.svg");
|
|
17
|
+
|
|
12
18
|
var EmptyViewWrapper = /*#__PURE__*/(0, _styled.default)("div", {
|
|
13
19
|
target: "eu81oh40",
|
|
14
20
|
label: "EmptyViewWrapper"
|
|
@@ -42,11 +48,12 @@ var EmptyViewWrapper = /*#__PURE__*/(0, _styled.default)("div", {
|
|
|
42
48
|
}
|
|
43
49
|
}
|
|
44
50
|
});
|
|
51
|
+
|
|
45
52
|
var EmptyView = function EmptyView(_ref) {
|
|
46
53
|
var _ref$icon = _ref.icon,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
54
|
+
icon = _ref$icon === void 0 ? /*#__PURE__*/_react.default.createElement(_touch_app.ReactComponent, null) : _ref$icon,
|
|
55
|
+
title = _ref.title,
|
|
56
|
+
action = _ref.action;
|
|
50
57
|
return /*#__PURE__*/_react.default.createElement(EmptyViewWrapper, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
51
58
|
className: "media"
|
|
52
59
|
}, icon), /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -58,5 +65,6 @@ var EmptyView = function EmptyView(_ref) {
|
|
|
58
65
|
className: "action__container"
|
|
59
66
|
}, action));
|
|
60
67
|
};
|
|
68
|
+
|
|
61
69
|
var _default = EmptyView;
|
|
62
70
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["EmptyViewWrapper","styled","width","height","display","flexDirection","alignItems","justifyContent","fill","marginBottom","maxWidth","textAlign","color","padding","backgroundColor","EmptyView","icon","title","action"],"sources":["EmptyView.tsx"],"sourcesContent":["import React, { ReactElement } from \"react\";\nimport styled from \"@emotion/styled\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { ReactComponent as TouchIcon } from \"../assets/icons/touch_app.svg\";\n\nconst EmptyViewWrapper = styled(\"div\")({\n width: \"100%\",\n height: \"80%\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n\n \"& .media\": {\n \"& svg\": {\n width: 75,\n height: 75,\n fill: \"var(--mdc-theme-text-icon-on-background)\"\n },\n marginBottom: 30\n },\n \"& .title__container\": {\n maxWidth: 276,\n textAlign: \"center\",\n marginBottom: 24,\n \"& .title\": {\n color: \"var(--mdc-theme-text-secondary-on-background)\"\n }\n },\n \"& .action__container\": {\n \"& .mdc-button\": {\n padding: \"0px 16px\",\n backgroundColor: \"var(--mdc-theme-surface)\"\n }\n }\n});\nexport interface EmptyViewProps {\n icon?: ReactElement;\n title: string;\n action: ReactElement | null;\n}\nconst EmptyView: React.FC<EmptyViewProps> = ({ icon = <TouchIcon />, title, action }) => {\n return (\n <EmptyViewWrapper>\n <div className={\"media\"}>{icon}</div>\n <div className=\"title__container\">\n <Typography use={\"subtitle1\"} className={\"title\"}>\n {title}\n </Typography>\n </div>\n <div className=\"action__container\">{action}</div>\n </EmptyViewWrapper>\n );\n};\n\nexport default EmptyView;\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["EmptyViewWrapper","styled","width","height","display","flexDirection","alignItems","justifyContent","fill","marginBottom","maxWidth","textAlign","color","padding","backgroundColor","EmptyView","icon","title","action"],"sources":["EmptyView.tsx"],"sourcesContent":["import React, { ReactElement } from \"react\";\nimport styled from \"@emotion/styled\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { ReactComponent as TouchIcon } from \"../assets/icons/touch_app.svg\";\n\nconst EmptyViewWrapper = styled(\"div\")({\n width: \"100%\",\n height: \"80%\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n\n \"& .media\": {\n \"& svg\": {\n width: 75,\n height: 75,\n fill: \"var(--mdc-theme-text-icon-on-background)\"\n },\n marginBottom: 30\n },\n \"& .title__container\": {\n maxWidth: 276,\n textAlign: \"center\",\n marginBottom: 24,\n \"& .title\": {\n color: \"var(--mdc-theme-text-secondary-on-background)\"\n }\n },\n \"& .action__container\": {\n \"& .mdc-button\": {\n padding: \"0px 16px\",\n backgroundColor: \"var(--mdc-theme-surface)\"\n }\n }\n});\nexport interface EmptyViewProps {\n icon?: ReactElement;\n title: string;\n action: ReactElement | null;\n}\nconst EmptyView: React.FC<EmptyViewProps> = ({ icon = <TouchIcon />, title, action }) => {\n return (\n <EmptyViewWrapper>\n <div className={\"media\"}>{icon}</div>\n <div className=\"title__container\">\n <Typography use={\"subtitle1\"} className={\"title\"}>\n {title}\n </Typography>\n </div>\n <div className=\"action__container\">{action}</div>\n </EmptyViewWrapper>\n );\n};\n\nexport default EmptyView;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA,IAAMA,gBAAgB,oBAAGC,eAAH,EAAU,KAAV;EAAA;EAAA;AAAA,GAAiB;EACnCC,KAAK,EAAE,MAD4B;EAEnCC,MAAM,EAAE,KAF2B;EAGnCC,OAAO,EAAE,MAH0B;EAInCC,aAAa,EAAE,QAJoB;EAKnCC,UAAU,EAAE,QALuB;EAMnCC,cAAc,EAAE,QANmB;EAQnC,YAAY;IACR,SAAS;MACLL,KAAK,EAAE,EADF;MAELC,MAAM,EAAE,EAFH;MAGLK,IAAI,EAAE;IAHD,CADD;IAMRC,YAAY,EAAE;EANN,CARuB;EAgBnC,uBAAuB;IACnBC,QAAQ,EAAE,GADS;IAEnBC,SAAS,EAAE,QAFQ;IAGnBF,YAAY,EAAE,EAHK;IAInB,YAAY;MACRG,KAAK,EAAE;IADC;EAJO,CAhBY;EAwBnC,wBAAwB;IACpB,iBAAiB;MACbC,OAAO,EAAE,UADI;MAEbC,eAAe,EAAE;IAFJ;EADG;AAxBW,CAAjB,CAAtB;;AAoCA,IAAMC,SAAmC,GAAG,SAAtCA,SAAsC,OAA6C;EAAA,qBAA1CC,IAA0C;EAAA,IAA1CA,IAA0C,uCAAnC,6BAAC,yBAAD,OAAmC;EAAA,IAApBC,KAAoB,QAApBA,KAAoB;EAAA,IAAbC,MAAa,QAAbA,MAAa;EACrF,oBACI,6BAAC,gBAAD,qBACI;IAAK,SAAS,EAAE;EAAhB,GAA0BF,IAA1B,CADJ,eAEI;IAAK,SAAS,EAAC;EAAf,gBACI,6BAAC,sBAAD;IAAY,GAAG,EAAE,WAAjB;IAA8B,SAAS,EAAE;EAAzC,GACKC,KADL,CADJ,CAFJ,eAOI;IAAK,SAAS,EAAC;EAAf,GAAoCC,MAApC,CAPJ,CADJ;AAWH,CAZD;;eAceH,S"}
|
|
@@ -1,41 +1,55 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
9
12
|
var _lite = _interopRequireDefault(require("mime/lite"));
|
|
13
|
+
|
|
10
14
|
_lite.default.define({
|
|
11
15
|
"image/x-icon": ["ico"]
|
|
12
16
|
}, true);
|
|
17
|
+
|
|
13
18
|
_lite.default.define({
|
|
14
19
|
"image/jpg": ["jpg"]
|
|
15
20
|
}, true);
|
|
21
|
+
|
|
16
22
|
_lite.default.define({
|
|
17
23
|
"image/vnd.microsoft.icon": ["ico"]
|
|
18
24
|
}, true);
|
|
25
|
+
|
|
19
26
|
var getUniqueFilePlugins = function getUniqueFilePlugins(accept) {
|
|
20
27
|
var exts = {};
|
|
21
28
|
accept.forEach(function (item) {
|
|
22
29
|
var ext = _lite.default.getExtension(item);
|
|
30
|
+
|
|
23
31
|
if (!ext) {
|
|
24
32
|
return;
|
|
25
33
|
}
|
|
34
|
+
|
|
26
35
|
exts[ext] = true;
|
|
27
36
|
});
|
|
28
37
|
return Object.keys(exts);
|
|
29
38
|
};
|
|
39
|
+
|
|
30
40
|
var SupportedFileTypes = function SupportedFileTypes(_ref) {
|
|
31
41
|
var accept = _ref.accept;
|
|
42
|
+
|
|
32
43
|
if (!accept) {
|
|
33
44
|
return null;
|
|
34
45
|
}
|
|
46
|
+
|
|
35
47
|
if (accept.length === 0) {
|
|
36
48
|
return /*#__PURE__*/_react.default.createElement("span", null, "Showing all file extensions.");
|
|
37
49
|
}
|
|
50
|
+
|
|
38
51
|
return /*#__PURE__*/_react.default.createElement("span", null, "Showing the following file extensions: ", getUniqueFilePlugins(accept).join(", "), ".");
|
|
39
52
|
};
|
|
53
|
+
|
|
40
54
|
var _default = SupportedFileTypes;
|
|
41
55
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["mime","define","getUniqueFilePlugins","accept","exts","forEach","item","ext","getExtension","Object","keys","SupportedFileTypes","length","join"],"sources":["SupportedFileTypes.tsx"],"sourcesContent":["import React from \"react\";\nimport mime from \"mime/lite\";\n\nmime.define({ \"image/x-icon\": [\"ico\"] }, true);\nmime.define({ \"image/jpg\": [\"jpg\"] }, true);\nmime.define({ \"image/vnd.microsoft.icon\": [\"ico\"] }, true);\n\nconst getUniqueFilePlugins = (accept: string[]): string[] => {\n const exts: Record<string, boolean> = {};\n accept.forEach(item => {\n const ext = mime.getExtension(item);\n if (!ext) {\n return;\n }\n exts[ext] = true;\n });\n\n return Object.keys(exts);\n};\n\nexport interface SupportedFileTypesProps {\n accept: string[];\n}\n\nconst SupportedFileTypes: React.FC<SupportedFileTypesProps> = ({ accept }) => {\n if (!accept) {\n return null;\n }\n\n if (accept.length === 0) {\n return <span>Showing all file extensions.</span>;\n }\n\n return (\n <span>\n Showing the following file extensions: {getUniqueFilePlugins(accept).join(\", \")}.\n </span>\n );\n};\n\nexport default SupportedFileTypes;\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["mime","define","getUniqueFilePlugins","accept","exts","forEach","item","ext","getExtension","Object","keys","SupportedFileTypes","length","join"],"sources":["SupportedFileTypes.tsx"],"sourcesContent":["import React from \"react\";\nimport mime from \"mime/lite\";\n\nmime.define({ \"image/x-icon\": [\"ico\"] }, true);\nmime.define({ \"image/jpg\": [\"jpg\"] }, true);\nmime.define({ \"image/vnd.microsoft.icon\": [\"ico\"] }, true);\n\nconst getUniqueFilePlugins = (accept: string[]): string[] => {\n const exts: Record<string, boolean> = {};\n accept.forEach(item => {\n const ext = mime.getExtension(item);\n if (!ext) {\n return;\n }\n exts[ext] = true;\n });\n\n return Object.keys(exts);\n};\n\nexport interface SupportedFileTypesProps {\n accept: string[];\n}\n\nconst SupportedFileTypes: React.FC<SupportedFileTypesProps> = ({ accept }) => {\n if (!accept) {\n return null;\n }\n\n if (accept.length === 0) {\n return <span>Showing all file extensions.</span>;\n }\n\n return (\n <span>\n Showing the following file extensions: {getUniqueFilePlugins(accept).join(\", \")}.\n </span>\n );\n};\n\nexport default SupportedFileTypes;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEAA,aAAA,CAAKC,MAAL,CAAY;EAAE,gBAAgB,CAAC,KAAD;AAAlB,CAAZ,EAAyC,IAAzC;;AACAD,aAAA,CAAKC,MAAL,CAAY;EAAE,aAAa,CAAC,KAAD;AAAf,CAAZ,EAAsC,IAAtC;;AACAD,aAAA,CAAKC,MAAL,CAAY;EAAE,4BAA4B,CAAC,KAAD;AAA9B,CAAZ,EAAqD,IAArD;;AAEA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,MAAD,EAAgC;EACzD,IAAMC,IAA6B,GAAG,EAAtC;EACAD,MAAM,CAACE,OAAP,CAAe,UAAAC,IAAI,EAAI;IACnB,IAAMC,GAAG,GAAGP,aAAA,CAAKQ,YAAL,CAAkBF,IAAlB,CAAZ;;IACA,IAAI,CAACC,GAAL,EAAU;MACN;IACH;;IACDH,IAAI,CAACG,GAAD,CAAJ,GAAY,IAAZ;EACH,CAND;EAQA,OAAOE,MAAM,CAACC,IAAP,CAAYN,IAAZ,CAAP;AACH,CAXD;;AAiBA,IAAMO,kBAAqD,GAAG,SAAxDA,kBAAwD,OAAgB;EAAA,IAAbR,MAAa,QAAbA,MAAa;;EAC1E,IAAI,CAACA,MAAL,EAAa;IACT,OAAO,IAAP;EACH;;EAED,IAAIA,MAAM,CAACS,MAAP,KAAkB,CAAtB,EAAyB;IACrB,oBAAO,0EAAP;EACH;;EAED,oBACI,sFAC4CV,oBAAoB,CAACC,MAAD,CAApB,CAA6BU,IAA7B,CAAkC,IAAlC,CAD5C,MADJ;AAKH,CAdD;;eAgBeF,kB"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
9
12
|
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
13
|
+
|
|
10
14
|
var _Progress = require("@webiny/ui/Progress");
|
|
15
|
+
|
|
11
16
|
var StatusWrapper = /*#__PURE__*/(0, _styled.default)("div", {
|
|
12
17
|
target: "e8hlyp40",
|
|
13
18
|
label: "StatusWrapper"
|
|
@@ -37,15 +42,19 @@ var UploadingLabel = /*#__PURE__*/(0, _styled.default)("div", {
|
|
|
37
42
|
})({
|
|
38
43
|
marginRight: 5
|
|
39
44
|
});
|
|
45
|
+
|
|
40
46
|
var UploadStatus = function UploadStatus(_ref) {
|
|
41
47
|
var uploading = _ref.uploading;
|
|
48
|
+
|
|
42
49
|
if (!uploading) {
|
|
43
50
|
return null;
|
|
44
51
|
}
|
|
52
|
+
|
|
45
53
|
return /*#__PURE__*/_react.default.createElement(StatusWrapper, null, /*#__PURE__*/_react.default.createElement(UploadingLabel, null, "Uploading..."), /*#__PURE__*/_react.default.createElement(CircularProgressHolder, null, /*#__PURE__*/_react.default.createElement(_Progress.CircularProgress, {
|
|
46
54
|
size: 10,
|
|
47
55
|
spinnerWidth: 1
|
|
48
56
|
})));
|
|
49
57
|
};
|
|
58
|
+
|
|
50
59
|
var _default = UploadStatus;
|
|
51
60
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StatusWrapper","styled","color","position","right","bottom","marginRight","display","alignItems","CircularProgressHolder","height","width","UploadingLabel","UploadStatus","uploading"],"sources":["UploadStatus.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\n\nconst StatusWrapper = styled(\"div\")({\n color: \"var(--mdc-theme-primary)\",\n position: \"absolute\",\n right: 0,\n bottom: 10,\n marginRight: 10,\n display: \"flex\",\n alignItems: \"center\",\n \"> div\": {\n display: \"inline-block\"\n }\n});\n\nconst CircularProgressHolder = styled(\"div\")({\n position: \"relative\",\n height: 12,\n width: 12\n});\n\nconst UploadingLabel = styled(\"div\")({\n marginRight: 5\n});\n\nexport interface UploadStatusProps {\n uploading: boolean;\n}\nconst UploadStatus: React.FC<UploadStatusProps> = ({ uploading }) => {\n if (!uploading) {\n return null;\n }\n\n return (\n <StatusWrapper>\n <UploadingLabel>Uploading...</UploadingLabel>\n <CircularProgressHolder>\n <CircularProgress size={10} spinnerWidth={1} />\n </CircularProgressHolder>\n </StatusWrapper>\n );\n};\n\nexport default UploadStatus;\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["StatusWrapper","styled","color","position","right","bottom","marginRight","display","alignItems","CircularProgressHolder","height","width","UploadingLabel","UploadStatus","uploading"],"sources":["UploadStatus.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\n\nconst StatusWrapper = styled(\"div\")({\n color: \"var(--mdc-theme-primary)\",\n position: \"absolute\",\n right: 0,\n bottom: 10,\n marginRight: 10,\n display: \"flex\",\n alignItems: \"center\",\n \"> div\": {\n display: \"inline-block\"\n }\n});\n\nconst CircularProgressHolder = styled(\"div\")({\n position: \"relative\",\n height: 12,\n width: 12\n});\n\nconst UploadingLabel = styled(\"div\")({\n marginRight: 5\n});\n\nexport interface UploadStatusProps {\n uploading: boolean;\n}\nconst UploadStatus: React.FC<UploadStatusProps> = ({ uploading }) => {\n if (!uploading) {\n return null;\n }\n\n return (\n <StatusWrapper>\n <UploadingLabel>Uploading...</UploadingLabel>\n <CircularProgressHolder>\n <CircularProgress size={10} spinnerWidth={1} />\n </CircularProgressHolder>\n </StatusWrapper>\n );\n};\n\nexport default UploadStatus;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,aAAa,oBAAGC,eAAH,EAAU,KAAV;EAAA;EAAA;AAAA,GAAiB;EAChCC,KAAK,EAAE,0BADyB;EAEhCC,QAAQ,EAAE,UAFsB;EAGhCC,KAAK,EAAE,CAHyB;EAIhCC,MAAM,EAAE,EAJwB;EAKhCC,WAAW,EAAE,EALmB;EAMhCC,OAAO,EAAE,MANuB;EAOhCC,UAAU,EAAE,QAPoB;EAQhC,SAAS;IACLD,OAAO,EAAE;EADJ;AARuB,CAAjB,CAAnB;AAaA,IAAME,sBAAsB,oBAAGR,eAAH,EAAU,KAAV;EAAA;EAAA;AAAA,GAAiB;EACzCE,QAAQ,EAAE,UAD+B;EAEzCO,MAAM,EAAE,EAFiC;EAGzCC,KAAK,EAAE;AAHkC,CAAjB,CAA5B;AAMA,IAAMC,cAAc,oBAAGX,eAAH,EAAU,KAAV;EAAA;EAAA;AAAA,GAAiB;EACjCK,WAAW,EAAE;AADoB,CAAjB,CAApB;;AAOA,IAAMO,YAAyC,GAAG,SAA5CA,YAA4C,OAAmB;EAAA,IAAhBC,SAAgB,QAAhBA,SAAgB;;EACjE,IAAI,CAACA,SAAL,EAAgB;IACZ,OAAO,IAAP;EACH;;EAED,oBACI,6BAAC,aAAD,qBACI,6BAAC,cAAD,uBADJ,eAEI,6BAAC,sBAAD,qBACI,6BAAC,0BAAD;IAAkB,IAAI,EAAE,EAAxB;IAA4B,YAAY,EAAE;EAA1C,EADJ,CAFJ,CADJ;AAQH,CAbD;;eAeeD,Y"}
|
|
@@ -1,24 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
9
12
|
var _lite = _interopRequireDefault(require("mime/lite"));
|
|
13
|
+
|
|
10
14
|
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
15
|
+
|
|
11
16
|
var _SupportedFileTypes = _interopRequireDefault(require("./BottomInfoBar/SupportedFileTypes"));
|
|
17
|
+
|
|
12
18
|
var _UploadStatus = _interopRequireDefault(require("./BottomInfoBar/UploadStatus"));
|
|
19
|
+
|
|
13
20
|
_lite.default.define({
|
|
14
21
|
"image/x-icon": ["ico"]
|
|
15
22
|
}, true);
|
|
23
|
+
|
|
16
24
|
_lite.default.define({
|
|
17
25
|
"image/jpg": ["jpg"]
|
|
18
26
|
}, true);
|
|
27
|
+
|
|
19
28
|
_lite.default.define({
|
|
20
29
|
"image/vnd.microsoft.icon": ["ico"]
|
|
21
30
|
}, true);
|
|
31
|
+
|
|
22
32
|
var BottomInfoBarWrapper = /*#__PURE__*/(0, _styled.default)("div", {
|
|
23
33
|
target: "el4b0yq0",
|
|
24
34
|
label: "BottomInfoBarWrapper"
|
|
@@ -41,8 +51,10 @@ var BottomInfoBarWrapper = /*#__PURE__*/(0, _styled.default)("div", {
|
|
|
41
51
|
width: "100%"
|
|
42
52
|
}
|
|
43
53
|
});
|
|
54
|
+
|
|
44
55
|
var BottomInfoBar = function BottomInfoBar(props) {
|
|
45
56
|
return /*#__PURE__*/_react.default.createElement(BottomInfoBarWrapper, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_SupportedFileTypes.default, props), /*#__PURE__*/_react.default.createElement(_UploadStatus.default, props)));
|
|
46
57
|
};
|
|
58
|
+
|
|
47
59
|
var _default = BottomInfoBar;
|
|
48
60
|
exports.default = _default;
|