@webiny/app-admin 5.23.1 → 5.25.0-beta.0

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 (306) hide show
  1. package/base/Admin.d.ts +3 -10
  2. package/base/Admin.js +4 -0
  3. package/base/Admin.js.map +1 -0
  4. package/base/Base.d.ts +1 -1
  5. package/base/Base.js.map +1 -0
  6. package/base/plugins/AddGraphQLQuerySelection.d.ts +2 -2
  7. package/base/plugins/AddGraphQLQuerySelection.js +3 -2
  8. package/base/plugins/AddGraphQLQuerySelection.js.map +1 -0
  9. package/base/providers/ApolloProvider.d.ts +9 -3
  10. package/base/providers/ApolloProvider.js +2 -1
  11. package/base/providers/ApolloProvider.js.map +1 -0
  12. package/base/providers/TelemetryProvider.d.ts +2 -4
  13. package/base/providers/TelemetryProvider.js +5 -0
  14. package/base/providers/TelemetryProvider.js.map +1 -0
  15. package/base/providers/UiStateProvider.d.ts +1 -3
  16. package/base/providers/UiStateProvider.js.map +1 -0
  17. package/base/providers/ViewCompositionProvider.d.ts +4 -5
  18. package/base/providers/ViewCompositionProvider.js +8 -1
  19. package/base/providers/ViewCompositionProvider.js.map +1 -0
  20. package/base/ui/Brand.d.ts +2 -9
  21. package/base/ui/Brand.js.map +1 -0
  22. package/base/ui/CenteredView.d.ts +1 -5
  23. package/base/ui/CenteredView.js.map +1 -0
  24. package/base/ui/Dashboard.d.ts +2 -9
  25. package/base/ui/Dashboard.js.map +1 -0
  26. package/base/ui/Layout.d.ts +2 -8
  27. package/base/ui/Layout.js.map +1 -0
  28. package/base/ui/LocaleSelector.d.ts +2 -9
  29. package/base/ui/LocaleSelector.js.map +1 -0
  30. package/base/ui/LoginScreen.d.ts +2 -5
  31. package/base/ui/LoginScreen.js.map +1 -0
  32. package/base/ui/Logo.d.ts +3 -9
  33. package/base/ui/Logo.js.map +1 -0
  34. package/base/ui/Menu.d.ts +8 -12
  35. package/base/ui/Menu.js +96 -30
  36. package/base/ui/Menu.js.map +1 -0
  37. package/base/ui/Navigation.d.ts +9 -20
  38. package/base/ui/Navigation.js +29 -29
  39. package/base/ui/Navigation.js.map +1 -0
  40. package/base/ui/NotFound.d.ts +2 -9
  41. package/base/ui/NotFound.js.map +1 -0
  42. package/base/ui/Search.d.ts +4 -13
  43. package/base/ui/Search.js +6 -1
  44. package/base/ui/Search.js.map +1 -0
  45. package/base/ui/Tags.d.ts +4 -2
  46. package/base/ui/Tags.js.map +1 -0
  47. package/base/ui/UserMenu.d.ts +9 -33
  48. package/base/ui/UserMenu.js +15 -2
  49. package/base/ui/UserMenu.js.map +1 -0
  50. package/components/AdminLayout.d.ts +1 -2
  51. package/components/AdminLayout.js.map +1 -0
  52. package/components/AppInstaller/AppInstaller.d.ts +2 -4
  53. package/components/AppInstaller/AppInstaller.js.map +1 -0
  54. package/components/AppInstaller/Sidebar.d.ts +8 -6
  55. package/components/AppInstaller/Sidebar.js +11 -10
  56. package/components/AppInstaller/Sidebar.js.map +1 -0
  57. package/components/AppInstaller/index.js.map +1 -0
  58. package/components/AppInstaller/styled.d.ts +4 -4
  59. package/components/AppInstaller/styled.js.map +1 -0
  60. package/components/AppInstaller/useInstaller.d.ts +28 -9
  61. package/components/AppInstaller/useInstaller.js +44 -36
  62. package/components/AppInstaller/useInstaller.js.map +1 -0
  63. package/components/EmptyView.d.ts +5 -5
  64. package/components/EmptyView.js.map +1 -0
  65. package/components/FileManager/BottomInfoBar/SupportedFileTypes.d.ts +5 -4
  66. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +7 -1
  67. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +1 -0
  68. package/components/FileManager/BottomInfoBar/UploadStatus.d.ts +5 -4
  69. package/components/FileManager/BottomInfoBar/UploadStatus.js.map +1 -0
  70. package/components/FileManager/BottomInfoBar.d.ts +4 -2
  71. package/components/FileManager/BottomInfoBar.js.map +1 -0
  72. package/components/FileManager/DropFilesHere.d.ts +4 -3
  73. package/components/FileManager/DropFilesHere.js +5 -2
  74. package/components/FileManager/DropFilesHere.js.map +1 -0
  75. package/components/FileManager/File.d.ts +7 -8
  76. package/components/FileManager/File.js +11 -5
  77. package/components/FileManager/File.js.map +1 -0
  78. package/components/FileManager/FileDetails/Name.d.ts +7 -5
  79. package/components/FileManager/FileDetails/Name.js +10 -7
  80. package/components/FileManager/FileDetails/Name.js.map +1 -0
  81. package/components/FileManager/FileDetails/Tags.d.ts +7 -5
  82. package/components/FileManager/FileDetails/Tags.js +22 -9
  83. package/components/FileManager/FileDetails/Tags.js.map +1 -0
  84. package/components/FileManager/FileDetails.d.ts +9 -8
  85. package/components/FileManager/FileDetails.js +80 -41
  86. package/components/FileManager/FileDetails.js.map +1 -0
  87. package/components/FileManager/FileManagerContext.d.ts +12 -9
  88. package/components/FileManager/FileManagerContext.js +14 -7
  89. package/components/FileManager/FileManagerContext.js.map +1 -0
  90. package/components/FileManager/FileManagerView.d.ts +3 -11
  91. package/components/FileManager/FileManagerView.js +79 -51
  92. package/components/FileManager/FileManagerView.js.map +1 -0
  93. package/components/FileManager/LeftSidebar.d.ts +6 -5
  94. package/components/FileManager/LeftSidebar.js +6 -5
  95. package/components/FileManager/LeftSidebar.js.map +1 -0
  96. package/components/FileManager/NoPermissionView.d.ts +2 -2
  97. package/components/FileManager/NoPermissionView.js.map +1 -0
  98. package/components/FileManager/NoResults.d.ts +3 -2
  99. package/components/FileManager/NoResults.js +5 -2
  100. package/components/FileManager/NoResults.js.map +1 -0
  101. package/components/FileManager/getFileTypePlugin.d.ts +4 -1
  102. package/components/FileManager/getFileTypePlugin.js +9 -0
  103. package/components/FileManager/getFileTypePlugin.js.map +1 -0
  104. package/components/FileManager/getFileUploader.d.ts +2 -1
  105. package/components/FileManager/getFileUploader.js.map +1 -0
  106. package/components/FileManager/graphql.d.ts +90 -0
  107. package/components/FileManager/graphql.js +25 -0
  108. package/components/FileManager/graphql.js.map +1 -0
  109. package/components/FileManager/outputFileSelectionError.d.ts +6 -1
  110. package/components/FileManager/outputFileSelectionError.js +3 -2
  111. package/components/FileManager/outputFileSelectionError.js.map +1 -0
  112. package/components/FileManager/types.d.ts +19 -0
  113. package/components/FileManager/types.js +1 -0
  114. package/components/FileManager/types.js.map +1 -0
  115. package/components/FileManager.d.ts +15 -10
  116. package/components/FileManager.js +27 -16
  117. package/components/FileManager.js.map +1 -0
  118. package/components/FloatingActionButton.d.ts +2 -2
  119. package/components/FloatingActionButton.js.map +1 -0
  120. package/components/MultiImageUpload.d.ts +13 -4
  121. package/components/MultiImageUpload.js +15 -4
  122. package/components/MultiImageUpload.js.map +1 -0
  123. package/components/OverlayLayout/OverlayLayout.d.ts +10 -13
  124. package/components/OverlayLayout/OverlayLayout.js.map +1 -0
  125. package/components/OverlayLayout/index.js.map +1 -0
  126. package/components/Permissions/Permissions.d.ts +4 -4
  127. package/components/Permissions/Permissions.js.map +1 -0
  128. package/components/Permissions/StyledComponents.d.ts +6 -4
  129. package/components/Permissions/StyledComponents.js.map +1 -0
  130. package/components/Permissions/index.js.map +1 -0
  131. package/components/RichTextEditor/RichTextEditor.d.ts +2 -2
  132. package/components/RichTextEditor/RichTextEditor.js.map +1 -0
  133. package/components/RichTextEditor/index.js.map +1 -0
  134. package/components/RichTextEditor/tools/header/index.d.ts +33 -34
  135. package/components/RichTextEditor/tools/header/index.js +5 -6
  136. package/components/RichTextEditor/tools/header/index.js.map +1 -0
  137. package/components/RichTextEditor/tools/image/index.d.ts +38 -13
  138. package/components/RichTextEditor/tools/image/index.js +4 -2
  139. package/components/RichTextEditor/tools/image/index.js.map +1 -0
  140. package/components/RichTextEditor/tools/image/svgs.js.map +1 -0
  141. package/components/RichTextEditor/tools/image/tunes.d.ts +12 -15
  142. package/components/RichTextEditor/tools/image/tunes.js +9 -4
  143. package/components/RichTextEditor/tools/image/tunes.js.map +1 -0
  144. package/components/RichTextEditor/tools/image/types.d.ts +29 -0
  145. package/components/RichTextEditor/tools/image/types.js +1 -0
  146. package/components/RichTextEditor/tools/image/types.js.map +1 -0
  147. package/components/RichTextEditor/tools/image/ui.d.ts +36 -27
  148. package/components/RichTextEditor/tools/image/ui.js +25 -12
  149. package/components/RichTextEditor/tools/image/ui.js.map +1 -0
  150. package/components/RichTextEditor/tools/paragraph/index.d.ts +32 -36
  151. package/components/RichTextEditor/tools/paragraph/index.js +17 -25
  152. package/components/RichTextEditor/tools/paragraph/index.js.map +1 -0
  153. package/components/RichTextEditor/tools/textColor/index.d.ts +30 -22
  154. package/components/RichTextEditor/tools/textColor/index.js +46 -10
  155. package/components/RichTextEditor/tools/textColor/index.js.map +1 -0
  156. package/components/RichTextEditor/tools/utils.js.map +1 -0
  157. package/components/Routes.d.ts +2 -2
  158. package/components/Routes.js.map +1 -0
  159. package/components/SearchUI.d.ts +4 -4
  160. package/components/SearchUI.js.map +1 -0
  161. package/components/SimpleForm/SimpleForm.d.ts +10 -11
  162. package/components/SimpleForm/SimpleForm.js.map +1 -0
  163. package/components/SimpleForm/index.js.map +1 -0
  164. package/components/SimpleUI/InputField.d.ts +4 -3
  165. package/components/SimpleUI/InputField.js +22 -20
  166. package/components/SimpleUI/InputField.js.map +1 -0
  167. package/components/SingleImageUpload.d.ts +3 -9
  168. package/components/SingleImageUpload.js +9 -11
  169. package/components/SingleImageUpload.js.map +1 -0
  170. package/components/SplitView/SplitView.d.ts +5 -5
  171. package/components/SplitView/SplitView.js.map +1 -0
  172. package/components/SplitView/index.js.map +1 -0
  173. package/components/index.js.map +1 -0
  174. package/hooks/useConfirmationDialog.d.ts +6 -5
  175. package/hooks/useConfirmationDialog.js +1 -2
  176. package/hooks/useConfirmationDialog.js.map +1 -0
  177. package/hooks/useDialog.d.ts +8 -3
  178. package/hooks/useDialog.js +1 -1
  179. package/hooks/useDialog.js.map +1 -0
  180. package/hooks/useSnackbar.d.ts +6 -3
  181. package/hooks/useSnackbar.js.map +1 -0
  182. package/index.js.map +1 -0
  183. package/package.json +24 -20
  184. package/plugins/FileManagerFileTypePlugin.d.ts +3 -3
  185. package/plugins/FileManagerFileTypePlugin.js +4 -0
  186. package/plugins/FileManagerFileTypePlugin.js.map +1 -0
  187. package/plugins/MenuPlugin.d.ts +6 -6
  188. package/plugins/MenuPlugin.js +4 -0
  189. package/plugins/MenuPlugin.js.map +1 -0
  190. package/plugins/PermissionRendererPlugin.d.ts +4 -4
  191. package/plugins/PermissionRendererPlugin.js +4 -0
  192. package/plugins/PermissionRendererPlugin.js.map +1 -0
  193. package/plugins/fileManager/fileDefault.js.map +1 -0
  194. package/plugins/fileManager/fileImage/DeleteAction.d.ts +6 -2
  195. package/plugins/fileManager/fileImage/DeleteAction.js.map +1 -0
  196. package/plugins/fileManager/fileImage/EditAction.d.ts +7 -6
  197. package/plugins/fileManager/fileImage/EditAction.js +24 -11
  198. package/plugins/fileManager/fileImage/EditAction.js.map +1 -0
  199. package/plugins/fileManager/fileImage/index.js.map +1 -0
  200. package/plugins/fileManager/index.js.map +1 -0
  201. package/plugins/globalSearch/SearchBar.d.ts +14 -5
  202. package/plugins/globalSearch/SearchBar.js +9 -0
  203. package/plugins/globalSearch/SearchBar.js.map +1 -0
  204. package/plugins/globalSearch/SearchBarDropdown.d.ts +19 -1
  205. package/plugins/globalSearch/SearchBarDropdown.js.map +1 -0
  206. package/plugins/globalSearch/index.d.ts +2 -1
  207. package/plugins/globalSearch/index.js.map +1 -0
  208. package/plugins/globalSearch/styled.d.ts +3 -3
  209. package/plugins/globalSearch/styled.js.map +1 -0
  210. package/plugins/index.d.ts +2 -1
  211. package/plugins/index.js.map +1 -0
  212. package/plugins/uiLayoutRenderer/index.js.map +1 -0
  213. package/types.d.ts +10 -8
  214. package/types.js.map +1 -0
  215. package/ui/UIElement.d.ts +1 -1
  216. package/ui/UIElement.js.map +1 -0
  217. package/ui/UILayout.js.map +1 -0
  218. package/ui/UIRenderer.js.map +1 -0
  219. package/ui/UIView.d.ts +1 -1
  220. package/ui/UIView.js.map +1 -0
  221. package/ui/elements/AccordionElement.d.ts +5 -5
  222. package/ui/elements/AccordionElement.js +4 -0
  223. package/ui/elements/AccordionElement.js.map +1 -0
  224. package/ui/elements/ButtonElement.d.ts +3 -3
  225. package/ui/elements/ButtonElement.js +7 -0
  226. package/ui/elements/ButtonElement.js.map +1 -0
  227. package/ui/elements/ButtonGroupElement.d.ts +2 -2
  228. package/ui/elements/ButtonGroupElement.js.map +1 -0
  229. package/ui/elements/GenericElement.js.map +1 -0
  230. package/ui/elements/LabelElement.js.map +1 -0
  231. package/ui/elements/NavigationMenuElement.d.ts +2 -1
  232. package/ui/elements/NavigationMenuElement.js +3 -2
  233. package/ui/elements/NavigationMenuElement.js.map +1 -0
  234. package/ui/elements/PanelElement.js.map +1 -0
  235. package/ui/elements/PlaceholderElement.d.ts +2 -1
  236. package/ui/elements/PlaceholderElement.js.map +1 -0
  237. package/ui/elements/SmallButtonElement.d.ts +1 -1
  238. package/ui/elements/SmallButtonElement.js.map +1 -0
  239. package/ui/elements/TypographyElement.d.ts +1 -1
  240. package/ui/elements/TypographyElement.js.map +1 -0
  241. package/ui/elements/ViewElement.js.map +1 -0
  242. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.d.ts +2 -2
  243. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +10 -10
  244. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -0
  245. package/ui/elements/form/DynamicFieldsetElement.d.ts +19 -18
  246. package/ui/elements/form/DynamicFieldsetElement.js +13 -0
  247. package/ui/elements/form/DynamicFieldsetElement.js.map +1 -0
  248. package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -0
  249. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -0
  250. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -0
  251. package/ui/elements/form/FileManagerElement/styled.d.ts +17 -13
  252. package/ui/elements/form/FileManagerElement/styled.js.map +1 -0
  253. package/ui/elements/form/FileManagerElement.d.ts +6 -6
  254. package/ui/elements/form/FileManagerElement.js.map +1 -0
  255. package/ui/elements/form/FormElement.d.ts +5 -5
  256. package/ui/elements/form/FormElement.js.map +1 -0
  257. package/ui/elements/form/FormFieldElement.d.ts +9 -8
  258. package/ui/elements/form/FormFieldElement.js +15 -7
  259. package/ui/elements/form/FormFieldElement.js.map +1 -0
  260. package/ui/elements/form/HiddenElement.js.map +1 -0
  261. package/ui/elements/form/InputElement.d.ts +1 -0
  262. package/ui/elements/form/InputElement.js.map +1 -0
  263. package/ui/elements/form/PasswordElement.js.map +1 -0
  264. package/ui/elements/form/SelectElement.d.ts +1 -1
  265. package/ui/elements/form/SelectElement.js +1 -1
  266. package/ui/elements/form/SelectElement.js.map +1 -0
  267. package/ui/elements/form/TextareaElement.js.map +1 -0
  268. package/ui/views/AdminView/ContentElement.js.map +1 -0
  269. package/ui/views/AdminView/HeaderElement.js +14 -2
  270. package/ui/views/AdminView/HeaderElement.js.map +1 -0
  271. package/ui/views/AdminView/HeaderSectionCenterElement.d.ts +2 -2
  272. package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -0
  273. package/ui/views/AdminView/HeaderSectionLeftElement.d.ts +2 -2
  274. package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -0
  275. package/ui/views/AdminView/HeaderSectionRightElement.d.ts +2 -2
  276. package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -0
  277. package/ui/views/AdminView/components/Dialog.js.map +1 -0
  278. package/ui/views/AdminView/components/Hamburger.d.ts +2 -2
  279. package/ui/views/AdminView/components/Hamburger.js.map +1 -0
  280. package/ui/views/AdminView/components/Snackbar.d.ts +2 -2
  281. package/ui/views/AdminView/components/Snackbar.js.map +1 -0
  282. package/ui/views/FormView/FormContainerElement.d.ts +2 -2
  283. package/ui/views/FormView/FormContainerElement.js.map +1 -0
  284. package/ui/views/FormView/FormContentElement.js.map +1 -0
  285. package/ui/views/FormView/FormFooterElement.d.ts +3 -3
  286. package/ui/views/FormView/FormFooterElement.js.map +1 -0
  287. package/ui/views/FormView/FormHeaderElement.d.ts +2 -2
  288. package/ui/views/FormView/FormHeaderElement.js.map +1 -0
  289. package/ui/views/FormView.d.ts +1 -1
  290. package/ui/views/FormView.js +25 -3
  291. package/ui/views/FormView.js.map +1 -0
  292. package/ui/views/OverlayView/ContentElement.d.ts +2 -2
  293. package/ui/views/OverlayView/ContentElement.js.map +1 -0
  294. package/ui/views/OverlayView/HeaderElement.d.ts +5 -5
  295. package/ui/views/OverlayView/HeaderElement.js.map +1 -0
  296. package/ui/views/OverlayView/HeaderTitleElement.d.ts +1 -1
  297. package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -0
  298. package/ui/views/OverlayView/useOverlayView.d.ts +4 -5
  299. package/ui/views/OverlayView/useOverlayView.js +2 -2
  300. package/ui/views/OverlayView/useOverlayView.js.map +1 -0
  301. package/ui/views/OverlayView.d.ts +4 -6
  302. package/ui/views/OverlayView.js.map +1 -0
  303. package/ui/views/SplitView/SplitViewPanelElement.d.ts +3 -3
  304. package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -0
  305. package/ui/views/SplitView.d.ts +3 -3
  306. package/ui/views/SplitView.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Routes.tsx"],"names":["React","plugins","Switch","Routes","props","routes","byType","map","route","sort","a","b","pathA","path","pathB","includes","index","cloneElement","key"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,OAAT,QAAwB,iBAAxB;AACA,SAASC,MAAT,QAAuB,sBAAvB;AAOA,OAAO,IAAMC,MAA6B,GAAG,SAAhCA,MAAgC,CAAAC,KAAK,EAAI;AAClD,MAAMC,MAAM,GAAG,6BACRD,KAAK,CAACC,MADE,sBAGRJ,OAAO,CAACK,MAAR,CAA4B,OAA5B,EAAqCC,GAArC,CAAyC;AAAA,QAAGC,KAAH,QAAGA,KAAH;AAAA,WAAeA,KAAf;AAAA,GAAzC,CAHQ,GAIbC,IAJa,CAIR,UAACC,CAAD,EAAIC,CAAJ,EAAU;AACb,QAAMC,KAAK,GAAGF,CAAC,CAACN,KAAF,CAAQS,IAAR,IAAgB,GAA9B;AACA,QAAMC,KAAK,GAAGH,CAAC,CAACP,KAAF,CAAQS,IAAR,IAAgB,GAA9B,CAFa,CAIb;;AACA,QAAID,KAAK,KAAK,GAAV,IAAiBE,KAAK,KAAK,GAA/B,EAAoC;AAChC,aAAO,CAAC,CAAR;AACH,KAPY,CASb;;;AACA,QAAIF,KAAK,KAAK,GAAV,IAAiBA,KAAK,KAAK,GAA/B,EAAoC;AAChC,aAAO,CAAP;AACH,KAZY,CAcb;;;AACA,QAAI,CAAC,GAAD,EAAM,GAAN,EAAWG,QAAX,CAAoBD,KAApB,CAAJ,EAAgC;AAC5B,aAAO,CAAC,CAAR;AACH;;AAED,WAAO,CAAP;AACH,GAxBc,CAAf;AA0BA,sBACI,oBAAC,MAAD,QACKT,MAAM,CAACE,GAAP,CAAW,UAACC,KAAD,EAAQQ,KAAR;AAAA,wBACRhB,KAAK,CAACiB,YAAN,CAAmBT,KAAnB,EAA0B;AAAEU,MAAAA,GAAG,YAAKV,KAAK,CAACJ,KAAN,CAAYS,IAAjB,cAAyBG,KAAzB;AAAL,KAA1B,CADQ;AAAA,GAAX,CADL,CADJ;AAOH,CAlCM","sourcesContent":["import React from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { Switch } from \"@webiny/react-router\";\nimport { RoutePlugin } from \"@webiny/app/types\";\n\ninterface RoutesProps {\n routes: JSX.Element[];\n}\n\nexport const Routes: React.FC<RoutesProps> = props => {\n const routes = [\n ...props.routes,\n // For backwards compatibility, we need to support the RoutePlugin routes as well.\n ...plugins.byType<RoutePlugin>(\"route\").map(({ route }) => route)\n ].sort((a, b) => {\n const pathA = a.props.path || \"*\";\n const pathB = b.props.path || \"*\";\n\n // This will sort paths at the very bottom of the list\n if (pathA === \"/\" && pathB === \"*\") {\n return -1;\n }\n\n // This will push * and / to the bottom of the list\n if (pathA === \"*\" || pathA === \"/\") {\n return 1;\n }\n\n // This will push * and / to the bottom of the list\n if ([\"*\", \"/\"].includes(pathB)) {\n return -1;\n }\n\n return 0;\n });\n\n return (\n <Switch>\n {routes.map((route, index) =>\n React.cloneElement(route, { key: `${route.props.path}:${index}` })\n )}\n </Switch>\n );\n};\n"]}
@@ -1,8 +1,8 @@
1
- /// <reference types="react" />
2
- export declare type SearchProps = {
1
+ import React from "react";
2
+ export interface SearchProps {
3
3
  value: string;
4
4
  onChange: (value: string) => void;
5
5
  inputPlaceholder?: string;
6
- };
7
- declare const Search: ({ value, onChange, inputPlaceholder }: SearchProps) => JSX.Element;
6
+ }
7
+ declare const Search: React.FC<SearchProps>;
8
8
  export default Search;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["SearchUI.tsx"],"names":["React","styled","InputField","ReactComponent","SearchIcon","SearchWrapper","width","height","display","position","top","left","bottom","pointerEvents","alignItems","paddingLeft","color","padding","outline","border","textTransform","letterSpacing","Search","value","onChange","inputPlaceholder"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AACA,OAAOC,UAAP;AACA,SAASC,cAAc,IAAIC,UAA3B;AAEA,IAAMC,aAAa,gBAAGJ,MAAH,CAAU,KAAV;AAAA;AAAA;AAAA,GAAiB;AAChCK,EAAAA,KAAK,EAAE,MADyB;AAEhCC,EAAAA,MAAM,EAAE,MAFwB;AAGhCC,EAAAA,OAAO,EAAE,MAHuB;AAIhCC,EAAAA,QAAQ,EAAE,UAJsB;AAMhC,qBAAmB;AACfA,IAAAA,QAAQ,EAAE,UADK;AAEfC,IAAAA,GAAG,EAAE,CAFU;AAGfC,IAAAA,IAAI,EAAE,CAHS;AAIfC,IAAAA,MAAM,EAAE,CAJO;AAKfC,IAAAA,aAAa,EAAE,MALA;AAMfL,IAAAA,OAAO,EAAE,MANM;AAOfM,IAAAA,UAAU,EAAE,QAPG;AAQfC,IAAAA,WAAW,EAAE,SARE;AASfC,IAAAA,KAAK,EAAE;AATQ,GANa;AAkBhC,sBAAoB;AAChBV,IAAAA,KAAK,EAAE,MADS;AAEhBW,IAAAA,OAAO,EAAE,8BAFO;AAGhBC,IAAAA,OAAO,EAAE,MAHO;AAIhBC,IAAAA,MAAM,EAAE,MAJQ;AAKhBH,IAAAA,KAAK,EAAE,6CALS;AAMhB,eAAW;AACPE,MAAAA,OAAO,EAAE;AADF,KANK;AAShB,sBAAkB;AACdE,MAAAA,aAAa,EAAE,WADD;AAEdC,MAAAA,aAAa,EAAE,QAFD;AAGdL,MAAAA,KAAK,EAAE;AAHO;AATF;AAlBY,CAAjB,CAAnB;;AAwCA,IAAMM,MAA6B,GAAG,SAAhCA,MAAgC,OAAyD;AAAA,MAAtDC,KAAsD,QAAtDA,KAAsD;AAAA,MAA/CC,QAA+C,QAA/CA,QAA+C;AAAA,mCAArCC,gBAAqC;AAAA,MAArCA,gBAAqC,sCAAlB,WAAkB;AAC3F,sBACI,oBAAC,aAAD;AAAe,mBAAa;AAA5B,kBACI;AAAK,IAAA,SAAS,EAAC;AAAf,kBACI,oBAAC,UAAD,OADJ,CADJ,eAII,oBAAC,UAAD;AACI,IAAA,SAAS,EAAC,eADd;AAEI,IAAA,WAAW,EAAEA,gBAFjB;AAGI,IAAA,KAAK,EAAEF,KAHX;AAII,IAAA,QAAQ,EAAEC,QAJd;AAKI,IAAA,YAAY,EAAC;AALjB,IAJJ,CADJ;AAcH,CAfD;;AAiBA,eAAeF,MAAf","sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport InputField from \"./SimpleUI/InputField\";\nimport { ReactComponent as SearchIcon } from \"../assets/icons/search-24px.svg\";\n\nconst SearchWrapper = styled(\"div\")({\n width: \"100%\",\n height: \"100%\",\n display: \"flex\",\n position: \"relative\",\n\n \"& .search__icon\": {\n position: \"absolute\",\n top: 0,\n left: 0,\n bottom: 0,\n pointerEvents: \"none\",\n display: \"flex\",\n alignItems: \"center\",\n paddingLeft: \"0.25rem\",\n color: \"var(--mdc-theme-text-secondary-on-background)\"\n },\n\n \"& .search__input\": {\n width: \"100%\",\n padding: \"0.5rem 0.5rem 0.5rem 2.25rem\",\n outline: \"none\",\n border: \"none\",\n color: \"var(--mdc-theme-text-primary-on-background)\",\n \"&:focus\": {\n outline: \"none\"\n },\n \"&::placeholder\": {\n textTransform: \"uppercase\",\n letterSpacing: \"0.05em\",\n color: \"var(--mdc-theme-text-secondary-on-background)\"\n }\n }\n});\n\nexport interface SearchProps {\n value: string;\n onChange: (value: string) => void;\n inputPlaceholder?: string;\n}\nconst Search: React.FC<SearchProps> = ({ value, onChange, inputPlaceholder = \"Search...\" }) => {\n return (\n <SearchWrapper data-testid={\"default-data-list.search\"}>\n <div className=\"search__icon\">\n <SearchIcon />\n </div>\n <InputField\n className=\"search__input\"\n placeholder={inputPlaceholder}\n value={value}\n onChange={onChange}\n autoComplete=\"off\"\n />\n </SearchWrapper>\n );\n};\n\nexport default Search;\n"]}
@@ -1,21 +1,20 @@
1
1
  import * as React from "react";
2
- declare const title: string;
3
- declare const icon: string;
4
- export declare const SimpleForm: (props: {
2
+ interface SimpleFormProps {
5
3
  children: React.ReactNode;
6
4
  "data-testid"?: string;
7
5
  noElevation?: boolean;
8
6
  className?: string;
9
- }) => JSX.Element;
10
- export declare const SimpleFormHeader: (props: {
7
+ }
8
+ export declare const SimpleForm: React.FC<SimpleFormProps>;
9
+ interface SimpleFormHeaderProps {
11
10
  title: React.ReactNode;
12
11
  icon?: React.ReactElement<any>;
13
12
  children?: React.ReactNode;
14
- }) => JSX.Element;
15
- export declare const SimpleFormFooter: (props: {
13
+ }
14
+ export declare const SimpleFormHeader: React.FC<SimpleFormHeaderProps>;
15
+ interface SimpleFormFooterProps {
16
16
  children: React.ReactNode;
17
- }) => JSX.Element;
18
- export declare const SimpleFormContent: (props: {
19
- children: any;
20
- }) => any;
17
+ }
18
+ export declare const SimpleFormFooter: React.FC<SimpleFormFooterProps>;
19
+ export declare const SimpleFormContent: React.FC;
21
20
  export {};
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["SimpleForm.tsx"],"names":["React","styled","css","classNames","Cell","Grid","Typography","Elevation","Icon","SimpleFormContainer","position","margin","header","borderBottom","color","title","display","alignItems","actions","justifyContent","icon","marginRight","footer","borderTop","textAlign","padding","SimpleForm","props","className","noElevation","children","SimpleFormHeader","SimpleFormFooter","SimpleFormContent"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { css } from \"emotion\";\nimport classNames from \"classnames\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { Elevation } from \"@webiny/ui/Elevation\";\nimport { Icon } from \"@webiny/ui/Icon\";\n\nconst SimpleFormContainer = styled(\"div\")({\n position: \"relative\",\n margin: \"17px 50px\"\n});\n\nconst header = css({\n borderBottom: \"1px solid var(--mdc-theme-on-background)\",\n color: \"var(--mdc-theme-text-primary-on-background)\"\n});\n\nconst title = css({\n display: \"flex\",\n alignItems: \"center\"\n});\n\nconst actions = css({\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\"\n});\n\nconst icon = css({\n marginRight: 15,\n color: \"var(--mdc-theme-text-primary-on-background)\"\n});\n\nconst footer = css({\n borderTop: \"1px solid var(--mdc-theme-on-background)\",\n color: \"var(--mdc-theme-text-primary-on-background)\",\n textAlign: \"right\",\n \"&.mdc-layout-grid\": {\n padding: 25 // \"25px 50px\"\n }\n});\n\ninterface SimpleFormProps {\n children: React.ReactNode;\n \"data-testid\"?: string;\n noElevation?: boolean;\n className?: string;\n}\nexport const SimpleForm: React.FC<SimpleFormProps> = props => {\n return (\n <SimpleFormContainer\n className={classNames(\"webiny-data-list\", props.className)}\n data-testid={props[\"data-testid\"]}\n >\n {props.noElevation ? props.children : <Elevation z={1}>{props.children}</Elevation>}\n </SimpleFormContainer>\n );\n};\n\ninterface SimpleFormHeaderProps {\n title: React.ReactNode;\n icon?: React.ReactElement<any>;\n children?: React.ReactNode;\n}\nexport const SimpleFormHeader: React.FC<SimpleFormHeaderProps> = props => {\n return (\n <Grid className={header}>\n <Cell span={props.children ? 6 : 12} className={title}>\n <React.Fragment>\n {props.icon && <Icon className={icon} icon={props.icon} />}\n <Typography use=\"headline5\">{props.title}</Typography>\n </React.Fragment>\n </Cell>\n {props.children && (\n <Cell span={6} className={actions}>\n {props.children}\n </Cell>\n )}\n </Grid>\n );\n};\n\ninterface SimpleFormFooterProps {\n children: React.ReactNode;\n}\nexport const SimpleFormFooter: React.FC<SimpleFormFooterProps> = props => {\n return (\n <Grid className={footer}>\n <Cell span={12}>{props.children}</Cell>\n </Grid>\n );\n};\n\nexport const SimpleFormContent: React.FC = props => {\n return props.children as unknown as React.ReactElement;\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["SimpleForm","SimpleFormHeader","SimpleFormFooter","SimpleFormContent"],"mappings":"AAAA,SAASA,UAAT,EAAqBC,gBAArB,EAAuCC,gBAAvC,EAAyDC,iBAAzD","sourcesContent":["export { SimpleForm, SimpleFormHeader, SimpleFormFooter, SimpleFormContent } from \"./SimpleForm\";\n"]}
@@ -1,9 +1,10 @@
1
1
  import React from "react";
2
- declare type InputBoxProps = {
2
+ interface InputBoxProps {
3
3
  value?: string | number;
4
4
  onChange?: (value: any) => void;
5
5
  defaultValue?: string | number;
6
+ type?: "string" | "number";
6
7
  [key: string]: any;
7
- };
8
- declare const _default: React.MemoExoticComponent<({ className, value, onChange, label, description, validation, defaultValue, ...props }: InputBoxProps) => JSX.Element>;
8
+ }
9
+ declare const _default: React.NamedExoticComponent<InputBoxProps>;
9
10
  export default _default;
@@ -47,10 +47,10 @@ var labelStyle = /*#__PURE__*/css({
47
47
  }
48
48
  }, "label:labelStyle;");
49
49
 
50
- var getValue = function getValue(_ref) {
51
- var value = _ref.value,
52
- defaultValue = _ref.defaultValue,
53
- type = _ref.type;
50
+ var getValue = function getValue(params) {
51
+ var value = params.value,
52
+ defaultValue = params.defaultValue,
53
+ type = params.type;
54
54
 
55
55
  if (type === "number") {
56
56
  return isNaN(value) ? defaultValue : value;
@@ -59,19 +59,19 @@ var getValue = function getValue(_ref) {
59
59
  return value || defaultValue;
60
60
  };
61
61
 
62
- var InputField = function InputField(_ref2) {
63
- var className = _ref2.className,
64
- value = _ref2.value,
65
- _onChange = _ref2.onChange,
66
- label = _ref2.label,
67
- description = _ref2.description,
68
- _ref2$validation = _ref2.validation,
69
- validation = _ref2$validation === void 0 ? {
62
+ var InputField = function InputField(_ref) {
63
+ var className = _ref.className,
64
+ value = _ref.value,
65
+ _onChange = _ref.onChange,
66
+ label = _ref.label,
67
+ description = _ref.description,
68
+ _ref$validation = _ref.validation,
69
+ validation = _ref$validation === void 0 ? {
70
70
  isValid: true
71
- } : _ref2$validation,
72
- _ref2$defaultValue = _ref2.defaultValue,
73
- defaultValue = _ref2$defaultValue === void 0 ? "" : _ref2$defaultValue,
74
- props = _objectWithoutProperties(_ref2, _excluded);
71
+ } : _ref$validation,
72
+ _ref$defaultValue = _ref.defaultValue,
73
+ defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue,
74
+ props = _objectWithoutProperties(_ref, _excluded);
75
75
 
76
76
  return /*#__PURE__*/React.createElement(React.Fragment, null, label && /*#__PURE__*/React.createElement("div", {
77
77
  className: labelStyle
@@ -81,13 +81,15 @@ var InputField = function InputField(_ref2) {
81
81
  className: classNames(inputStyle, className),
82
82
  value: getValue({
83
83
  value: value,
84
- type: props.type,
84
+ type: props.type || "string",
85
85
  defaultValue: defaultValue
86
86
  }),
87
- onChange: function onChange(_ref3) {
88
- var value = _ref3.target.value;
87
+ onChange: function onChange(ev) {
88
+ if (!_onChange) {
89
+ return;
90
+ }
89
91
 
90
- _onChange(value.toLowerCase());
92
+ _onChange((ev.target.value || "").toLowerCase());
91
93
  }
92
94
  }, omit(props, "validate"))), validation.isValid === false && /*#__PURE__*/React.createElement(FormElementMessage, {
93
95
  error: true
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["InputField.tsx"],"names":["React","css","classNames","omit","Typography","FormElementMessage","inputStyle","boxSizing","border","width","height","padding","textAlign","minHeight","backgroundColor","transition","opacity","cursor","WebkitAppearance","margin","labelStyle","marginBottom","color","getValue","params","value","defaultValue","type","isNaN","InputField","className","onChange","label","description","validation","isValid","props","ev","target","toLowerCase","message","memo"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport classNames from \"classnames\";\nimport omit from \"lodash/omit\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\n\nconst inputStyle = css({\n boxSizing: \"border-box\",\n border: \"1px solid var(--mdc-theme-on-background)\",\n width: \"100%\",\n height: \"100%\",\n padding: \"4px 8px\",\n textAlign: \"left\",\n minHeight: 32,\n backgroundColor: \"var(--mdc-theme-surface)\",\n transition: \"150ms all ease-in-out\",\n \"&:focus:not(:disabled)\": {\n backgroundColor: \"var(--mdc-theme-on-background)\"\n },\n \"&:hover:not(:disabled)\": {\n backgroundColor: \"var(--mdc-theme-on-background)\"\n },\n \"&:disabled\": {\n opacity: 0.5,\n cursor: \"not-allowed\"\n },\n\n \"&.text-center\": {\n textAlign: \"center\",\n padding: 4\n },\n\n \"&::-webkit-inner-spin-button\": {\n WebkitAppearance: \"none\",\n margin: 0\n },\n \"&::-webkit-outer-spin-button\": {\n WebkitAppearance: \"none\",\n margin: 0\n }\n});\n\nconst labelStyle = css({\n marginBottom: 8,\n padding: \"0px 8px\",\n \"& span\": {\n color: \"var(--mdc-theme-text-primary-on-background)\"\n }\n});\n\ninterface GetValueParams {\n value: string | number | undefined;\n defaultValue: string | number;\n type: \"number\" | \"string\";\n}\nconst getValue = (params: GetValueParams): string => {\n const { value, defaultValue, type } = params;\n if (type === \"number\") {\n return (isNaN(value as number) ? defaultValue : value) as string;\n }\n return (value || defaultValue) as string;\n};\n\ninterface InputBoxProps {\n value?: string | number;\n onChange?: (value: any) => void;\n defaultValue?: string | number;\n type?: \"string\" | \"number\";\n [key: string]: any;\n}\nconst InputField: React.FC<InputBoxProps> = ({\n className,\n value,\n onChange,\n label,\n description,\n validation = { isValid: true },\n defaultValue = \"\",\n ...props\n}) => {\n return (\n <React.Fragment>\n {label && (\n <div className={labelStyle}>\n <Typography use={\"subtitle2\"}>{label}</Typography>\n </div>\n )}\n <input\n className={classNames(inputStyle, className)}\n value={getValue({\n value,\n type: props.type || \"string\",\n defaultValue\n })}\n onChange={ev => {\n if (!onChange) {\n return;\n }\n onChange((ev.target.value || \"\").toLowerCase());\n }}\n {...omit(props, \"validate\")}\n />\n {validation.isValid === false && (\n <FormElementMessage error>{validation.message}</FormElementMessage>\n )}\n {validation.isValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </React.Fragment>\n );\n};\n\nexport default React.memo(InputField);\n"]}
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import { FormComponentProps } from "@webiny/ui/types";
3
- declare type SingleImageUploadProps = FormComponentProps & {
3
+ export interface SingleImageUploadProps extends FormComponentProps {
4
4
  accept?: string[];
5
5
  label?: string;
6
6
  disabled?: boolean;
@@ -9,17 +9,11 @@ declare type SingleImageUploadProps = FormComponentProps & {
9
9
  maxSize?: number | string;
10
10
  multipleMaxCount?: number;
11
11
  multipleMaxSize?: number | string;
12
- onChange?: Function;
12
+ onChange?: (value: any) => void;
13
13
  imagePreviewProps?: any;
14
14
  round?: boolean;
15
15
  onChangePick?: string[];
16
- };
16
+ }
17
17
  export default class SingleImageUpload extends React.Component<SingleImageUploadProps> {
18
- static defaultProps: {
19
- validation: {
20
- isValid: any;
21
- };
22
- };
23
18
  render(): JSX.Element;
24
19
  }
25
- export {};
@@ -2,7 +2,6 @@ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
2
  import _createClass from "@babel/runtime/helpers/createClass";
3
3
  import _inherits from "@babel/runtime/helpers/inherits";
4
4
  import _createSuper from "@babel/runtime/helpers/createSuper";
5
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
6
5
  import * as React from "react";
7
6
  import { Image } from "@webiny/app/components/Image";
8
7
  import * as Ui from "@webiny/ui/ImageUpload";
@@ -57,6 +56,11 @@ var SingleImageUpload = /*#__PURE__*/function (_React$Component) {
57
56
  multipleMaxSize = _this$props.multipleMaxSize,
58
57
  imagePreviewProps = _this$props.imagePreviewProps,
59
58
  round = _this$props.round;
59
+
60
+ var _ref = validation || {},
61
+ validationIsValid = _ref.isValid,
62
+ validationMessage = _ref.message;
63
+
60
64
  return /*#__PURE__*/React.createElement(ImageUploadWrapper, {
61
65
  className: className
62
66
  }, label && /*#__PURE__*/React.createElement("div", {
@@ -69,8 +73,8 @@ var SingleImageUpload = /*#__PURE__*/function (_React$Component) {
69
73
  maxSize: maxSize,
70
74
  multipleMaxCount: multipleMaxCount,
71
75
  multipleMaxSize: multipleMaxSize
72
- }, function (_ref) {
73
- var showFileManager = _ref.showFileManager;
76
+ }, function (_ref2) {
77
+ var showFileManager = _ref2.showFileManager;
74
78
  return /*#__PURE__*/React.createElement(Ui.Image, {
75
79
  renderImagePreview: function renderImagePreview(renderImageProps) {
76
80
  return /*#__PURE__*/React.createElement(Image, Object.assign({}, renderImageProps, imagePreviewProps));
@@ -84,19 +88,13 @@ var SingleImageUpload = /*#__PURE__*/function (_React$Component) {
84
88
  removeImage: onChange,
85
89
  round: round
86
90
  });
87
- }), validation.isValid === false && /*#__PURE__*/React.createElement(FormElementMessage, {
91
+ }), validationIsValid === false && /*#__PURE__*/React.createElement(FormElementMessage, {
88
92
  error: true
89
- }, validation.message), validation.isValid !== false && description && /*#__PURE__*/React.createElement(FormElementMessage, null, description));
93
+ }, validationMessage), validationIsValid !== false && description && /*#__PURE__*/React.createElement(FormElementMessage, null, description));
90
94
  }
91
95
  }]);
92
96
 
93
97
  return SingleImageUpload;
94
98
  }(React.Component);
95
99
 
96
- _defineProperty(SingleImageUpload, "defaultProps", {
97
- validation: {
98
- isValid: null
99
- }
100
- });
101
-
102
100
  export { SingleImageUpload as default };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["SingleImageUpload.tsx"],"names":["React","Image","Ui","FileManager","FormElementMessage","styled","ImageUploadWrapper","position","opacity","pointerEvents","transform","top","left","color","SingleImageUpload","props","className","onChange","value","validation","label","description","accept","onChangePick","maxSize","multipleMaxCount","multipleMaxSize","imagePreviewProps","round","validationIsValid","isValid","validationMessage","message","showFileManager","renderImageProps","width","height","Component"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,KAAT,QAAsB,8BAAtB;AACA,OAAO,KAAKC,EAAZ,MAAoB,wBAApB;AACA,SAASC,WAAT;AAEA,SAASC,kBAAT,QAAmC,+BAAnC;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AAEA,IAAMC,kBAAkB,gBAAGD,MAAH,CAAU,KAAV;AAAA;AAAA;AAAA,GAAiB;AACrCE,EAAAA,QAAQ,EAAE,UAD2B;AAErC,eAAa;AACTC,IAAAA,OAAO,EAAE,IADA;AAETC,IAAAA,aAAa,EAAE;AAFN,GAFwB;AAMrC,sCAAoC;AAChCC,IAAAA,SAAS,EAAE,aADqB;AAEhCC,IAAAA,GAAG,EAAE,EAF2B;AAGhCC,IAAAA,IAAI,EAAE,EAH0B;AAIhCC,IAAAA,KAAK,EAAE;AAJyB,GANC;AAYrC,iCAA+B;AAC3BA,IAAAA,KAAK,EAAE;AADoB;AAZM,CAAjB,CAAxB;;IAwDqBC,iB;;;;;;;;;;;;;WACjB,kBAAyB;AACrB,wBAcI,KAAKC,KAdT;AAAA,UACIC,SADJ,eACIA,SADJ;AAAA,UAEIC,QAFJ,eAEIA,QAFJ;AAAA,UAGIC,KAHJ,eAGIA,KAHJ;AAAA,UAIIC,UAJJ,eAIIA,UAJJ;AAAA,UAKIC,KALJ,eAKIA,KALJ;AAAA,UAMIC,WANJ,eAMIA,WANJ;AAAA,UAOIC,MAPJ,eAOIA,MAPJ;AAAA,UAQIC,YARJ,eAQIA,YARJ;AAAA,UASIC,OATJ,eASIA,OATJ;AAAA,UAUIC,gBAVJ,eAUIA,gBAVJ;AAAA,UAWIC,eAXJ,eAWIA,eAXJ;AAAA,UAYIC,iBAZJ,eAYIA,iBAZJ;AAAA,UAaIC,KAbJ,eAaIA,KAbJ;;AAgBA,iBAAmET,UAAU,IAAI,EAAjF;AAAA,UAAiBU,iBAAjB,QAAQC,OAAR;AAAA,UAA6CC,iBAA7C,QAAoCC,OAApC;;AAEA,0BACI,oBAAC,kBAAD;AAAoB,QAAA,SAAS,EAAEhB;AAA/B,SACKI,KAAK,iBACF;AAAK,QAAA,SAAS,EAAC;AAAf,SACKA,KADL,CAFR,eAOI,oBAAC,WAAD;AACI,QAAA,QAAQ,EAAEH,QADd;AAEI,QAAA,YAAY,EAAEM,YAFlB;AAGI,QAAA,MAAM,EAAED,MAHZ;AAII,QAAA,MAAM,EAAE,CAACA,MAJb;AAKI,QAAA,OAAO,EAAEE,OALb;AAMI,QAAA,gBAAgB,EAAEC,gBANtB;AAOI,QAAA,eAAe,EAAEC;AAPrB,SASK;AAAA,YAAGO,eAAH,SAAGA,eAAH;AAAA,4BACG,oBAAC,EAAD,CAAI,KAAJ;AACI,UAAA,kBAAkB,EAAE,4BAAAC,gBAAgB;AAAA,gCAChC,oBAAC,KAAD,oBAAWA,gBAAX,EAAiCP,iBAAjC,EADgC;AAAA,WADxC;AAII,UAAA,KAAK,EAAE;AAAEQ,YAAAA,KAAK,EAAE,MAAT;AAAiBC,YAAAA,MAAM,EAAE;AAAzB,WAJX;AAKI,UAAA,KAAK,EAAElB,KALX;AAMI,UAAA,WAAW,EAAEe,eANjB;AAOI,UAAA,WAAW,EAAEhB,QAPjB;AAQI,UAAA,KAAK,EAAEW;AARX,UADH;AAAA,OATL,CAPJ,EA8BKC,iBAAiB,KAAK,KAAtB,iBACG,oBAAC,kBAAD;AAAoB,QAAA,KAAK;AAAzB,SAA2BE,iBAA3B,CA/BR,EAiCKF,iBAAiB,KAAK,KAAtB,IAA+BR,WAA/B,iBACG,oBAAC,kBAAD,QAAqBA,WAArB,CAlCR,CADJ;AAuCH;;;;EA3D0CrB,KAAK,CAACqC,S;;SAAhCvB,iB","sourcesContent":["import * as React from \"react\";\nimport { Image } from \"@webiny/app/components/Image\";\nimport * as Ui from \"@webiny/ui/ImageUpload\";\nimport { FileManager } from \"./FileManager\";\nimport { FormComponentProps } from \"@webiny/ui/types\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\nimport styled from \"@emotion/styled\";\n\nconst ImageUploadWrapper = styled(\"div\")({\n position: \"relative\",\n \".disabled\": {\n opacity: 0.75,\n pointerEvents: \"none\"\n },\n \".mdc-floating-label--float-above\": {\n transform: \"scale(0.75)\",\n top: 10,\n left: 10,\n color: \"var(--mdc-theme-text-secondary-on-background)\"\n },\n \".mdc-text-field-helper-text\": {\n color: \"var(--mdc-theme-text-secondary-on-background)\"\n }\n});\n\nexport interface SingleImageUploadProps extends FormComponentProps {\n // Accept types\n accept?: string[];\n\n // Component label.\n label?: string;\n\n // Is component disabled?\n disabled?: boolean;\n\n // Description beneath the image.\n description?: React.ReactNode;\n\n // A className for the root element.\n className?: string;\n\n // Define file's max allowed size (default is \"10mb\").\n // Uses \"bytes\" (https://www.npmjs.com/package/bytes) library to convert string notation to actual number.\n maxSize?: number | string;\n\n // Max number of files in a single batch.\n multipleMaxCount?: number;\n\n // Max size of files in a single batch.\n multipleMaxSize?: number | string;\n\n // onChange callback.\n onChange?: (value: any) => void;\n\n // Optional custom props, passed to the preview image.\n imagePreviewProps?: any;\n\n // Is the wrapper round?\n round?: boolean;\n\n // Define the needed properties that are returned on file(s) selection.\n onChangePick?: string[];\n}\n\nexport default class SingleImageUpload extends React.Component<SingleImageUploadProps> {\n public override render() {\n const {\n className,\n onChange,\n value,\n validation,\n label,\n description,\n accept,\n onChangePick,\n maxSize,\n multipleMaxCount,\n multipleMaxSize,\n imagePreviewProps,\n round\n } = this.props;\n\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n\n return (\n <ImageUploadWrapper className={className}>\n {label && (\n <div className=\"mdc-floating-label mdc-floating-label--float-above\">\n {label}\n </div>\n )}\n\n <FileManager\n onChange={onChange}\n onChangePick={onChangePick}\n accept={accept}\n images={!accept}\n maxSize={maxSize}\n multipleMaxCount={multipleMaxCount}\n multipleMaxSize={multipleMaxSize}\n >\n {({ showFileManager }) => (\n <Ui.Image\n renderImagePreview={renderImageProps => (\n <Image {...renderImageProps} {...imagePreviewProps} />\n )}\n style={{ width: \"100%\", height: \"auto\" }}\n value={value}\n uploadImage={showFileManager}\n removeImage={onChange}\n round={round}\n />\n )}\n </FileManager>\n\n {validationIsValid === false && (\n <FormElementMessage error>{validationMessage}</FormElementMessage>\n )}\n {validationIsValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </ImageUploadWrapper>\n );\n }\n}\n"]}
@@ -1,10 +1,10 @@
1
1
  import * as React from "react";
2
2
  import { CellProps } from "@webiny/ui/Grid";
3
- declare type SplitViewProps = {
3
+ interface SplitViewProps {
4
4
  children: React.ReactElement<any> | React.ReactElement<any>[];
5
5
  className?: string;
6
- };
7
- declare const SplitView: (props: SplitViewProps) => JSX.Element;
8
- declare const LeftPanel: (props: CellProps) => JSX.Element;
9
- declare const RightPanel: (props: CellProps) => JSX.Element;
6
+ }
7
+ declare const SplitView: React.FC<SplitViewProps>;
8
+ declare const LeftPanel: React.FC<CellProps>;
9
+ declare const RightPanel: React.FC<CellProps>;
10
10
  export { SplitView, LeftPanel, RightPanel };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["SplitView.tsx"],"names":["React","classSet","Cell","Grid","GridInner","css","styled","getClasses","grid","padding","backgroundColor","gridInner","gridGap","RightPanelWrapper","overflow","height","leftPanel","display","flexDirection","maxHeight","SplitView","props","className","children","LeftPanel","propList","hasOwnProperty","span","RightPanel"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,QAAP,MAAqB,YAArB;AACA,SAASC,IAAT,EAAeC,IAAf,EAAqBC,SAArB,QAAiD,iBAAjD;AACA,SAASC,GAAT,QAAoB,SAApB;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AAEA,SAASC,UAAT,QAA2B,oBAA3B;AAEA,IAAMC,IAAI,gBAAGH,GAAG,CAAC;AACb,uBAAqB;AACjBI,IAAAA,OAAO,EAAE,CADQ;AAEjBC,IAAAA,eAAe,EAAE;AAFA;AADR,CAAD,gBAAhB;AAOA,IAAMC,SAAS,gBAAGN,GAAG,CAAC;AAClB,8BAA4B;AACxBO,IAAAA,OAAO,EAAE;AADe;AADV,CAAD,qBAArB;AAMA,IAAMC,iBAAiB,gBAAGP,MAAH,CAAU,KAAV;AAAA;AAAA;AAAA,GAAiB;AACpCI,EAAAA,eAAe,EAAE,6BADmB;AAEpCI,EAAAA,QAAQ,EAAE,MAF0B;AAGpCC,EAAAA,MAAM,EAAE;AAH4B,CAAjB,CAAvB;AAMA,IAAMC,SAAS,gBAAGX,GAAG,CAAC;AAClBK,EAAAA,eAAe,EAAE,0BADC;AAElB,wBAAsB;AAClBO,IAAAA,OAAO,EAAE,MADS;AAElBC,IAAAA,aAAa,EAAE,QAFG;AAGlBH,IAAAA,MAAM,EAAE,oBAHU;AAIlB,iBAAa;AACTD,MAAAA,QAAQ,EAAE;AADD;AAJK,GAFJ;AAUlB,gBAAc;AACVG,IAAAA,OAAO,EAAE,MADC;AAEVC,IAAAA,aAAa,EAAE,QAFL;AAGVC,IAAAA,SAAS,EAAE,oBAHD;AAIVL,IAAAA,QAAQ,EAAE;AAJA;AAVI,CAAD,qBAArB;;AAuBA,IAAMM,SAAmC,GAAG,SAAtCA,SAAsC,CAAAC,KAAK,EAAI;AACjD,sBACI,oBAAC,IAAD;AAAM,IAAA,SAAS,EAAEpB,QAAQ,CAACO,IAAD,EAAOa,KAAK,CAACC,SAAb,EAAwB,mBAAxB;AAAzB,kBACI,oBAAC,SAAD;AAAW,IAAA,SAAS,EAAEX,SAAS,GAAG;AAAlC,KACKU,KAAK,CAACE,QADX,CADJ,CADJ;AAOH,CARD;;AAUA,IAAMC,SAA8B,GAAG,SAAjCA,SAAiC,CAAAH,KAAK,EAAI;AAC5C,MAAMI,QAAQ,GAAG,OAAMJ,KAAN,CAAjB;;AACA,MAAI,CAACI,QAAQ,CAACC,cAAT,CAAwB,MAAxB,CAAL,EAAsC;AAClCD,IAAAA,QAAQ,CAACE,IAAT,GAAgB,CAAhB;AACH;;AAED,sBACI,oBAAC,IAAD,EACQpB,UAAU,CACVkB,QADU,EAEVxB,QAAQ,CAACe,SAAD,EAAYK,KAAK,CAACC,SAAlB,EAA6B,+BAA7B,CAFE,CADlB,EAMKG,QAAQ,CAACF,QANd,CADJ;AAUH,CAhBD;;AAkBA,IAAMK,UAA+B,GAAG,SAAlCA,UAAkC,CAAAP,KAAK,EAAI;AAC7C,MAAMI,QAAQ,GAAG,OAAMJ,KAAN,CAAjB;;AACA,MAAI,CAACI,QAAQ,CAACC,cAAT,CAAwB,MAAxB,CAAL,EAAsC;AAClCD,IAAAA,QAAQ,CAACE,IAAT,GAAgB,CAAhB;AACH;;AAED,sBACI,oBAAC,IAAD,EAAUpB,UAAU,CAACkB,QAAD,EAAW,gCAAX,CAApB,eACI,oBAAC,iBAAD;AACI,IAAA,SAAS,EAAE,wCADf;AAEI,IAAA,EAAE,EAAE;AAFR,KAIKA,QAAQ,CAACF,QAJd,CADJ,CADJ;AAUH,CAhBD;;AAkBA,SAASH,SAAT,EAAoBI,SAApB,EAA+BI,UAA/B","sourcesContent":["import * as React from \"react\";\nimport classSet from \"classnames\";\nimport { Cell, Grid, GridInner, CellProps } from \"@webiny/ui/Grid\";\nimport { css } from \"emotion\";\nimport styled from \"@emotion/styled\";\nimport { clone } from \"lodash\";\nimport { getClasses } from \"@webiny/ui/Helpers\";\n\nconst grid = css({\n \"&.mdc-layout-grid\": {\n padding: 0,\n backgroundColor: \"var(--mdc-theme-background)\"\n }\n});\n\nconst gridInner = css({\n \"&.mdc-layout-grid__inner\": {\n gridGap: 0\n }\n});\n\nconst RightPanelWrapper = styled(\"div\")({\n backgroundColor: \"var(--mdc-theme-background)\",\n overflow: \"auto\",\n height: \"calc(100vh - 70px)\"\n});\n\nconst leftPanel = css({\n backgroundColor: \"var(--mdc-theme-surface)\",\n \">.webiny-data-list\": {\n display: \"flex\",\n flexDirection: \"column\",\n height: \"calc(100vh - 70px)\",\n \".mdc-list\": {\n overflow: \"auto\"\n }\n },\n \">.mdc-list\": {\n display: \"flex\",\n flexDirection: \"column\",\n maxHeight: \"calc(100vh - 70px)\",\n overflow: \"auto\"\n }\n});\n\ninterface SplitViewProps {\n children: React.ReactElement<any> | React.ReactElement<any>[];\n className?: string;\n}\n\nconst SplitView: React.FC<SplitViewProps> = props => {\n return (\n <Grid className={classSet(grid, props.className, \"webiny-split-view\")}>\n <GridInner className={gridInner + \" webiny-split-view__inner\"}>\n {props.children}\n </GridInner>\n </Grid>\n );\n};\n\nconst LeftPanel: React.FC<CellProps> = props => {\n const propList = clone(props);\n if (!propList.hasOwnProperty(\"span\")) {\n propList.span = 5;\n }\n\n return (\n <Cell\n {...getClasses(\n propList,\n classSet(leftPanel, props.className, \"webiny-split-view__left-panel\")\n )}\n >\n {propList.children}\n </Cell>\n );\n};\n\nconst RightPanel: React.FC<CellProps> = props => {\n const propList = clone(props);\n if (!propList.hasOwnProperty(\"span\")) {\n propList.span = 7;\n }\n\n return (\n <Cell {...getClasses(propList, \"webiny-split-view__right-panel\")}>\n <RightPanelWrapper\n className={\"webiny-split-view__right-panel-wrapper\"}\n id={\"webiny-split-view-right-panel\"}\n >\n {propList.children}\n </RightPanelWrapper>\n </Cell>\n );\n};\n\nexport { SplitView, LeftPanel, RightPanel };\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["SplitView","LeftPanel","RightPanel"],"mappings":"AAAA,SAASA,SAAT,EAAoBC,SAApB,EAA+BC,UAA/B","sourcesContent":["export { SplitView, LeftPanel, RightPanel } from \"./SplitView\";\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["FileManager"],"mappings":"AAAA,SAASA,WAAT","sourcesContent":["export { FileManager } from \"./FileManager\";\n"]}
@@ -1,10 +1,11 @@
1
1
  import React from "react";
2
- declare type Args = {
2
+ interface Params {
3
3
  title?: React.ReactNode;
4
4
  message?: React.ReactNode;
5
5
  [key: string]: any;
6
- };
7
- declare const useConfirmationDialog: ({ title, message, ...options }?: Args) => {
8
- showConfirmation: (onAccept: any, onCancel?: any) => void;
9
- };
6
+ }
7
+ interface UseConfirmationDialogResponse {
8
+ showConfirmation: (onAccept: () => void, onCancel?: () => void) => void;
9
+ }
10
+ declare const useConfirmationDialog: ({ title, message, ...options }?: Params) => UseConfirmationDialogResponse;
10
11
  export { useConfirmationDialog };
@@ -18,8 +18,7 @@ var useConfirmationDialog = function useConfirmationDialog() {
18
18
 
19
19
  var ui = useUi();
20
20
  return {
21
- showConfirmation: function showConfirmation(onAccept) {
22
- var onCancel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
21
+ showConfirmation: function showConfirmation(onAccept, onCancel) {
23
22
  ui.setState(function (ui) {
24
23
  return _objectSpread(_objectSpread({}, ui), {}, {
25
24
  dialog: {
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useConfirmationDialog.ts"],"names":["useUi","i18n","t","ns","useConfirmationDialog","title","message","options","ui","showConfirmation","onAccept","onCancel","setState","dialog","actions","accept","label","onClick","cancel"],"mappings":";;;;;;;AACA,SAASA,KAAT,QAAsB,yBAAtB;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,IAAMC,CAAC,GAAGD,IAAI,CAACE,EAAL,CAAQ,yCAAR,CAAV;;AAYA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,GAIoB;AAAA,iFAAtC,EAAsC;;AAAA,MAH9CC,KAG8C,QAH9CA,KAG8C;AAAA,MAF9CC,OAE8C,QAF9CA,OAE8C;AAAA,MAD3CC,OAC2C;;AAC9C,MAAMC,EAAE,GAAGR,KAAK,EAAhB;AAEA,SAAO;AACHS,IAAAA,gBAAgB,EAAE,0BAACC,QAAD,EAAWC,QAAX,EAAwB;AACtCH,MAAAA,EAAE,CAACI,QAAH,CAAY,UAAAJ,EAAE,EAAI;AACd,+CACOA,EADP;AAEIK,UAAAA,MAAM,EAAE;AACJP,YAAAA,OAAO,EAAEA,OAAO,IAAIJ,CAAJ,uGADZ;AAEJK,YAAAA,OAAO,kCACAA,OADA;AAEHF,cAAAA,KAAK,EAAEA,KAAK,IAAIH,CAAJ,mFAFT;AAGHY,cAAAA,OAAO,EAAE;AACLC,gBAAAA,MAAM,EAAE;AACJC,kBAAAA,KAAK,EAAEd,CAAF,8EADD;AAEJe,kBAAAA,OAAO,EAAEP;AAFL,iBADH;AAKLQ,gBAAAA,MAAM,EAAE;AACJF,kBAAAA,KAAK,EAAEd,CAAF,6EADD;AAEJe,kBAAAA,OAAO,EAAEN;AAFL;AALH;AAHN;AAFH;AAFZ;AAoBH,OArBD;AAsBH;AAxBE,GAAP;AA0BH,CAjCD;;AAmCA,SAASP,qBAAT","sourcesContent":["import React from \"react\";\nimport { useUi } from \"@webiny/app/hooks/useUi\";\nimport { i18n } from \"@webiny/app/i18n\";\nconst t = i18n.ns(\"app-admin/hooks/use-confirmation-dialog\");\n\ninterface Params {\n title?: React.ReactNode;\n message?: React.ReactNode;\n [key: string]: any;\n}\n\ninterface UseConfirmationDialogResponse {\n showConfirmation: (onAccept: () => void, onCancel?: () => void) => void;\n}\n\nconst useConfirmationDialog = ({\n title,\n message,\n ...options\n}: Params = {}): UseConfirmationDialogResponse => {\n const ui = useUi();\n\n return {\n showConfirmation: (onAccept, onCancel) => {\n ui.setState(ui => {\n return {\n ...ui,\n dialog: {\n message: message || t`Are you sure you want to continue?`,\n options: {\n ...options,\n title: title || t`Confirmation`,\n actions: {\n accept: {\n label: t`Confirm`,\n onClick: onAccept\n },\n cancel: {\n label: t`Cancel`,\n onClick: onCancel\n }\n }\n }\n }\n };\n });\n }\n };\n};\n\nexport { useConfirmationDialog };\n"]}
@@ -1,5 +1,10 @@
1
- declare const useDialog: () => {
2
- showDialog: (message: any, options: any) => void;
1
+ import React from "react";
2
+ interface UseDialogResponseShowDialogOptions {
3
+ [key: string]: any;
4
+ }
5
+ interface UseDialogResponse {
6
+ showDialog: (message: React.ReactNode, options?: UseDialogResponseShowDialogOptions) => void;
3
7
  hideDialog: () => void;
4
- };
8
+ }
9
+ declare const useDialog: () => UseDialogResponse;
5
10
  export { useDialog };
@@ -1,5 +1,5 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
- import { useUi } from "@webiny/app/hooks/useUi";
2
+ import { useUi } from "@webiny/app/hooks/useUi"; // TODO @ts-refactor
3
3
 
4
4
  var useDialog = function useDialog() {
5
5
  var ui = useUi();
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useDialog.ts"],"names":["useUi","useDialog","ui","showDialog","message","options","setState","dialog","hideDialog"],"mappings":";AACA,SAASA,KAAT,QAAsB,yBAAtB,C,CAEA;;AAQA,IAAMC,SAAS,GAAG,SAAZA,SAAY,GAAyB;AACvC,MAAMC,EAAE,GAAGF,KAAK,EAAhB;AACA,SAAO;AACHG,IAAAA,UAAU,EAAE,oBAACC,OAAD,EAAUC,OAAV,EAAsB;AAC9BH,MAAAA,EAAE,CAACI,QAAH,CAAY,UAAAJ,EAAE,EAAI;AACd,+CAAYA,EAAZ;AAAgBK,UAAAA,MAAM,EAAE;AAAEH,YAAAA,OAAO,EAAPA,OAAF;AAAWC,YAAAA,OAAO,EAAPA;AAAX;AAAxB;AACH,OAFD;AAGH,KALE;AAMHG,IAAAA,UAAU,EAAE,sBAAM;AACdN,MAAAA,EAAE,CAACI,QAAH,CAAY,UAAAJ,EAAE,EAAI;AACd,+CAAYA,EAAZ;AAAgBK,UAAAA,MAAM,EAAE;AAAxB;AACH,OAFD;AAGH;AAVE,GAAP;AAYH,CAdD;;AAgBA,SAASN,SAAT","sourcesContent":["import React from \"react\";\nimport { useUi } from \"@webiny/app/hooks/useUi\";\n\n// TODO @ts-refactor\ninterface UseDialogResponseShowDialogOptions {\n [key: string]: any;\n}\ninterface UseDialogResponse {\n showDialog: (message: React.ReactNode, options?: UseDialogResponseShowDialogOptions) => void;\n hideDialog: () => void;\n}\nconst useDialog = (): UseDialogResponse => {\n const ui = useUi();\n return {\n showDialog: (message, options) => {\n ui.setState(ui => {\n return { ...ui, dialog: { message, options } };\n });\n },\n hideDialog: () => {\n ui.setState(ui => {\n return { ...ui, dialog: null };\n });\n }\n };\n};\n\nexport { useDialog };\n"]}
@@ -1,4 +1,7 @@
1
- export declare const useSnackbar: () => {
2
- showSnackbar: (message: any, options?: {}) => void;
1
+ import React from "react";
2
+ interface UseSnackbarResponse {
3
+ showSnackbar: (message: React.ReactNode, options?: Record<string, React.ReactNode>) => void;
3
4
  hideSnackbar: () => void;
4
- };
5
+ }
6
+ export declare const useSnackbar: () => UseSnackbarResponse;
7
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useSnackbar.ts"],"names":["useUi","useSnackbar","ui","showSnackbar","message","options","setState","snackbar","hideSnackbar"],"mappings":";AACA,SAASA,KAAT,QAAsB,yBAAtB;AAMA,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc,GAA2B;AAClD,MAAMC,EAAE,GAAGF,KAAK,EAAhB;AAEA,SAAO;AACHG,IAAAA,YAAY,EAAE,sBAACC,OAAD,EAA2B;AAAA,UAAjBC,OAAiB,uEAAP,EAAO;AACrCH,MAAAA,EAAE,CAACI,QAAH,CAAY,UAAAJ,EAAE,EAAI;AACd,+CAAYA,EAAZ;AAAgBK,UAAAA,QAAQ,EAAE;AAAEH,YAAAA,OAAO,EAAPA,OAAF;AAAWC,YAAAA,OAAO,EAAPA;AAAX;AAA1B;AACH,OAFD;AAGH,KALE;AAMHG,IAAAA,YAAY,EAAE,wBAAM;AAChBN,MAAAA,EAAE,CAACI,QAAH,CAAY,UAAAJ,EAAE,EAAI;AACd,+CAAYA,EAAZ;AAAgBK,UAAAA,QAAQ,EAAE;AAA1B;AACH,OAFD;AAGH;AAVE,GAAP;AAYH,CAfM","sourcesContent":["import React from \"react\";\nimport { useUi } from \"@webiny/app/hooks/useUi\";\n\ninterface UseSnackbarResponse {\n showSnackbar: (message: React.ReactNode, options?: Record<string, React.ReactNode>) => void;\n hideSnackbar: () => void;\n}\nexport const useSnackbar = (): UseSnackbarResponse => {\n const ui = useUi();\n\n return {\n showSnackbar: (message, options = {}) => {\n ui.setState(ui => {\n return { ...ui, snackbar: { message, options } };\n });\n },\n hideSnackbar: () => {\n ui.setState(ui => {\n return { ...ui, snackbar: null };\n });\n }\n };\n};\n"]}
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["Admin","useViewComposition","AppInstaller"],"mappings":"AAAA,cAAc,wBAAd;AAEA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA,mC,CAEA;;AACA,SAASA,KAAT;AAEA,SAASC,kBAAT;AAGA;AACA,wD,CAEA;;AACA,SAASC,YAAT,oC,CAEA;;AACA;AACA;AACA","sourcesContent":["export * from \"@webiny/app-admin-core\";\nexport type { HigherOrderComponent, ProviderProps, ComposeProps } from \"@webiny/app-admin-core\";\n// UI components\nexport * from \"./base/ui/Tags\";\nexport * from \"./base/ui/Menu\";\nexport * from \"./base/ui/Layout\";\nexport * from \"./base/ui/LocaleSelector\";\nexport type { LayoutProps } from \"./base/ui/Layout\";\nexport * from \"./base/ui/Navigation\";\nexport type { MenuItemsProps } from \"./base/ui/Navigation\";\nexport * from \"./base/ui/Brand\";\nexport * from \"./base/ui/Logo\";\nexport * from \"./base/ui/Search\";\nexport type { SearchOptionData, SearchOptionProps } from \"./base/ui/Search\";\nexport * from \"./base/ui/UserMenu\";\nexport type { UserMenuItemProps } from \"./base/ui/UserMenu\";\nexport * from \"./base/ui/LoginScreen\";\nexport * from \"./base/ui/CenteredView\";\nexport * from \"./base/ui/Dashboard\";\nexport * from \"./base/ui/NotFound\";\n\n// Base admin app\nexport { Admin } from \"./base/Admin\";\nexport type { AdminProps } from \"./base/Admin\";\nexport { useViewComposition } from \"./base/providers/ViewCompositionProvider\";\nexport type { ViewCompositionContext, ViewElement } from \"./base/providers/ViewCompositionProvider\";\n\n// Plugins\nexport * from \"./base/plugins/AddGraphQLQuerySelection\";\n\n// Components\nexport { AppInstaller } from \"./components/AppInstaller\";\n\n// Hooks\nexport * from \"./hooks/useSnackbar\";\nexport * from \"./hooks/useConfirmationDialog\";\nexport * from \"./hooks/useDialog\";\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-admin",
3
- "version": "5.23.1",
3
+ "version": "5.25.0-beta.0",
4
4
  "main": "index.js",
5
5
  "description": "A collection of plugins that together form a complete admin interface, customizable and extensible with Webiny apps and plugins.",
6
6
  "repository": {
@@ -10,25 +10,26 @@
10
10
  "author": "Pavel Denisjuk",
11
11
  "license": "MIT",
12
12
  "dependencies": {
13
+ "@apollo/react-common": "3.1.4",
13
14
  "@apollo/react-components": "3.1.5",
14
15
  "@apollo/react-hooks": "3.1.5",
15
- "@babel/runtime": "7.16.7",
16
- "@editorjs/editorjs": "2.22.3",
16
+ "@babel/runtime": "7.17.2",
17
+ "@editorjs/editorjs": "2.23.2",
17
18
  "@emotion/core": "10.3.1",
18
19
  "@emotion/styled": "10.3.0",
19
20
  "@svgr/webpack": "6.2.1",
20
21
  "@types/mime": "2.0.3",
21
22
  "@types/react": "16.14.2",
22
- "@webiny/app": "5.23.1",
23
- "@webiny/app-admin-core": "5.23.1",
24
- "@webiny/app-security": "5.23.1",
25
- "@webiny/form": "5.23.1",
26
- "@webiny/plugins": "5.23.1",
27
- "@webiny/react-router": "5.23.1",
28
- "@webiny/telemetry": "5.23.1",
29
- "@webiny/ui": "5.23.1",
30
- "@webiny/ui-composer": "5.23.1",
31
- "@webiny/validation": "5.23.1",
23
+ "@webiny/app": "5.25.0-beta.0",
24
+ "@webiny/app-admin-core": "5.25.0-beta.0",
25
+ "@webiny/app-security": "5.25.0-beta.0",
26
+ "@webiny/form": "5.25.0-beta.0",
27
+ "@webiny/plugins": "5.25.0-beta.0",
28
+ "@webiny/react-router": "5.25.0-beta.0",
29
+ "@webiny/telemetry": "5.25.0-beta.0",
30
+ "@webiny/ui": "5.25.0-beta.0",
31
+ "@webiny/ui-composer": "5.25.0-beta.0",
32
+ "@webiny/validation": "5.25.0-beta.0",
32
33
  "apollo-cache": "1.3.5",
33
34
  "apollo-client": "2.6.10",
34
35
  "apollo-link": "1.2.14",
@@ -36,7 +37,7 @@
36
37
  "bytes": "3.1.2",
37
38
  "classnames": "2.3.1",
38
39
  "dataurl-to-blob": "0.0.1",
39
- "dayjs": "1.10.7",
40
+ "dayjs": "1.10.8",
40
41
  "dot-prop-immutable": "2.1.1",
41
42
  "downshift": "3.4.8",
42
43
  "emotion": "10.0.27",
@@ -46,8 +47,8 @@
46
47
  "invariant": "2.2.4",
47
48
  "lodash": "4.17.21",
48
49
  "mime": "2.6.0",
49
- "minimatch": "3.0.4",
50
- "nanoid": "3.2.0",
50
+ "minimatch": "3.1.2",
51
+ "nanoid": "3.3.1",
51
52
  "prop-types": "15.8.1",
52
53
  "react": "16.14.0",
53
54
  "react-butterfiles": "1.3.3",
@@ -65,13 +66,16 @@
65
66
  "@babel/preset-env": "^7.16.4",
66
67
  "@babel/preset-react": "^7.16.0",
67
68
  "@babel/preset-typescript": "^7.16.0",
68
- "@webiny/cli": "^5.23.1",
69
- "@webiny/project-utils": "^5.23.1",
69
+ "@types/bytes": "^3.1.1",
70
+ "@types/graphlib": "^2.1.8",
71
+ "@types/store": "^2.0.2",
72
+ "@webiny/cli": "^5.25.0-beta.0",
73
+ "@webiny/project-utils": "^5.25.0-beta.0",
70
74
  "babel-plugin-emotion": "^9.2.8",
71
75
  "babel-plugin-lodash": "^3.3.4",
72
76
  "rimraf": "^3.0.2",
73
77
  "ttypescript": "^1.5.12",
74
- "typescript": "^4.1.3"
78
+ "typescript": "4.5.5"
75
79
  },
76
80
  "publishConfig": {
77
81
  "access": "public",
@@ -93,5 +97,5 @@
93
97
  ]
94
98
  }
95
99
  },
96
- "gitHead": "a726d09d2647d13e5a4f376cef23463564ef7ca0"
100
+ "gitHead": "2d3e7833575e88fde77d84e5490e746933a5ec28"
97
101
  }
@@ -23,11 +23,11 @@ interface Config {
23
23
  render(params: RenderParams): React.ReactNode;
24
24
  }
25
25
  export declare class FileManagerFileTypePlugin extends Plugin {
26
- static readonly type = "admin-file-manager-file-type";
27
- private config;
26
+ static readonly type: string;
27
+ private readonly config;
28
28
  constructor(config?: Config);
29
29
  get types(): string[];
30
- get actions(): React.ComponentType<any>[];
30
+ get actions(): React.ComponentType[];
31
31
  render(params: RenderParams): React.ReactNode;
32
32
  }
33
33
  export {};
@@ -36,6 +36,10 @@ export var FileManagerFileTypePlugin = /*#__PURE__*/function (_Plugin) {
36
36
  }, {
37
37
  key: "render",
38
38
  value: function render(params) {
39
+ if (!this.config.render) {
40
+ return null;
41
+ }
42
+
39
43
  return this.config.render(params);
40
44
  }
41
45
  }]);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["FileManagerFileTypePlugin.tsx"],"names":["Plugin","FileManagerFileTypePlugin","config","types","actions","params","render"],"mappings":";;;;;;AACA,SAASA,MAAT,QAAuB,iBAAvB;AA2BA,WAAaC,yBAAb;AAAA;;AAAA;;AAII,qCAAmBC,MAAnB,EAAoC;AAAA;;AAAA;;AAChC;;AADgC;;AAEhC,UAAKA,MAAL,GAAcA,MAAM,IAAI,EAAxB;AAFgC;AAGnC;;AAPL;AAAA;AAAA,SASI,eAAsB;AAClB,aAAO,KAAKA,MAAL,CAAYC,KAAZ,IAAqB,EAA5B;AACH;AAXL;AAAA;AAAA,SAaI,eAAqC;AACjC,aAAO,KAAKD,MAAL,CAAYE,OAAZ,IAAuB,EAA9B;AACH;AAfL;AAAA;AAAA,WAiBI,gBAAcC,MAAd,EAAqD;AACjD,UAAI,CAAC,KAAKH,MAAL,CAAYI,MAAjB,EAAyB;AACrB,eAAO,IAAP;AACH;;AACD,aAAO,KAAKJ,MAAL,CAAYI,MAAZ,CAAmBD,MAAnB,CAAP;AACH;AAtBL;;AAAA;AAAA,EAA+CL,MAA/C;;gBAAaC,yB,UACsC,8B","sourcesContent":["import * as React from \"react\";\nimport { Plugin } from \"@webiny/plugins\";\n\ninterface File {\n id: string;\n name: string;\n key: string;\n src: string;\n size: number;\n type: string;\n tags: string[];\n createdOn: string;\n createdBy: {\n id: string;\n };\n [key: string]: any;\n}\n\nexport interface RenderParams {\n file: File;\n}\n\ninterface Config {\n types: string[];\n actions?: React.ComponentType<any>[];\n render(params: RenderParams): React.ReactNode;\n}\n\nexport class FileManagerFileTypePlugin extends Plugin {\n public static override readonly type: string = \"admin-file-manager-file-type\";\n private readonly config: Partial<Config>;\n\n public constructor(config?: Config) {\n super();\n this.config = config || {};\n }\n\n get types(): string[] {\n return this.config.types || [];\n }\n\n get actions(): React.ComponentType[] {\n return this.config.actions || [];\n }\n\n public render(params: RenderParams): React.ReactNode {\n if (!this.config.render) {\n return null;\n }\n return this.config.render(params);\n }\n}\n"]}
@@ -1,12 +1,12 @@
1
1
  import * as React from "react";
2
2
  import { Plugin } from "@webiny/plugins";
3
- export declare type MenuProps = {
3
+ export interface MenuProps {
4
4
  name: string;
5
5
  label: React.ReactNode;
6
6
  icon: React.ReactElement;
7
7
  children: React.ReactNode;
8
8
  onClick?: (toggleSection: () => void) => void;
9
- };
9
+ }
10
10
  export interface SectionProps {
11
11
  label: React.ReactNode;
12
12
  children: React.ReactNode;
@@ -28,10 +28,10 @@ interface Config {
28
28
  order?: number;
29
29
  }
30
30
  export declare class MenuPlugin extends Plugin {
31
- static readonly type = "admin-menu";
32
- private _config;
31
+ static readonly type: string;
32
+ private readonly _config;
33
33
  constructor(config?: Config);
34
- get order(): number;
35
- render(props: any): React.ReactNode;
34
+ get order(): number | undefined;
35
+ render(props: Props): React.ReactNode;
36
36
  }
37
37
  export {};
@@ -31,6 +31,10 @@ export var MenuPlugin = /*#__PURE__*/function (_Plugin) {
31
31
  }, {
32
32
  key: "render",
33
33
  value: function render(props) {
34
+ if (!this._config.render) {
35
+ return null;
36
+ }
37
+
34
38
  return this._config.render(props);
35
39
  }
36
40
  }]);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["MenuPlugin.ts"],"names":["Plugin","MenuPlugin","config","_config","order","props","render"],"mappings":";;;;;;AACA,SAASA,MAAT,QAAuB,iBAAvB;AAkCA,WAAaC,UAAb;AAAA;;AAAA;;AAII,sBAAmBC,MAAnB,EAAoC;AAAA;;AAAA;;AAChC;;AADgC;;AAEhC,UAAKC,OAAL,GAAeD,MAAM,IAAI,EAAzB;AAFgC;AAGnC;;AAPL;AAAA;AAAA,SASI,eAAY;AACR,aAAO,KAAKC,OAAL,CAAaC,KAApB;AACH;AAXL;AAAA;AAAA,WAaI,gBAAcC,KAAd,EAA6C;AACzC,UAAI,CAAC,KAAKF,OAAL,CAAaG,MAAlB,EAA0B;AACtB,eAAO,IAAP;AACH;;AACD,aAAO,KAAKH,OAAL,CAAaG,MAAb,CAAoBD,KAApB,CAAP;AACH;AAlBL;;AAAA;AAAA,EAAgCL,MAAhC;;gBAAaC,U,UACsC,Y","sourcesContent":["import * as React from \"react\";\nimport { Plugin } from \"@webiny/plugins\";\n\nexport interface MenuProps {\n name: string;\n label: React.ReactNode;\n icon: React.ReactElement;\n children: React.ReactNode;\n onClick?: (toggleSection: () => void) => void;\n}\n\nexport interface SectionProps {\n label: React.ReactNode;\n children: React.ReactNode;\n icon?: React.ReactElement;\n}\n\nexport interface ItemProps {\n label: React.ReactNode;\n path: string;\n style?: React.CSSProperties;\n onClick?: () => any;\n}\n\ninterface Props {\n Menu: React.ComponentType<MenuProps>;\n Section: React.ComponentType<SectionProps>;\n Item: React.ComponentType<ItemProps>;\n}\n\ninterface Config {\n render(props: Props): React.ReactNode;\n order?: number;\n}\n\nexport class MenuPlugin extends Plugin {\n public static override readonly type: string = \"admin-menu\";\n private readonly _config: Partial<Config>;\n\n public constructor(config?: Config) {\n super();\n this._config = config || {};\n }\n\n get order() {\n return this._config.order;\n }\n\n public render(props: Props): React.ReactNode {\n if (!this._config.render) {\n return null;\n }\n return this._config.render(props);\n }\n}\n"]}