@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.
Files changed (273) hide show
  1. package/base/Admin.js +15 -1
  2. package/base/Admin.js.map +1 -1
  3. package/base/Base.js +23 -4
  4. package/base/Base.js.map +1 -1
  5. package/base/plugins/AddGraphQLQuerySelection.js +8 -0
  6. package/base/plugins/AddGraphQLQuerySelection.js.map +1 -1
  7. package/base/providers/ApolloProvider.js +5 -0
  8. package/base/providers/ApolloProvider.js.map +1 -1
  9. package/base/providers/TelemetryProvider.js +7 -1
  10. package/base/providers/TelemetryProvider.js.map +1 -1
  11. package/base/providers/UiStateProvider.js +5 -0
  12. package/base/providers/UiStateProvider.js.map +1 -1
  13. package/base/providers/ViewCompositionProvider.js +16 -3
  14. package/base/providers/ViewCompositionProvider.js.map +1 -1
  15. package/base/ui/Brand.js +4 -0
  16. package/base/ui/Brand.js.map +1 -1
  17. package/base/ui/CenteredView.js +7 -2
  18. package/base/ui/CenteredView.js.map +1 -1
  19. package/base/ui/Dashboard.js +4 -0
  20. package/base/ui/Dashboard.js.map +1 -1
  21. package/base/ui/Layout.js +6 -1
  22. package/base/ui/Layout.js.map +1 -1
  23. package/base/ui/LocaleSelector.js +4 -0
  24. package/base/ui/LocaleSelector.js.map +1 -1
  25. package/base/ui/LoginScreen.js +6 -0
  26. package/base/ui/LoginScreen.js.map +1 -1
  27. package/base/ui/Logo.js +6 -0
  28. package/base/ui/Logo.js.map +1 -1
  29. package/base/ui/Menu.js +31 -2
  30. package/base/ui/Menu.js.map +1 -1
  31. package/base/ui/Navigation.js +44 -11
  32. package/base/ui/Navigation.js.map +1 -1
  33. package/base/ui/NotFound.js +4 -0
  34. package/base/ui/NotFound.js.map +1 -1
  35. package/base/ui/Search.js +23 -5
  36. package/base/ui/Search.js.map +1 -1
  37. package/base/ui/Tags.js +8 -1
  38. package/base/ui/Tags.js.map +1 -1
  39. package/base/ui/UserMenu.js +29 -5
  40. package/base/ui/UserMenu.js.map +1 -1
  41. package/components/AdminLayout.js +6 -1
  42. package/components/AdminLayout.js.map +1 -1
  43. package/components/AppInstaller/AppInstaller.js +52 -18
  44. package/components/AppInstaller/AppInstaller.js.map +1 -1
  45. package/components/AppInstaller/Sidebar.js +32 -9
  46. package/components/AppInstaller/Sidebar.js.map +1 -1
  47. package/components/AppInstaller/index.js +7 -0
  48. package/components/AppInstaller/index.js.map +1 -1
  49. package/components/AppInstaller/styled.js +4 -0
  50. package/components/AppInstaller/styled.js.map +1 -1
  51. package/components/AppInstaller/useInstaller.js +69 -17
  52. package/components/AppInstaller/useInstaller.js.map +1 -1
  53. package/components/EmptyView.js +11 -3
  54. package/components/EmptyView.js.map +1 -1
  55. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +14 -0
  56. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +1 -1
  57. package/components/FileManager/BottomInfoBar/UploadStatus.js +9 -0
  58. package/components/FileManager/BottomInfoBar/UploadStatus.js.map +1 -1
  59. package/components/FileManager/BottomInfoBar.js +12 -0
  60. package/components/FileManager/BottomInfoBar.js.map +1 -1
  61. package/components/FileManager/DropFilesHere.js +12 -3
  62. package/components/FileManager/DropFilesHere.js.map +1 -1
  63. package/components/FileManager/File.js +18 -5
  64. package/components/FileManager/File.js.map +1 -1
  65. package/components/FileManager/FileDetails/Name.js +32 -4
  66. package/components/FileManager/FileDetails/Name.js.map +1 -1
  67. package/components/FileManager/FileDetails/Tags.js +77 -26
  68. package/components/FileManager/FileDetails/Tags.js.map +1 -1
  69. package/components/FileManager/FileDetails.js +146 -81
  70. package/components/FileManager/FileDetails.js.map +1 -1
  71. package/components/FileManager/FileManagerContext.js +45 -12
  72. package/components/FileManager/FileManagerContext.js.map +1 -1
  73. package/components/FileManager/FileManagerView.js +152 -45
  74. package/components/FileManager/FileManagerView.js.map +1 -1
  75. package/components/FileManager/LeftSidebar.js +29 -10
  76. package/components/FileManager/LeftSidebar.js.map +1 -1
  77. package/components/FileManager/NoPermissionView.js +13 -0
  78. package/components/FileManager/NoPermissionView.js.map +1 -1
  79. package/components/FileManager/NoResults.js +6 -0
  80. package/components/FileManager/NoResults.js.map +1 -1
  81. package/components/FileManager/getFileTypePlugin.js +15 -9
  82. package/components/FileManager/getFileTypePlugin.js.map +1 -1
  83. package/components/FileManager/getFileUploader.js +5 -0
  84. package/components/FileManager/getFileUploader.js.map +1 -1
  85. package/components/FileManager/graphql.js +14 -3
  86. package/components/FileManager/graphql.js.map +1 -1
  87. package/components/FileManager/outputFileSelectionError.js +14 -0
  88. package/components/FileManager/outputFileSelectionError.js.map +1 -1
  89. package/components/FileManager.js +43 -17
  90. package/components/FileManager.js.map +1 -1
  91. package/components/FloatingActionButton.js +6 -0
  92. package/components/FloatingActionButton.js.map +1 -1
  93. package/components/MultiImageUpload.js +10 -1
  94. package/components/MultiImageUpload.js.map +1 -1
  95. package/components/OverlayLayout/OverlayLayout.js +36 -7
  96. package/components/OverlayLayout/OverlayLayout.js.map +1 -1
  97. package/components/OverlayLayout/index.js +2 -0
  98. package/components/OverlayLayout/index.js.map +1 -1
  99. package/components/Permissions/Permissions.js +27 -16
  100. package/components/Permissions/Permissions.js.map +1 -1
  101. package/components/Permissions/StyledComponents.js +7 -0
  102. package/components/Permissions/StyledComponents.js.map +1 -1
  103. package/components/Permissions/index.js +3 -0
  104. package/components/Permissions/index.js.map +1 -1
  105. package/components/RichTextEditor/RichTextEditor.js +7 -0
  106. package/components/RichTextEditor/RichTextEditor.js.map +1 -1
  107. package/components/RichTextEditor/index.js +2 -0
  108. package/components/RichTextEditor/index.js.map +1 -1
  109. package/components/RichTextEditor/tools/header/index.js +102 -62
  110. package/components/RichTextEditor/tools/header/index.js.map +1 -1
  111. package/components/RichTextEditor/tools/image/index.js +36 -15
  112. package/components/RichTextEditor/tools/image/index.js.map +1 -1
  113. package/components/RichTextEditor/tools/image/svgs.js.map +1 -1
  114. package/components/RichTextEditor/tools/image/tunes.js +22 -5
  115. package/components/RichTextEditor/tools/image/tunes.js.map +1 -1
  116. package/components/RichTextEditor/tools/image/ui.js +39 -16
  117. package/components/RichTextEditor/tools/image/ui.js.map +1 -1
  118. package/components/RichTextEditor/tools/paragraph/index.js +81 -55
  119. package/components/RichTextEditor/tools/paragraph/index.js.map +1 -1
  120. package/components/RichTextEditor/tools/textColor/index.js +41 -15
  121. package/components/RichTextEditor/tools/textColor/index.js.map +1 -1
  122. package/components/RichTextEditor/tools/utils.js +2 -0
  123. package/components/RichTextEditor/tools/utils.js.map +1 -1
  124. package/components/Routes.js +13 -6
  125. package/components/Routes.js.map +1 -1
  126. package/components/SearchUI.js +11 -3
  127. package/components/SearchUI.js.map +1 -1
  128. package/components/SimpleForm/SimpleForm.js +20 -0
  129. package/components/SimpleForm/SimpleForm.js.map +1 -1
  130. package/components/SimpleForm/index.js +1 -0
  131. package/components/SimpleForm/index.js.map +1 -1
  132. package/components/SimpleUI/InputField.js +29 -13
  133. package/components/SimpleUI/InputField.js.map +1 -1
  134. package/components/SingleImageUpload.js +28 -12
  135. package/components/SingleImageUpload.js.map +1 -1
  136. package/components/SplitView/SplitView.js +20 -0
  137. package/components/SplitView/SplitView.js.map +1 -1
  138. package/components/SplitView/index.js +1 -0
  139. package/components/SplitView/index.js.map +1 -1
  140. package/components/index.js +1 -0
  141. package/components/index.js.map +1 -1
  142. package/hooks/useConfirmationDialog.js +14 -2
  143. package/hooks/useConfirmationDialog.js.map +1 -1
  144. package/hooks/useDialog.js +5 -0
  145. package/hooks/useDialog.js.map +1 -1
  146. package/hooks/useSnackbar.js +5 -0
  147. package/hooks/useSnackbar.js.map +1 -1
  148. package/index.js +48 -0
  149. package/index.js.map +1 -1
  150. package/package.json +19 -19
  151. package/plugins/FileManagerFileTypePlugin.js +15 -0
  152. package/plugins/FileManagerFileTypePlugin.js.map +1 -1
  153. package/plugins/MenuPlugin.js +15 -0
  154. package/plugins/MenuPlugin.js.map +1 -1
  155. package/plugins/PermissionRendererPlugin.js +15 -0
  156. package/plugins/PermissionRendererPlugin.js.map +1 -1
  157. package/plugins/fileManager/fileDefault.js +6 -0
  158. package/plugins/fileManager/fileDefault.js.map +1 -1
  159. package/plugins/fileManager/fileImage/DeleteAction.js +29 -7
  160. package/plugins/fileManager/fileImage/DeleteAction.js.map +1 -1
  161. package/plugins/fileManager/fileImage/EditAction.js +43 -9
  162. package/plugins/fileManager/fileImage/EditAction.js.map +1 -1
  163. package/plugins/fileManager/fileImage/index.js +8 -0
  164. package/plugins/fileManager/fileImage/index.js.map +1 -1
  165. package/plugins/fileManager/index.js +2 -0
  166. package/plugins/fileManager/index.js.map +1 -1
  167. package/plugins/globalSearch/SearchBar.js +51 -3
  168. package/plugins/globalSearch/SearchBar.js.map +1 -1
  169. package/plugins/globalSearch/SearchBarDropdown.js +31 -13
  170. package/plugins/globalSearch/SearchBarDropdown.js.map +1 -1
  171. package/plugins/globalSearch/index.js.map +1 -1
  172. package/plugins/globalSearch/styled.js +5 -1
  173. package/plugins/globalSearch/styled.js.map +1 -1
  174. package/plugins/uiLayoutRenderer/index.js +16 -2
  175. package/plugins/uiLayoutRenderer/index.js.map +1 -1
  176. package/ui/UIElement.js +1 -0
  177. package/ui/UIElement.js.map +1 -1
  178. package/ui/UILayout.js +1 -0
  179. package/ui/UILayout.js.map +1 -1
  180. package/ui/UIRenderer.js +1 -0
  181. package/ui/UIRenderer.js.map +1 -1
  182. package/ui/UIView.js +1 -0
  183. package/ui/UIView.js.map +1 -1
  184. package/ui/elements/AccordionElement.js +28 -2
  185. package/ui/elements/AccordionElement.js.map +1 -1
  186. package/ui/elements/ButtonElement.js +19 -0
  187. package/ui/elements/ButtonElement.js.map +1 -1
  188. package/ui/elements/ButtonGroupElement.js +19 -0
  189. package/ui/elements/ButtonGroupElement.js.map +1 -1
  190. package/ui/elements/GenericElement.js +2 -0
  191. package/ui/elements/GenericElement.js.map +1 -1
  192. package/ui/elements/LabelElement.js +14 -0
  193. package/ui/elements/LabelElement.js.map +1 -1
  194. package/ui/elements/NavigationMenuElement.js +36 -3
  195. package/ui/elements/NavigationMenuElement.js.map +1 -1
  196. package/ui/elements/PanelElement.js +11 -0
  197. package/ui/elements/PanelElement.js.map +1 -1
  198. package/ui/elements/PlaceholderElement.js +11 -0
  199. package/ui/elements/PlaceholderElement.js.map +1 -1
  200. package/ui/elements/SmallButtonElement.js +19 -0
  201. package/ui/elements/SmallButtonElement.js.map +1 -1
  202. package/ui/elements/TypographyElement.js +19 -0
  203. package/ui/elements/TypographyElement.js.map +1 -1
  204. package/ui/elements/ViewElement.js +2 -0
  205. package/ui/elements/ViewElement.js.map +1 -1
  206. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +16 -0
  207. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -1
  208. package/ui/elements/form/DynamicFieldsetElement.js +34 -11
  209. package/ui/elements/form/DynamicFieldsetElement.js.map +1 -1
  210. package/ui/elements/form/FileManagerElement/EmptyStateElement.js +15 -0
  211. package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -1
  212. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +22 -0
  213. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -1
  214. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +36 -7
  215. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -1
  216. package/ui/elements/form/FileManagerElement/styled.js +5 -0
  217. package/ui/elements/form/FileManagerElement/styled.js.map +1 -1
  218. package/ui/elements/form/FileManagerElement.js +20 -0
  219. package/ui/elements/form/FileManagerElement.js.map +1 -1
  220. package/ui/elements/form/FormElement.js +21 -0
  221. package/ui/elements/form/FormElement.js.map +1 -1
  222. package/ui/elements/form/FormFieldElement.js +33 -0
  223. package/ui/elements/form/FormFieldElement.js.map +1 -1
  224. package/ui/elements/form/HiddenElement.js +17 -0
  225. package/ui/elements/form/HiddenElement.js.map +1 -1
  226. package/ui/elements/form/InputElement.js +18 -0
  227. package/ui/elements/form/InputElement.js.map +1 -1
  228. package/ui/elements/form/PasswordElement.js +15 -0
  229. package/ui/elements/form/PasswordElement.js.map +1 -1
  230. package/ui/elements/form/SelectElement.js +19 -1
  231. package/ui/elements/form/SelectElement.js.map +1 -1
  232. package/ui/elements/form/TextareaElement.js +17 -0
  233. package/ui/elements/form/TextareaElement.js.map +1 -1
  234. package/ui/views/AdminView/ContentElement.js +25 -1
  235. package/ui/views/AdminView/ContentElement.js.map +1 -1
  236. package/ui/views/AdminView/HeaderElement.js +40 -0
  237. package/ui/views/AdminView/HeaderElement.js.map +1 -1
  238. package/ui/views/AdminView/HeaderSectionCenterElement.js +20 -0
  239. package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -1
  240. package/ui/views/AdminView/HeaderSectionLeftElement.js +20 -0
  241. package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -1
  242. package/ui/views/AdminView/HeaderSectionRightElement.js +20 -0
  243. package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -1
  244. package/ui/views/AdminView/components/Dialog.js +21 -10
  245. package/ui/views/AdminView/components/Dialog.js.map +1 -1
  246. package/ui/views/AdminView/components/Hamburger.js +8 -0
  247. package/ui/views/AdminView/components/Hamburger.js.map +1 -1
  248. package/ui/views/AdminView/components/Snackbar.js +9 -0
  249. package/ui/views/AdminView/components/Snackbar.js.map +1 -1
  250. package/ui/views/FormView/FormContainerElement.js +21 -0
  251. package/ui/views/FormView/FormContainerElement.js.map +1 -1
  252. package/ui/views/FormView/FormContentElement.js +11 -0
  253. package/ui/views/FormView/FormContentElement.js.map +1 -1
  254. package/ui/views/FormView/FormFooterElement.js +19 -0
  255. package/ui/views/FormView/FormFooterElement.js.map +1 -1
  256. package/ui/views/FormView/FormHeaderElement.js +24 -2
  257. package/ui/views/FormView/FormHeaderElement.js.map +1 -1
  258. package/ui/views/FormView.js +41 -0
  259. package/ui/views/FormView.js.map +1 -1
  260. package/ui/views/OverlayView/ContentElement.js +19 -0
  261. package/ui/views/OverlayView/ContentElement.js.map +1 -1
  262. package/ui/views/OverlayView/HeaderElement.js +25 -3
  263. package/ui/views/OverlayView/HeaderElement.js.map +1 -1
  264. package/ui/views/OverlayView/HeaderTitleElement.js +22 -0
  265. package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -1
  266. package/ui/views/OverlayView/useOverlayView.js +13 -3
  267. package/ui/views/OverlayView/useOverlayView.js.map +1 -1
  268. package/ui/views/OverlayView.js +37 -3
  269. package/ui/views/OverlayView.js.map +1 -1
  270. package/ui/views/SplitView/SplitViewPanelElement.js +22 -2
  271. package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -1
  272. package/ui/views/SplitView.js +40 -0
  273. 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":";;;;;;;AAAA;AACA;AAEO,IAAMA,OAAO,oBAAGC,eAAM,EAAC,SAAS;EAAA;EAAA;AAAA,GAAE;EACrCC,OAAO,EAAE,MAAM;EACfC,aAAa,EAAE,QAAQ;EACvBC,cAAc,EAAE,QAAQ;EACxBC,SAAS,EAAE,OAAO;EAClBC,KAAK,EAAE,6BAA6B;EACpC,yBAAyB,EAAE;IACvBC,UAAU,EAAE;EAChB,CAAC;EACDC,EAAE,EAAE;IACAC,SAAS,EAAE,MAAM;IACjBC,WAAW,EAAE,6CAA6C;IAC1DC,EAAE,EAAE;MACAL,KAAK,EAAE,+EAA+E;MACtFM,mBAAmB,EAAE,WAAW;MAChCC,mBAAmB,EAAE,aAAa;MAClCC,QAAQ,EAAE,MAAM;MAChBC,UAAU,EAAE,QAAQ;MACpBC,UAAU,EAAE,GAAG;MACfC,aAAa,EAAE,WAAW;MAC1BC,cAAc,EAAE,SAAS;MACzBC,aAAa,EAAE,SAAS;MACxBC,SAAS,EAAE,MAAM;MACjBC,YAAY,EAAE;IAClB;EACJ;AACJ,CAAC,CAAC;AAAC;AAEI,IAAMC,cAAc,oBAAGrB,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,GAAE;EACxCsB,QAAQ,EAAE,GAAG;EACbC,MAAM,EAAE,kBAAkB;EAC1B,oBAAoB,EAAE;IAClBC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE;EACf;AACJ,CAAC,CAAC;AAAC;AAEI,IAAMC,kBAAkB,gBAAG,IAAAC,YAAG,EAAC;EAClC;EACA,2BAA2B,EAAE;IACzBC,MAAM,EAAE;EACZ,CAAC;EACD,yCAAyC,EAAE;IACvCA,MAAM,EAAE;EACZ;AACJ,CAAC,8BAAC;AAAC;AAEI,IAAMC,aAAa,oBAAG7B,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,GAAE;EACvC8B,OAAO,EAAE,EAAE;EACXC,SAAS,EAAE,QAAQ;EACnBC,CAAC,EAAE;IACCC,aAAa,EAAE;EACnB;AACJ,CAAC,CAAC;AAAC;AAEI,IAAMC,YAAY,oBAAGlC,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,GAAE;EACtC8B,OAAO,EAAE,EAAE;EACXK,QAAQ,EAAE;AACd,CAAC,CAAC;AAAC;AAEI,IAAMC,UAAU,gBAAG,IAAAT,YAAG,EAAC;EAC1BU,UAAU,EAAE,eAAe;EAC3Bd,MAAM,EAAE,cAAc;EACtBO,OAAO,EAAE;AACb,CAAC,sBAAC;AAAC"}
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
- props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
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
- 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];
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
- installers = state.installers,
48
- installerIndex = state.installerIndex,
49
- showLogin = state.showLogin,
50
- skippingVersions = state.skippingVersions;
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":"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"}
@@ -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
- icon = _ref$icon === void 0 ? /*#__PURE__*/_react.default.createElement(_touch_app.ReactComponent, null) : _ref$icon,
48
- title = _ref.title,
49
- action = _ref.action;
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":";;;;;;;AAAA;AACA;AACA;AACA;AAEA,IAAMA,gBAAgB,oBAAGC,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,GAAE;EACnCC,KAAK,EAAE,MAAM;EACbC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAE,MAAM;EACfC,aAAa,EAAE,QAAQ;EACvBC,UAAU,EAAE,QAAQ;EACpBC,cAAc,EAAE,QAAQ;EAExB,UAAU,EAAE;IACR,OAAO,EAAE;MACLL,KAAK,EAAE,EAAE;MACTC,MAAM,EAAE,EAAE;MACVK,IAAI,EAAE;IACV,CAAC;IACDC,YAAY,EAAE;EAClB,CAAC;EACD,qBAAqB,EAAE;IACnBC,QAAQ,EAAE,GAAG;IACbC,SAAS,EAAE,QAAQ;IACnBF,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE;MACRG,KAAK,EAAE;IACX;EACJ,CAAC;EACD,sBAAsB,EAAE;IACpB,eAAe,EAAE;MACbC,OAAO,EAAE,UAAU;MACnBC,eAAe,EAAE;IACrB;EACJ;AACJ,CAAC,CAAC;AAMF,IAAMC,SAAmC,GAAG,SAAtCA,SAAmC,OAAgD;EAAA,qBAA1CC,IAAI;IAAJA,IAAI,uCAAG,6BAAC,yBAAS,OAAG;IAAEC,KAAK,QAALA,KAAK;IAAEC,MAAM,QAANA,MAAM;EAC9E,oBACI,6BAAC,gBAAgB,qBACb;IAAK,SAAS,EAAE;EAAQ,GAAEF,IAAI,CAAO,eACrC;IAAK,SAAS,EAAC;EAAkB,gBAC7B,6BAAC,sBAAU;IAAC,GAAG,EAAE,WAAY;IAAC,SAAS,EAAE;EAAQ,GAC5CC,KAAK,CACG,CACX,eACN;IAAK,SAAS,EAAC;EAAmB,GAAEC,MAAM,CAAO,CAClC;AAE3B,CAAC;AAAC,eAEaH,SAAS;AAAA"}
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":";;;;;;;AAAA;AACA;AAEAA,aAAI,CAACC,MAAM,CAAC;EAAE,cAAc,EAAE,CAAC,KAAK;AAAE,CAAC,EAAE,IAAI,CAAC;AAC9CD,aAAI,CAACC,MAAM,CAAC;EAAE,WAAW,EAAE,CAAC,KAAK;AAAE,CAAC,EAAE,IAAI,CAAC;AAC3CD,aAAI,CAACC,MAAM,CAAC;EAAE,0BAA0B,EAAE,CAAC,KAAK;AAAE,CAAC,EAAE,IAAI,CAAC;AAE1D,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoB,CAAIC,MAAgB,EAAe;EACzD,IAAMC,IAA6B,GAAG,CAAC,CAAC;EACxCD,MAAM,CAACE,OAAO,CAAC,UAAAC,IAAI,EAAI;IACnB,IAAMC,GAAG,GAAGP,aAAI,CAACQ,YAAY,CAACF,IAAI,CAAC;IACnC,IAAI,CAACC,GAAG,EAAE;MACN;IACJ;IACAH,IAAI,CAACG,GAAG,CAAC,GAAG,IAAI;EACpB,CAAC,CAAC;EAEF,OAAOE,MAAM,CAACC,IAAI,CAACN,IAAI,CAAC;AAC5B,CAAC;AAMD,IAAMO,kBAAqD,GAAG,SAAxDA,kBAAqD,OAAmB;EAAA,IAAbR,MAAM,QAANA,MAAM;EACnE,IAAI,CAACA,MAAM,EAAE;IACT,OAAO,IAAI;EACf;EAEA,IAAIA,MAAM,CAACS,MAAM,KAAK,CAAC,EAAE;IACrB,oBAAO,0EAAyC;EACpD;EAEA,oBACI,sFAC4CV,oBAAoB,CAACC,MAAM,CAAC,CAACU,IAAI,CAAC,IAAI,CAAC,MAC5E;AAEf,CAAC;AAAC,eAEaF,kBAAkB;AAAA"}
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":";;;;;;;AAAA;AACA;AACA;AAEA,IAAMA,aAAa,oBAAGC,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,GAAE;EAChCC,KAAK,EAAE,0BAA0B;EACjCC,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAE,CAAC;EACRC,MAAM,EAAE,EAAE;EACVC,WAAW,EAAE,EAAE;EACfC,OAAO,EAAE,MAAM;EACfC,UAAU,EAAE,QAAQ;EACpB,OAAO,EAAE;IACLD,OAAO,EAAE;EACb;AACJ,CAAC,CAAC;AAEF,IAAME,sBAAsB,oBAAGR,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,GAAE;EACzCE,QAAQ,EAAE,UAAU;EACpBO,MAAM,EAAE,EAAE;EACVC,KAAK,EAAE;AACX,CAAC,CAAC;AAEF,IAAMC,cAAc,oBAAGX,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,GAAE;EACjCK,WAAW,EAAE;AACjB,CAAC,CAAC;AAKF,IAAMO,YAAyC,GAAG,SAA5CA,YAAyC,OAAsB;EAAA,IAAhBC,SAAS,QAATA,SAAS;EAC1D,IAAI,CAACA,SAAS,EAAE;IACZ,OAAO,IAAI;EACf;EAEA,oBACI,6BAAC,aAAa,qBACV,6BAAC,cAAc,uBAA8B,eAC7C,6BAAC,sBAAsB,qBACnB,6BAAC,0BAAgB;IAAC,IAAI,EAAE,EAAG;IAAC,YAAY,EAAE;EAAE,EAAG,CAC1B,CACb;AAExB,CAAC;AAAC,eAEaD,YAAY;AAAA"}
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;