@webiny/app-admin 0.0.0-unstable.5e7233243f → 0.0.0-unstable.60a863e033

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 (291) hide show
  1. package/base/Admin.js +7 -21
  2. package/base/Admin.js.map +1 -1
  3. package/base/Base.js +6 -25
  4. package/base/Base.js.map +1 -1
  5. package/base/plugins/AddGraphQLQuerySelection.js +0 -8
  6. package/base/plugins/AddGraphQLQuerySelection.js.map +1 -1
  7. package/base/providers/ApolloProvider.js +0 -5
  8. package/base/providers/ApolloProvider.js.map +1 -1
  9. package/base/providers/TelemetryProvider.js +1 -7
  10. package/base/providers/TelemetryProvider.js.map +1 -1
  11. package/base/providers/UiStateProvider.js +0 -5
  12. package/base/providers/UiStateProvider.js.map +1 -1
  13. package/base/providers/ViewCompositionProvider.js +3 -16
  14. package/base/providers/ViewCompositionProvider.js.map +1 -1
  15. package/base/ui/Brand.d.ts +2 -2
  16. package/base/ui/Brand.js +3 -7
  17. package/base/ui/Brand.js.map +1 -1
  18. package/base/ui/CenteredView.js +2 -7
  19. package/base/ui/CenteredView.js.map +1 -1
  20. package/base/ui/Dashboard.d.ts +2 -2
  21. package/base/ui/Dashboard.js +3 -7
  22. package/base/ui/Dashboard.js.map +1 -1
  23. package/base/ui/Layout.d.ts +2 -2
  24. package/base/ui/Layout.js +4 -9
  25. package/base/ui/Layout.js.map +1 -1
  26. package/base/ui/LocaleSelector.d.ts +2 -2
  27. package/base/ui/LocaleSelector.js +3 -7
  28. package/base/ui/LocaleSelector.js.map +1 -1
  29. package/base/ui/LoginScreen.d.ts +1 -1
  30. package/base/ui/LoginScreen.js +2 -8
  31. package/base/ui/LoginScreen.js.map +1 -1
  32. package/base/ui/Logo.d.ts +2 -2
  33. package/base/ui/Logo.js +4 -10
  34. package/base/ui/Logo.js.map +1 -1
  35. package/base/ui/Menu.js +2 -31
  36. package/base/ui/Menu.js.map +1 -1
  37. package/base/ui/Navigation.d.ts +3 -3
  38. package/base/ui/Navigation.js +16 -49
  39. package/base/ui/Navigation.js.map +1 -1
  40. package/base/ui/NotFound.d.ts +2 -2
  41. package/base/ui/NotFound.js +3 -7
  42. package/base/ui/NotFound.js.map +1 -1
  43. package/base/ui/Search.d.ts +2 -2
  44. package/base/ui/Search.js +8 -26
  45. package/base/ui/Search.js.map +1 -1
  46. package/base/ui/Tags.js +1 -8
  47. package/base/ui/Tags.js.map +1 -1
  48. package/base/ui/UserMenu.d.ts +7 -7
  49. package/base/ui/UserMenu.js +13 -37
  50. package/base/ui/UserMenu.js.map +1 -1
  51. package/components/AdminLayout.js +1 -6
  52. package/components/AdminLayout.js.map +1 -1
  53. package/components/AppInstaller/AppInstaller.js +18 -52
  54. package/components/AppInstaller/AppInstaller.js.map +1 -1
  55. package/components/AppInstaller/Sidebar.js +9 -32
  56. package/components/AppInstaller/Sidebar.js.map +1 -1
  57. package/components/AppInstaller/index.js +0 -7
  58. package/components/AppInstaller/index.js.map +1 -1
  59. package/components/AppInstaller/styled.js +0 -4
  60. package/components/AppInstaller/styled.js.map +1 -1
  61. package/components/AppInstaller/useInstaller.js +66 -122
  62. package/components/AppInstaller/useInstaller.js.map +1 -1
  63. package/components/EmptyView.js +3 -11
  64. package/components/EmptyView.js.map +1 -1
  65. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +0 -14
  66. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +1 -1
  67. package/components/FileManager/BottomInfoBar/UploadStatus.js +0 -9
  68. package/components/FileManager/BottomInfoBar/UploadStatus.js.map +1 -1
  69. package/components/FileManager/BottomInfoBar.js +0 -12
  70. package/components/FileManager/BottomInfoBar.js.map +1 -1
  71. package/components/FileManager/DropFilesHere.js +3 -12
  72. package/components/FileManager/DropFilesHere.js.map +1 -1
  73. package/components/FileManager/File.js +5 -18
  74. package/components/FileManager/File.js.map +1 -1
  75. package/components/FileManager/FileDetails/Name.js +45 -75
  76. package/components/FileManager/FileDetails/Name.js.map +1 -1
  77. package/components/FileManager/FileDetails/Tags.js +85 -138
  78. package/components/FileManager/FileDetails/Tags.js.map +1 -1
  79. package/components/FileManager/FileDetails.js +94 -161
  80. package/components/FileManager/FileDetails.js.map +1 -1
  81. package/components/FileManager/FileManagerContext.js +12 -45
  82. package/components/FileManager/FileManagerContext.js.map +1 -1
  83. package/components/FileManager/FileManagerView.js +177 -294
  84. package/components/FileManager/FileManagerView.js.map +1 -1
  85. package/components/FileManager/LeftSidebar.js +10 -29
  86. package/components/FileManager/LeftSidebar.js.map +1 -1
  87. package/components/FileManager/NoPermissionView.js +0 -13
  88. package/components/FileManager/NoPermissionView.js.map +1 -1
  89. package/components/FileManager/NoResults.js +0 -6
  90. package/components/FileManager/NoResults.js.map +1 -1
  91. package/components/FileManager/getFileTypePlugin.js +9 -15
  92. package/components/FileManager/getFileTypePlugin.js.map +1 -1
  93. package/components/FileManager/getFileUploader.js +0 -5
  94. package/components/FileManager/getFileUploader.js.map +1 -1
  95. package/components/FileManager/graphql.js +3 -14
  96. package/components/FileManager/graphql.js.map +1 -1
  97. package/components/FileManager/outputFileSelectionError.js +0 -14
  98. package/components/FileManager/outputFileSelectionError.js.map +1 -1
  99. package/components/FileManager.js +17 -43
  100. package/components/FileManager.js.map +1 -1
  101. package/components/FloatingActionButton.js +0 -6
  102. package/components/FloatingActionButton.js.map +1 -1
  103. package/components/MultiImageUpload.js +1 -10
  104. package/components/MultiImageUpload.js.map +1 -1
  105. package/components/OverlayLayout/OverlayLayout.js +7 -36
  106. package/components/OverlayLayout/OverlayLayout.js.map +1 -1
  107. package/components/OverlayLayout/index.js +0 -2
  108. package/components/OverlayLayout/index.js.map +1 -1
  109. package/components/Permissions/Permissions.d.ts +2 -0
  110. package/components/Permissions/Permissions.js +25 -27
  111. package/components/Permissions/Permissions.js.map +1 -1
  112. package/components/Permissions/StyledComponents.js +1 -8
  113. package/components/Permissions/StyledComponents.js.map +1 -1
  114. package/components/Permissions/index.js +0 -3
  115. package/components/Permissions/index.js.map +1 -1
  116. package/components/RichTextEditor/RichTextEditor.js +0 -7
  117. package/components/RichTextEditor/RichTextEditor.js.map +1 -1
  118. package/components/RichTextEditor/index.js +0 -2
  119. package/components/RichTextEditor/index.js.map +1 -1
  120. package/components/RichTextEditor/tools/header/index.js +62 -102
  121. package/components/RichTextEditor/tools/header/index.js.map +1 -1
  122. package/components/RichTextEditor/tools/image/index.js +15 -36
  123. package/components/RichTextEditor/tools/image/index.js.map +1 -1
  124. package/components/RichTextEditor/tools/image/svgs.js.map +1 -1
  125. package/components/RichTextEditor/tools/image/tunes.js +5 -22
  126. package/components/RichTextEditor/tools/image/tunes.js.map +1 -1
  127. package/components/RichTextEditor/tools/image/ui.js +16 -39
  128. package/components/RichTextEditor/tools/image/ui.js.map +1 -1
  129. package/components/RichTextEditor/tools/paragraph/index.js +55 -81
  130. package/components/RichTextEditor/tools/paragraph/index.js.map +1 -1
  131. package/components/RichTextEditor/tools/textColor/index.js +15 -41
  132. package/components/RichTextEditor/tools/textColor/index.js.map +1 -1
  133. package/components/RichTextEditor/tools/utils.js +0 -2
  134. package/components/RichTextEditor/tools/utils.js.map +1 -1
  135. package/components/Routes.js +6 -13
  136. package/components/Routes.js.map +1 -1
  137. package/components/SearchUI.d.ts +1 -0
  138. package/components/SearchUI.js +12 -12
  139. package/components/SearchUI.js.map +1 -1
  140. package/components/SimpleForm/SimpleForm.js +3 -32
  141. package/components/SimpleForm/SimpleForm.js.map +1 -1
  142. package/components/SimpleForm/index.js +0 -1
  143. package/components/SimpleForm/index.js.map +1 -1
  144. package/components/SimpleUI/InputField.d.ts +2 -0
  145. package/components/SimpleUI/InputField.js +17 -31
  146. package/components/SimpleUI/InputField.js.map +1 -1
  147. package/components/SingleImageUpload.js +12 -28
  148. package/components/SingleImageUpload.js.map +1 -1
  149. package/components/SplitView/SplitView.js +0 -20
  150. package/components/SplitView/SplitView.js.map +1 -1
  151. package/components/SplitView/index.js +0 -1
  152. package/components/SplitView/index.js.map +1 -1
  153. package/components/index.js +0 -1
  154. package/components/index.js.map +1 -1
  155. package/hooks/useConfirmationDialog.d.ts +3 -1
  156. package/hooks/useConfirmationDialog.js +12 -20
  157. package/hooks/useConfirmationDialog.js.map +1 -1
  158. package/hooks/useDialog.js +0 -5
  159. package/hooks/useDialog.js.map +1 -1
  160. package/hooks/useSnackbar.js +0 -5
  161. package/hooks/useSnackbar.js.map +1 -1
  162. package/index.d.ts +2 -2
  163. package/index.js +4 -52
  164. package/index.js.map +1 -1
  165. package/package.json +28 -29
  166. package/plugins/FileManagerFileTypePlugin.js +0 -15
  167. package/plugins/FileManagerFileTypePlugin.js.map +1 -1
  168. package/plugins/MenuPlugin.js +0 -15
  169. package/plugins/MenuPlugin.js.map +1 -1
  170. package/plugins/PermissionRendererPlugin.js +0 -15
  171. package/plugins/PermissionRendererPlugin.js.map +1 -1
  172. package/plugins/fileManager/fileDefault.js +0 -6
  173. package/plugins/fileManager/fileDefault.js.map +1 -1
  174. package/plugins/fileManager/fileImage/DeleteAction.js +16 -40
  175. package/plugins/fileManager/fileImage/DeleteAction.js.map +1 -1
  176. package/plugins/fileManager/fileImage/EditAction.js +22 -58
  177. package/plugins/fileManager/fileImage/EditAction.js.map +1 -1
  178. package/plugins/fileManager/fileImage/index.js +0 -8
  179. package/plugins/fileManager/fileImage/index.js.map +1 -1
  180. package/plugins/fileManager/index.js +0 -2
  181. package/plugins/fileManager/index.js.map +1 -1
  182. package/plugins/globalSearch/SearchBar.js +3 -51
  183. package/plugins/globalSearch/SearchBar.js.map +1 -1
  184. package/plugins/globalSearch/SearchBarDropdown.js +13 -31
  185. package/plugins/globalSearch/SearchBarDropdown.js.map +1 -1
  186. package/plugins/globalSearch/index.js.map +1 -1
  187. package/plugins/globalSearch/styled.js +1 -5
  188. package/plugins/globalSearch/styled.js.map +1 -1
  189. package/plugins/uiLayoutRenderer/index.js +2 -16
  190. package/plugins/uiLayoutRenderer/index.js.map +1 -1
  191. package/styles/material-theme-assignments.scss +5 -1
  192. package/styles/material.scss +2 -0
  193. package/styles/theme.scss +34 -1
  194. package/ui/UIElement.js +0 -1
  195. package/ui/UIElement.js.map +1 -1
  196. package/ui/UILayout.js +0 -1
  197. package/ui/UILayout.js.map +1 -1
  198. package/ui/UIRenderer.js +0 -1
  199. package/ui/UIRenderer.js.map +1 -1
  200. package/ui/UIView.js +0 -1
  201. package/ui/UIView.js.map +1 -1
  202. package/ui/elements/AccordionElement.js +2 -28
  203. package/ui/elements/AccordionElement.js.map +1 -1
  204. package/ui/elements/ButtonElement.js +0 -19
  205. package/ui/elements/ButtonElement.js.map +1 -1
  206. package/ui/elements/ButtonGroupElement.js +0 -19
  207. package/ui/elements/ButtonGroupElement.js.map +1 -1
  208. package/ui/elements/GenericElement.js +0 -2
  209. package/ui/elements/GenericElement.js.map +1 -1
  210. package/ui/elements/LabelElement.js +0 -14
  211. package/ui/elements/LabelElement.js.map +1 -1
  212. package/ui/elements/NavigationMenuElement.js +3 -36
  213. package/ui/elements/NavigationMenuElement.js.map +1 -1
  214. package/ui/elements/PanelElement.js +0 -11
  215. package/ui/elements/PanelElement.js.map +1 -1
  216. package/ui/elements/PlaceholderElement.js +0 -11
  217. package/ui/elements/PlaceholderElement.js.map +1 -1
  218. package/ui/elements/SmallButtonElement.js +0 -19
  219. package/ui/elements/SmallButtonElement.js.map +1 -1
  220. package/ui/elements/TypographyElement.js +0 -19
  221. package/ui/elements/TypographyElement.js.map +1 -1
  222. package/ui/elements/ViewElement.js +0 -2
  223. package/ui/elements/ViewElement.js.map +1 -1
  224. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +0 -16
  225. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -1
  226. package/ui/elements/form/DynamicFieldsetElement.js +11 -34
  227. package/ui/elements/form/DynamicFieldsetElement.js.map +1 -1
  228. package/ui/elements/form/FileManagerElement/EmptyStateElement.js +0 -15
  229. package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -1
  230. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +0 -22
  231. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -1
  232. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +17 -26
  233. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -1
  234. package/ui/elements/form/FileManagerElement/styled.js +0 -5
  235. package/ui/elements/form/FileManagerElement/styled.js.map +1 -1
  236. package/ui/elements/form/FileManagerElement.js +0 -20
  237. package/ui/elements/form/FileManagerElement.js.map +1 -1
  238. package/ui/elements/form/FormElement.js +0 -21
  239. package/ui/elements/form/FormElement.js.map +1 -1
  240. package/ui/elements/form/FormFieldElement.js +0 -33
  241. package/ui/elements/form/FormFieldElement.js.map +1 -1
  242. package/ui/elements/form/HiddenElement.js +0 -17
  243. package/ui/elements/form/HiddenElement.js.map +1 -1
  244. package/ui/elements/form/InputElement.js +0 -18
  245. package/ui/elements/form/InputElement.js.map +1 -1
  246. package/ui/elements/form/PasswordElement.js +0 -15
  247. package/ui/elements/form/PasswordElement.js.map +1 -1
  248. package/ui/elements/form/SelectElement.js +1 -19
  249. package/ui/elements/form/SelectElement.js.map +1 -1
  250. package/ui/elements/form/TextareaElement.js +0 -17
  251. package/ui/elements/form/TextareaElement.js.map +1 -1
  252. package/ui/views/AdminView/ContentElement.js +1 -25
  253. package/ui/views/AdminView/ContentElement.js.map +1 -1
  254. package/ui/views/AdminView/HeaderElement.js +0 -40
  255. package/ui/views/AdminView/HeaderElement.js.map +1 -1
  256. package/ui/views/AdminView/HeaderSectionCenterElement.js +0 -20
  257. package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -1
  258. package/ui/views/AdminView/HeaderSectionLeftElement.js +0 -20
  259. package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -1
  260. package/ui/views/AdminView/HeaderSectionRightElement.js +0 -20
  261. package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -1
  262. package/ui/views/AdminView/components/Dialog.js +10 -21
  263. package/ui/views/AdminView/components/Dialog.js.map +1 -1
  264. package/ui/views/AdminView/components/Hamburger.js +0 -8
  265. package/ui/views/AdminView/components/Hamburger.js.map +1 -1
  266. package/ui/views/AdminView/components/Snackbar.js +0 -9
  267. package/ui/views/AdminView/components/Snackbar.js.map +1 -1
  268. package/ui/views/FormView/FormContainerElement.js +0 -21
  269. package/ui/views/FormView/FormContainerElement.js.map +1 -1
  270. package/ui/views/FormView/FormContentElement.js +0 -11
  271. package/ui/views/FormView/FormContentElement.js.map +1 -1
  272. package/ui/views/FormView/FormFooterElement.js +0 -19
  273. package/ui/views/FormView/FormFooterElement.js.map +1 -1
  274. package/ui/views/FormView/FormHeaderElement.js +2 -24
  275. package/ui/views/FormView/FormHeaderElement.js.map +1 -1
  276. package/ui/views/FormView.js +0 -41
  277. package/ui/views/FormView.js.map +1 -1
  278. package/ui/views/OverlayView/ContentElement.js +0 -19
  279. package/ui/views/OverlayView/ContentElement.js.map +1 -1
  280. package/ui/views/OverlayView/HeaderElement.js +3 -25
  281. package/ui/views/OverlayView/HeaderElement.js.map +1 -1
  282. package/ui/views/OverlayView/HeaderTitleElement.js +0 -22
  283. package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -1
  284. package/ui/views/OverlayView/useOverlayView.js +3 -13
  285. package/ui/views/OverlayView/useOverlayView.js.map +1 -1
  286. package/ui/views/OverlayView.js +3 -37
  287. package/ui/views/OverlayView.js.map +1 -1
  288. package/ui/views/SplitView/SplitViewPanelElement.js +2 -22
  289. package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -1
  290. package/ui/views/SplitView.js +0 -40
  291. package/ui/views/SplitView.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["iconClass","css","marginRight","color","headerClass","borderBottom","titleClass","display","alignItems","actionsClass","justifyContent","FormHeaderElement","id","config","useGrid","icon","element","addElement","props","getTitle","UIElement"],"sources":["FormHeaderElement.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { UIElement, UIElementConfig } from \"~/ui/UIElement\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { FormElementRenderProps } from \"~/ui/elements/form/FormElement\";\n\nconst iconClass = css({\n marginRight: 15,\n color: \"var(--mdc-theme-text-primary-on-background)\"\n});\n\nconst headerClass = css({\n borderBottom: \"1px solid var(--mdc-theme-on-background)\",\n color: \"var(--mdc-theme-text-primary-on-background)\"\n});\n\nconst titleClass = css({\n display: \"flex\",\n alignItems: \"center\"\n});\n\nconst actionsClass = css({\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\"\n});\n\ninterface FormHeaderConfig extends UIElementConfig {\n getTitle(props: FormElementRenderProps): string;\n icon?: React.ReactElement;\n}\n\nexport class FormHeaderElement extends UIElement<FormHeaderConfig> {\n public constructor(id: string, config: FormHeaderConfig) {\n super(id, config);\n\n this.useGrid(false);\n }\n\n public setIcon(icon: React.ReactElement) {\n this.config.icon = icon;\n }\n\n public addAction(element: UIElement) {\n this.addElement(element);\n }\n\n public override render(props: FormElementRenderProps): React.ReactNode {\n const { icon, getTitle } = this.config;\n\n return (\n <Grid className={headerClass}>\n <Cell span={6} className={titleClass}>\n <React.Fragment>\n {icon && <Icon className={iconClass} icon={icon} />}\n <Typography use=\"headline5\">{getTitle(props)}</Typography>\n </React.Fragment>\n </Cell>\n <Cell span={6} className={actionsClass}>\n {super.render(props)}\n </Cell>\n </Grid>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA,IAAMA,SAAS,gBAAG,IAAAC,YAAA,EAAI;EAClBC,WAAW,EAAE,EADK;EAElBC,KAAK,EAAE;AAFW,CAAJ,qBAAlB;AAKA,IAAMC,WAAW,gBAAG,IAAAH,YAAA,EAAI;EACpBI,YAAY,EAAE,0CADM;EAEpBF,KAAK,EAAE;AAFa,CAAJ,uBAApB;AAKA,IAAMG,UAAU,gBAAG,IAAAL,YAAA,EAAI;EACnBM,OAAO,EAAE,MADU;EAEnBC,UAAU,EAAE;AAFO,CAAJ,sBAAnB;AAKA,IAAMC,YAAY,gBAAG,IAAAR,YAAA,EAAI;EACrBM,OAAO,EAAE,MADY;EAErBG,cAAc,EAAE,UAFK;EAGrBF,UAAU,EAAE;AAHS,CAAJ,wBAArB;;IAWaG,iB;;;;;EACT,2BAAmBC,EAAnB,EAA+BC,MAA/B,EAAyD;IAAA;;IAAA;IACrD,0BAAMD,EAAN,EAAUC,MAAV;;IAEA,MAAKC,OAAL,CAAa,KAAb;;IAHqD;EAIxD;;;;WAED,iBAAeC,IAAf,EAAyC;MACrC,KAAKF,MAAL,CAAYE,IAAZ,GAAmBA,IAAnB;IACH;;;WAED,mBAAiBC,OAAjB,EAAqC;MACjC,KAAKC,UAAL,CAAgBD,OAAhB;IACH;;;WAED,gBAAuBE,KAAvB,EAAuE;MACnE,mBAA2B,KAAKL,MAAhC;MAAA,IAAQE,IAAR,gBAAQA,IAAR;MAAA,IAAcI,QAAd,gBAAcA,QAAd;MAEA,oBACI,6BAAC,UAAD;QAAM,SAAS,EAAEf;MAAjB,gBACI,6BAAC,UAAD;QAAM,IAAI,EAAE,CAAZ;QAAe,SAAS,EAAEE;MAA1B,gBACI,6BAAC,cAAD,CAAO,QAAP,QACKS,IAAI,iBAAI,6BAAC,UAAD;QAAM,SAAS,EAAEf,SAAjB;QAA4B,IAAI,EAAEe;MAAlC,EADb,eAEI,6BAAC,sBAAD;QAAY,GAAG,EAAC;MAAhB,GAA6BI,QAAQ,CAACD,KAAD,CAArC,CAFJ,CADJ,CADJ,eAOI,6BAAC,UAAD;QAAM,IAAI,EAAE,CAAZ;QAAe,SAAS,EAAET;MAA1B,6GACkBS,KADlB,EAPJ,CADJ;IAaH;;;EA/BkCE,qB"}
1
+ {"version":3,"names":["iconClass","css","marginRight","color","headerClass","borderBottom","titleClass","display","alignItems","actionsClass","justifyContent","FormHeaderElement","id","config","useGrid","icon","element","addElement","props","getTitle","UIElement"],"sources":["FormHeaderElement.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { UIElement, UIElementConfig } from \"~/ui/UIElement\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { FormElementRenderProps } from \"~/ui/elements/form/FormElement\";\n\nconst iconClass = css({\n marginRight: 15,\n color: \"var(--mdc-theme-text-primary-on-background)\"\n});\n\nconst headerClass = css({\n borderBottom: \"1px solid var(--mdc-theme-on-background)\",\n color: \"var(--mdc-theme-text-primary-on-background)\"\n});\n\nconst titleClass = css({\n display: \"flex\",\n alignItems: \"center\"\n});\n\nconst actionsClass = css({\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\"\n});\n\ninterface FormHeaderConfig extends UIElementConfig {\n getTitle(props: FormElementRenderProps): string;\n icon?: React.ReactElement;\n}\n\nexport class FormHeaderElement extends UIElement<FormHeaderConfig> {\n public constructor(id: string, config: FormHeaderConfig) {\n super(id, config);\n\n this.useGrid(false);\n }\n\n public setIcon(icon: React.ReactElement) {\n this.config.icon = icon;\n }\n\n public addAction(element: UIElement) {\n this.addElement(element);\n }\n\n public override render(props: FormElementRenderProps): React.ReactNode {\n const { icon, getTitle } = this.config;\n\n return (\n <Grid className={headerClass}>\n <Cell span={6} className={titleClass}>\n <React.Fragment>\n {icon && <Icon className={iconClass} icon={icon} />}\n <Typography use=\"headline5\">{getTitle(props)}</Typography>\n </React.Fragment>\n </Cell>\n <Cell span={6} className={actionsClass}>\n {super.render(props)}\n </Cell>\n </Grid>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAGA,IAAMA,SAAS,gBAAG,IAAAC,YAAG,EAAC;EAClBC,WAAW,EAAE,EAAE;EACfC,KAAK,EAAE;AACX,CAAC,qBAAC;AAEF,IAAMC,WAAW,gBAAG,IAAAH,YAAG,EAAC;EACpBI,YAAY,EAAE,0CAA0C;EACxDF,KAAK,EAAE;AACX,CAAC,uBAAC;AAEF,IAAMG,UAAU,gBAAG,IAAAL,YAAG,EAAC;EACnBM,OAAO,EAAE,MAAM;EACfC,UAAU,EAAE;AAChB,CAAC,sBAAC;AAEF,IAAMC,YAAY,gBAAG,IAAAR,YAAG,EAAC;EACrBM,OAAO,EAAE,MAAM;EACfG,cAAc,EAAE,UAAU;EAC1BF,UAAU,EAAE;AAChB,CAAC,wBAAC;AAAC,IAOUG,iBAAiB;EAAA;EAAA;EAC1B,2BAAmBC,EAAU,EAAEC,MAAwB,EAAE;IAAA;IAAA;IACrD,0BAAMD,EAAE,EAAEC,MAAM;IAEhB,MAAKC,OAAO,CAAC,KAAK,CAAC;IAAC;EACxB;EAAC;IAAA;IAAA,OAED,iBAAeC,IAAwB,EAAE;MACrC,IAAI,CAACF,MAAM,CAACE,IAAI,GAAGA,IAAI;IAC3B;EAAC;IAAA;IAAA,OAED,mBAAiBC,OAAkB,EAAE;MACjC,IAAI,CAACC,UAAU,CAACD,OAAO,CAAC;IAC5B;EAAC;IAAA;IAAA,OAED,gBAAuBE,KAA6B,EAAmB;MACnE,mBAA2B,IAAI,CAACL,MAAM;QAA9BE,IAAI,gBAAJA,IAAI;QAAEI,QAAQ,gBAARA,QAAQ;MAEtB,oBACI,6BAAC,UAAI;QAAC,SAAS,EAAEf;MAAY,gBACzB,6BAAC,UAAI;QAAC,IAAI,EAAE,CAAE;QAAC,SAAS,EAAEE;MAAW,gBACjC,6BAAC,cAAK,CAAC,QAAQ,QACVS,IAAI,iBAAI,6BAAC,UAAI;QAAC,SAAS,EAAEf,SAAU;QAAC,IAAI,EAAEe;MAAK,EAAG,eACnD,6BAAC,sBAAU;QAAC,GAAG,EAAC;MAAW,GAAEI,QAAQ,CAACD,KAAK,CAAC,CAAc,CAC7C,CACd,eACP,6BAAC,UAAI;QAAC,IAAI,EAAE,CAAE;QAAC,SAAS,EAAET;MAAa,6GACrBS,KAAK,EAChB,CACJ;IAEf;EAAC;EAAA;AAAA,EA/BkCE,qBAAS;AAAA"}
@@ -1,80 +1,50 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.FormView = void 0;
9
-
10
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
10
  var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
15
-
16
11
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
17
-
18
12
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
13
  var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
21
-
22
14
  var _react = _interopRequireDefault(require("react"));
23
-
24
15
  var _Progress = require("@webiny/ui/Progress");
25
-
26
16
  var _FormElement = require("../elements/form/FormElement");
27
-
28
17
  var _ButtonElement = require("../elements/ButtonElement");
29
-
30
18
  var _GenericElement = require("../elements/GenericElement");
31
-
32
19
  var _FormContentElement = require("./FormView/FormContentElement");
33
-
34
20
  var _FormHeaderElement = require("./FormView/FormHeaderElement");
35
-
36
21
  var _FormFooterElement = require("./FormView/FormFooterElement");
37
-
38
22
  var _FormContainerElement = require("./FormView/FormContainerElement");
39
-
40
23
  var _UIView2 = require("../UIView");
41
-
42
24
  var FormView = /*#__PURE__*/function (_UIView) {
43
25
  (0, _inherits2.default)(FormView, _UIView);
44
-
45
26
  var _super = (0, _createSuper2.default)(FormView);
46
-
47
27
  function FormView(id, config) {
48
28
  var _this;
49
-
50
29
  (0, _classCallCheck2.default)(this, FormView);
51
-
52
30
  if (!config) {
53
31
  config = {};
54
32
  }
55
-
56
33
  if (!("setupForm" in config)) {
57
34
  config.setupForm = true;
58
35
  }
59
-
60
36
  _this = _super.call(this, id, config);
61
-
62
37
  _this.addElements();
63
-
64
38
  _this.useGrid(false);
65
-
66
39
  _this.applyPlugins(FormView);
67
-
68
40
  return _this;
69
41
  }
70
-
71
42
  (0, _createClass2.default)(FormView, [{
72
43
  key: "addElement",
73
44
  value: function addElement(element) {
74
45
  if (element.id === "form" || element.id === "formContainer") {
75
46
  return (0, _get2.default)((0, _getPrototypeOf2.default)(FormView.prototype), "addElement", this).call(this, element);
76
47
  }
77
-
78
48
  return this.getFormContainer().addElement(element);
79
49
  }
80
50
  }, {
@@ -84,10 +54,8 @@ var FormView = /*#__PURE__*/function (_UIView) {
84
54
  this.config.getTitle = function () {
85
55
  return title;
86
56
  };
87
-
88
57
  return;
89
58
  }
90
-
91
59
  this.config.getTitle = title;
92
60
  }
93
61
  }, {
@@ -129,27 +97,23 @@ var FormView = /*#__PURE__*/function (_UIView) {
129
97
  key: "addElements",
130
98
  value: function addElements() {
131
99
  var _this2 = this;
132
-
133
100
  var formContainer = new _FormContainerElement.FormContainerElement("formContainer", {
134
101
  testId: this.config.testId,
135
102
  className: this.config.className,
136
103
  noElevation: this.config.noElevation
137
104
  });
138
-
139
105
  if (this.config.setupForm) {
140
106
  var form = this.addElement(new _FormElement.FormElement("form", {
141
107
  onSubmit: function onSubmit(data, form) {
142
108
  if (!_this2.config.onSubmit) {
143
109
  return;
144
110
  }
145
-
146
111
  return _this2.config.onSubmit(data, form);
147
112
  },
148
113
  getData: function getData() {
149
114
  if (!_this2.config.getFormData) {
150
115
  return {};
151
116
  }
152
-
153
117
  return _this2.config.getFormData();
154
118
  }
155
119
  }));
@@ -157,12 +121,10 @@ var FormView = /*#__PURE__*/function (_UIView) {
157
121
  } else {
158
122
  this.addElement(formContainer);
159
123
  }
160
-
161
124
  this.addElement(new _GenericElement.GenericElement("loading", function () {
162
125
  if (typeof _this2.config.isLoading !== "function") {
163
126
  return null;
164
127
  }
165
-
166
128
  return _this2.config.isLoading() ? /*#__PURE__*/_react.default.createElement(_Progress.CircularProgress, null) : null;
167
129
  }));
168
130
  this.addElement(new _FormHeaderElement.FormHeaderElement("formHeader", {
@@ -170,7 +132,6 @@ var FormView = /*#__PURE__*/function (_UIView) {
170
132
  if (!_this2.config.getTitle) {
171
133
  return "";
172
134
  }
173
-
174
135
  return _this2.config.getTitle(props);
175
136
  }
176
137
  }));
@@ -192,7 +153,6 @@ var FormView = /*#__PURE__*/function (_UIView) {
192
153
  if (!_this2.config.onCancel) {
193
154
  return;
194
155
  }
195
-
196
156
  _this2.config.onCancel();
197
157
  },
198
158
  shouldRender: function shouldRender() {
@@ -204,5 +164,4 @@ var FormView = /*#__PURE__*/function (_UIView) {
204
164
  }]);
205
165
  return FormView;
206
166
  }(_UIView2.UIView);
207
-
208
167
  exports.FormView = FormView;
@@ -1 +1 @@
1
- {"version":3,"names":["FormView","id","config","setupForm","addElements","useGrid","applyPlugins","element","getFormContainer","addElement","title","getTitle","onSubmit","getter","getFormData","getElement","getFormFooterElement","formContainer","FormContainerElement","testId","className","noElevation","form","FormElement","data","getData","GenericElement","isLoading","FormHeaderElement","props","FormContentElement","footer","FormFooterElement","submitButton","ButtonElement","type","label","onClick","formProps","submit","moveToTheEndOf","cancelButton","onCancel","shouldRender","moveToTheBeginningOf","UIView"],"sources":["FormView.tsx"],"sourcesContent":["import React from \"react\";\nimport { FormOnSubmit } from \"@webiny/form\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { UIElement, UIElementConfig } from \"~/ui/UIElement\";\nimport { FormElement, FormElementRenderProps } from \"~/ui/elements/form/FormElement\";\nimport { ButtonElement } from \"~/ui/elements/ButtonElement\";\nimport { GenericElement } from \"~/ui/elements/GenericElement\";\nimport { FormContentElement } from \"./FormView/FormContentElement\";\nimport { FormHeaderElement } from \"./FormView/FormHeaderElement\";\nimport { FormFooterElement } from \"./FormView/FormFooterElement\";\nimport { FormContainerElement } from \"./FormView/FormContainerElement\";\nimport { UIView } from \"~/ui/UIView\";\n\nexport interface FormViewConfig extends UIElementConfig {\n setupForm?: boolean;\n onSubmit?: FormOnSubmit;\n getTitle?: (props: FormElementRenderProps) => string;\n getFormData?: () => Record<string, any>;\n isLoading?: () => boolean;\n onCancel?: () => void;\n testId?: string;\n noElevation?: boolean;\n className?: string;\n}\n\ninterface GetterWithProps<T> {\n (props: FormElementRenderProps): T;\n}\n\ninterface GetterWithoutProps<T> {\n (): T;\n}\n\nexport class FormView extends UIView<FormViewConfig> {\n public constructor(id: string, config?: FormViewConfig) {\n if (!config) {\n config = {};\n }\n if (!(\"setupForm\" in config)) {\n config.setupForm = true;\n }\n\n super(id, config);\n\n this.addElements();\n this.useGrid(false);\n\n this.applyPlugins(FormView);\n }\n\n public override addElement<TElement extends UIElement = UIElement>(\n element: TElement\n ): TElement {\n if (element.id === \"form\" || element.id === \"formContainer\") {\n return super.addElement(element);\n }\n\n return this.getFormContainer().addElement(element);\n }\n\n public setTitle(title: string | GetterWithProps<string>): void {\n if (typeof title === \"string\") {\n this.config.getTitle = () => title;\n return;\n }\n this.config.getTitle = title;\n }\n\n public setOnSubmit(onSubmit: FormOnSubmit): void {\n this.config.onSubmit = onSubmit;\n }\n\n public setFormData(getter: GetterWithoutProps<Record<string, any>>): void {\n this.config.getFormData = getter;\n }\n\n public getFormContainer(): FormContainerElement {\n return this.getElement(\"formContainer\") as FormContainerElement;\n }\n\n public getFormContentElement(): FormContentElement {\n return this.getElement(\"formContent\") as FormContentElement;\n }\n\n public getFormHeaderElement(): FormHeaderElement {\n return this.getElement(\"formHeader\") as FormHeaderElement;\n }\n\n public getFormFooterElement(): FormFooterElement {\n return this.getElement(\"formFooter\") as FormFooterElement;\n }\n\n public getSubmitButtonElement(): ButtonElement {\n return this.getFormFooterElement().getElement(\"submit\") as ButtonElement;\n }\n\n private addElements(): void {\n const formContainer = new FormContainerElement(\"formContainer\", {\n testId: this.config.testId,\n className: this.config.className,\n noElevation: this.config.noElevation\n });\n\n if (this.config.setupForm) {\n const form = this.addElement(\n new FormElement(\"form\", {\n onSubmit: (data, form) => {\n if (!this.config.onSubmit) {\n return;\n }\n return this.config.onSubmit(data, form);\n },\n getData: () => {\n if (!this.config.getFormData) {\n return {};\n }\n return this.config.getFormData();\n }\n })\n ) as FormElement;\n\n form.addElement(formContainer);\n } else {\n this.addElement(formContainer);\n }\n\n this.addElement(\n new GenericElement(\"loading\", () => {\n if (typeof this.config.isLoading !== \"function\") {\n return null;\n }\n\n return this.config.isLoading() ? <CircularProgress /> : null;\n })\n );\n\n this.addElement(\n new FormHeaderElement(\"formHeader\", {\n getTitle: props => {\n if (!this.config.getTitle) {\n return \"\";\n }\n return this.config.getTitle(props);\n }\n })\n );\n\n this.addElement(new FormContentElement(\"formContent\"));\n\n const footer = new FormFooterElement(\"formFooter\");\n this.addElement(footer);\n\n const submitButton = new ButtonElement<FormElementRenderProps>(\"submit\", {\n type: \"primary\",\n label: \"Save\",\n onClick: props => props.formProps.submit()\n });\n\n submitButton.moveToTheEndOf(footer);\n\n const cancelButton = footer.addElement(\n new ButtonElement(\"cancel\", {\n type: \"default\",\n label: \"Cancel\",\n onClick: () => {\n if (!this.config.onCancel) {\n return;\n }\n this.config.onCancel();\n },\n shouldRender: () => typeof this.config.onCancel === \"function\"\n })\n );\n\n cancelButton.moveToTheBeginningOf(footer);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["FormView","id","config","setupForm","addElements","useGrid","applyPlugins","element","getFormContainer","addElement","title","getTitle","onSubmit","getter","getFormData","getElement","getFormFooterElement","formContainer","FormContainerElement","testId","className","noElevation","form","FormElement","data","getData","GenericElement","isLoading","FormHeaderElement","props","FormContentElement","footer","FormFooterElement","submitButton","ButtonElement","type","label","onClick","formProps","submit","moveToTheEndOf","cancelButton","onCancel","shouldRender","moveToTheBeginningOf","UIView"],"sources":["FormView.tsx"],"sourcesContent":["import React from \"react\";\nimport { FormOnSubmit } from \"@webiny/form\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { UIElement, UIElementConfig } from \"~/ui/UIElement\";\nimport { FormElement, FormElementRenderProps } from \"~/ui/elements/form/FormElement\";\nimport { ButtonElement } from \"~/ui/elements/ButtonElement\";\nimport { GenericElement } from \"~/ui/elements/GenericElement\";\nimport { FormContentElement } from \"./FormView/FormContentElement\";\nimport { FormHeaderElement } from \"./FormView/FormHeaderElement\";\nimport { FormFooterElement } from \"./FormView/FormFooterElement\";\nimport { FormContainerElement } from \"./FormView/FormContainerElement\";\nimport { UIView } from \"~/ui/UIView\";\n\nexport interface FormViewConfig extends UIElementConfig {\n setupForm?: boolean;\n onSubmit?: FormOnSubmit;\n getTitle?: (props: FormElementRenderProps) => string;\n getFormData?: () => Record<string, any>;\n isLoading?: () => boolean;\n onCancel?: () => void;\n testId?: string;\n noElevation?: boolean;\n className?: string;\n}\n\ninterface GetterWithProps<T> {\n (props: FormElementRenderProps): T;\n}\n\ninterface GetterWithoutProps<T> {\n (): T;\n}\n\nexport class FormView extends UIView<FormViewConfig> {\n public constructor(id: string, config?: FormViewConfig) {\n if (!config) {\n config = {};\n }\n if (!(\"setupForm\" in config)) {\n config.setupForm = true;\n }\n\n super(id, config);\n\n this.addElements();\n this.useGrid(false);\n\n this.applyPlugins(FormView);\n }\n\n public override addElement<TElement extends UIElement = UIElement>(\n element: TElement\n ): TElement {\n if (element.id === \"form\" || element.id === \"formContainer\") {\n return super.addElement(element);\n }\n\n return this.getFormContainer().addElement(element);\n }\n\n public setTitle(title: string | GetterWithProps<string>): void {\n if (typeof title === \"string\") {\n this.config.getTitle = () => title;\n return;\n }\n this.config.getTitle = title;\n }\n\n public setOnSubmit(onSubmit: FormOnSubmit): void {\n this.config.onSubmit = onSubmit;\n }\n\n public setFormData(getter: GetterWithoutProps<Record<string, any>>): void {\n this.config.getFormData = getter;\n }\n\n public getFormContainer(): FormContainerElement {\n return this.getElement(\"formContainer\") as FormContainerElement;\n }\n\n public getFormContentElement(): FormContentElement {\n return this.getElement(\"formContent\") as FormContentElement;\n }\n\n public getFormHeaderElement(): FormHeaderElement {\n return this.getElement(\"formHeader\") as FormHeaderElement;\n }\n\n public getFormFooterElement(): FormFooterElement {\n return this.getElement(\"formFooter\") as FormFooterElement;\n }\n\n public getSubmitButtonElement(): ButtonElement {\n return this.getFormFooterElement().getElement(\"submit\") as ButtonElement;\n }\n\n private addElements(): void {\n const formContainer = new FormContainerElement(\"formContainer\", {\n testId: this.config.testId,\n className: this.config.className,\n noElevation: this.config.noElevation\n });\n\n if (this.config.setupForm) {\n const form = this.addElement(\n new FormElement(\"form\", {\n onSubmit: (data, form) => {\n if (!this.config.onSubmit) {\n return;\n }\n return this.config.onSubmit(data, form);\n },\n getData: () => {\n if (!this.config.getFormData) {\n return {};\n }\n return this.config.getFormData();\n }\n })\n ) as FormElement;\n\n form.addElement(formContainer);\n } else {\n this.addElement(formContainer);\n }\n\n this.addElement(\n new GenericElement(\"loading\", () => {\n if (typeof this.config.isLoading !== \"function\") {\n return null;\n }\n\n return this.config.isLoading() ? <CircularProgress /> : null;\n })\n );\n\n this.addElement(\n new FormHeaderElement(\"formHeader\", {\n getTitle: props => {\n if (!this.config.getTitle) {\n return \"\";\n }\n return this.config.getTitle(props);\n }\n })\n );\n\n this.addElement(new FormContentElement(\"formContent\"));\n\n const footer = new FormFooterElement(\"formFooter\");\n this.addElement(footer);\n\n const submitButton = new ButtonElement<FormElementRenderProps>(\"submit\", {\n type: \"primary\",\n label: \"Save\",\n onClick: props => props.formProps.submit()\n });\n\n submitButton.moveToTheEndOf(footer);\n\n const cancelButton = footer.addElement(\n new ButtonElement(\"cancel\", {\n type: \"default\",\n label: \"Cancel\",\n onClick: () => {\n if (!this.config.onCancel) {\n return;\n }\n this.config.onCancel();\n },\n shouldRender: () => typeof this.config.onCancel === \"function\"\n })\n );\n\n cancelButton.moveToTheBeginningOf(footer);\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAAA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAqC,IAsBxBA,QAAQ;EAAA;EAAA;EACjB,kBAAmBC,EAAU,EAAEC,MAAuB,EAAE;IAAA;IAAA;IACpD,IAAI,CAACA,MAAM,EAAE;MACTA,MAAM,GAAG,CAAC,CAAC;IACf;IACA,IAAI,EAAE,WAAW,IAAIA,MAAM,CAAC,EAAE;MAC1BA,MAAM,CAACC,SAAS,GAAG,IAAI;IAC3B;IAEA,0BAAMF,EAAE,EAAEC,MAAM;IAEhB,MAAKE,WAAW,EAAE;IAClB,MAAKC,OAAO,CAAC,KAAK,CAAC;IAEnB,MAAKC,YAAY,CAACN,QAAQ,CAAC;IAAC;EAChC;EAAC;IAAA;IAAA,OAED,oBACIO,OAAiB,EACT;MACR,IAAIA,OAAO,CAACN,EAAE,KAAK,MAAM,IAAIM,OAAO,CAACN,EAAE,KAAK,eAAe,EAAE;QACzD,4GAAwBM,OAAO;MACnC;MAEA,OAAO,IAAI,CAACC,gBAAgB,EAAE,CAACC,UAAU,CAACF,OAAO,CAAC;IACtD;EAAC;IAAA;IAAA,OAED,kBAAgBG,KAAuC,EAAQ;MAC3D,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;QAC3B,IAAI,CAACR,MAAM,CAACS,QAAQ,GAAG;UAAA,OAAMD,KAAK;QAAA;QAClC;MACJ;MACA,IAAI,CAACR,MAAM,CAACS,QAAQ,GAAGD,KAAK;IAChC;EAAC;IAAA;IAAA,OAED,qBAAmBE,QAAsB,EAAQ;MAC7C,IAAI,CAACV,MAAM,CAACU,QAAQ,GAAGA,QAAQ;IACnC;EAAC;IAAA;IAAA,OAED,qBAAmBC,MAA+C,EAAQ;MACtE,IAAI,CAACX,MAAM,CAACY,WAAW,GAAGD,MAAM;IACpC;EAAC;IAAA;IAAA,OAED,4BAAgD;MAC5C,OAAO,IAAI,CAACE,UAAU,CAAC,eAAe,CAAC;IAC3C;EAAC;IAAA;IAAA,OAED,iCAAmD;MAC/C,OAAO,IAAI,CAACA,UAAU,CAAC,aAAa,CAAC;IACzC;EAAC;IAAA;IAAA,OAED,gCAAiD;MAC7C,OAAO,IAAI,CAACA,UAAU,CAAC,YAAY,CAAC;IACxC;EAAC;IAAA;IAAA,OAED,gCAAiD;MAC7C,OAAO,IAAI,CAACA,UAAU,CAAC,YAAY,CAAC;IACxC;EAAC;IAAA;IAAA,OAED,kCAA+C;MAC3C,OAAO,IAAI,CAACC,oBAAoB,EAAE,CAACD,UAAU,CAAC,QAAQ,CAAC;IAC3D;EAAC;IAAA;IAAA,OAED,uBAA4B;MAAA;MACxB,IAAME,aAAa,GAAG,IAAIC,0CAAoB,CAAC,eAAe,EAAE;QAC5DC,MAAM,EAAE,IAAI,CAACjB,MAAM,CAACiB,MAAM;QAC1BC,SAAS,EAAE,IAAI,CAAClB,MAAM,CAACkB,SAAS;QAChCC,WAAW,EAAE,IAAI,CAACnB,MAAM,CAACmB;MAC7B,CAAC,CAAC;MAEF,IAAI,IAAI,CAACnB,MAAM,CAACC,SAAS,EAAE;QACvB,IAAMmB,IAAI,GAAG,IAAI,CAACb,UAAU,CACxB,IAAIc,wBAAW,CAAC,MAAM,EAAE;UACpBX,QAAQ,EAAE,kBAACY,IAAI,EAAEF,IAAI,EAAK;YACtB,IAAI,CAAC,MAAI,CAACpB,MAAM,CAACU,QAAQ,EAAE;cACvB;YACJ;YACA,OAAO,MAAI,CAACV,MAAM,CAACU,QAAQ,CAACY,IAAI,EAAEF,IAAI,CAAC;UAC3C,CAAC;UACDG,OAAO,EAAE,mBAAM;YACX,IAAI,CAAC,MAAI,CAACvB,MAAM,CAACY,WAAW,EAAE;cAC1B,OAAO,CAAC,CAAC;YACb;YACA,OAAO,MAAI,CAACZ,MAAM,CAACY,WAAW,EAAE;UACpC;QACJ,CAAC,CAAC,CACU;QAEhBQ,IAAI,CAACb,UAAU,CAACQ,aAAa,CAAC;MAClC,CAAC,MAAM;QACH,IAAI,CAACR,UAAU,CAACQ,aAAa,CAAC;MAClC;MAEA,IAAI,CAACR,UAAU,CACX,IAAIiB,8BAAc,CAAC,SAAS,EAAE,YAAM;QAChC,IAAI,OAAO,MAAI,CAACxB,MAAM,CAACyB,SAAS,KAAK,UAAU,EAAE;UAC7C,OAAO,IAAI;QACf;QAEA,OAAO,MAAI,CAACzB,MAAM,CAACyB,SAAS,EAAE,gBAAG,6BAAC,0BAAgB,OAAG,GAAG,IAAI;MAChE,CAAC,CAAC,CACL;MAED,IAAI,CAAClB,UAAU,CACX,IAAImB,oCAAiB,CAAC,YAAY,EAAE;QAChCjB,QAAQ,EAAE,kBAAAkB,KAAK,EAAI;UACf,IAAI,CAAC,MAAI,CAAC3B,MAAM,CAACS,QAAQ,EAAE;YACvB,OAAO,EAAE;UACb;UACA,OAAO,MAAI,CAACT,MAAM,CAACS,QAAQ,CAACkB,KAAK,CAAC;QACtC;MACJ,CAAC,CAAC,CACL;MAED,IAAI,CAACpB,UAAU,CAAC,IAAIqB,sCAAkB,CAAC,aAAa,CAAC,CAAC;MAEtD,IAAMC,MAAM,GAAG,IAAIC,oCAAiB,CAAC,YAAY,CAAC;MAClD,IAAI,CAACvB,UAAU,CAACsB,MAAM,CAAC;MAEvB,IAAME,YAAY,GAAG,IAAIC,4BAAa,CAAyB,QAAQ,EAAE;QACrEC,IAAI,EAAE,SAAS;QACfC,KAAK,EAAE,MAAM;QACbC,OAAO,EAAE,iBAAAR,KAAK;UAAA,OAAIA,KAAK,CAACS,SAAS,CAACC,MAAM,EAAE;QAAA;MAC9C,CAAC,CAAC;MAEFN,YAAY,CAACO,cAAc,CAACT,MAAM,CAAC;MAEnC,IAAMU,YAAY,GAAGV,MAAM,CAACtB,UAAU,CAClC,IAAIyB,4BAAa,CAAC,QAAQ,EAAE;QACxBC,IAAI,EAAE,SAAS;QACfC,KAAK,EAAE,QAAQ;QACfC,OAAO,EAAE,mBAAM;UACX,IAAI,CAAC,MAAI,CAACnC,MAAM,CAACwC,QAAQ,EAAE;YACvB;UACJ;UACA,MAAI,CAACxC,MAAM,CAACwC,QAAQ,EAAE;QAC1B,CAAC;QACDC,YAAY,EAAE;UAAA,OAAM,OAAO,MAAI,CAACzC,MAAM,CAACwC,QAAQ,KAAK,UAAU;QAAA;MAClE,CAAC,CAAC,CACL;MAEDD,YAAY,CAACG,oBAAoB,CAACb,MAAM,CAAC;IAC7C;EAAC;EAAA;AAAA,EA9IyBc,eAAM;AAAA"}
@@ -1,30 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.ContentElement = void 0;
9
-
10
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
10
  var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
15
-
16
11
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
17
-
18
12
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
13
  var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
21
-
22
14
  var _react = _interopRequireDefault(require("react"));
23
-
24
15
  var _styled = _interopRequireDefault(require("@emotion/styled"));
25
-
26
16
  var _UIElement2 = require("../../UIElement");
27
-
28
17
  var ContentWrapper = /*#__PURE__*/(0, _styled.default)("div", {
29
18
  target: "exqtwog0",
30
19
  label: "ContentWrapper"
@@ -32,23 +21,16 @@ var ContentWrapper = /*#__PURE__*/(0, _styled.default)("div", {
32
21
  width: "100%",
33
22
  paddingTop: 65
34
23
  });
35
-
36
24
  var ContentElement = /*#__PURE__*/function (_UIElement) {
37
25
  (0, _inherits2.default)(ContentElement, _UIElement);
38
-
39
26
  var _super = (0, _createSuper2.default)(ContentElement);
40
-
41
27
  function ContentElement(id) {
42
28
  var _this;
43
-
44
29
  (0, _classCallCheck2.default)(this, ContentElement);
45
30
  _this = _super.call(this, id);
46
-
47
31
  _this.useGrid(false);
48
-
49
32
  return _this;
50
33
  }
51
-
52
34
  (0, _createClass2.default)(ContentElement, [{
53
35
  key: "render",
54
36
  value: function render(props) {
@@ -57,5 +39,4 @@ var ContentElement = /*#__PURE__*/function (_UIElement) {
57
39
  }]);
58
40
  return ContentElement;
59
41
  }(_UIElement2.UIElement);
60
-
61
42
  exports.ContentElement = ContentElement;
@@ -1 +1 @@
1
- {"version":3,"names":["ContentWrapper","styled","width","paddingTop","ContentElement","id","useGrid","props","UIElement"],"sources":["ContentElement.tsx"],"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"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,cAAc,oBAAGC,eAAH,EAAU,KAAV;EAAA;EAAA;AAAA,GAAiB;EACjCC,KAAK,EAAE,MAD0B;EAEjCC,UAAU,EAAE;AAFqB,CAAjB,CAApB;;IAKaC,c;;;;;EACT,wBAAYC,EAAZ,EAAwB;IAAA;;IAAA;IACpB,0BAAMA,EAAN;;IACA,MAAKC,OAAL,CAAa,KAAb;;IAFoB;EAGvB;;;;WAED,gBAAuBC,KAAvB,EAAqE;MACjE,oBAAO,6BAAC,cAAD,+GAA8BA,KAA9B,EAAP;IACH;;;EAR+BC,qB"}
1
+ {"version":3,"names":["ContentWrapper","styled","width","paddingTop","ContentElement","id","useGrid","props","UIElement"],"sources":["ContentElement.tsx"],"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"],"mappings":";;;;;;;;;;;;;AAAA;AACA;AACA;AAEA,IAAMA,cAAc,oBAAGC,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,GAAE;EACjCC,KAAK,EAAE,MAAM;EACbC,UAAU,EAAE;AAChB,CAAC,CAAC;AAAC,IAEUC,cAAc;EAAA;EAAA;EACvB,wBAAYC,EAAU,EAAE;IAAA;IAAA;IACpB,0BAAMA,EAAE;IACR,MAAKC,OAAO,CAAC,KAAK,CAAC;IAAC;EACxB;EAAC;IAAA;IAAA,OAED,gBAAuBC,KAA2B,EAAmB;MACjE,oBAAO,6BAAC,cAAc,+GAAeA,KAAK,EAAmB;IACjE;EAAC;EAAA;AAAA,EAR+BC,qBAAS;AAAA"}
@@ -1,53 +1,35 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.HeaderElement = void 0;
9
-
10
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
10
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
11
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
12
  var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
19
-
20
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
-
22
14
  var _react = _interopRequireDefault(require("react"));
23
-
24
15
  var _emotion = require("emotion");
25
-
26
16
  var _UIElement2 = require("../../UIElement");
27
-
28
17
  var _TopAppBar = require("@webiny/ui/TopAppBar");
29
-
30
18
  var _Button = require("@webiny/ui/Button");
31
-
32
19
  var _close = require("../../../components/OverlayLayout/icons/close.svg");
33
-
34
20
  var _PlaceholderElement = require("../../elements/PlaceholderElement");
35
-
36
21
  var _HeaderTitleElement = require("./HeaderTitleElement");
37
-
38
22
  var width = /*#__PURE__*/(0, _emotion.css)({
39
23
  width: "33%"
40
- }, "label:width;"); // !GOOD FIRST ISSUE!
41
- // Extract rendering and styling into a HeaderElementRenderer class.
24
+ }, "label:width;");
42
25
 
26
+ // !GOOD FIRST ISSUE!
27
+ // Extract rendering and styling into a HeaderElementRenderer class.
43
28
  var HeaderElement = /*#__PURE__*/function (_UIElement) {
44
29
  (0, _inherits2.default)(HeaderElement, _UIElement);
45
-
46
30
  var _super = (0, _createSuper2.default)(HeaderElement);
47
-
48
31
  function HeaderElement(id, config) {
49
32
  var _this;
50
-
51
33
  (0, _classCallCheck2.default)(this, HeaderElement);
52
34
  _this = _super.call(this, id, config);
53
35
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_leftSection", new _PlaceholderElement.PlaceholderElement("leftSection"));
@@ -58,12 +40,9 @@ var HeaderElement = /*#__PURE__*/function (_UIElement) {
58
40
  return typeof _this.config.getTitle === "function" ? _this.config.getTitle() : null;
59
41
  }
60
42
  });
61
-
62
43
  _this.useGrid(false);
63
-
64
44
  return _this;
65
45
  }
66
-
67
46
  (0, _createClass2.default)(HeaderElement, [{
68
47
  key: "setTitle",
69
48
  value: function setTitle(title) {
@@ -130,5 +109,4 @@ var HeaderElement = /*#__PURE__*/function (_UIElement) {
130
109
  }]);
131
110
  return HeaderElement;
132
111
  }(_UIElement2.UIElement);
133
-
134
112
  exports.HeaderElement = HeaderElement;
@@ -1 +1 @@
1
- {"version":3,"names":["width","css","HeaderElement","id","config","PlaceholderElement","_centerSection","HeaderTitleElement","title","getTitle","useGrid","element","_leftSection","_rightSection","props","top","getLeftSectionElement","render","getCenterSectionElement","getRightSectionElement","onClose","height","UIElement"],"sources":["HeaderElement.tsx"],"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"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAOA,IAAMA,KAAK,gBAAG,IAAAC,YAAA,EAAI;EACdD,KAAK,EAAE;AADO,CAAJ,iBAAd,C,CAIA;AACA;;IAMaE,a;;;;;EAKT,uBAAmBC,EAAnB,EAA+BC,MAA/B,EAA4D;IAAA;;IAAA;IACxD,0BAAMD,EAAN,EAAUC,MAAV;IADwD,2FAJ1B,IAAIC,sCAAJ,CAAuB,aAAvB,CAI0B;IAAA;IAAA,4FAFzB,IAAIA,sCAAJ,CAAuB,cAAvB,CAEyB;IAGxD,MAAKC,cAAL,GAAsB,IAAIC,sCAAJ,CAAuB,OAAvB,EAAgC;MAClDC,KAAK,EAAE,iBAAM;QACT,OAAO,OAAO,MAAKJ,MAAL,CAAYK,QAAnB,KAAgC,UAAhC,GAA6C,MAAKL,MAAL,CAAYK,QAAZ,EAA7C,GAAsE,IAA7E;MACH;IAHiD,CAAhC,CAAtB;;IAMA,MAAKC,OAAL,CAAa,KAAb;;IATwD;EAU3D;;;;WAED,kBAAgBF,KAAhB,EAAyD;MACrD,KAAKJ,MAAL,CAAYK,QAAZ,GAAuBD,KAAvB;IACH;;;WAED,+BAA6BG,OAA7B,EAAuD;MACnD,KAAKC,YAAL,GAAoBD,OAApB;IACH;;;WAED,iCAA+BA,OAA/B,EAAyD;MACrD,KAAKL,cAAL,GAAsBK,OAAtB;IACH;;;WAED,gCAA8BA,OAA9B,EAAwD;MACpD,KAAKE,aAAL,GAAqBF,OAArB;IACH;;;WAED,iCAA0C;MACtC,OAAO,KAAKC,YAAZ;IACH;;;WAED,mCAA4C;MACxC,OAAO,KAAKN,cAAZ;IACH;;;WAED,kCAA2C;MACvC,OAAO,KAAKO,aAAZ;IACH;;;WAED,gBAAuBC,KAAvB,EAAqE;MACjE,oBACI,6BAAC,6BAAD;QAAoB,KAAK,MAAzB;QAA0B,KAAK,EAAE;UAAEC,GAAG,EAAE;QAAP;MAAjC,gBACI,6BAAC,2BAAD;QAAkB,SAAS,EAAEf,KAA7B;QAAoC,UAAU;MAA9C,GACK,KAAKgB,qBAAL,GAA6BC,MAA7B,CAAoCH,KAApC,CADL,CADJ,eAII,6BAAC,2BAAD;QAAkB,SAAS,EAAEd,KAA7B;QAAoC,QAAQ;MAA5C,GACK,KAAKkB,uBAAL,GAA+BD,MAA/B,CAAsCH,KAAtC,CADL,CAJJ,eAOI,6BAAC,2BAAD;QAAkB,SAAS,EAAEd,KAA7B;QAAoC,QAAQ;MAA5C,GACK,KAAKmB,sBAAL,GAA8BF,MAA9B,CAAqCH,KAArC,CADL,eAEI,6BAAC,kBAAD;QACI,MAAM,EAAE,KADZ;QAEI,OAAO,EAAE,KAAKV,MAAL,CAAYgB,OAFzB;QAGI,IAAI,eAAE,6BAAC,qBAAD;UAAW,KAAK,EAAE;YAAEpB,KAAK,EAAE,EAAT;YAAaqB,MAAM,EAAE;UAArB;QAAlB;MAHV,EAFJ,CAPJ,CADJ;IAkBH;;;EAhE8BC,qB"}
1
+ {"version":3,"names":["width","css","HeaderElement","id","config","PlaceholderElement","_centerSection","HeaderTitleElement","title","getTitle","useGrid","element","_leftSection","_rightSection","props","top","getLeftSectionElement","render","getCenterSectionElement","getRightSectionElement","onClose","height","UIElement"],"sources":["HeaderElement.tsx"],"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"],"mappings":";;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA,IAAMA,KAAK,gBAAG,IAAAC,YAAG,EAAC;EACdD,KAAK,EAAE;AACX,CAAC,iBAAC;;AAEF;AACA;AAAA,IAMaE,aAAa;EAAA;EAAA;EAKtB,uBAAmBC,EAAU,EAAEC,MAA2B,EAAE;IAAA;IAAA;IACxD,0BAAMD,EAAE,EAAEC,MAAM;IAAE,2FALY,IAAIC,sCAAkB,CAAC,aAAa,CAAC;IAAA;IAAA,4FAEpC,IAAIA,sCAAkB,CAAC,cAAc,CAAC;IAKrE,MAAKC,cAAc,GAAG,IAAIC,sCAAkB,CAAC,OAAO,EAAE;MAClDC,KAAK,EAAE,iBAAM;QACT,OAAO,OAAO,MAAKJ,MAAM,CAACK,QAAQ,KAAK,UAAU,GAAG,MAAKL,MAAM,CAACK,QAAQ,EAAE,GAAG,IAAI;MACrF;IACJ,CAAC,CAAC;IAEF,MAAKC,OAAO,CAAC,KAAK,CAAC;IAAC;EACxB;EAAC;IAAA;IAAA,OAED,kBAAgBF,KAAiC,EAAQ;MACrD,IAAI,CAACJ,MAAM,CAACK,QAAQ,GAAGD,KAAK;IAChC;EAAC;IAAA;IAAA,OAED,+BAA6BG,OAAkB,EAAQ;MACnD,IAAI,CAACC,YAAY,GAAGD,OAAO;IAC/B;EAAC;IAAA;IAAA,OAED,iCAA+BA,OAAkB,EAAQ;MACrD,IAAI,CAACL,cAAc,GAAGK,OAAO;IACjC;EAAC;IAAA;IAAA,OAED,gCAA8BA,OAAkB,EAAQ;MACpD,IAAI,CAACE,aAAa,GAAGF,OAAO;IAChC;EAAC;IAAA;IAAA,OAED,iCAA0C;MACtC,OAAO,IAAI,CAACC,YAAY;IAC5B;EAAC;IAAA;IAAA,OAED,mCAA4C;MACxC,OAAO,IAAI,CAACN,cAAc;IAC9B;EAAC;IAAA;IAAA,OAED,kCAA2C;MACvC,OAAO,IAAI,CAACO,aAAa;IAC7B;EAAC;IAAA;IAAA,OAED,gBAAuBC,KAA2B,EAAmB;MACjE,oBACI,6BAAC,6BAAkB;QAAC,KAAK;QAAC,KAAK,EAAE;UAAEC,GAAG,EAAE;QAAE;MAAE,gBACxC,6BAAC,2BAAgB;QAAC,SAAS,EAAEf,KAAM;QAAC,UAAU;MAAA,GACzC,IAAI,CAACgB,qBAAqB,EAAE,CAACC,MAAM,CAACH,KAAK,CAAC,CAC5B,eACnB,6BAAC,2BAAgB;QAAC,SAAS,EAAEd,KAAM;QAAC,QAAQ;MAAA,GACvC,IAAI,CAACkB,uBAAuB,EAAE,CAACD,MAAM,CAACH,KAAK,CAAC,CAC9B,eACnB,6BAAC,2BAAgB;QAAC,SAAS,EAAEd,KAAM;QAAC,QAAQ;MAAA,GACvC,IAAI,CAACmB,sBAAsB,EAAE,CAACF,MAAM,CAACH,KAAK,CAAC,eAC5C,6BAAC,kBAAU;QACP,MAAM,EAAE,KAAM;QACd,OAAO,EAAE,IAAI,CAACV,MAAM,CAACgB,OAAQ;QAC7B,IAAI,eAAE,6BAAC,qBAAS;UAAC,KAAK,EAAE;YAAEpB,KAAK,EAAE,EAAE;YAAEqB,MAAM,EAAE;UAAG;QAAE;MAAI,EACxD,CACa,CACF;IAE7B;EAAC;EAAA;AAAA,EAhE8BC,qBAAS;AAAA"}
@@ -1,38 +1,25 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.HeaderTitleElementRenderer = exports.HeaderTitleElement = void 0;
9
-
10
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
10
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
11
  var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
17
-
18
12
  var _react = _interopRequireDefault(require("react"));
19
-
20
13
  var _UIElement2 = require("../../UIElement");
21
-
22
14
  var _Typography = require("@webiny/ui/Typography");
23
-
24
15
  var _UIRenderer2 = require("../../UIRenderer");
25
-
26
16
  var HeaderTitleElementRenderer = /*#__PURE__*/function (_UIRenderer) {
27
17
  (0, _inherits2.default)(HeaderTitleElementRenderer, _UIRenderer);
28
-
29
18
  var _super = (0, _createSuper2.default)(HeaderTitleElementRenderer);
30
-
31
19
  function HeaderTitleElementRenderer() {
32
20
  (0, _classCallCheck2.default)(this, HeaderTitleElementRenderer);
33
21
  return _super.apply(this, arguments);
34
22
  }
35
-
36
23
  (0, _createClass2.default)(HeaderTitleElementRenderer, [{
37
24
  key: "render",
38
25
  value: function render(_ref) {
@@ -48,26 +35,17 @@ var HeaderTitleElementRenderer = /*#__PURE__*/function (_UIRenderer) {
48
35
  }]);
49
36
  return HeaderTitleElementRenderer;
50
37
  }(_UIRenderer2.UIRenderer);
51
-
52
38
  exports.HeaderTitleElementRenderer = HeaderTitleElementRenderer;
53
-
54
39
  var HeaderTitleElement = /*#__PURE__*/function (_UIElement) {
55
40
  (0, _inherits2.default)(HeaderTitleElement, _UIElement);
56
-
57
41
  var _super2 = (0, _createSuper2.default)(HeaderTitleElement);
58
-
59
42
  function HeaderTitleElement(id, config) {
60
43
  var _this;
61
-
62
44
  (0, _classCallCheck2.default)(this, HeaderTitleElement);
63
45
  _this = _super2.call(this, id, config);
64
-
65
46
  _this.addRenderer(new HeaderTitleElementRenderer());
66
-
67
47
  return _this;
68
48
  }
69
-
70
49
  return (0, _createClass2.default)(HeaderTitleElement);
71
50
  }(_UIElement2.UIElement);
72
-
73
51
  exports.HeaderTitleElement = HeaderTitleElement;
@@ -1 +1 @@
1
- {"version":3,"names":["HeaderTitleElementRenderer","element","margin","color","config","title","UIRenderer","HeaderTitleElement","id","addRenderer","UIElement"],"sources":["HeaderTitleElement.tsx"],"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"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;IAMaA,0B;;;;;;;;;;;;WACT,sBAAyF;MAAA,IAAhEC,OAAgE,QAAhEA,OAAgE;MACrF,oBACI,6BAAC,sBAAD;QACI,KAAK,EAAE;UAAEC,MAAM,EAAE,QAAV;UAAoBC,KAAK,EAAE;QAA3B,CADX;QAEI,GAAG,EAAE;MAFT,GAIKF,OAAO,CAACG,MAAR,CAAeC,KAAf,EAJL,CADJ;IAQH;;;EAV2CC,uB;;;;IAanCC,kB;;;;;EACT,4BAAmBC,EAAnB,EAA+BJ,MAA/B,EAAiE;IAAA;;IAAA;IAC7D,2BAAMI,EAAN,EAAUJ,MAAV;;IAEA,MAAKK,WAAL,CAAiB,IAAIT,0BAAJ,EAAjB;;IAH6D;EAIhE;;;EALmCU,qB"}
1
+ {"version":3,"names":["HeaderTitleElementRenderer","element","margin","color","config","title","UIRenderer","HeaderTitleElement","id","addRenderer","UIElement"],"sources":["HeaderTitleElement.tsx"],"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"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA;AAA6D,IAMhDA,0BAA0B;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA,OACnC,sBAAyF;MAAA,IAAhEC,OAAO,QAAPA,OAAO;MAC5B,oBACI,6BAAC,sBAAU;QACP,KAAK,EAAE;UAAEC,MAAM,EAAE,QAAQ;UAAEC,KAAK,EAAE;QAA8B,CAAE;QAClE,GAAG,EAAE;MAAY,GAEhBF,OAAO,CAACG,MAAM,CAACC,KAAK,EAAE,CACd;IAErB;EAAC;EAAA;AAAA,EAV2CC,uBAAU;AAAA;AAAA,IAa7CC,kBAAkB;EAAA;EAAA;EAC3B,4BAAmBC,EAAU,EAAEJ,MAAgC,EAAE;IAAA;IAAA;IAC7D,2BAAMI,EAAE,EAAEJ,MAAM;IAEhB,MAAKK,WAAW,CAAC,IAAIT,0BAA0B,EAAE,CAAC;IAAC;EACvD;EAAC;AAAA,EALmCU,qBAAS;AAAA"}
@@ -1,31 +1,23 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.useOverlayView = void 0;
9
-
10
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
-
12
9
  var _react = require("react");
13
-
14
10
  var _emotion = require("emotion");
15
-
16
11
  var _OverlayView = require("../OverlayView");
17
-
18
12
  var noScroll = /*#__PURE__*/(0, _emotion.css)({
19
13
  overflow: "hidden",
20
14
  height: "100vh"
21
15
  }, "label:noScroll;");
22
-
23
16
  var useOverlayView = function useOverlayView() {
24
17
  var _useState = (0, _react.useState)(false),
25
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
26
- isVisible = _useState2[0],
27
- setIsVisible = _useState2[1];
28
-
18
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
19
+ isVisible = _useState2[0],
20
+ setIsVisible = _useState2[1];
29
21
  (0, _react.useEffect)(function () {
30
22
  if (isVisible) {
31
23
  _OverlayView.OverlayView.openedViews++;
@@ -39,7 +31,6 @@ var useOverlayView = function useOverlayView() {
39
31
  if (_OverlayView.OverlayView.openedViews > 0) {
40
32
  _OverlayView.OverlayView.openedViews--;
41
33
  }
42
-
43
34
  if (!_OverlayView.OverlayView.openedViews) {
44
35
  document.body.classList.remove(noScroll);
45
36
  }
@@ -50,5 +41,4 @@ var useOverlayView = function useOverlayView() {
50
41
  setIsVisible: setIsVisible
51
42
  };
52
43
  };
53
-
54
44
  exports.useOverlayView = useOverlayView;
@@ -1 +1 @@
1
- {"version":3,"names":["noScroll","css","overflow","height","useOverlayView","useState","isVisible","setIsVisible","useEffect","OverlayView","openedViews","document","body","classList","add","remove"],"sources":["useOverlayView.ts"],"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"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,QAAQ,gBAAG,IAAAC,YAAA,EAAI;EACjBC,QAAQ,EAAE,QADO;EAEjBC,MAAM,EAAE;AAFS,CAAJ,oBAAjB;;AAUO,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,GAAsB;EAChD,gBAAkC,IAAAC,eAAA,EAAkB,KAAlB,CAAlC;EAAA;EAAA,IAAOC,SAAP;EAAA,IAAkBC,YAAlB;;EAEA,IAAAC,gBAAA,EAAU,YAAM;IACZ,IAAIF,SAAJ,EAAe;MACXG,wBAAA,CAAYC,WAAZ;MACAC,QAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBC,GAAxB,CAA4Bd,QAA5B;IACH,CAHD,MAGO,IAAI,CAACS,wBAAA,CAAYC,WAAjB,EAA8B;MACjCC,QAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBE,MAAxB,CAA+Bf,QAA/B;IACH;EACJ,CAPD,EAOG,CAACM,SAAD,CAPH;EASA,IAAAE,gBAAA,EAAU,YAAM;IACZ,OAAO,YAAM;MACT,IAAIC,wBAAA,CAAYC,WAAZ,GAA0B,CAA9B,EAAiC;QAC7BD,wBAAA,CAAYC,WAAZ;MACH;;MACD,IAAI,CAACD,wBAAA,CAAYC,WAAjB,EAA8B;QAC1BC,QAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBE,MAAxB,CAA+Bf,QAA/B;MACH;IACJ,CAPD;EAQH,CATD,EASG,EATH;EAWA,OAAO;IAAEM,SAAS,EAATA,SAAF;IAAaC,YAAY,EAAZA;EAAb,CAAP;AACH,CAxBM"}
1
+ {"version":3,"names":["noScroll","css","overflow","height","useOverlayView","useState","isVisible","setIsVisible","useEffect","OverlayView","openedViews","document","body","classList","add","remove"],"sources":["useOverlayView.ts"],"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"],"mappings":";;;;;;;;AAAA;AACA;AACA;AAEA,IAAMA,QAAQ,gBAAG,IAAAC,YAAG,EAAC;EACjBC,QAAQ,EAAE,QAAQ;EAClBC,MAAM,EAAE;AACZ,CAAC,oBAAC;AAOK,IAAMC,cAAc,GAAG,SAAjBA,cAAc,GAAyB;EAChD,gBAAkC,IAAAC,eAAQ,EAAU,KAAK,CAAC;IAAA;IAAnDC,SAAS;IAAEC,YAAY;EAE9B,IAAAC,gBAAS,EAAC,YAAM;IACZ,IAAIF,SAAS,EAAE;MACXG,wBAAW,CAACC,WAAW,EAAE;MACzBC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACC,GAAG,CAACd,QAAQ,CAAC;IACzC,CAAC,MAAM,IAAI,CAACS,wBAAW,CAACC,WAAW,EAAE;MACjCC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACE,MAAM,CAACf,QAAQ,CAAC;IAC5C;EACJ,CAAC,EAAE,CAACM,SAAS,CAAC,CAAC;EAEf,IAAAE,gBAAS,EAAC,YAAM;IACZ,OAAO,YAAM;MACT,IAAIC,wBAAW,CAACC,WAAW,GAAG,CAAC,EAAE;QAC7BD,wBAAW,CAACC,WAAW,EAAE;MAC7B;MACA,IAAI,CAACD,wBAAW,CAACC,WAAW,EAAE;QAC1BC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACE,MAAM,CAACf,QAAQ,CAAC;MAC5C;IACJ,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IAAEM,SAAS,EAATA,SAAS;IAAEC,YAAY,EAAZA;EAAa,CAAC;AACtC,CAAC;AAAC"}