@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
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
- import { UIElement } from "../../UIElement";
2
+ import { UIElement, UiElementRenderProps } from "../../UIElement";
3
3
  export declare class ContentElement extends UIElement {
4
4
  constructor(id: string);
5
- render(props: any): React.ReactNode;
5
+ render(props: UiElementRenderProps): React.ReactNode;
6
6
  }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ContentElement.tsx"],"names":["React","styled","UIElement","ContentWrapper","width","paddingTop","ContentElement","id","useGrid","props"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AACA,SAASC,SAAT;AAEA,IAAMC,cAAc,gBAAGF,MAAH,CAAU,KAAV;AAAA;AAAA;AAAA,GAAiB;AACjCG,EAAAA,KAAK,EAAE,MAD0B;AAEjCC,EAAAA,UAAU,EAAE;AAFqB,CAAjB,CAApB;AAKA,WAAaC,cAAb;AAAA;;AAAA;;AACI,0BAAYC,EAAZ,EAAwB;AAAA;;AAAA;;AACpB,8BAAMA,EAAN;;AACA,UAAKC,OAAL,CAAa,KAAb;;AAFoB;AAGvB;;AAJL;AAAA;AAAA,WAMI,gBAAuBC,KAAvB,EAAqE;AACjE,0BAAO,oBAAC,cAAD,mFAA8BA,KAA9B,EAAP;AACH;AARL;;AAAA;AAAA,EAAoCP,SAApC","sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { UIElement, UiElementRenderProps } from \"~/ui/UIElement\";\n\nconst ContentWrapper = styled(\"div\")({\n width: \"100%\",\n paddingTop: 65\n});\n\nexport class ContentElement extends UIElement {\n constructor(id: string) {\n super(id);\n this.useGrid(false);\n }\n\n public override render(props: UiElementRenderProps): React.ReactNode {\n return <ContentWrapper>{super.render(props)}</ContentWrapper>;\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { UIElement, UIElementConfig } from "../../UIElement";
2
+ import { UIElement, UIElementConfig, UiElementRenderProps } from "../../UIElement";
3
3
  interface HeaderElementConfig extends UIElementConfig {
4
4
  onClose: (event: React.MouseEvent) => void;
5
5
  getTitle?: GetterWithoutProps<string>;
@@ -16,9 +16,9 @@ export declare class HeaderElement extends UIElement<HeaderElementConfig> {
16
16
  setLeftSectionElement(element: UIElement): void;
17
17
  setCenterSectionElement(element: UIElement): void;
18
18
  setRightSectionElement(element: UIElement): void;
19
- getLeftSectionElement(): UIElement<UIElementConfig<any>>;
20
- getCenterSectionElement(): UIElement<UIElementConfig<any>>;
21
- getRightSectionElement(): UIElement<UIElementConfig<any>>;
22
- render(props: any): React.ReactNode;
19
+ getLeftSectionElement(): UIElement;
20
+ getCenterSectionElement(): UIElement;
21
+ getRightSectionElement(): UIElement;
22
+ render(props: UiElementRenderProps): React.ReactNode;
23
23
  }
24
24
  export {};
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["HeaderElement.tsx"],"names":["React","css","UIElement","TopAppBarSecondary","TopAppBarSection","IconButton","ReactComponent","CloseIcon","PlaceholderElement","HeaderTitleElement","width","HeaderElement","id","config","_centerSection","title","getTitle","useGrid","element","_leftSection","_rightSection","props","top","getLeftSectionElement","render","getCenterSectionElement","getRightSectionElement","onClose","height"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,GAAT,QAAoB,SAApB;AACA,SAASC,SAAT;AACA,SAASC,kBAAT,EAA6BC,gBAA7B,QAAqD,sBAArD;AACA,SAASC,UAAT,QAA2B,mBAA3B;AACA,SAASC,cAAc,IAAIC,SAA3B;AACA,SAASC,kBAAT;AACA,SAASC,kBAAT;AAOA,IAAMC,KAAK,gBAAGT,GAAG,CAAC;AACdS,EAAAA,KAAK,EAAE;AADO,CAAD,iBAAjB,C,CAIA;AACA;;AAMA,WAAaC,aAAb;AAAA;;AAAA;;AAKI,yBAAmBC,EAAnB,EAA+BC,MAA/B,EAA4D;AAAA;;AAAA;;AACxD,8BAAMD,EAAN,EAAUC,MAAV;;AADwD,mEAJ1B,IAAIL,kBAAJ,CAAuB,aAAvB,CAI0B;;AAAA;;AAAA,oEAFzB,IAAIA,kBAAJ,CAAuB,cAAvB,CAEyB;;AAGxD,UAAKM,cAAL,GAAsB,IAAIL,kBAAJ,CAAuB,OAAvB,EAAgC;AAClDM,MAAAA,KAAK,EAAE,iBAAM;AACT,eAAO,OAAO,MAAKF,MAAL,CAAYG,QAAnB,KAAgC,UAAhC,GAA6C,MAAKH,MAAL,CAAYG,QAAZ,EAA7C,GAAsE,IAA7E;AACH;AAHiD,KAAhC,CAAtB;;AAMA,UAAKC,OAAL,CAAa,KAAb;;AATwD;AAU3D;;AAfL;AAAA;AAAA,WAiBI,kBAAgBF,KAAhB,EAAyD;AACrD,WAAKF,MAAL,CAAYG,QAAZ,GAAuBD,KAAvB;AACH;AAnBL;AAAA;AAAA,WAqBI,+BAA6BG,OAA7B,EAAuD;AACnD,WAAKC,YAAL,GAAoBD,OAApB;AACH;AAvBL;AAAA;AAAA,WAyBI,iCAA+BA,OAA/B,EAAyD;AACrD,WAAKJ,cAAL,GAAsBI,OAAtB;AACH;AA3BL;AAAA;AAAA,WA6BI,gCAA8BA,OAA9B,EAAwD;AACpD,WAAKE,aAAL,GAAqBF,OAArB;AACH;AA/BL;AAAA;AAAA,WAiCI,iCAA0C;AACtC,aAAO,KAAKC,YAAZ;AACH;AAnCL;AAAA;AAAA,WAqCI,mCAA4C;AACxC,aAAO,KAAKL,cAAZ;AACH;AAvCL;AAAA;AAAA,WAyCI,kCAA2C;AACvC,aAAO,KAAKM,aAAZ;AACH;AA3CL;AAAA;AAAA,WA6CI,gBAAuBC,KAAvB,EAAqE;AACjE,0BACI,oBAAC,kBAAD;AAAoB,QAAA,KAAK,MAAzB;AAA0B,QAAA,KAAK,EAAE;AAAEC,UAAAA,GAAG,EAAE;AAAP;AAAjC,sBACI,oBAAC,gBAAD;AAAkB,QAAA,SAAS,EAAEZ,KAA7B;AAAoC,QAAA,UAAU;AAA9C,SACK,KAAKa,qBAAL,GAA6BC,MAA7B,CAAoCH,KAApC,CADL,CADJ,eAII,oBAAC,gBAAD;AAAkB,QAAA,SAAS,EAAEX,KAA7B;AAAoC,QAAA,QAAQ;AAA5C,SACK,KAAKe,uBAAL,GAA+BD,MAA/B,CAAsCH,KAAtC,CADL,CAJJ,eAOI,oBAAC,gBAAD;AAAkB,QAAA,SAAS,EAAEX,KAA7B;AAAoC,QAAA,QAAQ;AAA5C,SACK,KAAKgB,sBAAL,GAA8BF,MAA9B,CAAqCH,KAArC,CADL,eAEI,oBAAC,UAAD;AACI,QAAA,MAAM,EAAE,KADZ;AAEI,QAAA,OAAO,EAAE,KAAKR,MAAL,CAAYc,OAFzB;AAGI,QAAA,IAAI,eAAE,oBAAC,SAAD;AAAW,UAAA,KAAK,EAAE;AAAEjB,YAAAA,KAAK,EAAE,EAAT;AAAakB,YAAAA,MAAM,EAAE;AAArB;AAAlB;AAHV,QAFJ,CAPJ,CADJ;AAkBH;AAhEL;;AAAA;AAAA,EAAmC1B,SAAnC","sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { UIElement, UIElementConfig, UiElementRenderProps } from \"~/ui/UIElement\";\nimport { TopAppBarSecondary, TopAppBarSection } from \"@webiny/ui/TopAppBar\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { ReactComponent as CloseIcon } from \"~/components/OverlayLayout/icons/close.svg\";\nimport { PlaceholderElement } from \"~/ui/elements/PlaceholderElement\";\nimport { HeaderTitleElement } from \"./HeaderTitleElement\";\n\ninterface HeaderElementConfig extends UIElementConfig {\n onClose: (event: React.MouseEvent) => void;\n getTitle?: GetterWithoutProps<string>;\n}\n\nconst width = css({\n width: \"33%\"\n});\n\n// !GOOD FIRST ISSUE!\n// Extract rendering and styling into a HeaderElementRenderer class.\n\ninterface GetterWithoutProps<T> {\n (): T;\n}\n\nexport class HeaderElement extends UIElement<HeaderElementConfig> {\n private _leftSection: UIElement = new PlaceholderElement(\"leftSection\");\n private _centerSection: UIElement;\n private _rightSection: UIElement = new PlaceholderElement(\"rightSection\");\n\n public constructor(id: string, config: HeaderElementConfig) {\n super(id, config);\n\n this._centerSection = new HeaderTitleElement(\"title\", {\n title: () => {\n return typeof this.config.getTitle === \"function\" ? this.config.getTitle() : null;\n }\n });\n\n this.useGrid(false);\n }\n\n public setTitle(title: GetterWithoutProps<string>): void {\n this.config.getTitle = title;\n }\n\n public setLeftSectionElement(element: UIElement): void {\n this._leftSection = element;\n }\n\n public setCenterSectionElement(element: UIElement): void {\n this._centerSection = element;\n }\n\n public setRightSectionElement(element: UIElement): void {\n this._rightSection = element;\n }\n\n public getLeftSectionElement(): UIElement {\n return this._leftSection;\n }\n\n public getCenterSectionElement(): UIElement {\n return this._centerSection;\n }\n\n public getRightSectionElement(): UIElement {\n return this._rightSection;\n }\n\n public override render(props: UiElementRenderProps): React.ReactNode {\n return (\n <TopAppBarSecondary fixed style={{ top: 0 }}>\n <TopAppBarSection className={width} alignStart>\n {this.getLeftSectionElement().render(props)}\n </TopAppBarSection>\n <TopAppBarSection className={width} alignEnd>\n {this.getCenterSectionElement().render(props)}\n </TopAppBarSection>\n <TopAppBarSection className={width} alignEnd>\n {this.getRightSectionElement().render(props)}\n <IconButton\n ripple={false}\n onClick={this.config.onClose}\n icon={<CloseIcon style={{ width: 24, height: 24 }} />}\n />\n </TopAppBarSection>\n </TopAppBarSecondary>\n );\n }\n}\n"]}
@@ -2,7 +2,7 @@ import React from "react";
2
2
  import { UIElement, UIElementConfig } from "../../UIElement";
3
3
  import { UIRenderer, UIRenderParams } from "../../UIRenderer";
4
4
  interface HeaderTitleElementConfig extends UIElementConfig {
5
- title: () => string;
5
+ title: () => string | null;
6
6
  }
7
7
  export declare class HeaderTitleElementRenderer extends UIRenderer<HeaderTitleElement> {
8
8
  render({ element }: UIRenderParams<HeaderTitleElement>): React.ReactNode;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["HeaderTitleElement.tsx"],"names":["React","UIElement","Typography","UIRenderer","HeaderTitleElementRenderer","element","margin","color","config","title","HeaderTitleElement","id","addRenderer"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT;AACA,SAASC,UAAT,QAA2B,uBAA3B;AACA,SAASC,UAAT;AAMA,WAAaC,0BAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,WACI,sBAAyF;AAAA,UAAhEC,OAAgE,QAAhEA,OAAgE;AACrF,0BACI,oBAAC,UAAD;AACI,QAAA,KAAK,EAAE;AAAEC,UAAAA,MAAM,EAAE,QAAV;AAAoBC,UAAAA,KAAK,EAAE;AAA3B,SADX;AAEI,QAAA,GAAG,EAAE;AAFT,SAIKF,OAAO,CAACG,MAAR,CAAeC,KAAf,EAJL,CADJ;AAQH;AAVL;;AAAA;AAAA,EAAgDN,UAAhD;AAaA,WAAaO,kBAAb;AAAA;;AAAA;;AACI,8BAAmBC,EAAnB,EAA+BH,MAA/B,EAAiE;AAAA;;AAAA;;AAC7D,+BAAMG,EAAN,EAAUH,MAAV;;AAEA,UAAKI,WAAL,CAAiB,IAAIR,0BAAJ,EAAjB;;AAH6D;AAIhE;;AALL;AAAA,EAAwCH,SAAxC","sourcesContent":["import React from \"react\";\nimport { UIElement, UIElementConfig } from \"~/ui/UIElement\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { UIRenderer, UIRenderParams } from \"~/ui/UIRenderer\";\n\ninterface HeaderTitleElementConfig extends UIElementConfig {\n title: () => string | null;\n}\n\nexport class HeaderTitleElementRenderer extends UIRenderer<HeaderTitleElement> {\n public override render({ element }: UIRenderParams<HeaderTitleElement>): React.ReactNode {\n return (\n <Typography\n style={{ margin: \"0 auto\", color: \"var(--mdc-theme-on-surface)\" }}\n use={\"headline6\"}\n >\n {element.config.title()}\n </Typography>\n );\n }\n}\n\nexport class HeaderTitleElement extends UIElement<HeaderTitleElementConfig> {\n public constructor(id: string, config: HeaderTitleElementConfig) {\n super(id, config);\n\n this.addRenderer(new HeaderTitleElementRenderer());\n }\n}\n"]}
@@ -1,6 +1,5 @@
1
- /// <reference types="react" />
2
- export declare type UseOverlayView = ReturnType<typeof useOverlayView>;
3
- export declare function useOverlayView(): {
1
+ export interface UseOverlayView {
4
2
  isVisible: boolean;
5
- setIsVisible: import("react").Dispatch<import("react").SetStateAction<boolean>>;
6
- };
3
+ setIsVisible: (value: boolean) => void;
4
+ }
5
+ export declare const useOverlayView: () => UseOverlayView;
@@ -6,7 +6,7 @@ var noScroll = /*#__PURE__*/css({
6
6
  overflow: "hidden",
7
7
  height: "100vh"
8
8
  }, "label:noScroll;");
9
- export function useOverlayView() {
9
+ export var useOverlayView = function useOverlayView() {
10
10
  var _useState = useState(false),
11
11
  _useState2 = _slicedToArray(_useState, 2),
12
12
  isVisible = _useState2[0],
@@ -35,4 +35,4 @@ export function useOverlayView() {
35
35
  isVisible: isVisible,
36
36
  setIsVisible: setIsVisible
37
37
  };
38
- }
38
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useOverlayView.ts"],"names":["useEffect","useState","css","OverlayView","noScroll","overflow","height","useOverlayView","isVisible","setIsVisible","openedViews","document","body","classList","add","remove"],"mappings":";AAAA,SAASA,SAAT,EAAoBC,QAApB,QAAoC,OAApC;AACA,SAASC,GAAT,QAAoB,SAApB;AACA,SAASC,WAAT;AAEA,IAAMC,QAAQ,gBAAGF,GAAG,CAAC;AACjBG,EAAAA,QAAQ,EAAE,QADO;AAEjBC,EAAAA,MAAM,EAAE;AAFS,CAAD,oBAApB;AAUA,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,GAAsB;AAChD,kBAAkCN,QAAQ,CAAU,KAAV,CAA1C;AAAA;AAAA,MAAOO,SAAP;AAAA,MAAkBC,YAAlB;;AAEAT,EAAAA,SAAS,CAAC,YAAM;AACZ,QAAIQ,SAAJ,EAAe;AACXL,MAAAA,WAAW,CAACO,WAAZ;AACAC,MAAAA,QAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBC,GAAxB,CAA4BV,QAA5B;AACH,KAHD,MAGO,IAAI,CAACD,WAAW,CAACO,WAAjB,EAA8B;AACjCC,MAAAA,QAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBE,MAAxB,CAA+BX,QAA/B;AACH;AACJ,GAPQ,EAON,CAACI,SAAD,CAPM,CAAT;AASAR,EAAAA,SAAS,CAAC,YAAM;AACZ,WAAO,YAAM;AACT,UAAIG,WAAW,CAACO,WAAZ,GAA0B,CAA9B,EAAiC;AAC7BP,QAAAA,WAAW,CAACO,WAAZ;AACH;;AACD,UAAI,CAACP,WAAW,CAACO,WAAjB,EAA8B;AAC1BC,QAAAA,QAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBE,MAAxB,CAA+BX,QAA/B;AACH;AACJ,KAPD;AAQH,GATQ,EASN,EATM,CAAT;AAWA,SAAO;AAAEI,IAAAA,SAAS,EAATA,SAAF;AAAaC,IAAAA,YAAY,EAAZA;AAAb,GAAP;AACH,CAxBM","sourcesContent":["import { useEffect, useState } from \"react\";\nimport { css } from \"emotion\";\nimport { OverlayView } from \"../OverlayView\";\n\nconst noScroll = css({\n overflow: \"hidden\",\n height: \"100vh\"\n});\n\nexport interface UseOverlayView {\n isVisible: boolean;\n setIsVisible: (value: boolean) => void;\n}\n\nexport const useOverlayView = (): UseOverlayView => {\n const [isVisible, setIsVisible] = useState<boolean>(false);\n\n useEffect(() => {\n if (isVisible) {\n OverlayView.openedViews++;\n document.body.classList.add(noScroll);\n } else if (!OverlayView.openedViews) {\n document.body.classList.remove(noScroll);\n }\n }, [isVisible]);\n\n useEffect(() => {\n return () => {\n if (OverlayView.openedViews > 0) {\n OverlayView.openedViews--;\n }\n if (!OverlayView.openedViews) {\n document.body.classList.remove(noScroll);\n }\n };\n }, []);\n\n return { isVisible, setIsVisible };\n};\n"]}
@@ -1,5 +1,6 @@
1
1
  import React from "react";
2
- import { UIView } from "../UIView";
2
+ import { UIView, UIViewProps } from "../UIView";
3
+ import { UseOverlayView } from "./OverlayView/useOverlayView";
3
4
  import { HeaderElement } from "./OverlayView/HeaderElement";
4
5
  import { ContentElement } from "./OverlayView/ContentElement";
5
6
  interface OnExited {
@@ -19,13 +20,10 @@ export declare class OverlayView extends UIView {
19
20
  onExited(): void;
20
21
  addOnEntered(cb: OnExited): void;
21
22
  addOnExited(cb: OnExited): void;
22
- getOverlayHook(): {
23
- isVisible: boolean;
24
- setIsVisible: React.Dispatch<React.SetStateAction<boolean>>;
25
- };
23
+ getOverlayHook(): UseOverlayView;
26
24
  setIsVisible(visible: boolean): void;
27
25
  getHeaderElement(): HeaderElement;
28
26
  getContentElement(): ContentElement;
29
- render(props: any): JSX.Element;
27
+ render(props: UIViewProps): React.ReactNode;
30
28
  }
31
29
  export {};
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["OverlayView.tsx"],"names":["React","Transition","styled","UIView","useOverlayView","HeaderElement","ContentElement","OverlayLayoutWrapper","position","width","height","backgroundColor","zIndex","top","left","defaultStyle","transform","opacity","transitionProperty","transitionTimingFunction","transitionDuration","willChange","transitionStyles","entering","entered","OverlayView","id","useGrid","addHookDefinition","addElement","onClose","setIsVisible","applyPlugins","title","getHeaderElement","setTitle","_onEntered","reverse","forEach","cb","_onExited","push","getHook","visible","getOverlayHook","getElement","props","isVisible","onExited","onEntered","state"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { Transition } from \"react-transition-group\";\nimport styled from \"@emotion/styled\";\nimport { UIView, UIViewProps } from \"~/ui/UIView\";\nimport { UseOverlayView, useOverlayView } from \"./OverlayView/useOverlayView\";\nimport { HeaderElement } from \"./OverlayView/HeaderElement\";\nimport { ContentElement } from \"./OverlayView/ContentElement\";\n\n// !GOOD FIRST ISSUE!\n// Extract rendering and styling into an OverlayViewRenderer class.\n\nconst OverlayLayoutWrapper = styled(\"div\")({\n position: \"fixed\",\n width: \"100%\",\n height: \"100vh\",\n backgroundColor: \"var(--mdc-theme-background)\",\n /**\n * Has to be higher than 5 so it's above advanced settings dialog,\n * and below 20, so the image editor & Dialogs can be displayed above.\n */\n zIndex: 18,\n top: 0,\n left: 0\n});\n\nconst defaultStyle: Record<string, string | number> = {\n transform: \"translateY(75vh)\",\n opacity: 0,\n transitionProperty: \"transform, opacity\",\n transitionTimingFunction: \"cubic-bezier(0, 0, .2, 1)\",\n transitionDuration: \"225ms\",\n willChange: \"opacity, transform\"\n};\n\nconst transitionStyles: Record<string, any> = {\n entering: {\n transform: \"translateY(75vh)\",\n opacity: 0\n },\n entered: {\n transform: \"translateY(0px)\",\n opacity: 1\n }\n};\n\ninterface OnExited {\n (view: OverlayView): void;\n}\n\ninterface OnEntered {\n (view: OverlayView): void;\n}\n\nexport class OverlayView extends UIView {\n /**\n * This property is used to track the amount of opened overlays. Since we're applying a CSS class to disable\n * window scroll, we must make sure we don't remove that CSS class until all the overlays are closed.\n */\n static openedViews = 0;\n private _onEntered: OnEntered[] = [];\n private _onExited: OnExited[] = [];\n\n public constructor(id = \"OverlayView\") {\n super(id);\n this.useGrid(false);\n\n this.addHookDefinition(\"overlay\", useOverlayView);\n\n this.addElement(\n new HeaderElement(\"overlayHeader\", {\n onClose: () => this.setIsVisible(false)\n })\n );\n\n this.addElement(new ContentElement(\"overlayContent\"));\n\n this.applyPlugins(OverlayView);\n }\n\n public setTitle(title: () => string): void {\n this.getHeaderElement().setTitle(title);\n }\n\n public onEntered(): void {\n [...this._onEntered].reverse().forEach(cb => cb(this));\n }\n\n public onExited(): void {\n [...this._onExited].reverse().forEach(cb => cb(this));\n }\n\n public addOnEntered(cb: OnExited): void {\n this._onEntered.push(cb);\n }\n\n public addOnExited(cb: OnExited): void {\n this._onExited.push(cb);\n }\n\n public getOverlayHook(): UseOverlayView {\n return this.getHook<UseOverlayView>(\"overlay\");\n }\n\n public setIsVisible(visible: boolean): void {\n this.getOverlayHook().setIsVisible(visible);\n }\n\n public getHeaderElement(): HeaderElement {\n return this.getElement(\"overlayHeader\") as HeaderElement;\n }\n\n public getContentElement(): ContentElement {\n return this.getElement(\"overlayContent\") as HeaderElement;\n }\n\n public override render(props: UIViewProps): React.ReactNode {\n const { isVisible } = this.getOverlayHook();\n return (\n <Transition\n in={isVisible}\n timeout={100}\n appear\n onExited={() => this.onExited()}\n onEntered={() => this.onEntered()}\n >\n {state => (\n <OverlayLayoutWrapper style={{ ...defaultStyle, ...transitionStyles[state] }}>\n {super.render(props)}\n </OverlayLayoutWrapper>\n )}\n </Transition>\n );\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
- /// <reference types="react" />
2
- import { UIElement } from "../../UIElement";
1
+ import React from "react";
2
+ import { UIElement, UiElementRenderProps } from "../../UIElement";
3
3
  export declare class SplitViewPanelElement extends UIElement<any> {
4
4
  private _width;
5
5
  private _classNames;
@@ -7,5 +7,5 @@ export declare class SplitViewPanelElement extends UIElement<any> {
7
7
  addClassName(className: string): void;
8
8
  removeClassName(className: string): void;
9
9
  setContentElement(element: UIElement): void;
10
- render(props: any): JSX.Element;
10
+ render(props: UiElementRenderProps): React.ReactNode;
11
11
  }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["SplitViewPanelElement.tsx"],"names":["React","classNames","UIElement","Cell","SplitViewPanelElement","Set","width","_width","className","_classNames","add","delete","element","getChildren","forEach","el","remove","addElement","props","Array","from","values"],"mappings":";;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,SAAT;AACA,SAASC,IAAT,QAAqB,iBAArB;AAEA,WAAaC,qBAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA,6DACqB,EADrB;;AAAA,kEAEuC,IAAIC,GAAJ,EAFvC;;AAAA;AAAA;;AAAA;AAAA;AAAA,WAII,kBAAgBC,KAAhB,EAAqC;AACjC,WAAKC,MAAL,GAAcD,KAAd;AACH;AANL;AAAA;AAAA,WAQI,sBAAoBE,SAApB,EAA6C;AACzC,WAAKC,WAAL,CAAiBC,GAAjB,CAAqBF,SAArB;AACH;AAVL;AAAA;AAAA,WAYI,yBAAuBA,SAAvB,EAAgD;AAC5C,WAAKC,WAAL,CAAiBE,MAAjB,CAAwBH,SAAxB;AACH;AAdL;AAAA;AAAA,WAgBI,2BAAyBI,OAAzB,EAAmD;AAC/C;AACA,WAAKC,WAAL,GAAmBC,OAAnB,CAA2B,UAAAC,EAAE;AAAA,eAAIA,EAAE,CAACC,MAAH,EAAJ;AAAA,OAA7B,EAF+C,CAI/C;;AACA,WAAKC,UAAL,CAAgBL,OAAhB;AACH;AAtBL;AAAA;AAAA,WAwBI,gBAAuBM,KAAvB,EAAqE;AACjE,0BACI,oBAAC,IAAD;AAAM,QAAA,IAAI,EAAE,KAAKX,MAAjB;AAAyB,QAAA,SAAS,EAAEN,UAAU,CAACkB,KAAK,CAACC,IAAN,CAAW,KAAKX,WAAL,CAAiBY,MAAjB,EAAX,CAAD;AAA9C,2FACkBH,KADlB,EADJ;AAKH;AA9BL;;AAAA;AAAA,EAA2ChB,SAA3C","sourcesContent":["import React from \"react\";\nimport classNames from \"classnames\";\nimport { UIElement, UiElementRenderProps } from \"~/ui/UIElement\";\nimport { Cell } from \"@webiny/ui/Grid\";\n\nexport class SplitViewPanelElement extends UIElement<any> {\n private _width = 12;\n private _classNames: Set<string> = new Set();\n\n public setWidth(width: number): void {\n this._width = width;\n }\n\n public addClassName(className: string): void {\n this._classNames.add(className);\n }\n\n public removeClassName(className: string): void {\n this._classNames.delete(className);\n }\n\n public setContentElement(element: UIElement): void {\n // Remove previous content\n this.getChildren().forEach(el => el.remove());\n\n // Add new content\n this.addElement(element);\n }\n\n public override render(props: UiElementRenderProps): React.ReactNode {\n return (\n <Cell span={this._width} className={classNames(Array.from(this._classNames.values()))}>\n {super.render(props)}\n </Cell>\n );\n }\n}\n"]}
@@ -8,9 +8,9 @@ interface SplitViewConfig {
8
8
  }
9
9
  export declare class SplitView extends UIView {
10
10
  private _classNames;
11
- private _leftPanel;
12
- private _rightPanel;
13
- constructor(id: any, config?: SplitViewConfig);
11
+ private _leftPanel?;
12
+ private _rightPanel?;
13
+ constructor(id: string, config?: SplitViewConfig);
14
14
  addClassName(className: string): void;
15
15
  removeClassName(className: string): void;
16
16
  getLeftPanel(): SplitViewPanelElement;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["SplitView.tsx"],"names":["React","classNames","css","Grid","SplitViewPanelElement","UIView","grid","padding","backgroundColor","gridGap","leftPanel","display","flexDirection","height","overflow","maxHeight","rightPanel","SplitView","id","config","Set","useGrid","addClassName","addElements","getLeftPanel","addElement","getRightPanel","className","_classNames","add","delete","getElement","props","Array","from","values","_leftPanel","setWidth","_rightPanel","moveAfter"],"mappings":";;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,GAAT,QAAoB,SAApB;AACA,SAASC,IAAT,QAAqB,iBAArB;AAEA,SAASC,qBAAT;AACA,SAASC,MAAT;AAEA,IAAMC,IAAI,gBAAGJ,GAAG,CAAC;AACb,uBAAqB;AACjBK,IAAAA,OAAO,EAAE,CADQ;AAEjBC,IAAAA,eAAe,EAAE,6BAFA;AAGjB,gCAA4B;AACxBC,MAAAA,OAAO,EAAE;AADe;AAHX;AADR,CAAD,gBAAhB;AAUA,IAAMC,SAAS,gBAAGR,GAAG,CAAC;AAClBM,EAAAA,eAAe,EAAE,0BADC;AAElB,wBAAsB;AAClBG,IAAAA,OAAO,EAAE,MADS;AAElBC,IAAAA,aAAa,EAAE,QAFG;AAGlBC,IAAAA,MAAM,EAAE,oBAHU;AAIlB,iBAAa;AACTC,MAAAA,QAAQ,EAAE;AADD;AAJK,GAFJ;AAUlB,gBAAc;AACVH,IAAAA,OAAO,EAAE,MADC;AAEVC,IAAAA,aAAa,EAAE,QAFL;AAGVG,IAAAA,SAAS,EAAE,oBAHD;AAIVD,IAAAA,QAAQ,EAAE;AAJA;AAVI,CAAD,qBAArB;AAkBA,IAAME,UAAU,gBAAGd,GAAG,CAAC;AACnBM,EAAAA,eAAe,EAAE,6BADE;AAEnBM,EAAAA,QAAQ,EAAE,MAFS;AAGnBD,EAAAA,MAAM,EAAE;AAHW,CAAD,sBAAtB;AAWA,WAAaI,SAAb;AAAA;;AAAA;;AAKI,qBAAmBC,EAAnB,EAA6D;AAAA;;AAAA,QAA9BC,MAA8B,uEAAJ,EAAI;;AAAA;;AACzD,kDAAmBD,EAAnB;;AADyD,kEAJvC,IAAIE,GAAJ,EAIuC;;AAAA;;AAAA;;AAGzD,UAAKC,OAAL,CAAa,KAAb;;AACA,UAAKC,YAAL,CAAkBhB,IAAlB;;AACA,UAAKgB,YAAL,CAAkB,mBAAlB;;AACA,UAAKC,WAAL;;AAEA,QAAIJ,MAAM,CAACT,SAAX,EAAsB;AAClB,YAAKc,YAAL,GAAoBC,UAApB,CAA+BN,MAAM,CAACT,SAAtC;AACH;;AAED,QAAIS,MAAM,CAACH,UAAX,EAAuB;AACnB,YAAKU,aAAL,GAAqBD,UAArB,CAAgCN,MAAM,CAACH,UAAvC;AACH;;AAdwD;AAe5D;;AApBL;AAAA;AAAA,WAsBI,sBAAoBW,SAApB,EAA6C;AACzC,WAAKC,WAAL,CAAiBC,GAAjB,CAAqBF,SAArB;AACH;AAxBL;AAAA;AAAA,WA0BI,yBAAuBA,SAAvB,EAAgD;AAC5C,WAAKC,WAAL,CAAiBE,MAAjB,CAAwBH,SAAxB;AACH;AA5BL;AAAA;AAAA,WA8BI,wBAA6C;AACzC,aAAO,KAAKI,UAAL,CAAgB,WAAhB,CAAP;AACH;AAhCL;AAAA;AAAA,WAkCI,yBAA8C;AAC1C,aAAO,KAAKA,UAAL,CAAgB,YAAhB,CAAP;AACH;AApCL;AAAA;AAAA,WAsCI,gBAAuBC,KAAvB,EAAqD;AACjD,0BACI,oBAAC,IAAD;AAAM,QAAA,SAAS,EAAE/B,UAAU,CAACgC,KAAK,CAACC,IAAN,CAAW,KAAKN,WAAL,CAAiBO,MAAjB,EAAX,CAAD;AAA3B,+EACkBH,KADlB,EADJ;AAKH;AA5CL;AAAA;AAAA,WA8CI,uBAA4B;AACxB,WAAKI,UAAL,GAAkB,IAAIhC,qBAAJ,CAA0B,WAA1B,CAAlB;;AACA,WAAKgC,UAAL,CAAgBf,OAAhB,CAAwB,KAAxB;;AACA,WAAKe,UAAL,CAAgBC,QAAhB,CAAyB,CAAzB;;AACA,WAAKD,UAAL,CAAgBd,YAAhB,CAA6BZ,SAA7B;;AACA,WAAK0B,UAAL,CAAgBd,YAAhB,CAA6B,+BAA7B;;AAEA,WAAKgB,WAAL,GAAmB,IAAIlC,qBAAJ,CAA0B,YAA1B,CAAnB;;AACA,WAAKkC,WAAL,CAAiBjB,OAAjB,CAAyB,KAAzB;;AACA,WAAKiB,WAAL,CAAiBD,QAAjB,CAA0B,CAA1B;;AACA,WAAKC,WAAL,CAAiBhB,YAAjB,CAA8BN,UAA9B;;AACA,WAAKsB,WAAL,CAAiBhB,YAAjB,CAA8B,gCAA9B;;AAEA,WAAKG,UAAL,CAAgB,KAAKW,UAArB;;AACA,WAAKE,WAAL,CAAiBC,SAAjB,CAA2B,KAAKH,UAAhC;AACH;AA7DL;;AAAA;AAAA,EAA+B/B,MAA/B","sourcesContent":["import React from \"react\";\nimport classNames from \"classnames\";\nimport { css } from \"emotion\";\nimport { Grid } from \"@webiny/ui/Grid\";\nimport { UIElement } from \"~/ui/UIElement\";\nimport { SplitViewPanelElement } from \"./SplitView/SplitViewPanelElement\";\nimport { UIView } from \"../UIView\";\n\nconst grid = css({\n \"&.mdc-layout-grid\": {\n padding: 0,\n backgroundColor: \"var(--mdc-theme-background)\",\n \">.mdc-layout-grid__inner\": {\n gridGap: 0\n }\n }\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\nconst rightPanel = css({\n backgroundColor: \"var(--mdc-theme-background)\",\n overflow: \"auto\",\n height: \"calc(100vh - 70px)\"\n});\n\ninterface SplitViewConfig {\n leftPanel?: UIElement;\n rightPanel?: UIElement;\n}\n\nexport class SplitView extends UIView {\n private _classNames = new Set();\n private _leftPanel?: SplitViewPanelElement;\n private _rightPanel?: SplitViewPanelElement;\n\n public constructor(id: string, config: SplitViewConfig = {}) {\n super(`SplitView.${id}`);\n\n this.useGrid(false);\n this.addClassName(grid);\n this.addClassName(\"webiny-split-view\");\n this.addElements();\n\n if (config.leftPanel) {\n this.getLeftPanel().addElement(config.leftPanel);\n }\n\n if (config.rightPanel) {\n this.getRightPanel().addElement(config.rightPanel);\n }\n }\n\n public addClassName(className: string): void {\n this._classNames.add(className);\n }\n\n public removeClassName(className: string): void {\n this._classNames.delete(className);\n }\n\n public getLeftPanel(): SplitViewPanelElement {\n return this.getElement(\"leftPanel\") as SplitViewPanelElement;\n }\n\n public getRightPanel(): SplitViewPanelElement {\n return this.getElement(\"rightPanel\") as SplitViewPanelElement;\n }\n\n public override render(props?: any): React.ReactNode {\n return (\n <Grid className={classNames(Array.from(this._classNames.values()))}>\n {super.render(props)}\n </Grid>\n );\n }\n\n private addElements(): void {\n this._leftPanel = new SplitViewPanelElement(\"leftPanel\");\n this._leftPanel.useGrid(false);\n this._leftPanel.setWidth(5);\n this._leftPanel.addClassName(leftPanel);\n this._leftPanel.addClassName(\"webiny-split-view__left-panel\");\n\n this._rightPanel = new SplitViewPanelElement(\"rightPanel\");\n this._rightPanel.useGrid(false);\n this._rightPanel.setWidth(7);\n this._rightPanel.addClassName(rightPanel);\n this._rightPanel.addClassName(\"webiny-split-view__right-panel\");\n\n this.addElement(this._leftPanel);\n this._rightPanel.moveAfter(this._leftPanel);\n }\n}\n"]}